Oracle Spatial de la A a la Z - Unidad 10

4

Click here to load reader

description

by Jorge Ulises Gonzalez Medina

Transcript of Oracle Spatial de la A a la Z - Unidad 10

Page 1: Oracle Spatial de la A a la Z - Unidad 10

10 Análisis de geometrías mediante operadores espaciales y funciones

OBJETIVOS•Conocer la función para extraer el área de cierto objeto espacial.•Comprender como es el proceso para calcular el perímetro de un objeto espacial determinado.•Calcular la distancia entre dos puntos.

Algunos ejemplos de las consultas típicas de los datos espaciales:

Calcular la longitud de una autopista interestatal.Calcular el área de todos los condados que interactúan con un condado en particular.Calcula la distancia entre dos ciudades.Buscar todos los condados en distancia de n- kilómetros alrededor de una carretera en particular.Calcular el área de la sección de cada condado que se cruza una distancia de n- kilómetros alrededor de una carretera en particular

1 EJEMPLOS DE CONSULTAS ESPACIALES

Page 2: Oracle Spatial de la A a la Z - Unidad 10

2 CÁLCULO DE LONGITUD Y ÁREA

Funciones espaciales para calcular el área, longitud, o el perímetro de una geometría son las siguientes:SDO_GEOM.SDO_AREA: Calcula el área de un polígono de dos dimensionesSDO_GEOM.SDO_LENGTH: Calcula la longitud o el perímetro de una geometríaAmbas funciones toman un objeto SDO_GEOMETRY como entrada y devuelven un número.Para los datos proyectados o los datos sin (sen) SDO_SRID, el cálculo es cartesiano y el resultado se devuelve en las unidades del sistema de coordenadas por defecto.Para los datos geodésicos, las cuentas de cálculo de la curvatura de la Tierra y el resultado es devuelto en metros o metros cuadrados.

3 FUNCIÓN SDO_GEOM.SDO_AREA

area := SDO_GEOM.SDO_AREA (<geometry>, <tolerance> [, <unit>])

SDO_GEOM.SDO_AREA:Devuelve el área de dos polígonos tridimensionalesDevuelve un número que es el área de la geometría de entrada

<geometry>: Es el objeto SDO_GEOMETRY que define un polígono<tolerance>: Es el número que se usa para indicar la tolerancia<unit>: Es la cadena entre comillas para especificar la unidad de medida

Calcular el área total de todos los condados que sean vecinos del Condado de Passaic en Nueva Jersey.

Page 3: Oracle Spatial de la A a la Z - Unidad 10

SELECT /*+ ordered */ SUM(SDO_GEOM.SDO_AREA (c1.geom, 0.5,

'unit=sq_mile')) areaFROM geod_counties c2, geod_counties c1WHERE c2.state = 'New Jersey' AND c2.county = 'Passaic' AND SDO_TOUCH (c1.geom, c2.geom) = 'TRUE';

AREA----------2431.41332

Calcule el área total de condados alrededor del Condado Passaic, agrupado por estado:

SELECT /*+ ordered */ c1.state, SUM(SDO_GEOM.SDO_AREA(c1.geom,0.5, 'unit=sq_mile')) areaFROM geod_counties c2, geod_counties c1WHERE c2.state = 'New Jersey' AND c2.county = 'Passaic' AND SDO_TOUCH (c1.geom, c2.geom) = 'TRUE'GROUP BY c1.state;

STATE AREA------------------------------ ----------New Jersey 1392.35219New York 1039.06113

Page 4: Oracle Spatial de la A a la Z - Unidad 10

4 FUNCIÓN SDO_GEOM.SDO_LENGTH

SDO_GEOM.SDO_LENGTH: Devuelve un número que es la longitud o el perímetro de la geometría de entradaPara los polígonos con agujeros, devuelve la suma del perímetro del anillo exterior y el perímetro de los anillos interiores<geometry>: Es el objeto SDO_GEOMETRY que define un polígono o una línea<tolerance>: Es el número que se usa para indicar la tolerancia<unit>: Es la cadena entre comillas para especificar la unidad de la medición

length := SDO_GEOM.SDO_LENGTH( <geometry>, <tolerance> [, <unit>])

Calcular la longitud de una carretera interestatal:

SELECT SDO_GEOM.SDO_LENGTH (geom, 0.5, 'unit=kilometer') lengthFROM geod_interstatesWHERE highway = 'I95';

Seleccione los estados en base de la longitud de la frontera:

SELECT stateFROM geod_statesWHERE SDO_GEOM.SDO_LENGTH (geom, 0.5, 'unit=mile') > 1800;

5 FUNCIÓN SDO_GEOM.SDO_DISTANCE.

Para calcular la distancia mínima entre dos geometrías, utilice la función SDO_GEOM.SDO_DISTANCE.SDO_GEOM.SDO_DISTANCE:

Toma dos objetos SDO_GEOMETRY como entrada y devuelve un númeroPara los datos proyectados o de datos sin SDO_SRID, devuelve la distancia en línea recta en la unidad de sistema de coordenadas por defecto de la geometríaPara los datos geodésicos, que devuelve la menor distancia a lo largo de la línea geodésica en metros

La unidad de distancia se puede cambiar con el parámetro de UNIDAD.