ST_ExteriorRing
Définition
ST_ExteriorRing retourne la boucle extérieure d'un polygone sous la forme d'un objet linestring.
Syntaxe
sde.st_exteriorring (pl1 sde.st_geometry)
Type de retour
ST_LineString
Exemple
Une ornithologue, souhaitant étudier la population d'oiseaux de plusieurs îlots, sait que la zone d'alimentation des espèces d'oiseaux qui l'intéressent est limitée au rivage. Dans le cadre du calcul de la capacité d'accueil de l'îlot, l'ornithologue doit connaître les périmètres des îlots. Certains îlots sont si grands qu'ils comportent plusieurs lacs. Toutefois, le rivage des lacs est habité exclusivement par une autre espèce d'oiseaux plus agressifs. Par conséquent, l'ornithologue n'a besoin que du périmètre de la boucle extérieure des îlots.
Les colonnes ID et name de la table islands identifient chaque île, tandis que la colonne de polygones land stocke la géométrie des îles.
CREATE TABLE islands (id integer, name varchar(32), land sde.st_geometry); INSERT INTO islands VALUES ( 1, 'Bear', sde.st_polygon ('polygon ((40 120, 90 120, 90 150, 40 150, 40 120),(50 130, 60 130, 60 140, 50 140, 50 130), (70 130, 80 130, 80 140, 70 140, 70 130))', 0) ); INSERT INTO islands VALUES ( 2, 'Johnson', sde.st_polygon ('polygon ((10 10, 50 10, 10 30, 10 10))', 0) );
La fonction ST_ExteriorRing extrait la boucle extérieure de chaque polygone d'îlot sous forme d'objet linestring. La longueur de l'objet linestring est calculée par la fonction ST_Length. Les longueurs des objets linestring sont totalisées par la fonction SUM.
Oracle
SELECT SUM (sde.st_length (sde.st_exteriorring (land))) FROM ISLANDS; SUM(ST_LENGTH(ST_EXTERIORRING(LAND))) 264.72136
PostgreSQL
SELECT SUM (sde.st_length (sde.st_exteriorring (land))) FROM islands; sum 264.721359549996
Les boucles extérieures des îlots représentent l'interface écologique maritime de chaque îlot.