Границы континентов / стран в PostGIS (Полигон против Линестринга) - PullRequest
3 голосов
/ 15 июня 2010

Я хотел бы вставить полигон, содержащий Европу, в мою базу данных PostGIS.

У меня есть следующие крайние точки:

СЗ = северо-западная граница (широта = 82,7021697 лон = -28,0371000)

NE = северо-восточная граница (широта 82,7021697 лон = 74,1357000)

SE = граница юго-востока (широта = 33,8978000 лон = 74,1357000)

SW = граница юго-запада (широта = 33,8978000 лон = -28,0371000)

Является ли следующий допустимый многоугольник:

POLYGON ((NWLon NWLat, NELon NELat, SELon SElat, SWLon SWLat, NWlon NWLat))

Является ли это действительным полигоном?

Я вижу какой-то многоугольник с следующим форматом POLYGON ((), ())?Когда они используются?

Почему бы не подкладка?

Любая помощь будет оценена?Это меня очень смущает.

Спасибо

1 Ответ

1 голос
/ 18 июня 2010

Это полигон PostGIS:

ST_GeomFromText('POLYGON((lon1 lat1, lon2 lat2, ... lonN latN))', SRID)

, где SRID - это SRID столбца геометрии, с которым вы взаимодействуете, и lonN, latN должен равняться lon1, lat1, т.е.кольцо должно быть явно закрыто.

В простом Postgres типы геометрии включают в себя многоугольник (т. е. без данных проекции, без фоновых ГИС-функций, которые на самом деле не используются с долготой и широтой);синтаксис для этих полигонов:

insert into some_table (polygon_column) values ('(1,1),(2,2),(3,4),(1,1)');

Вы также можете найти этот вопрос: SQL-запрос для точки-полигона с использованием PostgreSQL релевантный.

...