Guida di riferimento per l'utente

ST_Distance

ST_Distance rileva due geometrie e restituisce la distanza più vicina.

Sintassi

db2gse.ST_Distance(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

Tipo di ritorno

Double

Esempi

Un ingegnere desidera consultare un elenco di tutti gli edifici situati ad una determinata distanza (foot=piede) dai lotti.

La colonna BUILDING_ID della tabella BUILDINGFOOTPRINTS identifica ogni edificio in modo univoco. La colonna LOT_ID identifica il lotto a cui appartiene ciascun edificio. Il multipoligono delle piantine memorizza la geometria delle piantine di ciascun edificio.

CREATE TABLE BUILDINGFOOTPRINTS (  building_id integer,
                                   lot_id      integer,
                                   footprint   db2gse.ST_MultiPolygon);

La tabella LOTS memorizza l'ID lotto che identifica ogni LOT in modo univoco, e il multipoligono LOT che contiene la geometria lineare.

CREATE TABLE LOTS (  lot_id   integer,
                        lot   db2gse.ST_MultiPolygon);

L'interrogazione restituisce un elenco di ID degli edifici situati entro il valore specificato di una determinata unità di misura dalla linea di demarcazione del lotto. La funzione ST_Distance segue un'unione spaziale tra le piantine e il limite dei multipoligoni dei lotti. Tuttavia, questa unione tra bf.lot_id e LOTS.lot_id garantisce che soltanto i multipoligoni che appartengono allo stesso lotto vengono confrontati dalla funzione ST_Distance.

SELECT bf.building_id
  FROM BUILDINGFOOTPRINTS bf, LOTS
 WHERE bf.lot_id = LOTS.lot_id AND
       db2gse.ST_Distance(bf.footprint, db2gse.ST_Boundary(LOTS.lot)) <= 1.0;


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]