ST_Aggr_Intersection

RemarqueRemarque :

Oracle et SQLite uniquement

Définition

ST_Aggr_Intersection renvoie une géométrie unique correspondant à l'union de l'intersection de toutes les géométries en entrée.

Syntaxe

Oracle

sde.st_aggr_intersection (geometry1 sde.st_geometry)

SQLite

st_aggr_intersection (geometry1 geometryblob)

Type de retour

Oracle

ST_Geometry

SQLite

Geometryblob

Exemple

Dans cet exemple, un biologiste essaie de trouver l'intersection de trois habitats naturels.

Oracle

En premier lieu, créez la table qui stocke les habitats.

CREATE TABLE habitats (
 id integer not null,
 shape sde.st_geometry
);

Ensuite, insérez les trois polygones à la table.

INSERT INTO habitats (id, shape) VALUES (
 1,
 sde.st_polygon ('polygon ((5 5, 12 5, 12 10, 5 10, 5 5))', 4326)
);

INSERT INTO habitats (id, shape) VALUES (
 2,
 sde.st_polygon ('polygon ((10 8, 14 8, 14 15, 10 15, 10 8))', 4326)
);

INSERT INTO habitats (id, shape) VALUES (
 3,
 sde.st_polygon ('polygon ((6 8, 20 8, 20 20, 6 20, 6 8))', 4326)
);

Enfin, sélectionnez l'intersection des habitats.

SELECT sde.st_astext(sde.st_aggr_intersection(shape)) AGGR_SHAPES 
 FROM habitats;

AGGR_SHAPES

POLYGON  (( 10.00000000 8.00000000, 12.00000000 8.00000000, 12.00000000 10.00000000, 
10.00000000 10.00000000, 10.00000000 8.00000000))

SQLite

En premier lieu, créez la table qui stocke les habitats.

CREATE TABLE habitats (
  id integer primary key autoincrement not null
);

SELECT AddGeometryColumn(
 NULL,
 'habitats',
 'shape',
 4326,
 'polygon',
 'xy',
 'null'
);

Ensuite, insérez les trois polygones à la table.

INSERT INTO habitats (shape) VALUES (
 st_polygon ('polygon ((5 5, 12 5, 12 10, 5 10, 5 5))', 4326)
);

INSERT INTO habitats (shape) VALUES (
 st_polygon ('polygon ((10 8, 14 8, 14 15, 10 15, 10 8))', 4326)
);

INSERT INTO habitats (shape) VALUES (
 st_polygon ('polygon ((6 8, 20 8, 20 20, 6 20, 6 8))', 4326)
);

Enfin, sélectionnez l'intersection des habitats.

SELECT st_astext(st_aggr_intersection(shape)) 
  AS "AGGR_SHAPES" 
  FROM habitats;

AGGR_SHAPES

POLYGON  (( 10.00000000 8.00000000, 12.00000000 8.00000000, 12.00000000 10.00000000, 
10.00000000 10.00000000, 10.00000000 8.00000000))

Thèmes connexes

5/10/2014