SlideShare a Scribd company logo
1 of 10
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';

More Related Content

What's hot

[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계Kwang Woo NAM
 
Pengantar Sistem Informasi Geografis
Pengantar Sistem Informasi GeografisPengantar Sistem Informasi Geografis
Pengantar Sistem Informasi Geografisbramantiyo marjuki
 
TYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial Database
TYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial DatabaseTYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial Database
TYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial DatabaseArti Parab Academics
 
Resume ilmu ukur tanah pertemuan ke 2
Resume ilmu ukur tanah pertemuan ke 2Resume ilmu ukur tanah pertemuan ke 2
Resume ilmu ukur tanah pertemuan ke 2Gian Adiwinata
 
GEOREFERENCING pada ARCGIS 10.0
GEOREFERENCING pada ARCGIS 10.0GEOREFERENCING pada ARCGIS 10.0
GEOREFERENCING pada ARCGIS 10.0oriza steva andra
 
Laporan praktikum sig proses digitasi pada software arcgis
Laporan praktikum sig proses digitasi pada software arcgisLaporan praktikum sig proses digitasi pada software arcgis
Laporan praktikum sig proses digitasi pada software arcgisMega Yasma Adha
 
Sistema de informacion geografica
Sistema de informacion geograficaSistema de informacion geografica
Sistema de informacion geograficaveroalexa10
 
Avanced Image Classification
Avanced Image ClassificationAvanced Image Classification
Avanced Image ClassificationBayes Ahmed
 
Spatial data analysis
Spatial data analysisSpatial data analysis
Spatial data analysisJohan Blomme
 
Review komponen gis dan data collection
Review komponen gis dan data collectionReview komponen gis dan data collection
Review komponen gis dan data collection082393805433
 
Image classification
Image classificationImage classification
Image classificationAnchor Charan
 
Network Analyst dalam Sistem Informasi Geografis
Network Analyst dalam Sistem Informasi GeografisNetwork Analyst dalam Sistem Informasi Geografis
Network Analyst dalam Sistem Informasi GeografisSally Indah N
 
Geographic Phenomena and their Representations
Geographic Phenomena and their RepresentationsGeographic Phenomena and their Representations
Geographic Phenomena and their RepresentationsNAXA-Developers
 
Laporan Praktikum Sistem Informasi Geografis (SIG)
Laporan Praktikum Sistem Informasi Geografis (SIG)Laporan Praktikum Sistem Informasi Geografis (SIG)
Laporan Praktikum Sistem Informasi Geografis (SIG)Ahmad Dani
 

What's hot (20)

Fotogrametri dijital sift dan surf
Fotogrametri dijital sift dan surfFotogrametri dijital sift dan surf
Fotogrametri dijital sift dan surf
 
GIS Data Quality
GIS Data QualityGIS Data Quality
GIS Data Quality
 
[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계
 
Pengantar Sistem Informasi Geografis
Pengantar Sistem Informasi GeografisPengantar Sistem Informasi Geografis
Pengantar Sistem Informasi Geografis
 
TYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial Database
TYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial DatabaseTYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial Database
TYBSC IT PGIS Unit I Chapter II Geographic Information and Spacial Database
 
GEOSTATISTICAL_ANALYST
GEOSTATISTICAL_ANALYSTGEOSTATISTICAL_ANALYST
GEOSTATISTICAL_ANALYST
 
GIS Geographical Information System
GIS Geographical Information SystemGIS Geographical Information System
GIS Geographical Information System
 
BUFFER pada ARCGIS 10.0
BUFFER pada ARCGIS 10.0BUFFER pada ARCGIS 10.0
BUFFER pada ARCGIS 10.0
 
Resume ilmu ukur tanah pertemuan ke 2
Resume ilmu ukur tanah pertemuan ke 2Resume ilmu ukur tanah pertemuan ke 2
Resume ilmu ukur tanah pertemuan ke 2
 
GEOREFERENCING pada ARCGIS 10.0
GEOREFERENCING pada ARCGIS 10.0GEOREFERENCING pada ARCGIS 10.0
GEOREFERENCING pada ARCGIS 10.0
 
Laporan praktikum sig proses digitasi pada software arcgis
Laporan praktikum sig proses digitasi pada software arcgisLaporan praktikum sig proses digitasi pada software arcgis
Laporan praktikum sig proses digitasi pada software arcgis
 
Sistema de informacion geografica
Sistema de informacion geograficaSistema de informacion geografica
Sistema de informacion geografica
 
Avanced Image Classification
Avanced Image ClassificationAvanced Image Classification
Avanced Image Classification
 
Spatial data analysis
Spatial data analysisSpatial data analysis
Spatial data analysis
 
Review komponen gis dan data collection
Review komponen gis dan data collectionReview komponen gis dan data collection
Review komponen gis dan data collection
 
Image classification
Image classificationImage classification
Image classification
 
Pengenalan ArcMap
Pengenalan ArcMapPengenalan ArcMap
Pengenalan ArcMap
 
Network Analyst dalam Sistem Informasi Geografis
Network Analyst dalam Sistem Informasi GeografisNetwork Analyst dalam Sistem Informasi Geografis
Network Analyst dalam Sistem Informasi Geografis
 
Geographic Phenomena and their Representations
Geographic Phenomena and their RepresentationsGeographic Phenomena and their Representations
Geographic Phenomena and their Representations
 
Laporan Praktikum Sistem Informasi Geografis (SIG)
Laporan Praktikum Sistem Informasi Geografis (SIG)Laporan Praktikum Sistem Informasi Geografis (SIG)
Laporan Praktikum Sistem Informasi Geografis (SIG)
 

Viewers also liked

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 3Jorge 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 6Jorge 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 1Jorge 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 10Jorge 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 9Jorge Ulises
 
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ónJorge 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 11Sefira111
 
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 - INTROJorge 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 PostGisMarco Carranza
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGISmleslie
 
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 Oraclepajaro5
 
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
 

Viewers also liked (16)

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 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 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
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To 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 to 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-resueltoandres mejia bonilla
 
Agente Carro
Agente CarroAgente Carro
Agente CarroUTPL
 
Método de diferencias acumuladas
Método de diferencias acumuladasMétodo de diferencias acumuladas
Método de diferencias acumuladasCarlos Viizcarra
 

Similar to 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.pdf
Consultas-SQL.pdfConsultas-SQL.pdf
Consultas-SQL.pdf
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 

More from 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 8Jorge 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 7Jorge 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 6Jorge 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 5Jorge 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 3Jorge 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 2Jorge 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 1Jorge 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 11Jorge Ulises
 

More from 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
 

Recently uploaded

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Recently uploaded (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

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';