我正在尝试制作一个机场的多边形,必须从跑道的起点和终点给出距离作为纬度和经度。
查询我看起来像这样:
INSERT INTO airport (name, polygon)
VALUES(
'some airport name',
ST_SetSRID(
ST_Collect(
ST_Buffer(ST_MakePoint(160.04518, -9.43196), 100),
ST_Buffer(ST_MakePoint(160.06376, -9.42452), 100)
), 4326
)
);
不幸的是结果多边形非常奇怪,它几乎涵盖了所有地球。我也尝试将srid添加到每个点,但它也没有用。有任何想法吗?
感谢https://stackoverflow.com/a/13872887/4270929在添加缓冲区之前必须将其强制转换为地理位置(几何图形在不同的单元中我猜?)
ST_Buffer(ST_MakePoint(160.04518, -9.43196)::geography, 100)::geometry,
ST_Buffer(ST_MakePoint(160.06376, -9.42452)::geography, 100)::geometry