Как в posgis найти все записи, где геокоордината содержится в рамках указанного полигона?

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
EVOSandru6
Сообщения: 476
Зарегистрирован: 2014.07.04, 13:33

Как в posgis найти все записи, где геокоордината содержится в рамках указанного полигона?

Сообщение EVOSandru6 » 2017.01.04, 08:12

Добрый день,

Мне нужно достать объекты, которые находятся в области экрана на карте.

Крайние координаты углов известны. В базе координата объекта ( поле gis_centroid ) имеет тип geography

Пробовал 2-мя вариантами:

Код: Выделить всё

select *
            FROM m_waypoints
            where 
              ST_Within( 
               gis_centroid, 
                ST_GeometryFromText(
                  'POLYGON((43.284500434723 76.93922996521, 43.293825032866 76.93922996521, 43.293825032866 76.965687274933, 43.284500434723 76.965687274933, 43.284500434723 76.93922996521))', 4326
                )
            ) 

Ловлю:

Код: Выделить всё

ERROR: function st_within(geography, geometry) does not exist

Код: Выделить всё

select *
            FROM m_waypoints
            where 
              ST_Within( 
                ST_GeometryFromText(gis_centroid), 
                ST_GeometryFromText(
                  'POLYGON((43.284500434723 76.93922996521, 43.293825032866 76.93922996521, 43.293825032866 76.965687274933, 43.284500434723 76.965687274933, 43.284500434723 76.93922996521))', 4326
                )
            ) 

Ловлю:

ERROR: function st_geometryfromtext(geography) does not exist

Не понял - зачем преобразовывать тип точки, если на вход - нет данных. Просто нужно найти все объекты в полигоне.

Помогите пожалуйста с запросом.

Аватара пользователя
rugabarbo
Сообщения: 744
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Как в posgis найти все записи, где геокоордината содержится в рамках указанного полигона?

Сообщение rugabarbo » 2017.01.12, 19:40

На SE искать надо (с префиксом [postgis]).

Простейший пример: http://gis.stackexchange.com/questions/ ... -a-polygon
Уверен, что и другие примеры там есть.

EVOSandru6
Сообщения: 476
Зарегистрирован: 2014.07.04, 13:33

Re: Как в posgis найти все записи, где геокоордината содержится в рамках указанного полигона?

Сообщение EVOSandru6 » 2017.01.13, 06:32

Благодарю за ответ, в тех краях и был найдено решение)

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость