gpt4 book ai didi

geospatial - 球面几何和地理上的 ST_Intersect 有什么区别?

转载 作者:行者123 更新时间:2023-12-01 03:13:25 26 4
gpt4 key购买 nike

我遇到了一个特殊的情况,我试图找到(部分)位于多边形中的任何地理空间对象。当我申请 ST_Intersect使用 在两个几何图形上函数WGS84 SRID 多边形和多边形明显以北的点的交集返回 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)
);

现在,当我运行相同的查询时,但使用两个地理区域而不是几何图形时,查询返回 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

最佳答案

geography 上的操作数据类型完成over a sphere .在 geometry 上的操作数据类型是在一个平面上完成的。

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

连 catch 体上两点的最短线是圆弧。该弧称为 great circle arc并且是通过将球体与穿过两点和地球中心的平面相交来构建的。

因此,弧通过 -12;50.7N 和 +12;50.7N 并通过接近 0;51.3N 的点。这适用于线,也适用于多边形边界。

doc有一些有趣的图形来理解 geography 背后的概念类型

关于geospatial - 球面几何和地理上的 ST_Intersect 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50533348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com