【发布时间】:2015-06-25 02:47:30
【问题描述】:
我正在使用带有 gps 数据的 postgis,并试图确定一个具有 GPS 坐标和半径(以米为单位)的圆是否包含另一个圆。
如果我不使用 GPS 坐标,我可以做到这一点,而只是使用图表上的点,但如果我用 lat 和 lon 点代替,这将不起作用:
-- A circle within a circle
SELECT ST_Contains(bigc,smallc) As bigcontainssmall
FROM (SELECT ST_Buffer(ST_MakePoint(21, 38)::geography, 40) As smallc,
ST_Buffer(ST_MakePoint(21, 39)::geography, 400) AS bigc) foo;
想法?
【问题讨论】:
-
“不起作用”是什么意思?你得到一个空的结果还是一个错误?请提供一些真实的 GPS 数据来说明您的问题。
-
我这里没有
ST_Contains(geography, geography)。您正在使用哪个 PostGIS 版本?我只有ST_Contains(geometry, geometry)。另外,您确定不要ST_ContainsProperly或ST_Within? -
如果您不确定地理与几何,请参阅gis.stackexchange.com/q/6681/12379
标签: postgresql postgis coordinate-systems