2010-06-15 59 views
1

我需要的是找到距矩形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; 

但结果也不行。我得到太多结果(一切都返回)。

我在做什么错?

+1

以上应该工作。你在使用几何图形还是地理图形?你有没有注意到任何模式?你能发布一些样本数据(在这里或其他地方)来重现你的问题吗? – Unreason 2010-06-15 14:11:09

+0

我使用的几何形状,例如:(“0103000020A210000001000000050000005C6F7D6D3E6A2940927572284B67464011C5BC925A4B2940B8A238CA38DA464081254FE8D4242D40302212E575E046407681E4F852342D40F48EB143576D46405C6F7D6D3E6A2940927572284B674640”) 如何表达这种10公里???? 我通过上面的查询得到的结果是10000行,恰好是table2的行数。 如果使用st_dwithin的st_contains intead来查看gid = 2的多边形内的点,我得到了正确的结果。现在我需要扩大多边形周围10公里的面积。 谢谢, – Z77 2010-06-16 06:48:38

回答

0

您的查询应该可以正常工作。最大的问题可能是https://gis.stackexchange.com/questions/32711/how-do-i-use-st-dwithin-with-meters中讨论的单位转换问题。

您可能在单元选择或配置时遇到问题。

如果您告诉它,例如,几何图形必须在10000英里以内,那么您几乎可以随处找到它。甚至10000公里可能会在同一大陆返回所有的东西。

相关问题