Как сделать полигон из коллекции буферизованных точек в postgis - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь сделать полигон аэропорта, который должен быть задан расстоянием от начальной точки и конечной точки ВПП, заданной как широта и долгота. airport polygon

Сделанный мной запрос выглядит так:

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 к каждой точке, но это также не сработало. Есть идеи?

1 Ответ

0 голосов
/ 11 апреля 2019

Благодаря 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
...