多边形查询中点上的缓冲多边形

时间:2016-05-22 05:12:21

标签: postgis postgresql-9.4

我想将警告多边形缓冲两英里,任何人都可以帮助我 这样,如果电子邮件个人与列出的警告里程相同,我一直在尝试使用ST缓冲区(扩展搜索的多边形覆盖范围),但似乎无法正确使用它?它是在Meters(3218.69)吗?我正在使用最新的开口套件。

SELECT DISTINCT ON (ema.name) 
ST_X(ema.geom),ST_Y(ema.geom),ema."name", torpoly.expire
FROM ema INNER JOIN torpoly ON ST_Within(ema.geom, ST_BUFFER(torpoly.geom) 
ORDER BY ema."name" 

1 个答案:

答案 0 :(得分:1)

您的选择是:

  1. 对使用以米或英尺(UTM,状态平面等)为单位的线性单位的区域使用适当的投影坐标系。 geometry类型的所有距离计算都使用笛卡尔坐标系统,这种方法快速而简单。
  2. 使用geography类型,对EPSG:4326(纬度/经度)的物体进行距离计算,距离单位为米。如果您不想更改数据类型,可以使用geom::geography强制转换,也可以在该投射上制作索引。
  3. 永远不要为这种类型的分析做ST_Within(..,ST_Buffer())。它更慢,更不完美。相反,使用ST_DWithin,它会在彼此的距离阈值内找到所有geometry / geography个对象,就像缓冲区一样。此函数可以使用空间GiST索引(如果存在)。