SlideShare una empresa de Scribd logo
1 de 39
Tipos de datos espaciales
Enrique Catala Bañuls
Data Platform Architect
Solid Quality Mentors
ecatala@solidq.com
Agenda
Tipos de datos espaciales

• Escenario
• Modelos espaciales
•
•

Geodésico
Planar

• Tipos de datos espaciales en SQL Server 2008
• Geometry
• Geography

• Usabilidad
• Indexación
Tipos de datos espaciales
Escenario

• Ejemplos de uso de tipos de datos espaciales:
•
•

•

Un minorista web puede mostrar las localizaciones de
todas sus tiendas como puntos en un mapa y encontrar la
mas cercana a un código postal concreto
Un jefe de ventas puede definir regiones geográficas de
ventas y usarlas para encontrar las ventas más
representativas, así como realizar análisis de rendimiento
de ventas
Un arquitecto puede crear planos para una nueva
construcción y solapar dichos planos dentro del mapa del
sitio propuesto
Tipos de datos espaciales
Escenario

• (continuación de ejemplos)
•

Un conductor puede encontrar la distancia entre dos
puntos y planificar la ruta

•

Una inmobiliaria puede rápidamente identificar
propiedades que concuerden con los requerimientos del
clientes (casas de 90 metros cuadrados cerca de las
Lagunas del Ruidera)

•

Una aplicación móvil puede encontrar gasolineras a menos
de 100 metros de donde se encuentra
Tipos de datos espaciales
Escenario

• Mas de forma general:
•
•
•
•
•
•
•
•

Información enfocada al consumidor y basada en la
localización
Desarrollo y administración basada en el cliente
Planificación, análisis y datos relacionados con el entorno
Análisis económicos y financieros en comunidades
Análisis de desarrollo de planes gubernamentales
Análisis de segmentación de mercado
Análisis, estudio e investigación de diseño
Análisis y desarrollo de inmobiliarias
Modelos Espaciales
Vistazo

• Geodésico
•

El problema de describir una localización planetaria es que
la superficie no es plana

•

Una representación fiel de la Tierra es normalmente
representada como un globo, cuyas localizaciones van
descritas mediante latitud y longitud, que se miden en
grados desde el ecuador y el meridiano de Greenwich
respectivamente
Modelos espaciales
Geodésico
Modelos espaciales
Vistazo

• Planar
•

Es mucho mas fácil trabajar en superficies de 2
dimensiones

• Trabajar con datos geospaciales en dos dimensiones ,
requiere una proyección de los objetos geográficos
o Ej.. Proyección Mercatore
o Posee distorsiones

•

Los modelos planos trabajan bien para áreas geográficas
pequeñas, como países pequeños, estados y ciudades, o
para planos de interior
Modelos espaciales
Planar
Soporte Espacial SQL 2008
Tipos de datos

• SQL Server 2008 Soporta ambos modelos mediante
dos tipos de datos diferentes

•
•

geography (modelo geodésico)
geometry (modelo planar)

• Implementados como SQLCLR UDT
•

Ambos tipos de datos poseen propiedades y métodos que
puedes utilizar para realizar operaciones espaciales, como
calcular distancias, encontrar intersecciones,…
Soporte Espacial SQL 2008
Tipos de datos Espaciales

• Tipo de datos geometry
•

Conforme al estándar Open Geospatial Consortium (OGC) de
características para SQL en su especificación 1.1.0.
o http://www.opengeospatial.org/standards/gml

• Tipo de datos geography
•

Guarda datos elipsoidales (tierra redonda) como latitudes GPS y
coordenadas longitudinales

• Ambos soportan once objetos espaciales
•

Solo siete de ellos son instanciables
Soporte Espacial SQL 2008
Objetos Espaciales

Jerarquía en la que se basan tanto los tipos de datos geometry y geography . Los
tipos instanciables por geometry y geography están en color azul.
Soporte Espacial SQL 2008
Diferencias de coordenadas y medidas

• Planar
•
•

Coordenadas dadas en “unidades”
Las medidas de distancias y áreas se dan en la misma
unidad de medida que las coordenadas
o Ej.: Usando tipo de datos geometry, la distancia entre (2, 2) y (5, 6)
es 5 unidades, sean las que sean

declare @box as geometry =
geometry::STGeomFromText('POLYGON ((0 0, 150
0, 150 150, 0 150, 0 0))', 0)
select @box.STAsText()
Soporte Espacial SQL 2008
Diferencias de coordenadas y medidas

• Geodésica
•
•

Las coordenadas se dan en grados de longitud y latitud
(adaptadas al estándar desde RC0)
Distancias y áreas son normalmente metros y metros
cuadrados
o La medida puede depender del índice de referencia espacial (SRID)
de la instancia geography. La unidad de medida mas usual para el
tipo geography son los metros

declare @home as geography =
geography::STPointFromText('POINT(45.32 9.07)', 4326)
Soporte Espacial SQL 2008
Orientación

• En un sistema elipsoidal, un polígono no tiene
significado, o no tiene sentido sin orientación

•

Ej.: el anillo sobre el ecuador describe el hemisferio norte o
el sur?
Soporte Espacial SQL 2008
Orientación

• Para usar el tipo de datos geography correctamente,

debemos especificar tanto la orientación del anillo
como su localización exacta (sentido de las agujas del
reloj)
Soporte Espacial SQL 2008
Limitaciones del tipo de datos geography

• Cada instancia geográfica debe ajustarse dentro de
un único hemisferio.

•

No podemos almacenar objetos mas grandes que un
hemisferio

• Cualquier instancia que represente un objeto mayor
que un hemisferio lanzara una excepción
ArgumentException.
DEMO 1

Vistazo a los datos
espaciales
Soporte Espacial SQL 2008
Limitaciones del tipo de datos geography

• Los métodos del tipo de datos geography que

requieren la entrada de dos instancias geography
devolverán null si el resultado no cabe en un único
hemisferio
Soporte Espacial SQL 2008
SRID

• SRID: identificador de referencia espacial
• Se corresponde tanto con un sistema de referencia

espacial para mapeos de tipo “tierra plana” así como
mapeos de “tierra redonda”

• El sistema de identificación de referencia espacial se
define por el European Petroleum Survey Group
(EPSG) standard, que es un conjunto de estándares
desarrollados para almacenamiento de datos
cartográficos y posicionamiento. Este estándar es
propiedad de los productores de gas y combustible
(OGP) y del comité de posicionamiento.
Soporte Espacial SQL 2008
SRID

• Las instancias geometry tienen por defecto SRID = 0
• Las instancias geography deben utilizar los SRIDs
soportados

•

Por defecto es 4326 (WGS84)

select * from sys.spatial_reference_systems

• Solo las instancias espaciales con el mismo SRID
pueden operar entre si cuando utilizas métodos
espaciales con tus datos

• Una columna puede utilizar objetos con diferentes
SRIDs
Uso

Construcción de instancias

• Puedes construir instancias de tipos de datos

geometry introduciéndolos con formato Well-Known
Text (WKT)

•
•

Haciendo un cast a la cadena
Invocando el método estático STGeomFromString
o O usando formas especializadas STxxxFromString. Ej.:
STPolyFromString
declare @box as geometry =
geometry::STGeomFromText('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0)
select @box.STAsText()
declare @box2 as geometry =
cast('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))' as geometry)
select @box2.STAsText()
Uso
Construcción de instancias

• También se soporta el formato Well-Known Binary
(WKB)

•

STFromGeomFromWKB(<wkb>, <srid>)

• Se soporta un subconjunto de GML
•
•

GeomFromGml(<gml>, <srid>)
GML es un formato XML
o http://www.opengis.net/gml
Uso
Construcción de instancias

• Una anotación sobre polígonos:
•
•
•
•

Pueden tener “agujeros”
El anillo exterior es el que manda (el perímetro)
Los anillos internos definen los agujeros
El punto de partida y el de final son iguales
DEMO 2

Instanciación de
datos espaciales
Uso
Métodos y propiedades

• Algunas propiedades:
• STStartPoint
• STEndPoint
• STX (Solo POINT)
• STY (Solo POINT)
• STCentroid (POLY y MULTIPOLY solo)
• STArea (POLY y MULTIPOLY solo)
Uso
Métodos y propiedades

• Algunos métodos:

• STIntersect
• STTouches (solo para geometry)
• STOverlaps (solo para geometry)
• STContains
o Opposite: STWithin

•
•

STIntersects
STUnion
DEMO 3

Métodos de datos
espaciales
Indexación
Vistazo

• En SQL Server 2008, los índices espaciales se definen
como árboles B

•
•
•

Los índices han de representar la información
bidimensional mediante esos árboles B
SQL Server 2008 implementa una descomposición del
espacio de forma uniforme
El proceso de indexación, descompone el espacio en una
jerarquía de rejillas de 4 niveles
o Estos niveles se llaman level 1 (nivel superior), level 2, level 3 y level
4.
Indexación
Vistazo

• Rejillas de indexación espacial:
Indexación
Proceso

• Numeración de celdas usando el algoritmo Hilvert
filling-space curve

• Tessellation:
• Regla del cubrimiento
• Regla de celdas por objeto
• Regla de celda mas profunda
Indexación
Regla del cubrimiento

• Si el objeto cubre completamente una celda, se

marca como cubierto y no se baja al siguiente nivel
Indexación
Regla de celdas por objeto

• Consiste en evitar que se siga el proceso de

clasificación del objeto en celdas, mientras no se
supere un nº de celdas máximo por objeto

• Solo la 15 si CELLS_PER_OBJECT = 8
Indexación
Regla de la celda mas profunda

• Cada celda, pertenece a la celda del nivel superior
Indexación
Vistazo

• Un índice espacial puede ser creado únicamente

sobre una columna de tipo geometry o geography.

• Los índices espaciales solo pueden definirse sobre
tablas que poseen clave primaria

• Los índices espaciales no pueden especificarse sobre
vistas indexadas
Indexación
Limitaciones

• Predicados soportados:
• geometry1.STContains(geometry2) = 1
• geometry1.STDistance(geometry2) < number
• geometry1.STDistance(geometry2) <= number
• geometry1.STEquals(geometry2) = 1
• geometry1.STIntersects(geometry2) = 1
• geometry1.STOverlaps (geometry2) = 1
• geometry1.STTouches(geometry2) = 1
• geometry1.STWithin(geometry2) = 1
En rojo geography
DEMO 4

Indices espaciales
Links de SQL Server 2008

• Site de SQL Server 2008
•

http://www.microsoft.com/sql/2008/

• Ejemplos de SQL Server 2008
•

http://www.codeplex.com/SqlServerSamples
SQL SERVER 2008

TIPOS DE DATOS ESPACIALES

¿ PREGUNTAS ?
ECATALA@SOLIDQ.COM

http://blogs.solidq.com/ES/ElRinconDelDBA/default.aspx

Más contenido relacionado

Destacado

Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012John Bulla
 
Introducción A Las Bases De Datos Espaciales
Introducción A Las Bases De Datos EspacialesIntroducción A Las Bases De Datos Espaciales
Introducción A Las Bases De Datos EspacialesOrlando Sánchez
 
Tipos de infográfía digital y usos de ésta
Tipos de infográfía digital y usos de éstaTipos de infográfía digital y usos de ésta
Tipos de infográfía digital y usos de éstaJENNYTGUERRAG
 
ArcGIS Online - Conferencia Esri España 2012
ArcGIS Online - Conferencia Esri España 2012ArcGIS Online - Conferencia Esri España 2012
ArcGIS Online - Conferencia Esri España 2012Esri
 
ArcGIS
ArcGIS ArcGIS
ArcGIS Esri
 
00 tercera clase un sig que trabaja con datos espaciales
00 tercera clase un sig que trabaja con datos espaciales00 tercera clase un sig que trabaja con datos espaciales
00 tercera clase un sig que trabaja con datos espacialesMonica Camargo
 
Clase1 - MDSIG 2010
Clase1 - MDSIG 2010Clase1 - MDSIG 2010
Clase1 - MDSIG 2010t763rm3n
 
ArcGIS for Desktop 10.1 - Conferencia Esri España 2012
ArcGIS for Desktop 10.1 - Conferencia Esri España 2012ArcGIS for Desktop 10.1 - Conferencia Esri España 2012
ArcGIS for Desktop 10.1 - Conferencia Esri España 2012Esri
 
Seminario Esri: descubre la potencia oculta en ArcGIS for Desktop
Seminario Esri: descubre la potencia oculta en ArcGIS for DesktopSeminario Esri: descubre la potencia oculta en ArcGIS for Desktop
Seminario Esri: descubre la potencia oculta en ArcGIS for DesktopEsri
 
02 segunda clase un sig que trabaja con datos espaciales
02 segunda clase un sig que trabaja con datos espaciales02 segunda clase un sig que trabaja con datos espaciales
02 segunda clase un sig que trabaja con datos espacialesMonica Camargo
 
Introdución a PostGis
Introdución a PostGisIntrodución a PostGis
Introdución a PostGisMarco Carranza
 
Introducción a las Infraestructuras de Datos Espaciales
Introducción a las Infraestructuras de Datos Espaciales Introducción a las Infraestructuras de Datos Espaciales
Introducción a las Infraestructuras de Datos Espaciales MARIA ESTER GONZALEZ
 

Destacado (20)

Datos espaciales
Datos espacialesDatos espaciales
Datos espaciales
 
Uso de las Bases De Datos
Uso de las Bases De DatosUso de las Bases De Datos
Uso de las Bases De Datos
 
POSTGIS - Uso de datos espaciales con el buen PostgreSQL
POSTGIS - Uso de datos espaciales con el buen PostgreSQLPOSTGIS - Uso de datos espaciales con el buen PostgreSQL
POSTGIS - Uso de datos espaciales con el buen PostgreSQL
 
Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012
 
Introducción A Las Bases De Datos Espaciales
Introducción A Las Bases De Datos EspacialesIntroducción A Las Bases De Datos Espaciales
Introducción A Las Bases De Datos Espaciales
 
Bde
BdeBde
Bde
 
Karolina Argote - Uso de Bases de Datos Espaciales
Karolina Argote - Uso de Bases de Datos EspacialesKarolina Argote - Uso de Bases de Datos Espaciales
Karolina Argote - Uso de Bases de Datos Espaciales
 
Base de datos espacial
Base de datos espacialBase de datos espacial
Base de datos espacial
 
Tipos de infográfía digital y usos de ésta
Tipos de infográfía digital y usos de éstaTipos de infográfía digital y usos de ésta
Tipos de infográfía digital y usos de ésta
 
Clase3
Clase3Clase3
Clase3
 
ArcGIS Online - Conferencia Esri España 2012
ArcGIS Online - Conferencia Esri España 2012ArcGIS Online - Conferencia Esri España 2012
ArcGIS Online - Conferencia Esri España 2012
 
ArcGIS
ArcGIS ArcGIS
ArcGIS
 
00 tercera clase un sig que trabaja con datos espaciales
00 tercera clase un sig que trabaja con datos espaciales00 tercera clase un sig que trabaja con datos espaciales
00 tercera clase un sig que trabaja con datos espaciales
 
Clase1 - MDSIG 2010
Clase1 - MDSIG 2010Clase1 - MDSIG 2010
Clase1 - MDSIG 2010
 
ArcGIS for Desktop 10.1 - Conferencia Esri España 2012
ArcGIS for Desktop 10.1 - Conferencia Esri España 2012ArcGIS for Desktop 10.1 - Conferencia Esri España 2012
ArcGIS for Desktop 10.1 - Conferencia Esri España 2012
 
Seminario Esri: descubre la potencia oculta en ArcGIS for Desktop
Seminario Esri: descubre la potencia oculta en ArcGIS for DesktopSeminario Esri: descubre la potencia oculta en ArcGIS for Desktop
Seminario Esri: descubre la potencia oculta en ArcGIS for Desktop
 
02 segunda clase un sig que trabaja con datos espaciales
02 segunda clase un sig que trabaja con datos espaciales02 segunda clase un sig que trabaja con datos espaciales
02 segunda clase un sig que trabaja con datos espaciales
 
Introdución a PostGis
Introdución a PostGisIntrodución a PostGis
Introdución a PostGis
 
Introducción a las Infraestructuras de Datos Espaciales
Introducción a las Infraestructuras de Datos Espaciales Introducción a las Infraestructuras de Datos Espaciales
Introducción a las Infraestructuras de Datos Espaciales
 
Arcgis basico
Arcgis basico Arcgis basico
Arcgis basico
 

Similar a Tipos de datos espaciales

Descubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL ServerDescubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL ServerSpanishPASSVC
 
S3_1.pdf
S3_1.pdfS3_1.pdf
S3_1.pdfdams8
 
Base de datos espacial
Base de datos espacialBase de datos espacial
Base de datos espacialOmar Rios
 
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
 
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
 
Geografía aplicada estudios_ambientales_iii
Geografía aplicada estudios_ambientales_iiiGeografía aplicada estudios_ambientales_iii
Geografía aplicada estudios_ambientales_iiiAlberto Oriza
 
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 5Jorge Ulises
 
SQL Server 2008 Base de datos Geoespacial
SQL Server 2008 Base de datos GeoespacialSQL Server 2008 Base de datos Geoespacial
SQL Server 2008 Base de datos Geoespacialsqldraconis
 
Datos Geométricos y Espaciales en SQL Server 2008
Datos Geométricos y Espaciales en SQL Server 2008Datos Geométricos y Espaciales en SQL Server 2008
Datos Geométricos y Espaciales en SQL Server 2008Fernando G. Guerrero
 
Introduccion al arcgis 2
Introduccion al arcgis 2Introduccion al arcgis 2
Introduccion al arcgis 2CesarCarrera11
 
Curso doctorado.ppt
Curso doctorado.pptCurso doctorado.ppt
Curso doctorado.ppteherediaa
 

Similar a Tipos de datos espaciales (20)

Descubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL ServerDescubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL Server
 
S3_1.pdf
S3_1.pdfS3_1.pdf
S3_1.pdf
 
Base de datos espacial
Base de datos espacialBase de datos espacial
Base de datos espacial
 
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
 
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
 
Geografía aplicada estudios_ambientales_iii
Geografía aplicada estudios_ambientales_iiiGeografía aplicada estudios_ambientales_iii
Geografía aplicada estudios_ambientales_iii
 
Bases de datos
Bases  de datosBases  de datos
Bases de datos
 
4clase sig
4clase sig4clase sig
4clase sig
 
ArcGIS_Nivel1.pdf
ArcGIS_Nivel1.pdfArcGIS_Nivel1.pdf
ArcGIS_Nivel1.pdf
 
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
 
Definiciones y conceptos
Definiciones y conceptosDefiniciones y conceptos
Definiciones y conceptos
 
Definiciones y conceptos(1)
Definiciones y conceptos(1)Definiciones y conceptos(1)
Definiciones y conceptos(1)
 
Deber bryan v
Deber bryan vDeber bryan v
Deber bryan v
 
Prescompu diaspositivas
Prescompu diaspositivasPrescompu diaspositivas
Prescompu diaspositivas
 
SQL Server 2008 Base de datos Geoespacial
SQL Server 2008 Base de datos GeoespacialSQL Server 2008 Base de datos Geoespacial
SQL Server 2008 Base de datos Geoespacial
 
Datos Geométricos y Espaciales en SQL Server 2008
Datos Geométricos y Espaciales en SQL Server 2008Datos Geométricos y Espaciales en SQL Server 2008
Datos Geométricos y Espaciales en SQL Server 2008
 
Introduccion al arcgis 2
Introduccion al arcgis 2Introduccion al arcgis 2
Introduccion al arcgis 2
 
Curso doctorado.ppt
Curso doctorado.pptCurso doctorado.ppt
Curso doctorado.ppt
 
Sires
SiresSires
Sires
 
Delimitación de una cuenca hidrográfica en ArcGis
Delimitación de una cuenca hidrográfica en ArcGisDelimitación de una cuenca hidrográfica en ArcGis
Delimitación de una cuenca hidrográfica en ArcGis
 

Más de Enrique Catala Bañuls

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverEnrique Catala Bañuls
 
Capas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerCapas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerEnrique Catala Bañuls
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorEnrique Catala Bañuls
 
Técnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverTécnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverEnrique Catala Bañuls
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Enrique Catala Bañuls
 
Planes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextPlanes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextEnrique Catala Bañuls
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorEnrique Catala Bañuls
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresEnrique Catala Bañuls
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Enrique Catala Bañuls
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Enrique Catala Bañuls
 
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Enrique Catala Bañuls
 
Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Enrique Catala Bañuls
 

Más de Enrique Catala Bañuls (20)

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
 
Capas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerCapas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL Server
 
Paralelismo en SQL Server
Paralelismo en SQL ServerParalelismo en SQL Server
Paralelismo en SQL Server
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Técnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverTécnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql server
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
 
Planes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextPlanes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v next
 
Paralelismo en sql server
Paralelismo en sql serverParalelismo en sql server
Paralelismo en sql server
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Query store
Query storeQuery store
Query store
 
Planes de ejecucion 2016
Planes de ejecucion 2016Planes de ejecucion 2016
Planes de ejecucion 2016
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladores
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
 
Query store
Query storeQuery store
Query store
 
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Planes de ejecucion 1
Planes de ejecucion 1Planes de ejecucion 1
Planes de ejecucion 1
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
 
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
 
Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015
 

Último

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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
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
 
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
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 

Último (15)

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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
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)
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
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
 
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
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 

Tipos de datos espaciales

  • 1. Tipos de datos espaciales Enrique Catala Bañuls Data Platform Architect Solid Quality Mentors ecatala@solidq.com
  • 2. Agenda Tipos de datos espaciales • Escenario • Modelos espaciales • • Geodésico Planar • Tipos de datos espaciales en SQL Server 2008 • Geometry • Geography • Usabilidad • Indexación
  • 3. Tipos de datos espaciales Escenario • Ejemplos de uso de tipos de datos espaciales: • • • Un minorista web puede mostrar las localizaciones de todas sus tiendas como puntos en un mapa y encontrar la mas cercana a un código postal concreto Un jefe de ventas puede definir regiones geográficas de ventas y usarlas para encontrar las ventas más representativas, así como realizar análisis de rendimiento de ventas Un arquitecto puede crear planos para una nueva construcción y solapar dichos planos dentro del mapa del sitio propuesto
  • 4. Tipos de datos espaciales Escenario • (continuación de ejemplos) • Un conductor puede encontrar la distancia entre dos puntos y planificar la ruta • Una inmobiliaria puede rápidamente identificar propiedades que concuerden con los requerimientos del clientes (casas de 90 metros cuadrados cerca de las Lagunas del Ruidera) • Una aplicación móvil puede encontrar gasolineras a menos de 100 metros de donde se encuentra
  • 5. Tipos de datos espaciales Escenario • Mas de forma general: • • • • • • • • Información enfocada al consumidor y basada en la localización Desarrollo y administración basada en el cliente Planificación, análisis y datos relacionados con el entorno Análisis económicos y financieros en comunidades Análisis de desarrollo de planes gubernamentales Análisis de segmentación de mercado Análisis, estudio e investigación de diseño Análisis y desarrollo de inmobiliarias
  • 6. Modelos Espaciales Vistazo • Geodésico • El problema de describir una localización planetaria es que la superficie no es plana • Una representación fiel de la Tierra es normalmente representada como un globo, cuyas localizaciones van descritas mediante latitud y longitud, que se miden en grados desde el ecuador y el meridiano de Greenwich respectivamente
  • 8. Modelos espaciales Vistazo • Planar • Es mucho mas fácil trabajar en superficies de 2 dimensiones • Trabajar con datos geospaciales en dos dimensiones , requiere una proyección de los objetos geográficos o Ej.. Proyección Mercatore o Posee distorsiones • Los modelos planos trabajan bien para áreas geográficas pequeñas, como países pequeños, estados y ciudades, o para planos de interior
  • 10. Soporte Espacial SQL 2008 Tipos de datos • SQL Server 2008 Soporta ambos modelos mediante dos tipos de datos diferentes • • geography (modelo geodésico) geometry (modelo planar) • Implementados como SQLCLR UDT • Ambos tipos de datos poseen propiedades y métodos que puedes utilizar para realizar operaciones espaciales, como calcular distancias, encontrar intersecciones,…
  • 11. Soporte Espacial SQL 2008 Tipos de datos Espaciales • Tipo de datos geometry • Conforme al estándar Open Geospatial Consortium (OGC) de características para SQL en su especificación 1.1.0. o http://www.opengeospatial.org/standards/gml • Tipo de datos geography • Guarda datos elipsoidales (tierra redonda) como latitudes GPS y coordenadas longitudinales • Ambos soportan once objetos espaciales • Solo siete de ellos son instanciables
  • 12. Soporte Espacial SQL 2008 Objetos Espaciales Jerarquía en la que se basan tanto los tipos de datos geometry y geography . Los tipos instanciables por geometry y geography están en color azul.
  • 13. Soporte Espacial SQL 2008 Diferencias de coordenadas y medidas • Planar • • Coordenadas dadas en “unidades” Las medidas de distancias y áreas se dan en la misma unidad de medida que las coordenadas o Ej.: Usando tipo de datos geometry, la distancia entre (2, 2) y (5, 6) es 5 unidades, sean las que sean declare @box as geometry = geometry::STGeomFromText('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0) select @box.STAsText()
  • 14. Soporte Espacial SQL 2008 Diferencias de coordenadas y medidas • Geodésica • • Las coordenadas se dan en grados de longitud y latitud (adaptadas al estándar desde RC0) Distancias y áreas son normalmente metros y metros cuadrados o La medida puede depender del índice de referencia espacial (SRID) de la instancia geography. La unidad de medida mas usual para el tipo geography son los metros declare @home as geography = geography::STPointFromText('POINT(45.32 9.07)', 4326)
  • 15. Soporte Espacial SQL 2008 Orientación • En un sistema elipsoidal, un polígono no tiene significado, o no tiene sentido sin orientación • Ej.: el anillo sobre el ecuador describe el hemisferio norte o el sur?
  • 16. Soporte Espacial SQL 2008 Orientación • Para usar el tipo de datos geography correctamente, debemos especificar tanto la orientación del anillo como su localización exacta (sentido de las agujas del reloj)
  • 17. Soporte Espacial SQL 2008 Limitaciones del tipo de datos geography • Cada instancia geográfica debe ajustarse dentro de un único hemisferio. • No podemos almacenar objetos mas grandes que un hemisferio • Cualquier instancia que represente un objeto mayor que un hemisferio lanzara una excepción ArgumentException.
  • 18. DEMO 1 Vistazo a los datos espaciales
  • 19. Soporte Espacial SQL 2008 Limitaciones del tipo de datos geography • Los métodos del tipo de datos geography que requieren la entrada de dos instancias geography devolverán null si el resultado no cabe en un único hemisferio
  • 20. Soporte Espacial SQL 2008 SRID • SRID: identificador de referencia espacial • Se corresponde tanto con un sistema de referencia espacial para mapeos de tipo “tierra plana” así como mapeos de “tierra redonda” • El sistema de identificación de referencia espacial se define por el European Petroleum Survey Group (EPSG) standard, que es un conjunto de estándares desarrollados para almacenamiento de datos cartográficos y posicionamiento. Este estándar es propiedad de los productores de gas y combustible (OGP) y del comité de posicionamiento.
  • 21. Soporte Espacial SQL 2008 SRID • Las instancias geometry tienen por defecto SRID = 0 • Las instancias geography deben utilizar los SRIDs soportados • Por defecto es 4326 (WGS84) select * from sys.spatial_reference_systems • Solo las instancias espaciales con el mismo SRID pueden operar entre si cuando utilizas métodos espaciales con tus datos • Una columna puede utilizar objetos con diferentes SRIDs
  • 22. Uso Construcción de instancias • Puedes construir instancias de tipos de datos geometry introduciéndolos con formato Well-Known Text (WKT) • • Haciendo un cast a la cadena Invocando el método estático STGeomFromString o O usando formas especializadas STxxxFromString. Ej.: STPolyFromString declare @box as geometry = geometry::STGeomFromText('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0) select @box.STAsText() declare @box2 as geometry = cast('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))' as geometry) select @box2.STAsText()
  • 23. Uso Construcción de instancias • También se soporta el formato Well-Known Binary (WKB) • STFromGeomFromWKB(<wkb>, <srid>) • Se soporta un subconjunto de GML • • GeomFromGml(<gml>, <srid>) GML es un formato XML o http://www.opengis.net/gml
  • 24. Uso Construcción de instancias • Una anotación sobre polígonos: • • • • Pueden tener “agujeros” El anillo exterior es el que manda (el perímetro) Los anillos internos definen los agujeros El punto de partida y el de final son iguales
  • 26. Uso Métodos y propiedades • Algunas propiedades: • STStartPoint • STEndPoint • STX (Solo POINT) • STY (Solo POINT) • STCentroid (POLY y MULTIPOLY solo) • STArea (POLY y MULTIPOLY solo)
  • 27. Uso Métodos y propiedades • Algunos métodos: • STIntersect • STTouches (solo para geometry) • STOverlaps (solo para geometry) • STContains o Opposite: STWithin • • STIntersects STUnion
  • 28. DEMO 3 Métodos de datos espaciales
  • 29. Indexación Vistazo • En SQL Server 2008, los índices espaciales se definen como árboles B • • • Los índices han de representar la información bidimensional mediante esos árboles B SQL Server 2008 implementa una descomposición del espacio de forma uniforme El proceso de indexación, descompone el espacio en una jerarquía de rejillas de 4 niveles o Estos niveles se llaman level 1 (nivel superior), level 2, level 3 y level 4.
  • 30. Indexación Vistazo • Rejillas de indexación espacial:
  • 31. Indexación Proceso • Numeración de celdas usando el algoritmo Hilvert filling-space curve • Tessellation: • Regla del cubrimiento • Regla de celdas por objeto • Regla de celda mas profunda
  • 32. Indexación Regla del cubrimiento • Si el objeto cubre completamente una celda, se marca como cubierto y no se baja al siguiente nivel
  • 33. Indexación Regla de celdas por objeto • Consiste en evitar que se siga el proceso de clasificación del objeto en celdas, mientras no se supere un nº de celdas máximo por objeto • Solo la 15 si CELLS_PER_OBJECT = 8
  • 34. Indexación Regla de la celda mas profunda • Cada celda, pertenece a la celda del nivel superior
  • 35. Indexación Vistazo • Un índice espacial puede ser creado únicamente sobre una columna de tipo geometry o geography. • Los índices espaciales solo pueden definirse sobre tablas que poseen clave primaria • Los índices espaciales no pueden especificarse sobre vistas indexadas
  • 36. Indexación Limitaciones • Predicados soportados: • geometry1.STContains(geometry2) = 1 • geometry1.STDistance(geometry2) < number • geometry1.STDistance(geometry2) <= number • geometry1.STEquals(geometry2) = 1 • geometry1.STIntersects(geometry2) = 1 • geometry1.STOverlaps (geometry2) = 1 • geometry1.STTouches(geometry2) = 1 • geometry1.STWithin(geometry2) = 1 En rojo geography
  • 38. Links de SQL Server 2008 • Site de SQL Server 2008 • http://www.microsoft.com/sql/2008/ • Ejemplos de SQL Server 2008 • http://www.codeplex.com/SqlServerSamples
  • 39. SQL SERVER 2008 TIPOS DE DATOS ESPACIALES ¿ PREGUNTAS ? ECATALA@SOLIDQ.COM http://blogs.solidq.com/ES/ElRinconDelDBA/default.aspx

Notas del editor

  1. Demo 4
  2. Demo 4
  3. Demo 4
  4. Demo 4