SlideShare una empresa de Scribd logo
9
Utilizando
SDO_WITHIN_DISTANCE,
SDO_NN, y el operador
SDO_JOIN
OBJETIVOS
•Conocer como el operador SDO_WITHIN_DISTANCE para resolver las consultas
relacionadas con la distancia
•Comprender como el operador SDO_NN para realizar la consulta del vecino más cercano
•Poner en práctica SDO_JOIN para obtener un cruce espacio-producto
Algunos ejemplos de las consultas típicas de los datos espaciales:
Encuentre todas las ciudades dentro de una distancia de una carretera interestatal.
Encuentra cinco ciudades más cercanas a la carretera interestatal I170.
Encuentra toda las ciudades y los pares de condados que tiene la interacción.
Buscar todas las ciudades dentro de 10 millas de todas las autopistas interestatales.
1 EJEMPLOS DE CONSULTAS ESPACIALES
2 OPERADORES ESPACIALES
Operadores espaciales que pueden ser utilizados para resolver la distancia o la
proximidad de consultas relacionadas con:
SDO_WITHIN_DISTANCE
SDO_NN
El SDO_JOIN operador espacial:
Puede ser utilizado para comparar todas las geometrías de una capa a todas las
geometrías en otra capa
Es útil comparando la mayor parte de una capa con todo o la mayor parte de otra capa
3 OPERADOR SDO_WITHIN_DISTANCE
SDO_WITHIN_DISTANCE
( <geometry-1>,
<geometry-2>,
'DISTANCE=<n>,
[parameters]'
) = 'TRUE'
SDO_WITHIN_DISTANCE: se utiliza para determinar el conjunto de objetos en una
tabla que están dentro de las unidades de distancia n de un objeto de referencia
(ventana de consulta)
<geometry1>: ¿Es la búsqueda de la columna
<geometry2>: Es la ventana de consulta
<DISTANCE=n>: Se expresa en las unidades utilizadas para el sistema de
coordenadas
<unit>: Es la unidad de medida para asociarse con el
parámetro <DISTANCE>
4 OPERADOR: SDO_NN
SDO_NN
( <geometry-1>, <geometry-2>
[,'parameters'][,tag]
) = 'TRUE'
SDO_NN:
Utiliza el índice espacial para identificar a los vecinos más cercanos para una
geometría
Puede especificar el número de vecinos más próximos a ser devueltos
No devuelve los resultados en orden de distancia
Tiene un operador auxiliar, SDO_NN_DISTANCE, que devuelve la distancia
asociada a un vecino más cercano
<geometry1>: Es la columna espacial que se busca
<geometry2>: Es la geometría cuya vecinos más cercanos está buscando.
Argumentos opcionales: SDO_NN
DISTANCIA: es la máxima distancia opcional para considerar en la búsqueda de los
vecinos más cercanos
SDO_NUM_RES: Define el número de vecinos más próximos a regresar. Esto toma sólo
la proximidad en consideración.
SDO_BATCH_SIZE: Especifica el número de filas que se procesan en un momento en el
que la evaluación de otras limitaciones de la cláusula WHERE.
De forma predeterminada, el valor 0, en cuyo caso Espacial decide el tamaño del lote
óptimo.
Usar la rownum pseudocolumn para limitar el número de geometrías devueltas.
Especificar SDO_BATCH_SIZE o SDO_NUM_RES, pero nunca ambos.
Si no se especifica ninguno, el valor predeterminado es SDO_BATCH_SIZE = 0.
UNIT (opcional con SDO_NN_DISTANCE)
Se aplica a SDO_NN_DISTANCE
Es la unidad de medida asociado con la distancia
TAG (requerido con SDO_NN_DISTANCE)
Debe coincidir con la etiqueta entero especificado en SDO_NN_DISTANCE
Asociados a un operador auxiliar con una instancia específica de SDO_NN
5 OPERADOR AUXILIAR: SDO_NN_DISTANCE
Esto devuelve la distancia asociados con los vecinos más cercanos devuelto por
SDO_NN.
Esto es válido sólo dentro de una llamada al operador SDO_NN.
La distancia se ajusta a los parámetros de UNIT en el operador de SDO_NN.
Si la UNIT no se ha especificado, empleamos SDO_NN_DISTANCE :
Medidores de datos geodésicos
La unidad de sistema para coordinar los datos proyectados
TAG es un número que asocia al operador auxiliar con una llamada a SDO_NN.
Encuentra las cinco ciudades más cercanas a la carretera interestatal
I170, ordenados por distancia:
SELECT /*+ ordered */
c.city, c.state_abrv,
sdo_nn_distance (1) distance_in_miles
FROM geod_interstates i,
geod_cities c
WHERE i.highway = 'I170'
AND sdo_nn(c.location, i.geom,
'sdo_num_res=5 unit=mile', 1) = 'TRUE'
ORDER by distance_in_miles;
Resultado de utilizar SDO_NN_DISTANCE con el operador auxiliar
DO_NUM_RES.
La consulta en la diapositiva anterior devuelve las cinco ciudades más cercanas a
la carretera interestatal I170, ordenados por distancia:
CITY ST DISTANCE_IN_MILES
----- ---- -------------------
St Louis MO 5.36297295
Springfield IL 78.7997464
Peoria IL 141.478022
Evansville IN 158.22422
Springfield MO 188.508631
6 UTILIZANDO SDO_NN CON SDO_BATCH_SIZE
Encuentra las cinco ciudades más cercanas a la carretera interestatal I170 que tienen la
población mayor de 300.000, ordenados por distancia.
Si usted pone SDO_BATCH_SIZE=0, SDO_NN escoge SDO_BATCH_SIZE óptimo
SELECT /*+ ordered */
c.city, c.state_abrv, pop90,
sdo_nn_distance (1) distance_in_miles
FROM geod_interstates i,
geod_cities c
WHERE i.highway = 'I170'
AND sdo_nn(c.location, i.geom,
'sdo_batch_size=10 unit=mile', 1) = 'TRUE'
AND c.pop90 > 300000
AND rownum < 6
ORDER BY distance_in_miles;
La consulta en la diapositiva anterior devuelve las cinco ciudades más cercanas a la
carretera interestatal I170 que tienen la población mayor de 300.000, ordenados por
distancia:
CITY ST POP90 DISTANCE_IN_MILES
----------- -- ---------- -----------------
St Louis MO 396685 5.36297295
Kansas City MO 435146 227.404883
Indianapolis IN 741952 234.708666
Memphis TN 610337 244.202072
Chicago IL 2783726 253.547961
Este debe tener un índice en GEOD_INTERSTATES.
SDO_NN filas de vueltas en la distancia ordenan en la cláusula WHERE.
Cuando se utiliza SDO_BATCH_SIZE:
Como excepción, es aceptable para tener la condición rownum seguida de una
operación ORDER BY
Desactivar todos los índices no espacial en las columnas que vienen de la
misma tabla que la columna de búsqueda SDO_NN
7 USO DE LA SUGERENCIA DEL OPTIMIZADOR NO_INDEX
Para deshabilitar un índice no espacial, utiliza la sugerencia de optimizador no_index.
SELECT /*+ ordered no_index(c pop90_idx) */
c.city, pop90,
sdo_nn_distance (1) distance_in_miles
FROM geod_interstates i,
geod_cities c
WHERE i.highway = 'I170'
AND sdo_nn(c.location, i.geom,
'sdo_batch_size=0 unit=mile', 1) = 'TRUE'
AND c.pop90 > 300000
AND rownum < 6
ORDER BY distance_in_miles;
8 UTILIZANDO SDO_NN CON DISTANCE
Encuentra las cinco ciudades más cercanas a la carretera interestatal I170 que tienen la
población mayor de 300.000, y una distancia máxima de 240 millas de la carretera
interestatal I170:
SELECT /*+ ordered no_index(c pop90_idx) */
c.city, pop90,
sdo_nn_distance (1) distance_in_miles
FROM geod_interstates i,
geod_cities c
WHERE i.highway = 'I170'
AND sdo_nn(c.location, i.geom,
'sdo_batch_size=0 distance=240 unit=mile',
1) = 'TRUE'
AND c.pop90 > 300000
AND rownum < 6
ORDER BY distance_in_miles;
Encuentra las cinco ciudades más cercanas a la carretera interestatal I170 que tienen la
población mayor de 300.000, y una distancia máxima de 240 millas de la carretera
interestatal I170:
CITY ST POP90 DISTANCE_IN_MILES
----------- -- ---------- -----------------
St Louis MO 396685 5.36297295
Kansas City MO 435146 227.404883
Indianapolis IN 741952 234.708666
9 Enlace espacial: operador SDO_JOIN
Esto se utiliza para comparar todas las geometrías de una capa con todas las
geometrías de otra capa.
Esto también es útil cuando se comparan más de una capa con toda o con
la mayor parte de otra capa.
El enlace espacial puede ser usado para responder a preguntas como: ¿Qué
carreteras cruzan los parques nacionales?
La geometría de las capas que se comparan:
Debe estar en el mismo sistema de coordenadas
Tienen la misma dimensionalidad
Ambas tablas deben ser espacialmente indexadas.
<table_name-n>: tablas que contienen las columnas SDO_GEOMETRY
<column_name-n>: columnas SDO_GEOMETRY indexadas
‘parámetros’: Elija una de dos:
MÁSCARA: define las relaciones topológicas a buscar, por
ejemplo, ANYINTERACT, INSIDE, OVERLAPS, , y así sucesivamente.
Distancia y la UNIT opcional
Nota: Si los parámetros no se especifican, esto es análogo a SDO_FILTER.
Esto devuelve un objeto del tipo SDO_ROWIDSET, es decir, un par de ROWIDs
que coinciden con las dos capas espaciales.
SDO_JOIN( <table_name-1>, <column_name-1>,
<table_name-2>, <column_name-2>
[,'parameters'])
RETURN SDO_ROWIDSET
DESCRIBE SDO_ROWIDSET
ROWID1 se refiere a ROWID de table_name-1, y ROWID2 se refiere a ROWID de
table_name-2.
SDO_ROWIDSET TABLE OF MDSYS.SDO_ROWIDPAIR
Name Null? Type
-------------- -------- -----------
ROWID1 VARCHAR2(24)
ROWID2 VARCHAR2(24)
10 Enlace espacial: utilizando el parámetro MASK
Encuentra toda la ciudad y los pares de condado que tiene la interacción:
SELECT /*+ ordered use_nl(a,b) use_nl(a,c)*/
b.city, c.county
FROM TABLE(SDO_JOIN(
'GEOD_COUNTIES', 'GEOM',
'GEOD_CITIES', 'LOCATION',
'MASK=ANYINTERACT')) a,
geod_cities b,
geod_counties c
WHERE a.rowid1 = c.rowid
AND a.rowid2 = b.rowid
ORDER BY a.city;
11 Enlace espacial: utilizando DISTANCE y el
parámetro UNIT
Buscar todas las ciudades dentro de 10 millas de todas las autopistas interestatales:
SELECT /*+ ordered use_nl(a,b) use_nl(a,c)*/
b.city, c.highway
FROM TABLE(SDO_JOIN(
'GEOD_INTERSTATES', 'GEOM',
'GEOD_CITIES', 'LOCATION',
'DISTANCE=10 UNIT=MILE')) a,
geod_cities b,
geod_interstates c
WHERE a.rowid1 = c.rowid
AND a.rowid2 = b.rowid
ORDER BY a.city;
12 PUNTOS IMPORTANTES ACERCA DE LOS
OPERADORES ESPACIALES DE ORACLE
Hay tres puntos importantes para recordar que la ayuda para garantizar un
rendimiento óptimo cuando se utilizan los operadores de Oracle Spatial son:
•Siempre use = 'true', y nunca <> 'false' o = 'true'.
•Utilice la sugerencia /*+ ORDERED */ cuando la ventana de consulta proviene de
una tabla.
•Cuando se utiliza SDO_NN con el parámetro SDO_BATCH_SIZE, deshabilitar todos
los índices no espacial en las columnas que vienen de la misma tabla que la columna
de búsqueda SDO_NN.
•Esto se puede hacer con una sugerencia de Optimizador no_index.
13 EN PARALELO CON OPERADORES ESPACIALES Y
CREATE TABLE AS SELECT
En general, los operadores espaciales no hacen el paralelismo de apalancamiento.
Pero usted puede aprovechar el paralelismo con los operadores espaciales con
CREATE TABLE AS SELECT.
El paralelismo con los operadores espaciales y CREATE TABLE AS SELECT se
produce cuando la ventana de consulta alimentan el segundo argumento del operador
espacial, por ejemplo:
ALTER SESSION ENABLE PARALLEL QUERY;
CREATE TABLE results NOLOGGING PARALLEL 4 AS
SELECT /*+ ordered */ a.state, b.county
FROM geod_states a,
geod_counties b
WHERE sdo_relate (b.geom, a.geom, 'mask=touch')='TRUE';

Más contenido relacionado

La actualidad más candente

Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGIS
mleslie
 
Spatial analysis and Analysis Tools
Spatial analysis and Analysis ToolsSpatial analysis and Analysis Tools
Spatial analysis and Analysis Tools
Swapnil Shrivastav
 
Gdal introduction
Gdal introductionGdal introduction
Gdal introduction
Tomer Lieber
 
Evolution of GPS
Evolution of GPSEvolution of GPS
Evolution of GPS
Tracko.co.in
 
View, Store Procedure & Function and Trigger in MySQL - Thaipt
View, Store Procedure & Function and Trigger in MySQL - ThaiptView, Store Procedure & Function and Trigger in MySQL - Thaipt
View, Store Procedure & Function and Trigger in MySQL - ThaiptFramgia Vietnam
 
datamodel_vector
datamodel_vectordatamodel_vector
datamodel_vector
Riya Gupta
 
Kalam e-iqbal in alphabetical order
Kalam e-iqbal in alphabetical orderKalam e-iqbal in alphabetical order
Kalam e-iqbal in alphabetical order
Zahid Islam Tanoli
 
DATA in GIS and DATA Query
DATA in GIS and DATA QueryDATA in GIS and DATA Query
DATA in GIS and DATA Query
KU Leuven
 
Sistem sistem satelit di bidang geodesi satelit
Sistem sistem satelit di bidang geodesi satelitSistem sistem satelit di bidang geodesi satelit
Sistem sistem satelit di bidang geodesi satelit
Retno Pratiwi
 
Spatial Data Models
Spatial Data Models Spatial Data Models
Spatial Data Models
RajalakshmiS34
 
Lect 7 &amp; 8 types of vector data model-gis
Lect 7 &amp; 8 types of vector data model-gisLect 7 &amp; 8 types of vector data model-gis
Lect 7 &amp; 8 types of vector data model-gis
Rehana Jamal
 
7 8.math projection (2)
7 8.math projection (2)7 8.math projection (2)
7 8.math projection (2)
Riya Gupta
 
Materi pelatihan gis
Materi pelatihan gisMateri pelatihan gis
Materi pelatihan gis
abiko79
 
Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1
Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1
Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1
Luhur Moekti Prayogo
 
Geodesy - Definition, Types, Uses and Applications
Geodesy - Definition, Types, Uses and ApplicationsGeodesy - Definition, Types, Uses and Applications
Geodesy - Definition, Types, Uses and Applications
Ahmed Nassar
 
Spatial Databases
Spatial DatabasesSpatial Databases
Spatial Databases
Pratibha Chaudhary
 
Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0
Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0
Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0
oriza steva andra
 
Spatial data analysis 1
Spatial data analysis 1Spatial data analysis 1
Spatial data analysis 1
Johan Blomme
 
The Integration of Geospatial Technologies: GIS and GPS
The Integration of Geospatial Technologies: GIS and GPS	The Integration of Geospatial Technologies: GIS and GPS
The Integration of Geospatial Technologies: GIS and GPS Lindsey Landolfi
 

La actualidad más candente (20)

Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGIS
 
Spatial analysis and Analysis Tools
Spatial analysis and Analysis ToolsSpatial analysis and Analysis Tools
Spatial analysis and Analysis Tools
 
Gdal introduction
Gdal introductionGdal introduction
Gdal introduction
 
Evolution of GPS
Evolution of GPSEvolution of GPS
Evolution of GPS
 
View, Store Procedure & Function and Trigger in MySQL - Thaipt
View, Store Procedure & Function and Trigger in MySQL - ThaiptView, Store Procedure & Function and Trigger in MySQL - Thaipt
View, Store Procedure & Function and Trigger in MySQL - Thaipt
 
datamodel_vector
datamodel_vectordatamodel_vector
datamodel_vector
 
Kalam e-iqbal in alphabetical order
Kalam e-iqbal in alphabetical orderKalam e-iqbal in alphabetical order
Kalam e-iqbal in alphabetical order
 
DATA in GIS and DATA Query
DATA in GIS and DATA QueryDATA in GIS and DATA Query
DATA in GIS and DATA Query
 
Sistem sistem satelit di bidang geodesi satelit
Sistem sistem satelit di bidang geodesi satelitSistem sistem satelit di bidang geodesi satelit
Sistem sistem satelit di bidang geodesi satelit
 
Spatial Data Models
Spatial Data Models Spatial Data Models
Spatial Data Models
 
Lect 7 &amp; 8 types of vector data model-gis
Lect 7 &amp; 8 types of vector data model-gisLect 7 &amp; 8 types of vector data model-gis
Lect 7 &amp; 8 types of vector data model-gis
 
Sni 19 6724-2002 -jkh
Sni 19 6724-2002 -jkhSni 19 6724-2002 -jkh
Sni 19 6724-2002 -jkh
 
7 8.math projection (2)
7 8.math projection (2)7 8.math projection (2)
7 8.math projection (2)
 
Materi pelatihan gis
Materi pelatihan gisMateri pelatihan gis
Materi pelatihan gis
 
Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1
Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1
Quantum GIS 3.14 [BASIC TUTORIALS] - Volume 1
 
Geodesy - Definition, Types, Uses and Applications
Geodesy - Definition, Types, Uses and ApplicationsGeodesy - Definition, Types, Uses and Applications
Geodesy - Definition, Types, Uses and Applications
 
Spatial Databases
Spatial DatabasesSpatial Databases
Spatial Databases
 
Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0
Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0
Export, Import Menggunakan Ms.Excel dan Join Data Attibute pada ArcGis 10.0
 
Spatial data analysis 1
Spatial data analysis 1Spatial data analysis 1
Spatial data analysis 1
 
The Integration of Geospatial Technologies: GIS and GPS
The Integration of Geospatial Technologies: GIS and GPS	The Integration of Geospatial Technologies: GIS and GPS
The Integration of Geospatial Technologies: GIS and GPS
 

Destacado

Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5
Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3
Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8
Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6
Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2
Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1
Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10
Jorge Ulises
 
Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9
Jorge Ulises
 
Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010
J. Ulises Gonzalez Medina
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
Jorge Ulises
 
Administración de base de datos oracle - sesion 11
Administración de base de datos oracle  -  sesion 11Administración de base de datos oracle  -  sesion 11
Administración de base de datos oracle - sesion 11
Sefira111
 
Oracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROOracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTRO
Jorge Ulises
 
Analisis geografico con oracle
Analisis geografico con oracleAnalisis geografico con oracle
Analisis geografico con oraclewalteromero
 
Manual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silexManual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silexAngel Lucas
 
Introdución a PostGis
Introdución a PostGisIntrodución a PostGis
Introdución a PostGis
Marco Carranza
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oracle
pajaro5
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre OracleRaúl Galíndez
 
Base de Dato Oracle
Base de Dato OracleBase de Dato Oracle
Base de Dato Oracle
Jose Antonio Espino Lopez
 

Destacado (18)

Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5
 
Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6
 
Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1
 
Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10
 
Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9
 
Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
 
Administración de base de datos oracle - sesion 11
Administración de base de datos oracle  -  sesion 11Administración de base de datos oracle  -  sesion 11
Administración de base de datos oracle - sesion 11
 
Oracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROOracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTRO
 
Analisis geografico con oracle
Analisis geografico con oracleAnalisis geografico con oracle
Analisis geografico con oracle
 
Manual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silexManual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silex
 
Introdución a PostGis
Introdución a PostGisIntrodución a PostGis
Introdución a PostGis
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oracle
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre Oracle
 
Base de Dato Oracle
Base de Dato OracleBase de Dato Oracle
Base de Dato Oracle
 

Similar a Oracle Spatial de la A a la Z - Unidad 9

Drupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMSDrupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMSPablo López Escobés
 
Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...
Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...
Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...LTDH2013
 
teoria 54558158 ejemplo-vlsm-resuelto
teoria 54558158 ejemplo-vlsm-resueltoteoria 54558158 ejemplo-vlsm-resuelto
teoria 54558158 ejemplo-vlsm-resuelto
andres mejia bonilla
 
Sires
SiresSires
Sires
ycav95
 
Agente Carro
Agente CarroAgente Carro
Agente Carro
UTPL
 
Método de diferencias acumuladas
Método de diferencias acumuladasMétodo de diferencias acumuladas
Método de diferencias acumuladas
Carlos Viizcarra
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
carlos2025
 

Similar a Oracle Spatial de la A a la Z - Unidad 9 (10)

Drupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMSDrupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMS
 
Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...
Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...
Sesión técnica, sala ATASTA, Ventajas de la segmentación dinámica en los mode...
 
Unidad iii
Unidad iiiUnidad iii
Unidad iii
 
teoria 54558158 ejemplo-vlsm-resuelto
teoria 54558158 ejemplo-vlsm-resueltoteoria 54558158 ejemplo-vlsm-resuelto
teoria 54558158 ejemplo-vlsm-resuelto
 
Unidad 3
Unidad  3Unidad  3
Unidad 3
 
Sires
SiresSires
Sires
 
Agente Carro
Agente CarroAgente Carro
Agente Carro
 
Método de diferencias acumuladas
Método de diferencias acumuladasMétodo de diferencias acumuladas
Método de diferencias acumuladas
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Consultas-SQL.pdf
Consultas-SQL.pdfConsultas-SQL.pdf
Consultas-SQL.pdf
 

Más de Jorge Ulises

Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8
Jorge Ulises
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7
Jorge Ulises
 
Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6
Jorge Ulises
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5
Jorge Ulises
 
Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3
Jorge Ulises
 
Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2
Jorge Ulises
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1
Jorge Ulises
 
Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11
Jorge Ulises
 

Más de Jorge Ulises (8)

Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7
 
Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5
 
Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3
 
Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1
 
Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11
 

Último

Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 

Último (20)

Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 

Oracle Spatial de la A a la Z - Unidad 9

  • 1. 9 Utilizando SDO_WITHIN_DISTANCE, SDO_NN, y el operador SDO_JOIN OBJETIVOS •Conocer como el operador SDO_WITHIN_DISTANCE para resolver las consultas relacionadas con la distancia •Comprender como el operador SDO_NN para realizar la consulta del vecino más cercano •Poner en práctica SDO_JOIN para obtener un cruce espacio-producto Algunos ejemplos de las consultas típicas de los datos espaciales: Encuentre todas las ciudades dentro de una distancia de una carretera interestatal. Encuentra cinco ciudades más cercanas a la carretera interestatal I170. Encuentra toda las ciudades y los pares de condados que tiene la interacción. Buscar todas las ciudades dentro de 10 millas de todas las autopistas interestatales. 1 EJEMPLOS DE CONSULTAS ESPACIALES
  • 2. 2 OPERADORES ESPACIALES Operadores espaciales que pueden ser utilizados para resolver la distancia o la proximidad de consultas relacionadas con: SDO_WITHIN_DISTANCE SDO_NN El SDO_JOIN operador espacial: Puede ser utilizado para comparar todas las geometrías de una capa a todas las geometrías en otra capa Es útil comparando la mayor parte de una capa con todo o la mayor parte de otra capa 3 OPERADOR SDO_WITHIN_DISTANCE SDO_WITHIN_DISTANCE ( <geometry-1>, <geometry-2>, 'DISTANCE=<n>, [parameters]' ) = 'TRUE' SDO_WITHIN_DISTANCE: se utiliza para determinar el conjunto de objetos en una tabla que están dentro de las unidades de distancia n de un objeto de referencia (ventana de consulta) <geometry1>: ¿Es la búsqueda de la columna <geometry2>: Es la ventana de consulta <DISTANCE=n>: Se expresa en las unidades utilizadas para el sistema de coordenadas <unit>: Es la unidad de medida para asociarse con el parámetro <DISTANCE> 4 OPERADOR: SDO_NN SDO_NN ( <geometry-1>, <geometry-2> [,'parameters'][,tag] ) = 'TRUE'
  • 3. SDO_NN: Utiliza el índice espacial para identificar a los vecinos más cercanos para una geometría Puede especificar el número de vecinos más próximos a ser devueltos No devuelve los resultados en orden de distancia Tiene un operador auxiliar, SDO_NN_DISTANCE, que devuelve la distancia asociada a un vecino más cercano <geometry1>: Es la columna espacial que se busca <geometry2>: Es la geometría cuya vecinos más cercanos está buscando. Argumentos opcionales: SDO_NN DISTANCIA: es la máxima distancia opcional para considerar en la búsqueda de los vecinos más cercanos SDO_NUM_RES: Define el número de vecinos más próximos a regresar. Esto toma sólo la proximidad en consideración. SDO_BATCH_SIZE: Especifica el número de filas que se procesan en un momento en el que la evaluación de otras limitaciones de la cláusula WHERE. De forma predeterminada, el valor 0, en cuyo caso Espacial decide el tamaño del lote óptimo. Usar la rownum pseudocolumn para limitar el número de geometrías devueltas. Especificar SDO_BATCH_SIZE o SDO_NUM_RES, pero nunca ambos. Si no se especifica ninguno, el valor predeterminado es SDO_BATCH_SIZE = 0. UNIT (opcional con SDO_NN_DISTANCE) Se aplica a SDO_NN_DISTANCE Es la unidad de medida asociado con la distancia TAG (requerido con SDO_NN_DISTANCE) Debe coincidir con la etiqueta entero especificado en SDO_NN_DISTANCE Asociados a un operador auxiliar con una instancia específica de SDO_NN 5 OPERADOR AUXILIAR: SDO_NN_DISTANCE Esto devuelve la distancia asociados con los vecinos más cercanos devuelto por SDO_NN. Esto es válido sólo dentro de una llamada al operador SDO_NN. La distancia se ajusta a los parámetros de UNIT en el operador de SDO_NN. Si la UNIT no se ha especificado, empleamos SDO_NN_DISTANCE : Medidores de datos geodésicos La unidad de sistema para coordinar los datos proyectados TAG es un número que asocia al operador auxiliar con una llamada a SDO_NN. Encuentra las cinco ciudades más cercanas a la carretera interestatal I170, ordenados por distancia:
  • 4. SELECT /*+ ordered */ c.city, c.state_abrv, sdo_nn_distance (1) distance_in_miles FROM geod_interstates i, geod_cities c WHERE i.highway = 'I170' AND sdo_nn(c.location, i.geom, 'sdo_num_res=5 unit=mile', 1) = 'TRUE' ORDER by distance_in_miles; Resultado de utilizar SDO_NN_DISTANCE con el operador auxiliar DO_NUM_RES. La consulta en la diapositiva anterior devuelve las cinco ciudades más cercanas a la carretera interestatal I170, ordenados por distancia: CITY ST DISTANCE_IN_MILES ----- ---- ------------------- St Louis MO 5.36297295 Springfield IL 78.7997464 Peoria IL 141.478022 Evansville IN 158.22422 Springfield MO 188.508631 6 UTILIZANDO SDO_NN CON SDO_BATCH_SIZE Encuentra las cinco ciudades más cercanas a la carretera interestatal I170 que tienen la población mayor de 300.000, ordenados por distancia. Si usted pone SDO_BATCH_SIZE=0, SDO_NN escoge SDO_BATCH_SIZE óptimo
  • 5. SELECT /*+ ordered */ c.city, c.state_abrv, pop90, sdo_nn_distance (1) distance_in_miles FROM geod_interstates i, geod_cities c WHERE i.highway = 'I170' AND sdo_nn(c.location, i.geom, 'sdo_batch_size=10 unit=mile', 1) = 'TRUE' AND c.pop90 > 300000 AND rownum < 6 ORDER BY distance_in_miles; La consulta en la diapositiva anterior devuelve las cinco ciudades más cercanas a la carretera interestatal I170 que tienen la población mayor de 300.000, ordenados por distancia: CITY ST POP90 DISTANCE_IN_MILES ----------- -- ---------- ----------------- St Louis MO 396685 5.36297295 Kansas City MO 435146 227.404883 Indianapolis IN 741952 234.708666 Memphis TN 610337 244.202072 Chicago IL 2783726 253.547961 Este debe tener un índice en GEOD_INTERSTATES. SDO_NN filas de vueltas en la distancia ordenan en la cláusula WHERE. Cuando se utiliza SDO_BATCH_SIZE: Como excepción, es aceptable para tener la condición rownum seguida de una operación ORDER BY Desactivar todos los índices no espacial en las columnas que vienen de la misma tabla que la columna de búsqueda SDO_NN
  • 6. 7 USO DE LA SUGERENCIA DEL OPTIMIZADOR NO_INDEX Para deshabilitar un índice no espacial, utiliza la sugerencia de optimizador no_index. SELECT /*+ ordered no_index(c pop90_idx) */ c.city, pop90, sdo_nn_distance (1) distance_in_miles FROM geod_interstates i, geod_cities c WHERE i.highway = 'I170' AND sdo_nn(c.location, i.geom, 'sdo_batch_size=0 unit=mile', 1) = 'TRUE' AND c.pop90 > 300000 AND rownum < 6 ORDER BY distance_in_miles; 8 UTILIZANDO SDO_NN CON DISTANCE Encuentra las cinco ciudades más cercanas a la carretera interestatal I170 que tienen la población mayor de 300.000, y una distancia máxima de 240 millas de la carretera interestatal I170: SELECT /*+ ordered no_index(c pop90_idx) */ c.city, pop90, sdo_nn_distance (1) distance_in_miles FROM geod_interstates i, geod_cities c WHERE i.highway = 'I170' AND sdo_nn(c.location, i.geom, 'sdo_batch_size=0 distance=240 unit=mile', 1) = 'TRUE' AND c.pop90 > 300000 AND rownum < 6 ORDER BY distance_in_miles; Encuentra las cinco ciudades más cercanas a la carretera interestatal I170 que tienen la población mayor de 300.000, y una distancia máxima de 240 millas de la carretera interestatal I170:
  • 7. CITY ST POP90 DISTANCE_IN_MILES ----------- -- ---------- ----------------- St Louis MO 396685 5.36297295 Kansas City MO 435146 227.404883 Indianapolis IN 741952 234.708666 9 Enlace espacial: operador SDO_JOIN Esto se utiliza para comparar todas las geometrías de una capa con todas las geometrías de otra capa. Esto también es útil cuando se comparan más de una capa con toda o con la mayor parte de otra capa. El enlace espacial puede ser usado para responder a preguntas como: ¿Qué carreteras cruzan los parques nacionales? La geometría de las capas que se comparan: Debe estar en el mismo sistema de coordenadas Tienen la misma dimensionalidad Ambas tablas deben ser espacialmente indexadas. <table_name-n>: tablas que contienen las columnas SDO_GEOMETRY <column_name-n>: columnas SDO_GEOMETRY indexadas ‘parámetros’: Elija una de dos: MÁSCARA: define las relaciones topológicas a buscar, por ejemplo, ANYINTERACT, INSIDE, OVERLAPS, , y así sucesivamente. Distancia y la UNIT opcional Nota: Si los parámetros no se especifican, esto es análogo a SDO_FILTER. Esto devuelve un objeto del tipo SDO_ROWIDSET, es decir, un par de ROWIDs que coinciden con las dos capas espaciales. SDO_JOIN( <table_name-1>, <column_name-1>, <table_name-2>, <column_name-2> [,'parameters']) RETURN SDO_ROWIDSET
  • 8. DESCRIBE SDO_ROWIDSET ROWID1 se refiere a ROWID de table_name-1, y ROWID2 se refiere a ROWID de table_name-2. SDO_ROWIDSET TABLE OF MDSYS.SDO_ROWIDPAIR Name Null? Type -------------- -------- ----------- ROWID1 VARCHAR2(24) ROWID2 VARCHAR2(24) 10 Enlace espacial: utilizando el parámetro MASK Encuentra toda la ciudad y los pares de condado que tiene la interacción: SELECT /*+ ordered use_nl(a,b) use_nl(a,c)*/ b.city, c.county FROM TABLE(SDO_JOIN( 'GEOD_COUNTIES', 'GEOM', 'GEOD_CITIES', 'LOCATION', 'MASK=ANYINTERACT')) a, geod_cities b, geod_counties c WHERE a.rowid1 = c.rowid AND a.rowid2 = b.rowid ORDER BY a.city; 11 Enlace espacial: utilizando DISTANCE y el parámetro UNIT Buscar todas las ciudades dentro de 10 millas de todas las autopistas interestatales:
  • 9. SELECT /*+ ordered use_nl(a,b) use_nl(a,c)*/ b.city, c.highway FROM TABLE(SDO_JOIN( 'GEOD_INTERSTATES', 'GEOM', 'GEOD_CITIES', 'LOCATION', 'DISTANCE=10 UNIT=MILE')) a, geod_cities b, geod_interstates c WHERE a.rowid1 = c.rowid AND a.rowid2 = b.rowid ORDER BY a.city; 12 PUNTOS IMPORTANTES ACERCA DE LOS OPERADORES ESPACIALES DE ORACLE Hay tres puntos importantes para recordar que la ayuda para garantizar un rendimiento óptimo cuando se utilizan los operadores de Oracle Spatial son: •Siempre use = 'true', y nunca <> 'false' o = 'true'. •Utilice la sugerencia /*+ ORDERED */ cuando la ventana de consulta proviene de una tabla. •Cuando se utiliza SDO_NN con el parámetro SDO_BATCH_SIZE, deshabilitar todos los índices no espacial en las columnas que vienen de la misma tabla que la columna de búsqueda SDO_NN. •Esto se puede hacer con una sugerencia de Optimizador no_index. 13 EN PARALELO CON OPERADORES ESPACIALES Y CREATE TABLE AS SELECT En general, los operadores espaciales no hacen el paralelismo de apalancamiento. Pero usted puede aprovechar el paralelismo con los operadores espaciales con CREATE TABLE AS SELECT. El paralelismo con los operadores espaciales y CREATE TABLE AS SELECT se produce cuando la ventana de consulta alimentan el segundo argumento del operador espacial, por ejemplo:
  • 10. ALTER SESSION ENABLE PARALLEL QUERY; CREATE TABLE results NOLOGGING PARALLEL 4 AS SELECT /*+ ordered */ a.state, b.county FROM geod_states a, geod_counties b WHERE sdo_relate (b.geom, a.geom, 'mask=touch')='TRUE';