我需要的是找到距离矩形 10 公里的所有点。点几何是the_geom1,矩形(多边形)几何是the_geom2。它们的 SRID 是 4258。
我试过了:
SELECT *
FROM table1,table2
WHERE ST_DWithin(table1.the_geom1,table2.the_geom2,10000)
and table1.gid=2;
但结果并不好。我得到了太多的结果(一切都返回)。
我究竟做错了什么?
我需要的是找到距离矩形 10 公里的所有点。点几何是the_geom1,矩形(多边形)几何是the_geom2。它们的 SRID 是 4258。
我试过了:
SELECT *
FROM table1,table2
WHERE ST_DWithin(table1.the_geom1,table2.the_geom2,10000)
and table1.gid=2;
但结果并不好。我得到了太多的结果(一切都返回)。
我究竟做错了什么?
您的查询应该有效。大问题可能如讨论单位转换问题的https://gis.stackexchange.com/questions/32711/how-do-i-use-st-dwithin-with-meters中所述。
您可能对单位选择或配置有疑问。
例如,如果您告诉它几何形状必须在 10000 英里以内,那么您几乎可以找到任何地方。即使是 10000 公里也可能会返回同一大陆上的一切。