Guía y consulta del usuario

ST_Distance

ST_Distance toma dos geometrías y devuelve la distancia mínima que las separa.

Sintaxis

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

Tipo devuelto

Double

Ejemplos

El ingeniero municipal necesita una lista de todos los edificios que están a un pie o menos de una línea de parcela.

La columna BUILDING_ID de la tabla BUILDINGFOOTPRINTS identifica de forma exclusiva cada edificio. La columna LOT_ID identifica la parcela a la que pertenece cada edificio. La geometría varios polígonos de áreas edificadas almacena el área edificada correspondiente a cada edificio.

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

La tabla LOTS almacena el ID de parcela que identifica de forma exclusiva cada parcela y la geometría varios polígonos de parcela que contiene la geometría de líneas de la parcela.

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

La consulta devuelve una lista de los ID de edificios que están a un pie o menos de sus líneas de parcela. La función ST_Distance realiza una unión espacial entre las geometrías varios polígonos correspondientes a áreas edificadas y al límite de la parcela. Sin embargo, la unión entre bf.lot_id y LOTS.lot_id asegura que la función ST_Distance sólo compara las geometrías varios polígonos que pertenecen a la misma parcela.

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;


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]