Les formats proposés par l'OGC gèrent seulement la 2D et le SRID associé n'est jamais embarqué dans la représentation en entrée/sortie.
Les formats étendus de PostGIS sont actuellement un sur-ensemble de ceux de l'OGC (chaque WKB/WKT valide est un EWKB/EWKT valide) mais cela pourrait changer à l'avenir, particulièrement si l'OGC venait à sortir un nouveau format qui serait en conflit avec nos extensions. Donc vous NE DEVRIEZ PAS compter sur cette propriété.
Les format EWKB/EWKT de PostGIS ajoute les gestions de système de coordonnées 3dm, 3dz et 4d et contiennent l'information relative au SRID.
Des exemples de la représentation textuelle (EWKT) d'objets spatiaux étendus des propriétés sont les suivantes :
- POINT(0 0 0) -- XYZ
- SRID=32632;POINT(0 0) -- XY avec un SRID
- POINTM(0 0 0) -- XYM
- POINT(0 0 0 0) -- XYZM
- SRID=4326;MULTIPOINTM(0 0 0,1 2 1) -- XYM avec un SRID
- MULTILINESTRING((0 0 0,1 1 0,1 2 1),(2 3 1,3 2 1,5 4 1))
- POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))
- MULTIPOLYGON(((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((-1 -1 0,-1 -2 0,-2 -2 0,-2 -1 0,-1 -1 0)))
- GEOMETRYCOLLECTIONM(POINTM(2 3 9),LINESTRINGM((2 3 4,3 4 5)))
Les entrées/sorties dans ces formats sont disponibles via les interfaces suivantes :
- bytea EWKB = ST_asEWKB(geometry);
- text EWKT = ST_asEWKT(geometry);
- geometry = ST_GeomFromEWKB(bytea EWKB);
- geometry = ST_GeomFromEWKT(text EWKT);
Par exemple, une requête d'insertion valide pour créer et insérer un objet spatial PostGIS pourrait être :
THE_GEOM,
THE_NAME
)
VALUES (
ST_GeomFromEWKT('SRID=312;POINTM(-126.4 45.32 15)'),
'A Place'
)
Les "formes canoniques" d'un type PostgreSQL sont les représentations que vous obtenez avec de simples requêtes (sans appel de fonctions) et celle qui est sûr d'être accepté avec un simple insert, update ou copy. Pour le type geometry
de PostGIS se sont les suivantes :
binaire : EWKB
ascii : HEXEWKB (EWKB sous la forme hexadécimale)
- Entrée -
binaire : EWKB
ascii : HEXEWKB|EWKT
Par exemple cette requêtes lit du EWKT
et renvoie du HEXEWKB
dans le processus d'entrée/sortie canonique ascii
:
geometry
----------------------------------------------------
01010000200400000000000000000000000000000000000000
(1 row)
Posted in version imprimable | Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | 4539 lectures
Posté par rédacteurs le 6 Avril, 2006 - 20:00.