我想将警告多边形缓冲两英里,任何人都可以帮助我 这样,如果电子邮件个人与列出的警告里程相同,我一直在尝试使用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"
答案 0 :(得分:1)
您的选择是:
geometry
类型的所有距离计算都使用笛卡尔坐标系统,这种方法快速而简单。geography
类型,对EPSG:4326(纬度/经度)的物体进行距离计算,距离单位为米。如果您不想更改数据类型,可以使用geom::geography
强制转换,也可以在该投射上制作索引。永远不要为这种类型的分析做ST_Within(..,ST_Buffer())。它更慢,更不完美。相反,使用ST_DWithin,它会在彼此的距离阈值内找到所有geometry
/ geography
个对象,就像缓冲区一样。此函数可以使用空间GiST索引(如果存在)。