Post on 04-Jul-2015
León Linux | Empresa de Soluciones Libres
1 © 2013 Nahum Pedro Benoni Castro González
Implementación del Subsistema de
Información Geográfica y Medio
Ambiente del Estado de Guanajuato
(SIGMA)
Presenta: Ing. Nahum Pedro Benoni Castro González
24 de junio del 2013
León Linux | Empresa de Soluciones Libres
2 © 2013 Nahum Pedro Benoni Castro González
Índice Objetivos. ................................................................................................................. 4
Marco teórico ............................................................................................................ 5
La Definición de Software Libre ............................................................................ 5
Evolución de los Sistemas de información Geográfica (SIG). .............................. 6
PostGIS ................................................................................................................ 8
PostgreSQL .......................................................................................................... 8
Conceptos básicos del servidor HTTP ..................................................................... 9
Servidores Web .................................................................................................... 9
Servicios de mapeo Web. ..................................................................................... 9
Las fuentes de datos. ......................................................................................... 10
Protocolos OGC. ................................................................................................. 11
Web Map Server (WMS). .................................................................................... 11
Web Coverage Service ....................................................................................... 12
Web Processing Service ..................................................................................... 13
Definición del modelo de datos relacional-espacial. .............................................. 14
Productos a desarrollarse (ENTREGABLES). ....................................................... 20
Costos del proyecto: ................................................. ¡Error! Marcador no definido.
Calendario de actividades ........................................ ¡Error! Marcador no definido.
Confidencialidad ....................................................... ¡Error! Marcador no definido.
Duración ................................................................... ¡Error! Marcador no definido.
Condiciones de pago ................................................ ¡Error! Marcador no definido.
Modificaciones .......................................................... ¡Error! Marcador no definido.
Introducción.
León Linux | Empresa de Soluciones Libres
3 © 2013 Nahum Pedro Benoni Castro González
Un Sistema de Información Geográfica (SIG o GIS, en su acrónimo inglés) es una
integración organizada de hardware, software, datos geográficos y personas,
diseñada para capturar, almacenar, manejar, analizar, modelar y representar en
todas sus formas la información geográficamente referenciada con el fin de
resolver problemas complejos de planificación y administración del territorio.
El SIG a implementar partirá de una base de datos con información geográfica que
se encuentra asociada a los objetos espaciales de un mapa digital.
La razón fundamental para utilizar un SIG es la gestión información espacial. El
sistema permite separar la información en diferentes capas temáticas y las
almacena independientemente, permitiendo trabajar con ellas de manera rápida y
sencilla, y facilitando al analista la posibilidad de relacionar la información
existente a través de la topología de los objetos, con el fin de generar otra nueva
que no podríamos obtener de otra forma.
Lo que más distingue un SIG de otros sistemas para dibujo, tratamiento de
imágenes, diseño cartográfico, atlas digitales, etc., son las operaciones de análisis
de datos.
A lo largo de este proyecto se planea definir el Sistema de Información Geográfica
usando software libre y estándares abiertos.
El uso del software libre o abierto permite a las instituciones del Estado hacerse de
tecnología especializada que tiene costos muy altos de implementación. Permite
también reutilizar los productos SIG de primera y segunda generación que se han
adquirido con anterioridad, incorporando la información de estos productos a un
SIG de tercera generación.
Los estándares abiertos una vez implementados permiten que las diferentes
plataformas con las que cuenta el Estado de Guanajuato en Materia de SIG sean
interoperables, es decir, que puedan compartir información de manera
transparente.
León Linux | Empresa de Soluciones Libres
4 © 2013 Nahum Pedro Benoni Castro González
Objetivos.
General Implementar el Subsistema de Información Geográfica y Medio Ambiente del
Estado de Guanajuato (SIGMA) como un sistema de información independiente y
que sea capaz de compartir información con otros sistemas dentro de la
administración pública estatal, que estén embebidos dentro de las comunidades
que ya existen a nivel internacional.
Particulares ! Implementar el servicio WPS (Servicio de Procesamiento WEB) que permite
realizar operaciones espaciales directamente sobre el servidor WEB, tales
como superposición de poligonos, reproyección, conversión de formato
raster a vector, intersección, entre otros. Estos son parte fundamental para
la implementación de un SIG en línea, no solo como visualizador.
! Implementar el servicio de WCS (Servicio de Cobertura WEB), este
proporciona una interfaz que permite realizar peticiones de cobertura
geográfica a través de la web utilizando llamadas independientes de la
plataforma. Las coberturas son objetos (o imágenes) en un área geográfica
mientras que la interfaz WMS o portales de mapas online como Google
Maps devuelven sólo una imagen, que los usuarios no pueden editar o
analizar espacialmente.
! Implementar mejoras en la seguridad y administración de los servicios WEB
del Instituto de Ecología, añadiendo grupos de usuarios y mejorando la
seguridad de los servicios.
! Actualizar la versión del servidor de base de datos con la finalidad de poder
realizar análisis raster y vectorial dentro de la base de datos.
! Contar con un catalogo de información geográfica desde el cual se pueda
consultar y acceder a la información. Este catálogo contiene a su vez los
León Linux | Empresa de Soluciones Libres
5 © 2013 Nahum Pedro Benoni Castro González
metadatos de la información, donde se describe la información, su fecha de
creación, el responsable de su administración, un diccionario de datos, su
temporalidad, entre otros.
Marco teórico
En este apartado se describirá qué es el software libre, y se describirá brevemente
las dos tecnologías que se usan para administrar los datos de la base de datos
geoespacial, así como la diseminación a través de servicios web geográficos y de
mapas usando estándares abiertos.
La Definición de Software Libre1 Mantenemos esta definición de software libre para mostrar claramente qué debe
cumplir un programa de software en concreto para que se le considere software
libre. De vez en cuando modificamos esta definición para clarificarla. Si quisiera
revisar los cambios que hemos hecho, por favor vea la sección historial más abajo
para más información.
El «software libre» es una cuestión de libertad, no de precio. Para entender el
concepto, debería pensar en «libre» como en «libre expresión», no como en
«barra libre».
El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar,
distribuir, estudiar, cambiar y mejorar el software. Más precisamente, significa que
los usuarios de programas tienen las cuatro libertades esenciales.
• La libertad de ejecutar el programa, para cualquier propósito (libertad 0).
• La libertad de estudiar cómo trabaja el programa, y cambiarlo para que
haga lo que usted quiera (libertad 1). El acceso al código fuente es una
condición necesaria para ello.
1 Free Software Fundation, La definición del software libre < http://www.gnu.org/philosophy/free-sw.es.html>, [Consulta: 12 de octubre de 2010]
León Linux | Empresa de Soluciones Libres
6 © 2013 Nahum Pedro Benoni Castro González
• La libertad de redistribuir copias para que pueda ayudar al prójimo (libertad
2).
• La libertad de distribuir copias de sus versiones modificadas a terceros (la
3ª libertad). Si lo hace, puede dar a toda la comunidad una oportunidad de
beneficiarse de sus cambios. El acceso al código fuente es una condición
necesaria para ello.
Evolución de los Sistemas de información Geográfica (SIG). En la primera generación de los SIG puestos en práctica, todos los datos
espaciales se almacenan en archivos planos y es necesario software especial SIG
para interpretar y manipular los datos. Esta generación de sistemas de gestión de
información está diseñada para satisfacer las necesidades de los usuarios en
donde todos los datos requeridos se encuentran dentro de la organización de
dominio del usuario. Estos sistemas son propietarios, autocontenidos y fueron
construidos específicamente para el manejo de datos espaciales.
La segunda generación de sistemas espaciales almacenan algunos datos en
bases de datos relacionales (normalmente el "atributo" o las partes no espaciales),
pero aún carecen de la flexibilidad que ofrece la integración directa.
Las verdaderas bases de datos espaciales nacieron cuando se comenzó a tratar
las características espaciales como objetos de la base de datos.
Las bases de datos espaciales integran totalmente datos espaciales con una base
de datos objeto relacional.
León Linux | Empresa de Soluciones Libres
7 © 2013 Nahum Pedro Benoni Castro González
HerramientasSIG
Núcleo delSIG
APIPropietaria
Los atributos, las geometrías y los Índices se almacenan en archivos.
APIPropietaria
Sistemas de información geográfica de primera generación
HerramientasSIG
Núcleo delSIG
APIPropietaria
Las geometrías y los Índices se almacenan en archivos.
APIPropietaria
Sistemas de información geográfica de segunda generación
SQL
Base de datos
relacional
Los atributos se almacenan en la base de datos
HerramientasSIG
Sistemas de información geográfica de tercera generación
SQLBase de
datos relacional
Las geometrías y los Índices se almacenan la base de datos
Generaciones de Sistemas de Información Geográfica
Un sistema de bases de datos espaciales se puede utilizar en otras aplicaciones
además del mundo geográfico. Las bases de datos espaciales se utilizan para
gestionar los datos relacionados con la anatomía del cuerpo humano, circuitos
integrados de gran tamaño, estructuras moleculares, campos magnéticos y
eléctricos, entre otros.
El modelo a implementar será de tercera generación.
León Linux | Empresa de Soluciones Libres
8 © 2013 Nahum Pedro Benoni Castro González
PostGIS PostGIS convierte al sistema de administración de bases de datos PostgreSQL en
una base de datos espaciales mediante la adición de tres características
comentadas anteriormente: tipos espacial, índices y funciones. Debido a que está
construido sobre PostgreSQL, PostGIS hereda automáticamente importante
características de las bases de datos empresariales, así como los estándares
abiertos para la aplicación. Implementa también la capacidad de análisis raster y
vectorial.
PostgreSQL PostgreSQL es un sistema de gestión de bases de datos objeto relacionales de
gran alcance (ORDBMS). Es liberado bajo una licencia de tipo BSD y por lo tanto
es software de código abierto y libre. Como ocurre con muchos otros programas
de código abierto, PostgreSQL no es controlado por una sola compañía, pero tiene
una comunidad global de desarrolladores y empresas para su desarrollo.
PostgreSQL fue diseñado desde el principio con la extensión en mente; la
posibilidad de añadir nuevos tipos de datos, funciones y métodos de acceso en
tiempo de ejecución. Debido a esto, las extensiones como PostGIS pueden ser
desarrolladas por un equipo de desarrollo independiente, y aún así se integran
muy bien en el núcleo de base de datos PostgreSQL.
León Linux | Empresa de Soluciones Libres
9 © 2013 Nahum Pedro Benoni Castro González
Conceptos básicos del servidor HTTP
Servidores Web Un servidor Web es un programa que sirve contenido (páginas web, imágenes,
archivos, datos, etc.) utilizando HTTP (Hypertext Transfer Protocol). Cuando se
utiliza el navegador para conectarse a un sitio web, se contacta con un servidor
web. Al servidor web llega la solicitud, la interpreta y devuelve una respuesta, lo
que el navegador muestra en la pantalla.
Por ejemplo, cuando usted solicita una página web, su petición adopta la forma de
una dirección URL:
http://ejemplo.com/ruta/a/pagina.html
El servidor web se ve en su sistema de archivos, y si los objetivos de la solicitud a
un archivo son válidos, el contenido de ese archivo será devuelto a través de
HTTP. Por lo general, estas llamadas vienen de un navegador, en cuyo caso se
presenta el resultado en el navegador.
Es posible solicitar cualquier tipo de archivos a través de HTTP, no sólo las
páginas HTML:
http://ejemplo.com/alguna/ruta/imagen.jpg
http://ejemplo.com/alguna/ruta/archivo.zip
http://ejemplo.com/alguna/ruta/datos.xml
Si su navegador está configurado para mostrar el tipo de archivo, se mostrará, de
lo contrario, se le pedirá que descargue el archivo en su sistema.
Los servidores web más populares utilizados hoy en día son de Apache HTTP
Server e Internet Information Services (IIS).
Servicios de mapeo Web.
León Linux | Empresa de Soluciones Libres
10 © 2013 Nahum Pedro Benoni Castro González
Un servidor de mapas Web es un subconjunto especializado del modelo de
servidor Web. Al igual que un servidor Web, las solicitudes se envían al servidor
que se interpretan y responde en consecuencia.
Sin embargo, un servidor de mapas Web utiliza protocolos distintos de HTTP. Los
protocolos que se pueden emplear son Web Map Service (WMS), Web Feature
Service (WFS), además de muchos otros protocolos abiertos y propietarios. Los
protocolos WMS y WFS están diseñados específicamente para la transferencia de
información geográfica, ya sea en función de los datos en bruto, los atributos
geográficos, o imágenes de mapas.
Algunos servidores populares de mapas web son:
• Mapserver
• GeoServer
• Mapnik
• ArcGIS Server
Otros servidores de mapas basados en Web, como Google Maps tienen su propia
tecnología de servidor, pero está limitado sólo a las conexiones a sus servicios y
no son interoperables.
Las fuentes de datos. Mapserver/Geoserver puede leer de muchas fuentes de datos diferentes, a partir
de archivos en el disco local de bases de datos externas. Por medio de protocolos
de red, Mapserver/Geoserver actúa como una capa de abstracción, lo que permite
un método estándar de servicio de datos geoespaciales, independientemente del
tipo de datos de origen.
La siguiente es una lista de los formatos de datos más comunes que pueden
distribuirse con el apoyo de Mapserver/Geoserver. Esta lista no es exhaustiva.
Archivos:
León Linux | Empresa de Soluciones Libres
11 © 2013 Nahum Pedro Benoni Castro González
• Shapefile
• GeoTIFF
• ArcGRID
• JPEG2000
• formatos GDAL
Bases de datos:
• PostGIS
• ArcSDE
• DB2
• SQL Server
• Oracle Spatial
Protocolos OGC. Geoserver implementa los protocolos estándar de red abierta establecidos por el
Open Geoespatial Group (OGC) (http://www.opengeospatial.org/), una
organización de estándares. Es a través de estos protocolos que se puede servir
de datos y mapas de manera eficiente.
Web Map Server (WMS). Un componente fundamental del mapeo web (y el más simple de entender) es la
imagen de un mapa. El servicio Web Map Service (WMS) es un protocolo estándar
para servir imágenes georreferenciadas generados por un servidor de mapas. En
resumen, WMS es un camino para que un cliente solicite baldosas de mapas de
un servidor. El cliente envía una petición a un servidor de mapas. El servidor de
mapas genera una imagen basada en parámetros que se pasan al servidor en la
solicitud y devuelve una imagen.
Es importante tener en cuenta que el material fuente de la cual se genera la
imagen no tiene que ser una imagen. El WMS genera la imagen desde cualquier
fuente, sean vectores o imágenes raster.
León Linux | Empresa de Soluciones Libres
12 © 2013 Nahum Pedro Benoni Castro González
Diagrama que muestra cómo un WMS convierte los datos en una imagen
Ejemplo de una petición WMS
Web Coverage Service La interfaz estándar Web Coverage Service (WCS) o Servicio de Cobertura Web
de Open Geospatial Consortium proporciona una interfaz que permite realizar
peticiones de cobertura geográfica a través de la web utilizando llamadas
independientes de la plataforma. Las coberturas son objetos (o imágenes) en un
área geográfica mientras que la interfaz WMS o portales de mapas online como
Google Maps devuelven sólo una imagen, que los usuarios no pueden editar o
analizar espacialmente.
El grupo OGC define y mantiene la especificación WCS. GeoServer sirve como
implementación de referencia del estándar.
El servicio de cobertura web básico permite realizar consultas y obtener
coberturas.
León Linux | Empresa de Soluciones Libres
13 © 2013 Nahum Pedro Benoni Castro González
WCS describe las operaciones de descubrimiento, petición o transformación de
datos. El cliente genera una petición y la envía a l servidor web utilizando el
protocolo HTTP. El servidor web ejecuta la petición. La especificación WCS utiliza
HTTP como plataforma de computación distribuida, aunque no es un requisito
obligatorio.
Hay dos tipos de codificación definidas para las operaciones de WCS:
• XML (apto para HTTP POST/SOAP)
• Pares Clave-Valor (apto para HTTP GET/Remote procedure call)
En la clasificación de servicios web, WCS está categorizada como un servicio de
tipo RPC no-tranquilo.
Web Processing Service El estándar OGC Web Processing Service (WPS) establece normas para
estandarizar la forma en las entradas y salidas (solicitudes y respuestas) para
invocar los servicios de procesamiento geoespacial, como superposición de
polígonos, como un servicio Web. El estándar WPS define cómo un cliente puede
solicitar la ejecución de un proceso, y la forma en la salida del proceso se maneja.
León Linux | Empresa de Soluciones Libres
14 © 2013 Nahum Pedro Benoni Castro González
Definición del modelo de datos relacional-espacial.
Diagrama del modelo de datos ejemplo
En este modelo todos los datos son almacenados en relaciones, y como cada
relación es un conjunto de datos, el orden en el que estos se almacenen no tiene
relevancia. Esto tiene la considerable ventaja de que es más fácil de entender y de
utilizar por un usuario no experto. La información puede ser recuperada o
almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder
para administrar la información.
Este modelo considera la base de datos como una colección de relaciones. De
manera simple, una relación representa una tabla que no es más que un conjunto
de filas, cada fila es un conjunto de campos y cada campo representa un valor que
interpretado describe el mundo real. Cada fila también se puede denominar tupla o
registro y a cada columna también se le puede llamar campo o atributo.
Para manipular la información utilizamos un lenguaje relacional. El lenguaje más
común para construir las consultas a bases de datos relacionales es SQL,
Structured Query Language o Lenguaje Estructurado de Consultas, un estándar
implementado por los principales motores o sistemas de gestión de bases de
datos relacionales.
León Linux | Empresa de Soluciones Libres
15 © 2013 Nahum Pedro Benoni Castro González
El modelo de datos también incluye un catálogo de información que incluye los
metadatos.
Cabe notar que el proceso más costoso de este sistema es la adquisición y
actualización de la información, el uso de esta tecnología permite que los ahorros
en licencias se vayan al levantamiento y actualización de información geográfica,
vía contratos o con personal de las propias dependencias.
León Linux | Empresa de Soluciones Libres
16 © 2013 Nahum Pedro Benoni Castro González
Infraestructura tecnológica propuesta.
Se modificará el arreglo de los equipos para eficientizar la comunicación entre los
servidores del Instituto de Ecología del Estado (IEE) según el siguiente diseño de
firewall.
El diseño del firewall (Cortafuegos) se llevará a cabo con pfSense que se define
como:
Un software libre y de código abierto, cuya distribución personalizada se basa en
FreeBSD (Sistema Operativo BSD Unix), adaptado para ser utilizado como firewall
o ruteador.
pfSense maneja la mayor parte de las características de los firewalls comerciales,
tales como:
1. Filtrado del tráfico de entrada y salida de las redes (WAN, LAN, DMZ, etc.)
2. Monitorea en tiempo real, el estado de las interfaces
3. Permite crea NAT de salida, NAT 1:1 (Estática), Dinámica
4. Maneja redundancia de firewall con CARP (Common Address Redundancy
Protocol)
5. Balanceo de Carga de Entrada (Distribuye el ancho de banda entre los
servidores o equipos de la red) y de Salida (Utilizado con múltiples WAN)
6. Conectividad con VPN (Ipsec, OpenVPN, PPTP)
7. Portal Cautivo, DNS dinámicos, Servidor DHCP, etc.
8. Reportes y monitoreo en tiempo real a través de gráficos o tablas del estado
de los servicios
Diagrama de red propuesta para el firewall del Instituto de Ecología
León Linux | Empresa de Soluciones Libres
17 © 2013 Nahum Pedro Benoni Castro González
Explicación del diagrama de red anterior:
1. Conectar al pfSense los proveedores de Internet con los que cuente el IEE
para crear Balance de Carga o Failover
2. Crear una red LAN a la que se pueden conectar usuarios alámbrica o
inalámbricamente, en esta red también se instala el Servidor de Postgresql para
que desde la WAN no se pueda tener acceso al mismo.
3. Crear una red DMZ (Zona Desmilitarizada) para instalar el Servidor WEB
(GIS) y abrir los puertos necesarios para conectarse desde la WAN
4. Conectar a través del NAT necesario el Servidor Postgresql con el Servidor
WEB
5. Bloquear o filtrar el tráfico que salga de la LAN hacía la WAN
6. Aplicar las políticas de seguridad necesarias para los usuarios de la red
LAN
León Linux | Empresa de Soluciones Libres
18 © 2013 Nahum Pedro Benoni Castro González
Navegador Web Servidor WebgvSIGQGIS
Z39.50(catalogo)
Búsqueda
Servicios de catálogo
Navegador Web
Geoserver
Dibujo deMapas
WMS WFS
DatosEspaciales
Visor SIGVisor KMLGeoWeb/RSS
Visor de mapa Visor o editor
Bases de datosShapefiles
Fuentes de datos
Imágenes Raster
Diagrama del modelo de Clases
La infraestructura tecnológica propuesta funciona como un modelo distribuido de
información en el que cada nodo administra y mantiene la información que le sea
de su competencia, así se distribuye la responsabilidad y el trabajo de su
administración.
La parte importante de una plataforma distribuida es que cada quien decide que
información compartir con los demás, esta información se comparte a través de
León Linux | Empresa de Soluciones Libres
19 © 2013 Nahum Pedro Benoni Castro González
servicios web WMS y/o WFS que son consumidos por aplicaciones web o por
aplicaciones de escritorio en estaciones de trabajo. Así también se evita la
duplicidad de la información.
Esta infraestructura solo necesita un ancho de banda suficiente en cada uno de
sus nodos para compartir y consumir la información de los otros.
Consta de las siguientes partes:
Prerrequisitos de Hardware:
1. Estación de trabajo.
2. Servidor(es).
a. Base de datos.
b. Ortofotos.
c. Aplicaciones web en máquinas virtuales
3. Conectividad de red.
Software:
1. Sistema operativo Linux.
2. Base de datos relacional habilitada espacialmente PostgreSQL+PostGIS
3. Servidor de mapas Mapserver/Geoserver.
4. Bibliotecas auxiliares.
a. GDAL/OGR: Biblioteca de administración de datos vectoriales y
raster.
b. PROJ: Biblioteca de proyección de datos espaciales.
c. GEOS: Biblioteca de funciones sobre objetos espaciales.
d. ECW: Biblioteca de compresión de archivos raster.
5. Servidor WEB HTTP Apache.
6. Servidor WEB HTTP servlets/jsp Tomcat
7. Lenguaje de programación PHP/JAVA
Personas:
León Linux | Empresa de Soluciones Libres
20 © 2013 Nahum Pedro Benoni Castro González
1. Administrador de bases de datos.
2. Administrador de servicios web.
3. Administración de información geográfica y catálogo de Metadatos.
Productos a desarrollarse (ENTREGABLES). Los entregables que comprende el proyecto propuesto son:
I. Actualización del Servidor de mapas de información ambiental
• Actualización de un Servidor con Sistema Operativo Linux CentOS 6.4 y
programas asociados para crear un Sistema de Información Geográfica.
a. Gdal
b. Geos
c. Proj 4
d. Postgresql 9.2
e. Postgis 2
f. Biblioteca ECW para manejo de ortofotos
g. PHP/Java
h. Tomcat
i. Mapserver
j. Geoserver
k. OpenLayers
l. GeoExt
• Aplicación web interactiva de mapas para crear aplicaciones de mapeo
dinámico en línea para su inclusión en el portal del instituto
• Sistema de consulta interactiva de cada uno de los objetos de la base de
datos para empotrarse dentro del portal web del Instituto.
• Los resultados de las consulta podrán ser exportados a Excel, CSV, xml y
shapefile, KMZ.
• Catálogo de información geográfica con metadatos y diccionario de datos y
servicio Web de metadatos geográficos
León Linux | Empresa de Soluciones Libres
21 © 2013 Nahum Pedro Benoni Castro González
II. Base de Datos Relacional
• Diseño de una base de datos relacional habilitada espacialmente
• Modelo de Indicadores de seguimiento.
• Diseño de una Aplicación Web en PHP/JAVA para diseminar la información
del punto anterior, con la administración de usuarios, grupos y roles de
acuerdo a las necesidades del Instituto.
• Podrá accesar Web Services (WMS, WFS, WCS y WPS) para acceder a
fuentes de datos externas
• Creación de índices para agilizar las búsquedas
III. Fortalecimiento de Infraestructura
• Servidor configurado con esquemas de seguridad para evitar alteraciones
en el servicio y modelo de administración de usuarios
• Equipo activo de red configurado