Guide d'utilisation et de référence

ST_Buffer

ST_Buffer utilise en entrée un objet de type géométrie et une distance, et renvoie la géométrie qui entoure l'objet source.

Syntaxe

db2gse.ST_Buffer(g db2gse.ST_Geometry , [measure] Double)

Type de retour

db2gse.ST_Geometry

Exemples

L'administrateur du comté a besoin de la liste des sites à risque qui chevauchent des zones sensibles telles que les écoles, les hôpitaux et les maisons de retraite. Les zones sensibles sont enregistrées dans la table SENSITIVE_AREAS créée avec l'instruction CREATE TABLE ci-dessous. La colonne ZONE est définie en tant que polygone, qui est stocké sous la forme du contour de chaque zone sensible.

CREATE TABLE SENSITIVE_AREAS (id        integer,
                              name      varchar(128),
                              size      float,
                              type      varchar(10),
                              zone      db2gse.ST_Polygon); 

Les sites à risque sont stockés dans la table HAZARDOUS_SITES créée avec l'instruction CREATE TABLE présentée ci-après. La colonne LOCATION, définie en tant que point, stocke une position qui représente le centre géographique du site à risque.

CREATE TABLE HAZARDOUS_SITES (site_id   integer,
                              name      varchar(128),
                              location  db2gse.ST_Point);
INSERT INTO HAZARDOUS SITES
VALUES (102, 'Allied Chemicals', 
        db2gse.ST_PointFromText('Point(157000 475000)',coordref()..srid(0))) 

Les tables SENSITIVE_AREAS et HAZARDOUS_SITES sont jointes à l'aide de la fonction db2gse.ST_Overlaps. La fonction renvoie la valeur 1 (TRUE) pour toutes les lignes de la table SENSITIVE_AREAS dont les polygones de surface chevauchent le périmètre tampon d'un rayon d'environ 8 km défini autour du point représentant l'emplacement HAZARDOUS_SITES.

SELECT sa.name "Sensitive Areas", hs.name "Hazardous Sites"
FROM SENSITIVE_AREAS sa, HAZARDOUS_SITES hs
WHERE db2gse.ST_Overlaps(sa.zone, db2gse.ST_Buffer (hs.location,(5 *
5280))) = 1;

(5 * 5280 représente cinq miles [8 km]. En effet, il y a 5280 pieds dans un mile, et le pied est l'unité de mesure linéaire du système de coordonnées auquel appartiennent les coordonnées indiquées dans l'instruction VALUES).

Sur la Figure 29, certaines des zones sensibles de cette division administrative sont situées à l'intérieur du périmètre tampon de 8 km défini autour des emplacements des sites à risque. Les deux zones tampons forment une intersection avec l'hôpital et l'une d'elle avec l'école. Par contre, la maison de retraite est située en dehors des deux périmètres de sécurité.

Figure 29. Une zone tampon d'un rayon d'environ 8 km est tracée autour d'un point

top


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]