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

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

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

Сообщение EVOSandru6 »

Добрый день,

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

Крайние координаты углов известны. В базе координата объекта ( поле 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
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

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

Сообщение rugabarbo »

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

Простейший пример: http://gis.stackexchange.com/questions/ ... -a-polygon
Уверен, что и другие примеры там есть.
EVOSandru6
Сообщения: 605
Зарегистрирован: 2014.07.04, 13:33

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

Сообщение EVOSandru6 »

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