当前位置: 首页 > 知识库问答 >
问题:

球面几何和地理ST_Intersect有什么区别?

彭风华
2023-03-14

我遇到了一个奇怪的情况,我试图找到(部分)位于多边形中的任何地理空间对象。当我使用WGS84 SRID在两个几何图形上应用ST_Intersect函数时,多边形与多边形以北的一个点的交点返回FALSE,如预期:

SELECT ST_Intersects(
    ST_GeomFromText('POLYGON((-12 0,12 0,12 50.7,-12 50.7,-12 0))', 4326), 
    ST_GeomFromText('POINT(6.0 50.9)', 4326)
);


现在,当我运行相同的查询时,但是使用两个地理位置而不是几何位置,查询返回< code>TRUE:

SELECT ST_Intersects( 
    ST_GeogFromText('POLYGON((-12 0,12 0,12 50.7,-12 50.7,-12 0))'),
    ST_GeogFromText('POINT(6 50.9)')
);

我期望地理版本使用最短的大圆距离来创建多边形,而几何版本在平面上创建多边形,然后将其投影到WGS84椭圆上。

有人能证实或揭穿我的怀疑吗?

我正在运行带有PostGis 2.4.4的postgresql 9.6

共有1个答案

赫连瑾瑜
2023-03-14

地理数据类型的操作是在一个球体上完成的。对几何数据类型的操作是在平面上完成的。

平面上连接两点的最短线是直线。

球体上连接两点的最短线是弧线。这种弧线被称为大圆弧,是通过穿过两点和地球中心的平面与球体相交而形成的。

因此,电弧穿过-12;50.7N和12;50.7N通过0附近的点;这不仅适用于直线,也适用于多边形边界。

这个文档有一些有趣的图形来理解< code>geography类型背后的概念

 类似资料:
  • 问题内容: 经过寻找一些参考的数字出来,-unfortunately-我找不到任何关于理解之间的差异有用-和简单- 描述和。当试图了解我们应该如何使用它们时,这有点令人困惑。 我要说的是,我对-default-最为熟悉,它具有传播错误的最简单形式,如下所示: 到目前为止还不错,但是在以下情况下会出现问题: 到目前为止我所知道的是当调用一个函数时必须由a处理,与。所以呢?!在决定使用或时应遵循的逻辑

  • 问题内容: 我知道映射是将键映射到值的数据结构。字典不一样吗?地图和字典1有什么区别? 1.我不是要问用X或Y语言定义它们(这似乎是人们通常在SO上要求的语言),我想知道它们在理论上有何不同。 问题答案: 同一件事的两个术语: Java,C ++使用“地图” .Net,Python使用“字典” PHP使用“关联数组” “映射”是正确的数学术语,但是避免使用它,因为它在函数式编程中具有单独的含义。

  • 问题内容: (来自Python的标准库)和仅工作数天有什么区别? 据我了解,仅支持几天(和几周),而增加了对根据年,月,周或天定义的时间段以及为年,月或天定义的绝对值的支持。 (请记住,出于这个问题的目的,我不必担心小时,分钟或秒) 考虑到我只能用工作对象,只关心用的天数定义的时间段,有什么之间的区别和?有什么区别吗? 问题答案: 是python标准模块的扩展包。如您所说,它提供了额外的功能,例如

  • 问题内容: 两者都意味着空间,但是有什么区别吗? 问题答案: 一个是不间断空间,另一个是常规空间。不间断的空格表示该行不应在该点处换行,就像它不会在一个单词的中间换行一样。 此外,正如斯文德(Svend)在其评论中指出的那样,不间断的空间不会崩溃。

  • 本文向大家介绍<%# %> 和 <% %> 有什么区别?相关面试题,主要包含被问及<%# %> 和 <% %> 有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 答:<%# %>表示绑定的数据源 <%%>是服务器端代码块  

  • 本文向大家介绍scriptPubKey和P2SH地址之间有什么区别?相关面试题,主要包含被问及scriptPubKey和P2SH地址之间有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 回答: 一个scriptPubKey在交易输出发现也被称为锁定脚本。 该P2SH地址是一种特殊类型的地址,即,它是用于其哈希代替复杂的锁定脚本。除了解锁脚本之外,事务还必须包含与哈希匹配的脚本。