ST_GeomFromWKB
Définition
ST_GeomFromWKB accepte une représentation binaire connue (WKB) et un ID de référence spatiale pour renvoyer un objet ST_Geometry.
Syntaxe
Oracle
sde.st_geomfromwkb (wkb blob, srid integer)
PostgreSQL
sde.st_geomfromwkb (wkb, srid integer) sde.st_geomfromwkb (esri_shape bytea, srid integer)
Type de retour
ST_Geometry
Exemple
Dans l'exemple suivant, les lignes de résultats ont été remises en forme pour améliorer leur lisibilité. L'espacement de vos résultats variera selon votre affichage en ligne. Le code suivant montre comment utiliser la fonction ST_GeomFromWKB pour créer et insérer une ligne à partir d'une représentation WKB de ligne. L'exemple suivant insère un enregistrement dans la table sample_geometries avec un ID et une géométrie dans le système de référence spatiale 1 dans une représentation WKB.
Oracle
CREATE TABLE sample_geometries (id integer, geometry sde.st_geometry, wkb blob); INSERT INTO SAMPLE_GEOMETRIES (id, geometry) VALUES ( 1901, sde.st_geomfromtext ('point (1 2)', 0) ); INSERT INTO SAMPLE_GEOMETRIES (id, geometry) VALUES ( 1902, sde.st_geomfromtext ('linestring (33 2, 34 3, 35 6)', 0) ); INSERT INTO SAMPLE_GEOMETRIES (id, geometry) VALUES ( 1903, sde.st_geomfromtext ('polygon ((3 3, 4 6, 5 3, 3 3))', 0) ); UPDATE SAMPLE_GEOMETRIES SET wkb = sde.st_asbinary (geometry) WHERE id = 1901; UPDATE SAMPLE_GEOMETRIES SET wkb = sde.st_asbinary (geometry) WHERE id = 1902; UPDATE SAMPLE_GEOMETRIES SET wkb = sde.st_asbinary (geometry) WHERE id = 1903; SELECT id, sde.st_astext (sde.st_geomfromwkb (wkb, 0)) FROM SAMPLE_GEOMETRIES; ID GEOMETRY 1901 POINT (1.00000000 2.00000000) 1902 LINESTRING (33.00000000 2.00000000, 34.00000000 3.00000000, 35.00000000 6.00000000) 1903 POLYGON ((3.00000000 3.00000000, 5.00000000 3.00000000, 4.00000000 6.00000000, 3.00000000 3.00000000))
PostgreSQL
CREATE TABLE sample_geometries (id integer, geometry sde.st_geometry, wkb bytea); INSERT INTO sample_geometries (id, geometry) VALUES ( 1901, sde.st_geometry ('point (1 2)', 0) ); INSERT INTO sample_geometries (id, geometry) VALUES ( 1902, sde.st_geometry ('linestring (33 2, 34 3, 35 6)', 0) ); INSERT INTO sample_geometries (id, geometry) VALUES ( 1903, sde.st_geometry ('polygon ((3 3, 4 6, 5 3, 3 3))', 0) ); UPDATE sample_geometries SET wkb = sde.st_asshape (geometry) WHERE id = 1901; UPDATE sample_geometries SET wkb = sde.st_asshape (geometry) WHERE id = 1902; UPDATE sample_geometries SET wkb = sde.st_asshape (geometry) WHERE id = 1903; SELECT id, sde.st_astext (sde.st_geomfromshape (wkb, 0)) FROM sample_geometries; id st_astext 1901 POINT (1 2) 1902 LINESTRING (33 2, 34 3, 35 6) 1903 POLYGON ((3 3, 5 3, 4 6, 3 3))
3/6/2012