2010-06-15 7 views
3

Je voudrais insérer le polygone contenant l'Europe dans ma base de données PostGIS.Continents/Pays frontières dans PostGIS (Polygon vs Linestring)

je les extrêmes follwoing points:

NW = NorthWest Border (latitude = 82,7021697 = -28,0371000 LON)

NE = NorthEast Border (latitude = 82,7021697 = 74,1357000 LON)

SE = frontière du Sud-Est (latitude = 33,8978000 = LON 74,1357000)

SW = frontière sud-ouest (latitude = 33,8978000 = LON -28,0371000)

est le suivant un polygone valide:

POLYGONE ((NWLon NWLat, Nelon NELat, Selat SELON, SWLon SWLat, NWlon NWLat))

Est-ce un polygone valide?

Je vois un polygone avec le format suivant POLYGON ((),())? Quand sont-ils utilisés? Pourquoi pas une ligne?

Toute aide sera apréciée? Cela me rend vraiment confus.

Merci

Répondre

1

C'est un polygone de PostGIS:

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

SRID est le SRID de la colonne de géométrie vous interagissez avec et Lonn, latn doit être égal LON1, lat1, à savoir, la bague doit explicitement fermé.

Dans PostgreSts, le geometry types include a polygon (c.-à-d. Pas de données de projection, pas de fonctions SIG en arrière-plan, pas vraiment à utiliser avec la longitude et la latitude); la syntaxe pour ces polygones est:

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

Vous pouvez également trouver cette question: SQL query for point-in-polygon using PostgreSQL pertinente.

+0

Il vous manque un ensemble de parenthèses à partir de votre polygone et le premier point devrait être répété, ce qui n'est pas évident vu la façon dont vous l'avez écrit, bien que lonN et latN puissent égaler lon1 et lat1. –