Буфер lon, точка lat в метрах (приблизительно) - PullRequest
2 голосов
/ 23 августа 2011

Мне нужно создать круг вокруг точки (lon, lat), радиус которой составляет приблизительно X метров.

Точка генерируется с помощью эквивалента geomFromEwkt('SRID=1;POINT(lon lat)').

IЯ знаю о функции postgis 'buffer' или st_buffer, однако не знаю, как преобразовать расстояние (в метрах) в "единицы измерения пространственной системы отсчета этой геометрии".

doc"Расчетыв единицах пространственной системы отсчета этой геометрии "

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Эллиптическая форма будет становиться все более и более отчетливой по мере продвижения на север.Если вы используете PostGIS 1.5, выполните геометрию (ST_Buffer (GeogFromText ('POINT (lon lat)'), 100)), чтобы выполнить буферизацию в сферическом пространстве и получить правильный ответ независимо от широты.

1 голос
/ 29 августа 2011

коллега сообщил мне о приблизительном расчете, который он использует:

buffer("location", radius / 110000 * abs(cos(radians(lat))));

где местоположение - геометрия точки.

...