Máster en Tecnologías de Información Geográfica

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
50 formas de decir “Te Amo”.
INTELIGENCIA ARTIFICIAL
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN EL COMERCIO GALLEGO (Resumen COMERCIO AL DETALLE) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
MOVIMIENTO ARMÓNICO SIMPLE MOVIMIENTO ARMÓNICO SIMPLE
Leo Marthe x 2123 COMMANDperformance Leo Marthe x 2123.
Implementación de funciones definidas por el usuario
Introducción a Transact-SQL
CLASE 3 SOFTWARE DEL MICROPROCESADOR
5 pt 5 pt 5 pt 5 pt 5 pt 10 pt 10 pt 10 pt 10 pt 10 pt 15 pt 15 pt
Presentación 20 de Mayo 2009.
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281. C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281 1-Ingrese a menú 2-Ingrese a Mensajes 3-Ingrese a Correo 4-Seleccione.
1. Apoyo exterior sobre ala inferior de viga de acero
Campus virtual Autoevaluaciones Teletutorías Salas de estudio Clases en línea Contratos didácticos Proyecto E.D.U.F. Universidad Universidad.
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
-17 Expectativas sobre la situación económica (Europa) Septiembre 2013 Indicador > +20 Indicador 0 a +20 Indicador 0 a -20 Indicador < -20 Total Unión.
Autodesk Civil 3D 2007 Essentials
Phone2Wave-Server Manual de Operación.
Repaso del capítulo Primer Paso
PROCESO DE CONTRATACIÓN 1 Ventanas en Cif-KM Proceso contratación de obra
Parte 3. Descripción del código de una función 1.
INFORME USDA NOVIEMBRE TRIGO 2 MERCADO INTERNACIONAL (Millones de Toneladas) 3.
EL OSO APRENDIZ Y SUS AMIGOS
Mejoras a la Cláusula GROUP BY
1 SEGUNDO FORO REGIONAL HERMOSILLO, SON Sistema Nacional de Transparencia Fiscalización y Rendición de Cuentas:
Proyecto para Centros que trabajan una vez por semana.
INTELIGENCIA ARTIFICIAL
Ecuaciones Cuadráticas
Bases de datos Máster en Tecnologías de Información Geográfica
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Business Proccess Management (BPM)
© Manuel ColladoVersiones-1 Control de versiones, configuración y cambios VCS: Version Control System SCM: Software Configuration Management.
Control de versiones, configuración y cambios
Trabajo Practico – Base de Datos II
Minicurso "Presentaciones con PowerPoint"
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
E.1 Obtener los detalles completos de todos los proyectos.
BEATRIZ LAFONT VILLODRE
INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN PROYECTO FIN DE CARRERA
MSc. Lucía Osuna Wendehake
Calendario 2009 “Imágenes variadas” Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2009.
Realimentacion de la salida
Slide 7-1 Copyright © 2003 Pearson Education, Inc. Figure: Estructuras de datos.
Señales y sistemas de tiempo discreto
Estructuras de control
Manual de Procedimientos Procedimiento de ejecución del programa de
Indicaciones: 1.- Tener en cuenta que esta estrategia, solo funciona asociando las cuentas los días lunes. 2.- Los cálculos son aproximados con un margen.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
Actualización de SP3D (Aspectos generales)
FUNDAMENTOS DE CALIDAD EN LA GESTIÓN PÚBLICA
Transcripción de la presentación:

Máster en Tecnologías de Información Geográfica Tema 5: SQL Server Bases de datos Máster en Tecnologías de Información Geográfica

Contenido Introducción Soporte de datos espaciales Tipos de datos espaciales en SQL Server SQL para tipos de datos espaciales Rendimiento Vistas espaciales gráficas integradas Aplicaciones Management Studio Recuperación y disponibilidad Soporte nativo de XML Gestión de geodatabases en ArcGIS

1. Introducción Historia: Es un SGBDR completo: Nace en Sybase (década de 1980) para Unix Microsoft lo traduce posteriormente a Windows NT Es un SGBDR completo: Propiedades ACID Atomicity Consistency Isolation Durability Disparadores Restricciones de integridad Réplicas de bases de datos (duplicación) Copias de seguridad Ajuste de rendimiento Funciona en plataformas: Pocket PC -> Mainframes

1. Introducción Extensiones: XML OLAP (Online Analytical Processing) Data Mining (Minería de datos) Extensiones espaciales para GIS

2. Soporte de datos espaciales Modelos espaciales geodésicos: Superficie de la Tierra: Aproximada por un elipsoide (esfera achatada) Datum Coordenadas: Latitud y Longitud (generalmente) Aunque hay otros sistemas…

2. Soporte de datos espaciales Modelos espaciales planos: Proyecciones bidimensionales del esferoide Proyección UTM Desarrollo cilíndrico conforme de Gauss

3. Tipos de datos espaciales en SQL Server Datos espaciales geodésicos: Tipo de datos geography Coordenadas latitud-longitud Usado en mapas y aplicaciones globales Ej: Geolocalización con GPS Datos espaciales planos: Tipo de datos geometry Coordenadas en un plano arbitrario Usado en mapas regionales Ej: Mapas de carreteras Conforme al estándar OGC (Open Geospatial Consortium) Simple Features Specification for SQL Implementados como tipos de datos CLR (Common Language Runtime) Accesibles en .NET

3. Tipos de datos espaciales en SQL Server

3. Tipos de datos espaciales en SQL Server POINT: A Point is an exact location, and is defined in terms of an X and Y pair of coordinates, as well as optionally by a Z (elevation) and M (measure) coordinate.  It does not have a length or any area associated with it.  Points are used as the fundamental building blocks of more complex spatial types.  Note: Z and M are recognized and maintained by SQL Server 2008 if supplied, but are not used in any calculations). LINESTRING: A line segment is the shortest path between two points.  A LineString, then, is defined as the path between a sequence of points (i.e., a series of connected line segments).  It is considered simple if it does not cross over itself, and is considered a ring if the starting point is the same as the ending point.  A LineString is always considered to be a one dimensional object; it has length, but does not have area (even if it is a ring). POLYGON: A Polygon is a closed two-dimensional shape defined by a ring.  It has both length and area.  A Polygon may also have holes in its interior (a hole is defined by another Polygon).  Area within a hole is considered to be exterior to the Polygon itself. COLLECTIONS: In addition to the single instance types (Point, LineString, and Polygon), there is also a type that can hold a collection of instances.  This is similar to a list or an array in most programming languages.  The most generic type of collection is the GeomCollection, whose members can be of any type.  Deriving from GeomCollection are MultiPolygon, MultiLineString, and MultiPoint.  As their names suggest, the members of these collection types must be of the single instance type (i.e., MultiPoint can only contain Points, etc).

3. Tipos de datos espaciales en SQL Server WKT (Well-Known Text) Lenguaje de marcas de texto. Para representar objetos geométricos vectoriales. WKB (Well-Known Binary) Equivalente en formato binario. Almacenamiento en bases de datos. POINT: A Point is an exact location, and is defined in terms of an X and Y pair of coordinates, as well as optionally by a Z (elevation) and M (measure) coordinate.  It does not have a length or any area associated with it.  Points are used as the fundamental building blocks of more complex spatial types.  Note: Z and M are recognized and maintained by SQL Server 2008 if supplied, but are not used in any calculations). LINESTRING: A line segment is the shortest path between two points.  A LineString, then, is defined as the path between a sequence of points (i.e., a series of connected line segments).  It is considered simple if it does not cross over itself, and is considered a ring if the starting point is the same as the ending point.  A LineString is always considered to be a one dimensional object; it has length, but does not have area (even if it is a ring). POLYGON: A Polygon is a closed two-dimensional shape defined by a ring.  It has both length and area.  A Polygon may also have holes in its interior (a hole is defined by another Polygon).  Area within a hole is considered to be exterior to the Polygon itself. COLLECTIONS: In addition to the single instance types (Point, LineString, and Polygon), there is also a type that can hold a collection of instances.  This is similar to a list or an array in most programming languages.  The most generic type of collection is the GeomCollection, whose members can be of any type.  Deriving from GeomCollection are MultiPolygon, MultiLineString, and MultiPoint.  As their names suggest, the members of these collection types must be of the single instance type (i.e., MultiPoint can only contain Points, etc).

Jerarquía de tipos: herencia

Ejemplos En WKT: Punto simple definido por coordenadas X Y: Los espacios separan las coordenadas de un punto. Las comas separan los puntos en un tipo más complejo. Los paréntesis agrupan puntos en una única figura.   Punto simple definido por coordenadas X Y: POINT(10 10) Punto con coordenadas X Y Z (elevación) M (medida): POINT(10 10 10 1) Camino de líneas: LINESTRING(0 0, 10 10) Polígono: POLYGON((0 0, 0 10, 10 10, 10 0, 0 0)) Polígono con un hueco en forma de triángulo: POLYGON((0 0, 0 10, 10 10, 10 0, 0 0), (1 1, 4 5, 4 1, 1 1))

Métodos para los tipos espaciales Gris: Tipos Geometry que no están en Geography

Métodos para los tipos espaciales STGeomFromText() INSERT INTO SpatialTable (GeomCol1) VALUES (geometry::STGeomFromText( 'LINESTRING (100 100, 20 180, 180 180)', 0)); INSERT INTO SpatialTable (GeomCol1) VALUES (geometry::STGeomFromText( 'POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0)); STLineFromText() INSERT INTO SpatialTable (GeomCol1) VALUES (geometry::STLineFromText( 'LINESTRING (100 100, 20 180, 180 180)', 0)); Parse(). Se puede usar en lugar de los anteriores. INSERT INTO SpatialTable (GeomCol1) VALUES (geometry::Parse( 'LINESTRING (100 100, 20 180, 180 180)',)); ToString(). Para escribir datos geográficos. SELECT GeomCol1.ToString() FROM SpatialTable

Métodos para los tipos espaciales Ejemplo a usar en las descripciones de los métodos (Transact-SQL): DECLARE @g geometry = 'POLYGON((10 10, 40 10, 40 40, 10 40, 10 10))' DECLARE @h geometry = 'POLYGON((30 30, 50 30, 50 50, 30 50, 30 30))'

Transact-SQL (T-SQL) Lenguaje de cuarta generación de bases de datos. Desarrollado por Microsoft/Sybase. Añade a SQL mecanismos para lograr un lenguaje de propósito general: Lenguaje de control de flujo. Variables. Funciones. IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1 PRINT '¡Es fin de semana!' ELSE PRINT 'Es laborable… :-(' DECLARE @i NVARCHAR(50) SET @i = 0 WHILE @i < 5 BEGIN PRINT 'Número: ' + @i SET @i = @i + 1 END Número: 0 Número: 1 Número: 2 Número: 3 Número: 4

Métodos para los tipos espaciales STDifference() Diferencia de conjuntos. Devuelve los puntos de la columna geométrica a la que se aplica tal que no están en los de la columna geométrica parámetro del método. SELECT @g.STDifference(@h).ToString(); Resultado: POLYGON ((10 10, 40 10, 40 30, 30 30, 30 40, 10 40, 10 10))

Métodos para los tipos espaciales STDifference() También sobre tipos distintos. DECLARE @g geometry = 'LINESTRING(9 9, 40 40)' DECLARE @h geometry = 'POLYGON((15 15, 15 30, 30 30, 30 15, 15 15))' SELECT @g.STDifference(@h).ToString(); Resultado: MULTILINESTRING ((40 40, 30 30), (15 15, 9 9))

Métodos para los tipos espaciales STIntersection() Intersección de formas. Devuelve la parte común de dos formas. SELECT @g.STIntersection(@h).ToString(); Resultado: POLYGON ((30 30, 40 30, 40 40, 30 40, 30 30))

Métodos para los tipos espaciales STIntersection() También sobre tipos distintos. SELECT @g.STIntersection(@h).ToString(); Resultado: LINESTRING (30 30, 15 15)

Métodos para los tipos espaciales STUnion() Unión de formas. Devuelve todos los puntos de dos formas. SELECT @g.STUnion(@h).ToString(); Resultado: POLYGON ((10 10, 40 10, 40 30, 50 30, 50 50, 30 50, 30 40, 10 40, 10 10))

Métodos para los tipos espaciales STUnion() También sobre tipos distintos. SELECT @g.STUnion(@h).ToString(); Resultado: GEOMETRYCOLLECTION ( LINESTRING (40 40, 30 30), POLYGON ((15 15, 30 15, 30 30, 15 30, 15 15)), LINESTRING (15 15, 9 9) )

Métodos para los tipos espaciales STArea() Área de una forma. STLength() Longitud de un camino. DECLARE @g GEOMETRY = 'POLYGON((10 10, 10 40, 40 40, 10 10))' SELECT @g.STArea(), @g.STLength() Resultado: Area Length 450 102.426406871193

Métodos para los tipos espaciales STCentroid() Devuelve el centroide de una forma. DECLARE @g GEOMETRY = 'POLYGON((10 10, 10 40, 40 40, 10 10))' SELECT @g.STCentroid().ToString() Resultado: POINT (20 30)

Métodos para los tipos espaciales STContains() STWithin() Devuelve el valor lógico cierto (1) si una forma contiene completamente a otra. @g.STContains(@h) determina si @g contiene a a @h @g.STWithin(@h) determina si @g está contenido en @h DECLARE @g geometry = 'POLYGON ((10 10, 13 30, 30 30, 30 15, 10 10))' DECLARE @h geometry = 'LINESTRING (16 16, 16 24, 25 18)‘ SELECT @g.STContains(@h), @g.STWithin(@h) SELECT @h.STContains(@g), @h.STWithin(@g) Resultado: 1 0 0 1

Métodos para los tipos espaciales ST is … CLOSED. Si el punto final coincide con el inicial. EMPTY. Si no contiene ningún punto (parecido a NULL, pero no es lo mismo). SIMPLE. Si no se cruza sobre sí misma o se toca a sí misma. RING. Si es una forma cerrada (CLOSED) y simple (SIMPLE) VALID. Si no tiene elementos superpuestos. Ej: No válido

Métodos para los tipos espaciales Coordenadas de un punto: .STX .STY .Z .M DECLARE @g geometry = 'POINT(1 2)' DECLARE @h geometry = 'POINT(1 2 3 4)' SELECT @g.STX, @g.STY, @g.Z, @g.M SELECT @h.STX, @h.STY, @h.Z, @h.M Resultado: 1 2 NULL NULL 1 2 3 4

Métodos para los tipos espaciales STPointOnSurface() Devuelve un punto arbitrario que pertenece a la forma. DECLARE @g geometry = 'POLYGON((10 10, 14 15, 50 12, 45 30, 10 30, 10 10))' SELECT @g.STPointOnSurface().ToString() Resultado: POINT (23 25)

4. SQL para tipos de datos espaciales Creación de tablas: CREATE TABLE Districts (DistrictId int IDENTITY (1,1), DistrictName nvarchar(20), DistrictGeo geometry); CREATE TABLE Streets (StreetId int IDENTITY (1,1), StreetName nvarchar(20), StreetGeo geometry);

4. SQL para tipos de datos espaciales Inserción en tablas: INSERT INTO Districts (DistrictName, DistrictGeo) VALUES ('Downtown', geometry::STGeomFromText ('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0)); INSERT INTO Streets (StreetName, StreetGeo) VALUES ('First Avenue', ('LINESTRING (100 100, 20 180, 180 180)', 0))

4. SQL para tipos de datos espaciales Selección de resultados: SELECT StreetName, DistrictName FROM Districts d, Streets s WHERE s.StreetGeo.STIntersects(DistrictGeo) = 1 ORDER BY StreetName StreetName DistrictName First Avenue Downtown Harborside Mercator Street Green Park

Otro ejemplo CREATE TABLE demo ( ID INT IDENTITY(1,1) NOT NULL, G GEOMETRY ) INSERT INTO demo (G) VALUES ('LINESTRING(0 0, 10 10, 21 2)'), ('LINESTRING(1 1, 11 11, 22 3)'), ('POINT(5 5)') SELECT ID, G.ToString() AS WKT, G.STLength() AS LENGTH FROM demo ID WKT LENGTH 1 LINESTRING (0 0, 10 10, 21 2) 27.7436061324664 2 LINESTRING (1 1, 11 11, 22 3) 3 POINT (5 5)

5. Rendimiento Tipos espaciales: Tipos CLR (Common Language Runtime) 2 GB (¡Incluso para un único polígono!) Datos espaciales almacenados en BDR Interoperabilidad de datos Índices espaciales Índice en retícula multinivel (árboles cuadráticos: quad-trees)

6. Vistas espaciales gráficas integradas Management Studio:

7. Aplicaciones Integración con otros sistemas. Importación y exportación de datos Estándar OGC: Well Known Text (WKT) Well Known Binary (WKB) Aplicaciones GIS / Sistemas GPS

7. Aplicaciones Uso de datos espaciales en .NET Ej: Virtual Earth

8. Management Studio

9. Recuperación y disponibilidad Recuperación de caídas. Registro histórico (log) Recuperación de medios. Copia y restauración de bases de datos Copias exactas de la base de datos Duplicados de la base de datos en otras máquinas Conmutación automática en caso de error Seguridad Usuarios Roles Autenticación: Windows SGBD

10. Soporte nativo de XML

create table InformesViajes( Tipos XML en SQL Creación de tablas: create table InformesViajes( fechaviaje datetime, Informe xml)

create xml schema collection E1 as @e Metadatos XML en SQL Metadatos de las bases de datos: Conjunto de esquemas XML asocia un identificador de SQL a un conjunto de componentes de esquemasde uno o varios espacios de nombres objetivos. Por ejemplo, la expresión create xml schema collection E1 as @e Crea el conjunto de esquemas XML de SQL Server de nombre E1, que consiste en los esquemas de XML contenidos en la variable de SQL @e. Cada uno de estos conjuntos contiene toda la información necesaria para llevar a cabo la validación y tipificación y se guarda en los metadatos del esquema de la base de datos.

Metadatos XML en SQL El ejemplo siguiente muestra la definición de una tabla que restringe los ejemplares de la columna XML Informe a un documento bien formado válido de acuerdo con el conjunto de esquemas EsquemaInformes: create table InformesViajes(id int, fechaviaje datetime, Informe xml(document EsquemaInforme))

XQuery en SQL Lenguaje de consulta de documentos XML. Desarrollado por el consorcio W3C (World Wide Web Consortium). Procede del lenguaje Quilt, que también incluía expresiones XPath XPath es un lenguaje que define expresiones válidas para acceder a partes de un documento XML. XQuery incorpora a XPath. SQL Server incorpora XQuery en las consultas SQL.

XQuery en SQL Expresión simple de XQuery que resume un elemento Cliente complejo de un documento de informe de viaje que contiene un nombre, un atributo ID y posibilidades de ventas en las notas marcadas del informe de viaje real. El resumen muestra el nombre y la información sobre ventas de los elementos Cliente que tienen posibilidades de ventas. select Informe.query(’ declare namespace c = "urn:ejemplo/cliente"; for $cli in /c:doc/c:cliente where $cli/c:notas//c:posiblesventas return <id_cliente ="$cli/@id"> { $cli/c:nombre, $cli/c:notas//c:posiblesventas }</cliente>’) from InformesViajes

11. Gestión de geodatabases en ArcGIS

Práctica Práct. 5. SQL Server.pdf