Geoservicios Con Mapserver

CURSO DE GEOSERVICIOS MSc Jose Luis Leal Gómez DIPLOMADO SERVICIOS DE TELECOMUNICACIONES CON ENFASIS EN SIG Bucaraman

Views 58 Downloads 0 File size 4MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

CURSO DE GEOSERVICIOS

MSc Jose Luis Leal Gómez

DIPLOMADO SERVICIOS DE TELECOMUNICACIONES CON ENFASIS EN SIG

Bucaramanga – Diplomado SIG 1

TABLA DE CONTENIDO CURSO DE GEOSERVICIOS ........................................................................................................................1 MSC JOSE LUIS LEAL GÓMEZ...................................................................................................................1 DIPLOMADO SERVICIOS DE TELECOMUNICACIONES CON ENFASIS EN SIG..........................1 TABLA DE CONTENIDO...............................................................................................................................2 TABLA DE FIGURAS......................................................................................................................................3 LISTA DE TABLAS..........................................................................................................................................5 INTRODUCCIÓN.............................................................................................................................................6 ESTRUCTURA................................................................................................................................................10 EJERCICIOS...................................................................................................................................................84

Bucaramanga – Diplomado SIG 2

TABLA DE FIGURAS ARQUITECTURA DE SERVICIOS WEB DE OGC.....................................................................................9 INTERFAZ DE USUARIO PARA CONFIGURAR APACHE..................................................................11 VERIFICANDO EL CORRECTO FUNCIONAMIENTO DE APACHE................................................11 ACCESO A LAS VARIABLES DE ENTORNO DEL SISTEMA..............................................................13 CONSTRUYENDO LA VARIABLE DE ENTORNO JAVA_HOME......................................................13 CONSTRUYENDO LA VARIABLE DE ENTORNO PATH.....................................................................14 TESTEANDO LA JVM...................................................................................................................................14 INTERFAZ DE SELECCIÓN DEL IDIOMA.............................................................................................16 INTERFAZ DE SELECCIÓN DE LA EXTENSIÓN POSTGIS...............................................................16 INTERFAZ DE CREACIÓN DEL SERVICIO ..........................................................................................17 INTERFAZ PARA LA SELECCIÓN DEL PUERTO Y EL ENCODING................................................17 INTERFAZ PARA LA SELECCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN..........................18 INTERFAZ PARA LA SELECCIÓN DE LOS ALGORITMOS DE ALMACENAMIENTO PARA TRABAJAR CON POSTGIS .........................................................................................................................18 CREACIÓN DE VARIABLE DE ENTORNO DE LOS BINARIOS DE POSTGRESQL ......................19 CREACIÓN DE UN ROL ..............................................................................................................................20 NUEVO TABLESPACE.................................................................................................................................21 NUEVA BASE DE DATOS.............................................................................................................................22 CREACIÓN DE UNA VISTA ESPACIAL EN POSTGRESQL.................................................................24 CREAR UNA VISTA EN GVSIG...................................................................................................................26 AÑADIR CAPAS A GVSIG............................................................................................................................27 AÑADIR CAPAS SHAPE A GVSIG..............................................................................................................27 AÑADIR CAPAS RASTER A GVSIG...........................................................................................................28 CONFIGURACIÓN DE LA CONEXIÓN A POSTGRESQL DESDE GVSIG.........................................29 AÑADIR CAPAS DESDE POSTGRESQL + POSTGIS A GVSIG...........................................................30 AÑADIR CAPAS DESDE UN SERVIDOR DE MAPAS.............................................................................31 INFORMACIÓN Y PROPIEDADES DEL SERVICIO WMS....................................................................31 CAPAS DISPONIBLES EN EL SERVICIO.................................................................................................32 FORMATOS Y SISTEMAS DE REFERENCIA DISPONIBLES.............................................................33 CARPETAS QUE COMPONEN MAPSERVER.........................................................................................35 COMPROBACIÓN DE LA INSTALACIÓN DE MAPSERVER...............................................................36 ESTRUCTURA DE DIRECTORIOS PARA MAPSERVER......................................................................36

Bucaramanga – Diplomado SIG 3

ESTRUCTURA DEL ARCHIVO .MAP EJEMPLO1..................................................................................39 MAPA MOSTRADO EN EL BROWSER CON INFORMACIÓN DE UN SHAPE.................................40 MAPA MOSTRADO EN EL BROWSER CON INFORMACIÓN DE LAS CLASES DE UN SHAPE. 44 ESTRUCTURA DEL ARCHIVO .MAP EJEMPLO2..................................................................................44 ESTRUCTURA DEL ARCHIVO .MAP EJEMPLO3..................................................................................47 MAPA MOSTRADO EN EL BROWSER CON LAS 3 CAPAS CARGADAS..........................................48 ESTRUCTURA DEL ARCHIVO .MAP EJEMPLO4..................................................................................54 MAPA MOSTRADO EN EL BROWSER CON LAS 4 CAPAS CARGADAS..........................................54 ESTRUCTURA DEL ARCHIVO .MAP EJEMPLO5..................................................................................59 RESPUESTA A LA PETICIÓN GETMAP...................................................................................................70 RESPUESTA A LA PETICIÓN GETFEATUREINFO...............................................................................72 MAPA MOSTRADO EN EL BROWSER CONSUMIENDO UN WMS Y LEYENDO LA BASE DE DATOS..............................................................................................................................................................75 CAPITALES MOSTRADAS EN GVSIG CONSUMIENDO UN SERVICIO WFS.................................84 CONEXIÓN A BASE DE DATOS..................................................................................................................85 SELECCIÓN OPCIÓN EDICIÓN.................................................................................................................86 HERRAMIENTAS DE EDICIÓN, ASPECTO DE CAPA SELECCIONADA.........................................87 SELECCIÓN DE POLÍGONO A EDITAR...................................................................................................88 RESULTADO DE EDICIÓN. ........................................................................................................................89 CREACIÓN DE NUEVO POLÍGONO.........................................................................................................90 POLÍGONO CREADO....................................................................................................................................91 CREACIÓN DE POLÍGONO CON FORMA DE CIRCULO CON HERRAMIENTAS DE EDICIÓN. ............................................................................................................................................................................92 TABLA DE ATRIBUTOS...............................................................................................................................93 CREACIÓN DE NUEVA CAPA.....................................................................................................................94 INFORMACIÓN PARA CARGA A BASE DE DATOS..............................................................................95 LAYER 1. LAYER CARGADO A BASE DE DATOS.................................................................................96

Bucaramanga – Diplomado SIG 4

LISTA DE TABLAS TABLA DE PARÁMETROS DE LA PETICIÓN GETCAPABILITIES PARA EL SERVICIO WMS 60 TABLA DE PARÁMETROS DE LA PETICIÓN GETMAP PARA EL SERVICIO WMS....................69 TABLA DE PARÁMETROS DE LA PETICIÓN GETFEATUREINFO PARA EL SERVICIO WMS 71 TABLA DE PARÁMETROS DE LA PETICIÓN GETCAPABILITIES PARA EL SERVICIO WFS..78 TABLA DE PARÁMETROS DE LA PETICIÓN DESCRIBEFEATURETYPE PARA EL SERVICIO WFS....................................................................................................................................................................80 TABLA DE PARÁMETROS DE LA PETICIÓN GETFEATURE PARA EL SERVICIO WFS...........82

Bucaramanga – Diplomado SIG 5

Introducción 1.1 Qué es OGC

La Open Geospatial Consortium, Inc. (OGC) [http://www.opengeospatial.org/], es una asociación sin ánimo de lucro dedicada a promover nuevas técnicas y aproximaciones comerciales al geoprocesamiento ínter operable, fue fundada en 1994 como respuesta al reconocido problema de la falta de interoperabilidad y sus múltiples efectos negativos sobre la industria, los gobiernos y las universidades. Los miembros de OGC comparten una visión positiva de una infraestructura de información global en la cual los geodatos y los recursos de geoprocesamiento sean accesibles a todo el mundo, estén integrados con las últimas tecnologías de computación distribuida y abran una amplia variedad de actividades y nuevos mercados que den lugar a nuevas oportunidades de negocio y beneficios al público en general. Vendedores de software de geoprocesamiento, vendedores de bases de datos, vendedores de software de visualización, integradores de sistemas, vendedores de computadores, compañías de telecomunicaciones, universidades, proveedores de información y agencias federales se han unido a OGC para participar en la creación de especificaciones software y nuevas estrategias de negocio que ayuden a resolver esta problemática. La especificación OpenGIS [http://www.opengeospatial.org/standards] es una especificación exhaustiva del marco de trabajo software para el acceso distribuido a los geodatos y a los recursos de geoprocesamiento. Esta especificación proporciona a los desarrolladores de software de todo el mundo unas interfaces comunes detalladas que permiten que el software desarrollado por diferentes vendedores ínter opere entre sí.

1.1.1 ¿Cuál es la visión de OGC? “Un mundo en el que cualquiera se pueda aprovechar de la información geográfica y los servicios sean accesibles a través de cualquier red, aplicación o plataforma”. Aproximadamente el 80% de la información de negocio y gubernamental tiene alguna referencia a una localización, pero hasta hace bien poco tiempo, el poder de la geografía o de la información espacial y la localización se había infrautilizado como un recurso vital para mejorar la productividad económica, los servicios y las decisiones de mercado. Nos encontramos en una sociedad cada vez más distribuida y móvil. Nuestras tecnologías, servicios y recursos de información deben ser capaces de aprovechar la localización (por ejemplo, dónde me encuentro en este momento) y la información espacial para ayudarnos a visualizar y analizar las situaciones desde un punto de vista geográfico. Bucaramanga – Diplomado SIG 6

Los productos y servicios que cumplen con las especificaciones de las interfaces abiertas de Open GIS permiten a los usuarios intercambiar y utilizar libremente la información, aplicaciones y servicios espaciales disponibles a lo largo de la red, en las diferentes plataformas y productos.

1.1.2 ¿Cuál es la misión de OGC? “Nuestra principal misión es proveer especificaciones de interfaces espaciales que estén disponibles para un uso global” Las especificaciones de interfaces abiertas permiten a los proveedores de información, a los desarrolladores de aplicaciones y a los integradores centrarse en la entrega de productos y servicios de mayor capacidad a los clientes en menos tiempo, con menos coste, y con mayor flexibilidad.

1.1.3 ¿Cuál es la aproximación empleada?  Organizar Proyectos de Interoperabilidad: OGC emplea una amplia variedad de técnicas innovadoras que permite a los desarrolladores y a los integradores probar, validar y documentar de manera rápida y efectiva las especificaciones en base a sus requisitos de usuario.  Trabajar de manera conjunta hacia el consenso: Los miembros de OGC trabajan de manera consensuada con el propósito de entender los requisitos de interfaces, y acercar a desarrolladores, integradores y usuarios hacia unas especificaciones en las que se cubran sus necesidades.  Formalizar Especificaciones OGC: A través de Comités de Programa OGC, los miembros del OGC desarrollan, revisan y hacen públicas las especificaciones de Open GIS.  Desarrollar estrategias que proporcionen oportunidades de negocio: OGC está continuamente explorando el mercado para anticiparse a sus necesidades, e identificar y atraer a comunidades que participen en el desarrollo y adopción de las especificaciones de Open GIS.  Desarrollar estrategias con asociaciones encargadas de establecer estándares: OGC mantiene lazos estrechos con organizaciones de estandarización internacionales y comerciales y con comunidades tecnológicas para colaborar en el tema de la interoperabilidad.  Promover la demanda de productos ínter operables: A través de los programas de relaciones con el público y relaciones comerciales, OGC trabaja conjuntamente con sus miembros para incrementar la conciencia y la aceptación de las especificaciones de Open GIS entre el público.

Bucaramanga – Diplomado SIG 7

1.1.4 ¿Cuáles son los principales valores a los que está comprometido?  Comunidad Global: encontrar las necesidades referentes a tecnología geoespacial de la comunidad global.  Innovación: establecer programas que desarrollen rápidamente interfaces que cumplan con las necesidades cambiantes de la tecnología.  Eficiencia, Oportunidad y Calidad: encontrar las necesidades del mercado en el momento oportuno, al menor coste posible y con el mayor nivel de utilidad.  Integridad: trabajar de manera consensuada para buscar el acuerdo en las interfaces, respetando y protegiendo la propiedad intelectual de los miembros. Liderazgo: mantener un liderazgo en la comunidad de estándares globales.

1.1.5 Arquitectura de servicios web La Arquitectura de Servicios Web de OGC es un marco de trabajo de carácter evolutivo basado en estándares que permiten la integración de una amplia variedad de servicios “on-line” de geoprocesamiento y localización. Esta arquitectura permite que sistemas de geoprocesamiento distribuidos puedan comunicarse unos con otros usando tecnologías como XML [http://www.w3.org/XML/] y HTTP. Esto significa que sistemas capaces de trabajar con XML y HTTP serán capaces tanto de conocer como de utilizar dichos servicios. Esta arquitectura de servicios va a permitir a futuras aplicaciones disponer de múltiples servicios de geoprocesamiento y localización a través de la red. Esta capacidad será posible debido a que las reglas serán establecidas para que estos servicios hagan pública la funcionalidad que proporcionan y la forma en la que se les debe de enviar las peticiones de servicio vía métodos abiertos y estandarizados. De esta manera, la Arquitectura de Servicios Web de OGC proporciona un marco de trabajo independiente de vendedores concretos para la búsqueda, el acceso, la integración, el análisis, la explotación y la visualización de múltiples fuentes de geodatos “on-line”, de información derivada de sensores, y de capacidades de geoprocesamiento. La Arquitectura de Servicios Web de OGC proporcionará un marco de trabajo de referencia para la creación de sistemas de geoprocesamiento orientados a web, abiertos e ínter operables. Usando estos sistemas, tareas complejas serán realizadas desde computadores personales baratos con un dispositivo que permita el acceso a la red. El geoprocesamiento distribuido permitido por esta arquitectura posibilitará establecer arquitecturas de comercio electrónico que dinámicamente se conecten para colaborar con comunidades de proveedores de información, agentes y usuarios para realizar tareas complejas de explotación de información y geoprocesamiento, así como la compartición de recursos de información georeferenciada entre múltiples dispositivos accesibles vía red. Internet y las tecnologías basadas en el web proporcionarán protocolos de red comunes para estos sistemas.

Bucaramanga – Diplomado SIG 8

Arquitectura de Servicios Web de OGC

Este marco de trabajo también va a ofrecer mecanismos de codificación y transporte de contenidos que permitan que la información georeferenciada describa de manera más completa el mundo real. Estas codificaciones describirán la localización (una posición tridimensional en el espacio) así como otros atributos tales como el tiempo. Este contenido será aprovechado por otras aplicaciones basadas en web que recorrerán los enlaces georeferenciados entre recursos distribuidos.

Esta arquitectura de Servicios Web de OGC romperá las barreras entre los usuarios de la información y los sensores que recolectan y las bases de datos que almacena esa información sobre el mundo real. Usando este marco de trabajo proporcionado por OGC, los sensores con acceso a web directamente transmitirán los datos a la gente y a las máquinas, evitando los inconvenientes de localizar y acceder a los datos en los repositorios. Esta capacidad reducirá el tiempo entre la captura de los datos y la utilización de estos datos a la toma de decisiones. Con esta arquitectura se reducirán los costes de desarrollo de los sistemas centrados en soluciones web complejas, mientras se incrementan las oportunidades para la innovación y la competitividad. Las aplicaciones basadas en la localización y el geoprocesamiento, serán seleccionadas en base a sus prestaciones, relevancia, coste, calidad de servicio y el cumplimiento de los estándares.

Bucaramanga – Diplomado SIG 9

Estructura A continuación se presentan los ejercicios propuestos para el desarrollo del curso de Geoservicios con Mapserver.

1.2 Base tecnológica

NOMBRE

Instalación de la base tecnológica para le implementación de Geoservicios.

OBJETIVO

Familiarizar al estudiante con los componentes básicos de la implementación de geoservicios, y con la instalación y testeo de los mismos.

RESULTADO

El estudiante instalara correctamente los componentes Java Virtual Machine JVM y Apache, además realizara con éxito las pruebas necesarias para comprobar el correcto funcionamiento de los componentes.

1.2.1 1.2.1.1

Servidor HTTP Apache 2.2.8 Descripción

Desarrollado dentro del proyecto HTTP Server de la Apache Software Foundation. Es de código abierto, y multiplataforma (Unix, Windows). La razón por la cual se utiliza, es la confiabilidad que ofrece, más del 50% de los sitios web en el mundo lo utilizan, así los confirman las estadísticas históricas y de uso diario proporcionadas por Netcraft1. Presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero carece de una interfaz gráfica para su configuración. Apache es un software que se ejecuta de forma continua en el servidor, manteniéndose a la espera de peticiones por parte de un cliente, su configuración permite contestar de forma adecuada a estas peticiones, en forma de página web o con un mensaje correspondiente, si se detecta algún error. La instalación de este software habilita entre otras cosas: la carga de una página web sin necesidad de contratar hosting 2, probar los desarrollos SIG en local y acceder a los ficheros de un ordenador desde un PC remoto. 1.2.1.2

Instalación y Configuración

El proceso de instalación del servidor http se genera básicamente accediendo al URL http://httpd.apache.org/ en la zona de descarga descara a la maquina local el ejecutable que se acople los binarios que se acoplen al sistema operativo que se está trabajando, en este caso el WIN32. Una vez descargado el software, existe una interfaz de usuario, es muy

1

http://news.netcraft.com

2

El término hace referencia a un servidor externo, el cual será compartido por otras empresas distribuyen el servicio.

clientes quienes

Bucaramanga – Diplomado SIG 10

sencilla e intuitiva, se debe definir el nombre de dominio 3 del servidor, mantener el puerto 80 y crear el directorio virtual. (Vea la figura 1, le servirá de ayuda)

Interfaz de usuario para configurar Apache

1.2.1.3

Testeo

Abrir un navegador (Mozila o IE) e introducir la dirección http://localhost. Debe aparecer la página de inicio de Apache, con lo que se comprueba que está funcionando (ver figura 11).

Verificando el correcto funcionamiento de Apache

3

Es una cadena de caracteres que identifica un PC, se asocia a su IP por el sistema de nombres de domino DNS que ofrece el proveedor de telecomunicaciones

Bucaramanga – Diplomado SIG 11

1.2.2 1.2.2.1

Maquina Virtual Java Descripción

Muchos de los componentes que se utilizan en una Infraestructura de Datos Espaciales, están construidos en Java, por eso es necesario instalar una maquina virtual (JVM) para su correcto funcionamiento. Sun Microsystem distribuye una JVM gratuita para Windows, Linux y Solaris. Existen distribuidores de terceros y grupos de código abierto que cuentan con JVM para otras plataformas, algunas de pago otras gratuitas. 1.2.2.2

Instalación

Para el entrono Windows, el instalador es un archivo ejecutable que tiene una interfaz grafica para facilidad del usuario. El proceso de instalación se pude resumir en un paso

1. Descargue la ultima JVM del sitio Web de Java SUN (http://java.sun.com), posteriormente haga doble clic en el archivo de descarga para instalar el JDK, la carpeta en la que instale el JDK se denomina carpeta principal de java Cuenta con diferentes subcarpetas, pero nos enfocamos en el directorio BIN, en el que están almacenados los ejecutables (JVM, el compilador, depurador y una utilidad d empaquetado). 1.2.2.3

Configuración

El siguiente paso es añadir la carpeta principal de JAVA, como variable de entorno con el nombre JAVA_HOME, para que el sistema operativo pueda encontrarla. Inicio>configuración>panel de control>y haga clic en sistema, seleccione la pestaña Opciones Avanzadas; pulse el botón variables de entorno, tras ello, haga clic en el botón Nueva; del grupo variables del sistema (mitad inferior de la interfaz), e introduzca JAVA_HOME como nombre de la variable y la ruta a su instalación de JDK (vea las figuras 3 y 4, le servirá de guía para saber cómo hacerlo).

Bucaramanga – Diplomado SIG 12

Acceso a las variables de entorno del sistema

Construyendo la variable de entorno JAVA_HOME

Bucaramanga – Diplomado SIG 13

Posteriormente añada la carpeta BIN a la variable de entorno del sistema operativo Windows denominada PATH, esto con el fin de ejecutar el compilador de java desde cualquier ruta de la maquina donde se instalo la JVM. Para ello modifique la variable PATH (vea la figura 5, como guía para hacerlo), introduzca al final de la sentencia la ruta absoluta de la carpeta bin seguido de un punto y coma (;), ejemplo: ;C:\Archivos de programa\Java\jdk1.5.0_10\bin

Construyendo la variable de entorno PATH

1.2.2.4

Testeo

Ejecute la consola y coloque el siguiente texto: java -version o en su defecto java c ,si está bien instalado debe aparece algo similar a la figura 6.

Testeando la JVM

1.3 Base de Datos

NOMBRE

Instalación de la Base de Datos PostgreSQL y PostGIS

Bucaramanga – Diplomado SIG 14

OBJETIVO

Familiarizar al estudiante con el Sistema Manejador de Base de Datos (SMBD) PostgreSQL y PostGIS, conociendo su estructura y funcionamiento.

RESULTADO

El estudiante instalara correctamente el SMBD, creara Roles, Vistas Geograficas, Tablespace y cargara información geográfica a partir de archivos en formato shape.

1.3.1

PostgreSQL

Es un sistema manejador de base de datos, cuenta con todas las funciones propias de un SMBD tales como: creación de llaves ajenas y foráneas, creación de disparadores (triggers), vistas, integridad transaccional y como una característica a resaltar la herencia de tablas por lo cual en ocasiones se afirma que el sistema es objeto relacional. Igualmente se puede desarrollar aplicaciones en una variedad de lenguajes, algunos de los más importantes son PL/pgSQL, C, C++ y Java. Otra característica importante cuando se trabaja con los servidores mapping OGC es que esta base de datos cuenta con un sistema denominado MVCC (Acceso concurrente multiversión), es permite que mientras un proceso se escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Más información: http://www.postgresql.org

1.3.2

PostGIS

PostGIS es un módulo que añade soporte de objetos geográficos a la base de datos relacional PostgreSQL para su utilización en Sistema de Información Geográfica. Se publica bajo la GNU General Public License. Habilita operaciones geométricas.

1.3.3

Instalación

De la URL http://www.postgresql.org/ftp/binary/v8.2.1/win32/, descargar postgresql-8.2.1-1.zip. Una vez descomprimido ejecutar el postgresql-8.2.msi 4

el

archivo

1) Selección del idioma:

4

La extensión Postgis ya viene incorporada y no es necesario descargar los binarios de Internet.

Bucaramanga – Diplomado SIG 15

Interfaz de selección del idioma

2) Selección de paquetes a instalar: Seleccionar ‘PostGIS Spatial Extensions’ para que se instale el módulo de soporte de objetos geográficos.

Interfaz de selección de la extensión Postgis

NOTA: En el caso de querer instalar únicamente el cliente de acceso al gestor de bases de datos, deberemos seleccionar únicamente el apartado de ‘User Interfaces’ (pgAdmin III y psql). 3) Rellenar los campos si queremos instalar PostgreSQL como servicio.

Bucaramanga – Diplomado SIG 16

Interfaz de creación del servicio

4) Rellenar los campos del ‘database cluster’: Elegir Latin1 (ISO-88591) como ‘Encoding’.

Interfaz para la selección del puerto y el encoding

5) Elegir PL/pgsql.

Bucaramanga – Diplomado SIG 17

Interfaz para la selección de los lenguajes de programación

6) Seleccionar los módulos especiales que necesitemos: B-Tree GiST y L-Tree para objetos geométricos. Large Objects (lo) para objetos de gran tamaño. TSearch2 para índices de texto.

Interfaz para la selección de los algoritmos de almacenamiento para trabajar con Postgis

NOTA: Con esta información PostgreSql ya está listo para arrancarse como un servicio en el sistema operativo Windows. 7) Añadir PostgreSQL al la variable de entorno PATH: Nombre de la variable = Path

Bucaramanga – Diplomado SIG 18

Valor Path= C:\Archivos de programa\PostgreSQL\8.2\bin (suponiendo que la instalación se realizó en el path ‘C:\Archivos de programa\PostgreSQL\8.2’

Creación de variable de entorno de los binarios de PostgreSQL

1.3.4

Crear un Rol



En pgAdmin III  Crear nuevo Rol de Login



Indicar el nombre (p.ej: admin).



Indicar el password.



Resto de opciones desactivadas.

Bucaramanga – Diplomado SIG 19

Creación de un rol

1.3.5

Crear un Tablespace

Una vez que estás conectado a un servidor, puedes crear un nuevo tablespace pulsando el botón derecho sobre el nodo de tablespaces.

Bucaramanga – Diplomado SIG 20

Nuevo Tablespace

Dale el nombre que consideres adecuado. La localización que quieras utilizar debe existir, así que quizá tengas que acceder a la máquina a crear el directorio primero. El usuario propietario también debe existir, así que antes deberemos haber seguido los pasos de la sección Error: Reference source not found. En postgresql no se puede indicar el tamaño que quieres asignarle al tablespace, ni cuál va a ser su límite. Parece que el tratamiento que le da este gestor es dinámico, y no le pone un tope. Una vez pulses OK verás que en la lista de tablespaces (refresca primero) aparece un nuevo elemento.

1.3.6

Crear una nueva Base de Datos

Crear la base de datos:

Bucaramanga – Diplomado SIG 21



Darle nombre (p.ej: colombia).



Indicar propietario (administrador de PostgreSQL).



Elegir el tipo de codificación (LATIN1 (ISO-88591)).



Elegir el tablespace asociado (el creado en el paso anterior).



Elegir plantilla (template_postgis).

Nueva base de datos

1.3.7

Cargar Shapefiles en la Base de Datos

En la consola de Windows ejecutar las siguientes instrucciones: shp2pgsql -s -I < esquema.tablaDestino> | psql –U -d Con esta instrucción transformamos el shape en un fichero con instrucciones sql encargadas de generar en la base de datos (en el esquema y tabla que hemos indicado) todos los

Bucaramanga – Diplomado SIG 22

elementos necesarios en PostgreSQL para almacenar información geográfica y posteriomente se procede con el almacenamiento de la información. Todas las capas se van a almacenar en el sistema de referencia WGS84, cuyo código EPSG es 4326. Para las 3 capas que se van a usar, las instrucciones serian las siguientes: •

Capa de Departamentos

shp2pgsql –s 4326 -I c:\servicioWMS\Datos\Departamentos.shp departamentos | psql –U admin –d colombia



Capa de Municipios

shp2pgsql –s 4326 -I c:\servicioWMS\Datos\Municipios.shp municipios | psql –U admin –d colombia



Capa de Ciudades

shp2pgsql –s 4326 -I c:\servicioWMS\Datos\Ciudades.shp ciudades | psql –U admin –d colombia

1.3.8

Crear Vistas espaciales

Una vista es una consulta, que refleja el contenido de una o más tablas, desde la que se puede acceder a los datos como si fuera una tabla. Para crear una vista espacial, esta debe salir de la consulta por medio del uso de funciones espaciales. PostGIS cuenta con un gran número de funciones para análisis espaciales/topológicas que extienden el propio SQL del PostgreSQL. Para este trabajo, fueron seleccionadas algunas funciones, con miras a las demandas cotidianas de las instituciones que tratan la Geoinformación, así como, la complejidad computacional de las mismas: •

Disjoint: se analiza si dos geometrías poseen algún punto en común y retorna el valor verdadero (t, true) si ningún punto fuera identificado;



Intersects: se analiza si dos geometrías poseen alguna intersección y retorna verdadero (t, true) si esto ocurre;



Touches: se analiza si dos geometrías poseen alguna intersección y retorna verdadero (t, true) si esto ocurre;



Crosses: se analiza si dos geometrías se cruzan y retorna verdadero (t, true) si esto ocurre;



Within: analiza si una geometría está contenida en la otra y retorna verdadero (y, trae) si esto ocurre;



Contains: analiza si una geometría contiene a la otra y retorna verdadero (t, true) si esto ocurre. Bucaramanga – Diplomado SIG 23

Para crear una vista seguimos el siguiente procedimiento: •

Nos dirigimos al editor de SQL de PostgreSQL y digitamos el siguiente SQL para crear la vista de los Ríos que se interceptan con el Departamento del Meta, y le damos ejecutar:

CREATE VIEW rios_meta AS SELECT r.gid, r.the_geom FROM rios r, departamentos d WHERE intersects(d.the_geom, r.the_geom) = true AND d.nombredept = 'Meta';

Creación de una Vista espacial en PostgreSQL

1.4 Clientes SIG Open Source

Bucaramanga – Diplomado SIG 24

NOMBRE

Instalación y manipulación de gvSIG

OBJETIVO

Familiarizar al estudiante con el cliente SIG gvSIG, manipulando algunas de las herramientas de este software.

RESULTADO

El estudiante instalara correctamente gvSIG, cargara información en formato shape, capas en formato Raster, las capas cargadas previamente en la base de datos, y se conectara a servicios Web WMS.

1.4.1

Descripción

gvSIG es un programa para el manejo de información geográfica con precisión cartográfica que se distribuye bajo licencia GNU GPL. Permite acceder a información vectorial y raster así como a servidores de mapas que cumplan las especificaciones del OGC. Esta es una de las principales características de gvSIG respecto a otros Sistema de Información Geográfica, la importante implementación de servicios OGC: WMS (Web Map Service), WFS (Web Feature Service), WCS (Web Coverage Service), Servicio de Catálogo y Servicio de Nomenclator. Está desarrollado en lenguaje de programación Java, funcionando con los sistemas operativos Microsoft Windows, Linux y Mac OS X, y utiliza librerías estándar de GIS reconocidas, como Geotools o Java Topology Suite (JTS). Así mismo, gvSIG posee un lenguaje de scripting basado en Jython y también se pueden crear extensiones en Java utilizando las clases de gvSIG Entre los formatos gráficos de fichero más habituales cuenta entre otros con acceso a formatos vectoriales GML, SHP, DXF, DWG, DGN, KML y formatos de imagen raster como MrSID, GeoTIFF, ENVI o ECW.

1.4.2

Instalación

Para el entrono Windows, el instalador es un archivo ejecutable que tiene una interfaz grafica para facilidad del usuario. El proceso de instalación se pude resumir en un paso 1. Descargue la última versión de gvSIG del sitio Web (http://www.gvsig.gva.es/), posteriormente haga doble clic en el archivo de descarga para instalar el gvSIG, y continúe con el wizard de instalación.

1.4.3

Manejo del Software

A continuación se explicara la forma de interactuar con la interfaz de usuario para realizar las tareas de adición de capas en formato shape, en formato Raster, de una base de datos y consumiendo servicios Web. Lo primero al iniciar gvSIG es escoger la opción de trabajo. Este software nos presenta 3, la opción Vista, la opción Tabla y la opción Mapa.

Bucaramanga – Diplomado SIG 25



Con la opción Vista manipulamos los datos desde diversas fuentes, explorándolos, procesándolos y editándolos.



Con la opción Tabla, podemos tener acceso a las tablas de diferentes bases datos, en donde se pueden hacer consultas, joins y edición de la información de forma alfanumérica.



Con la opción Mapa, se pueden agregar escalas, nortes, bordes y demás estilos a la información geográfica que se quiera presentar. Toda la información que se ha manipulado en la vista, se puede presentar en un mapa, exportándolo a un PDF.

Crear una vista en gvSIG

Para la opción vista, una vez hayamos creado una con el botón Nuevo, debemos dirigirnos hacia las propiedades de la Vista en la misma pantalla (ver figura 17), para asignar un sistema de referencia adecuado para los datos que vamos a trabajar.

1.4.3.1

Cargando capas Shape

Para adicionar una capa shape seguimos este procedimiento: •

Vamos al menú vista/añadir capas o con el botón añadir capas

Bucaramanga – Diplomado SIG 26

Añadir capas a gvSIG



A continuación seleccionamos la pestaña archivo / añadir / y buscamos la capa que queremos añadir, teniendo en cuenta que en la parte inferior en Archivos de Tipo este puesto gvSIG shp driver

Añadir capas shape a gvSIG

1.4.3.2

Cargando capas Raster

Para adicionar una capa Raster seguimos este procedimiento:

Bucaramanga – Diplomado SIG 27



Vamos al menú vista/añadir capas o con el botón añadir capas



A continuación seleccionamos la pestaña archivo / añadir / y buscamos la capa que queremos añadir, teniendo en cuenta que en la parte inferior en Archivos de Tipo este puesto gvSIG Image Driver

Añadir capas Raster a gvSIG

1.4.3.3

Cargando capas desde PostgreSQL + PostGIS

Para adicionar una capa desde una Base de Datos Espacial seguimos este procedimiento: •

Vamos al menú vista/añadir capas o con el botón añadir capas



A continuación seleccionamos la pestaña GeoDB y nos aparecerá el siguiente formulario

Bucaramanga – Diplomado SIG 28

Configuración de la conexión a PostgreSQL desde gvSIG

Para esto debemos tener en cuenta: •

Nombre de la Conexión: Es el nombre con el que se guardan los parámetros para futuros usos.



Driver: Es el modo de conexión que usa gvSIG para conectarse a una base de datos. Depende de cual SMBD sea, en este caso PostGIS JDBC Driver.



Url del servidor: Es la ubicación en una red donde se encuentra el servidor de base de datos. Como la base de datos la estamos manipulando de forma local colocamos localhost, si no colocaríamos la IP del servidor. Para esto el archivo ph_hba.conf debe estar correctamente configurado.



Puerto: El puerto por defecto para conectarse a PostgreSQL es el 5432.



Nombre de DB: es el nombre de la Base de Datos que creamos con anterioridad en PostgreSQL.



Usuario: Nombre de usuario que creamos en PostgreSQL.



Clave: Contraseña asignada el usuario.

Bucaramanga – Diplomado SIG 29

Una vez hecho esto, la información del primer formulario se nos cargara con la información solicitada en donde podremos ver las tablas, las columnas, el nombre de la capa, cual es el campo con el ID, cual campo tiene la Geometría, etc.

Añadir capas desde PostgreSQL + PostGIS a gvSIG

1.4.3.4

Cargando capas WMS desde un servidor de mapas

Para adicionar una capa WMS seguimos este procedimiento: •

Vamos al menú vista/añadir capas o con el botón añadir capas



A continuación seleccionamos la pestaña WMS y nos aparecerá el siguiente formulario

Bucaramanga – Diplomado SIG 30

Añadir capas desde un servidor de Mapas

En la parte del servidor, digitamos la URL del servicio al cual queremos conectarnos, y en caso de tener una conexión exitosa este nos devuelve una descripción del servicio. Damos en siguiente para proseguir con la petición del servicio.

Información y Propiedades

del Servicio WMS

Se nos presentan la servicio y las mismo. Damos en escoger las capas que visualiza. Activamos la Estructura de Capas muestre la simbología capas.

información del propiedades del siguiente para deseamos opción Mantener para que nos asociada a las

Bucaramanga – Diplomado SIG 31

Capas disponibles en el servicio

Despues podemos escoger el formato de salida de la imagen. La disponibilidad de los diferentes formatos depende de la configuración del servicio. Tambien podemos escoger el sistema de referencia en el cual queremos que se despliegue la información. Esto también depende de la disponibilidad de varios sistemas de referencia en el servicio.

Bucaramanga – Diplomado SIG 32

Formatos y sistemas de referencia disponibles

En este punto damos Aceptar y el servicio se visualiza.

1.5 Servidores de Mapas Open Source

NOMBRE OBJETIVO RESULTADO

1.5.1

Introducción a Mapserver Familiarizar al estudiante con el servidor de Mapas Mapserver El estudiante instalara correctamente MapServer, conocerá la estructura de carpetas que se utilizara.

Descripción

Bucaramanga – Diplomado SIG 33

MapServer es un ambiente de desarrollo de código abierto para construir aplicaciones web espaciales. Esta construido sobre otros sistemas de código abierto o freeware y que corre tanto bajo plataformas UNIX/Linux como sobre plataforma Windows 95 o superior. Si bien MapServer puede trabajar directamente con archivos en formato shape, se obtiene una performance significativamente superior cuando se utiliza en combinación con PostGIS/PostgreSQL. Mapserver generalmente funciona como una aplicación CGI (CGI es una norma para establecer comunicación entre un servidor Web y un programa, de tal modo que este ultimo pueda interactuar con internet) y corre dentro de un servidor HTTP. Este argumento es verdadero a menos que se trabaje en una aplicación mas complicada con MapScript y un acceso al API de MapServer. El CGI de MapServer utiliza los siguientes recursos: •

Un servidor HTTP como Apache o Internet Information Server



Software MapServer



Un archivo de inicialización que active la primera vista de la aplicación MapServer (opcional)



Un archivo Mapfile que controle lo que MapServer hace con los datos



Un Templeta File que controle la aplicación de Mapserver en la ventana del browser



Una fuente de datos geográficos

1.5.2

Modos en los que trabaja Mapserver

Mapserver puede operar de diferentes modos, dependiendo de que es lo que se quiere hacer. Entre los modos más comunes están: •

Browse: Este es el modo por defecto. Provee navegación interactiva de un mapa.



Map: En este modo solo se muestra una imagen del mapa. La navegación interactiva no está soportada.



Query: Permite una búsqueda de todos los layer queryables que estén disponibles en el mapa.

1.5.3

Instalación de MapServer

Dentro de la carpeta Mapserver 4.8, encontraremos la siguiente estructura:

Bucaramanga – Diplomado SIG 34

Carpetas que componen MapServer

Para instalar MapServer, seguiremos los siguientes pasos: •

Copiar a la carpeta CGI-BIN de Apache los archivos ubicados en la Carpeta Mapserver4.8 a excepción de:  el directorio fonts: contiene los estilos de letras que se usan en los mapas  el directorio nad: contiene información sobre los Sistemas de Coordenadas  el directorio symbols: contiene los estilos de símbolos

1.5.4

Testeo

Para probar el funcionamiento de Mapserver con Apache, digitamos la siguiente URL en un browser: http://localhost/cgi-bin/mapserv.exe Si esta de forma correcta nos debe aparecer lo siguiente:

Bucaramanga – Diplomado SIG 35

Comprobación de la instalación de Mapserver



A continuación crearemos un directorio en C:\ con la estructura que se muestra a continuación para guardar el resto de directorios

Estructura de directorios para Mapserver

En la carpeta fuentes, colocaremos el contenido de la carpeta fonts. En la carpeta simbolos colocaremos el contenido de la carpeta symbols, y en la carpeta proyecciones colocaremos el contenido de la carpeta nad.

1.6 Creación de Mapfiles

NOMBRE

Creación y configuración de Mapfiles

Bucaramanga – Diplomado SIG 36

OBJETIVO

Familiarizar al estudiante con los archivos de configuración de mapas de Mapserver

RESULTADO

El estudiante lograra configurar con éxito 3 archivos Mapfile desplegando información de un shape, de una imagen raster y conectándose a una base de datos.

1.6.1

El Mapfile

El Mapfile define los datos a ser usados en la aplicación, muestra y consulta de parámetros. También contiene información acerca de cómo se debe dibujar el mapa, la leyenda y el resultado al realizar una consulta. Este archivo generalmente tiene la extensión .map.

1.6.2

Mapa con un Layer

MapServer puede crear una imagen y almacenarla en un directorio local o ser enviada directamente para ser presentada en un Web browser, por medio de un URL. Este URL está compuesto de 3 partes (la URL se presenta para la ruta local del servicio): •

La primera parte, http://localhost/cgi-bin/mapserv?, llama el programa CGI de MapServer.



La segunda parte está compuesta por la ruta absoluta al archivo Mapfile que desee ver.



La tercera indica el modo en el cual quiere desplegar la información.

Vamos a cargar la capa de Departamentos desde un shape ubicado en la carpeta de datos, para esto el Mapfile debe lucir de la siguiente manera: MAP

NAME Colombia IMAGETYPE PNG EXTENT -80 -5 -65 14 SIZE 800 700 SHAPEPATH "C:\servidorWMS\datos\datos transformados" IMAGECOLOR 255 255 255 UNITS DD CONFIG PROJ_LIB "C:\servidorWMS\proyecciones" PROJECTION "init=epsg:4326"

Bucaramanga – Diplomado SIG 37

END #Final del Objeto PROJECTION LAYER NAME "departamentos" DATA "departamentos_wgs84" STATUS DEFAULT TYPE POLYGON PROJECTION "init=epsg:4326" END #Final del Objeto PROJECTION CLASS

NAME 'departamentos' COLOR 232 232 232 OUTLINECOLOR 32 32 32 END #Final del Objeto CLASS END #Final del Objeto LAYER END #Final del Objeto MAP

Este es el mecanismo de configuración básica que se usa para MapServer. El Mapfile está hecho de “objetos” y cada objeto posee palabras clave y otros objetos. Este tiene una estructura jerarquica como la que algunos objetos están por encima de otros, en la cima de esta jerarquía se encuentra el objeto MAP, todos los demás objetos están bajo este. Si revisamos el archivo .map, se encontrara la siguiente estructura:

Bucaramanga – Diplomado SIG 38

Estructura del archivo .map ejemplo1

En el browser se coloca una URL con la estructura previamente definida, como la siguiente http://localhost/cgi-bin/mapserv?map=C:\servidorWMS\mapas\ejemplo1.map&mode=map Y obtendremos este resultado

Bucaramanga – Diplomado SIG 39

Mapa mostrado en el browser con información de un shape

1.6.2.1

Parámetros del objeto MAP

IMAGETYPE La palabra clave IMAGETYPE es usada para definir que formato de imagen podría usar el programa CGI MapServer para la salida de las imágenes. En este caso se usa el color indexado PNG (similar al GIF). Este podría ser GIF, si se compila la librería GD con soporte para GIF, WBMP, o JPEG. También se puede especificar otros formatos de salida (PDF, SWF, GeoTIFF) asumiendo que se ha compilado el soporte para los mismos y que el OUTPUTFORMAT es de este tipo. EXTENT Este parámetro especifica las dimensiones de salida del mapa. Este necesita ser en las mismas unidades de los datos. En este caso nuestra unidad de salida son los grados. Para extraer los valores de la extensión, usted puede usar ArcView u otro software SIG. SIZE Este es el tamaño de la imagen (el mapa) que el MapServer puede generar, en pixels. Así el mapa es de 800 pixels de ancho por 700 pixels de alto.

Bucaramanga – Diplomado SIG 40

SHAPEPATH Esta es la ruta para los datos de sus layers. Usted puede proveer rutas absolutas (C:\servidorWMS\datos\datos transformados) o rutas relativas para la ubicación de sus mapfile (..\datos\datos transformados). Esta ruta no debe ser accesible al Web. No tiene que entrar directamente al Web, solo tiene el usuario que hacerlo correr en el servidor, y los datos pueden ser leídos en el SHAPEPATH. IMAGECOLOR Este es el color de background del mapa. Los valores son RGB y valores como 255 Red, 255 Green y 255 Black resultan en un background de color blanco. 1.6.2.2

Parámetros del objeto LAYER

LAYER Marca el inicio de un objeto LAYER dentro de un objeto MAP. Usted puede especificar los layers que desee y el límite para esto es de 100 por default. Usted puede cambiar este parámetro para lo cual hay que recompilar el CGI MapServer. NAME Este es el identificador del nombre de cada uno de los layers especificados. DATA El nombre del dato (shapefile en este caso). MapServer soporta formatos vectoriales y otros shapefiles que ESRI usa de ORG library (parte del GDAL software). TYPE ¿Qué tipo de dato es este? Si este es un dato vectorial, usted puede especificar si este es un POLYGON, LINE (usted usa LINE si sus datos técnicamente son POLYLINE), o un POINT. Usted también puede especificar RASTER o ANNOTATION. STATUS Los layer pueden ser colocados en ON u OFF basados en su STATUS. DEFAULT es siempre en ON o visible. ON u OFF funciona cuando el nombre del LAYER es pasado como parte del parámetro del query string. 1.6.2.3

Parámetros del objeto CLASS

CLASS Marca el inicio de un objeto CLASS dentro de un objeto LAYER. Usted puede especificar muchas clases en un layer y usted está limitado por default a 50. Se tendrá que recompilar el CGI MapServer para cambiar este valor. COLOR Bucaramanga – Diplomado SIG 41

Este es el color de relleno del polígono. En caso de que el TYPE sea LINE, este es el color de línea. Los valores son en formato RGB. OUTLINECOLOR Este es el color de línea de salida de los polígonos. Este valor está dado en RGB.

1.6.3

Mostrando las clases de una capa

Utilizando los atributos existentes en el archivo shape, podemos crear un archivo como este: MAP NAME

Colombia

IMAGETYPE

PNG

EXTENT

-80 -5 -65 14

SIZE

800 700

SHAPEPATH

"..\datos\datos transformados"

IMAGECOLOR

255 255 255

UNITS DD CONFIG PROJ_LIB "C:\servidorWMS\proyecciones" PROJECTION "init=epsg:4326" END

LAYER NAME "vias" DATA "vias_wgs84" STATUS DEFAULT TYPE LINE PROJECTION

Bucaramanga – Diplomado SIG 42

"init=epsg:4326" END CLASSITEM "DESCRIPTOR" CLASS NAME 'Carretera pavimentada' EXPRESSION "Carretera pavimentada" OUTLINECOLOR 0 0 150 END CLASS NAME 'Carretera sin pavimentar' EXPRESSION "Carretera sin pavimentar" OUTLINECOLOR 0 150 0 END CLASS NAME 'Carreteable' EXPRESSION "Carreteable" OUTLINECOLOR 150 0 0 END END END

El resultado de esto es:

Bucaramanga – Diplomado SIG 43

Mapa mostrado en el browser con información de las clases de un shape

Estructura del archivo .map ejemplo2

El Mapfile es todavía similar a los dos primeros ejemplos pero con unos pequeños parámetros adicionales en los objetos LAYER y CLASS. 1.6.3.1

Parámetros del objeto LAYER

CLASSITEM

Bucaramanga – Diplomado SIG 44

Esta palabra clave es usada para especificar que atributos se usan para separar un objeto de la clase. En el ejemplo el atributo es DESCRIPTOR. Si usted abre el archivo de la base de datos asociada con el shapefile del layer, usted podrá ver aquí una columna (atributo) llamado DESCRIPTOR y si buscamos entre la información almacenada podrá identificar un registro que contenga CARRETEABLE en el campo DESCRIPTOR. 1.6.3.2

Parámetros del objeto CLASS

EXPRESSION Por cada clase, nosotros especificamos que valores de atributos usamos. Esta es la forma simple del valor EXPRESSION. EXPRESSION puede ser más complejo incluso que esto. Usted puede revisar el material referente al Mapfile para ver qué es lo que usted puede hacer con EXPRESSION.

1.6.4

Mapa con más de un Layer y etiquetas.

MapServer puede utilizar datos raster como vectoriales. A través del uso de la librería GDAL, MapServer puede introducir y mostrar múltiples formatos raster. Se puede también adherir labels al mapa, lo cual es indispensable para identificar objetos geográficos dentro de un mapa. Para este Mapfile, utilizaremos lo escrito en el archivo ejemplo1.map y ejemplo2.map, pero ahora se adicionara una capa Raster ubicada en la carpeta de datos. Ademas se adicionara un layer para etiquetar la capa de Departamentos. Para esto el Mapfile quedara de la siguiente forma: MAP NAME Colombia IMAGETYPE PNG24 EXTENT -80 -5 -65 14 SIZE 800 700 SHAPEPATH "..\datos\datos transformados" IMAGECOLOR 255 255 255 UNITS DD CONFIG PROJ_LIB "C:\servidorWMS\proyecciones" PROJECTION "init=epsg:4326" END LAYER NAME "Modelo Digital de Elevacion" DATA "DTM1.JPG" STATUS DEFAULT TYPE RASTER OFFSITE 0 0 0 PROJECTION "init=epsg:4326" END

Bucaramanga – Diplomado SIG 45

END LAYER NAME "departamentos" DATA "departamentos_wgs84" STATUS DEFAULT TYPE POLYGON PROJECTION "init=epsg:4326" END CLASS END

NAME 'departamentos' OUTLINECOLOR 0 0 0

END LAYER NAME "vias" DATA "vias_wgs84" STATUS DEFAULT TYPE LINE PROJECTION "init=epsg:4326" END CLASSITEM "DESCRIPTOR" CLASS NAME 'Carretera pavimentada' EXPRESSION "Carretera pavimentada" OUTLINECOLOR 0 0 150 END CLASS NAME 'Carretera sin pavimentar' EXPRESSION "Carretera sin pavimentar" OUTLINECOLOR 0 150 0

END CLASS

NAME 'Carreteable' EXPRESSION "Carreteable" OUTLINECOLOR 150 0 0

END

END

LAYER NAME "departamentos_labels" DATA "departamentos_wgs84" STATUS DEFAULT TYPE ANNOTATION PROJECTION "init=epsg:4326" END LABELITEM "nombredept" CLASS

Bucaramanga – Diplomado SIG 46

LABEL COLOR 255 0 0 SHADOWCOLOR 218 218 218 SHADOWSIZE 2 2 TYPE BITMAP SIZE MEDIUM POSITION CC PARTIALS FALSE BUFFER 2 END

END END END

La estructura de este ejemplo sería la siguiente

Estructura del archivo .map ejemplo3

Y el resultado desplegado en el browser seria

Bucaramanga – Diplomado SIG 47

Mapa mostrado en el browser con las 3 capas cargadas

1.6.4.1

Parámetros del objeto MAP

IMAGETYPE Esto no es nuevo pero el valor PNG24 si lo es. PNG24 es la versión del formato PNG de 24bits o color verdadero. A cambio, en vez de estar limitados para 256 combinaciones de colores para formatos de salida, MapServer ahora tiene millones de colores. 1.6.4.2

Parámetros del objeto LAYER

DATA “DTM1.JPG” En el nuevo objeto incluido en LAYER, el parámetro DATA direcciona a una imagen JPG. Como fuentes de datos vectoriales, MapServer soporta múltiples formatos de archivos raster. Este soporte es logrado a través de la librería GDAL

Bucaramanga – Diplomado SIG 48

TYPE RASTER Cuando se usan datos raster (imagines)se deberá utilizar el valor RASTER del parámetro TYPE, como opuesto al POLYGON, LINE o PUNTO valores de datos vectoriales y ANNOTATION para identificación de etiquetas. OFFSITE Este parámetro indica a MapServer los valores de pixel para renderizar como background(o ignorer). Usted puede obtener los valores de los pixels usando processing de imagen o manipulación de programas de imagen (ejemplo Imagine, Photoshop, Gimp) FONTSET Aquí se especifica la ruta completa de nuestro archivo truetype fontlist (lista de fuentes). Este archivo lista cada una de las fuentes disponibles. Ver el archivo de documentación de fonset para más información. FONSET es un parámetro del objeto MAP. LABELITEM Este especifica que atributos de datos se usa para el etiquetado, en este caso NOMBREDEPT. LABELITEM es un parámetro del objeto LAYER. 1.6.4.3

Parámetros del objeto LABEL

LABEL Marca el inicio del objeto LABEL. El objeto label puede ser usado bajo otros objetos (Ejemplo: El objeto SCALEBAR). COLOR En el objeto LABEL, COLOR especifica el color de la etiqueta de texto. SHADOW COLOR Este especifica el color de la sombra de la etiqueta de texto. SHADOWSIZE Especifica el tamaño de la sombra. El valor correspondiente para las variables X e Y en pixeles. Para caso 2. 2 quiere decir dos pixels de ancho y dos pixels de alto. TYPE En el objeto LABEL, TYPE especifica qué tipo de fuente se va a usar. Nosotros podemos escoger entre TRUETYPE o BITMAP (el constructor en fuentes). Nosotros escogeremos BITMAP. FONT

Bucaramanga – Diplomado SIG 49

Si usted especifica TYPE como TRUETYPE, usted necesita especificar qué fuente usará. El valor de esta es el alias en el archivo de lista de fuentes. SIZE Si usa Fuentes truetype, el valor del tamaño es en pixels. Si es bitmap, usted puede escribir small, médium o large ANTIALIAS Este convierte el antialias truetype de ON en OFF. Recuerde el valor no es ON u OFF pero es TRUE o FALSE. POSITION Donde la posición de la etiqueta de texto es en relación a los puntos del label. Los valores son una combinación de posiciones verticales y horizontales. Usted puede escoger lo siguiente para una alineación vertical: C para el centro, L para la izquierda y R para la derecha. Para la alineación de la etiqueta de texto en el centro del label ID usted debe usar el valor CC (centercenter). O si usted quiere por abajo del ID, usted debe de usar el LL. Otra vía es que el MapServer decida la mejor posición de sus etiquetas. Para esto usted debe de estar usando el valor AUTO. PARTIALS Indica a MapServer donde generar las etiquetas incompletas o no. Por default aquí no se generan fragmentos de una etiqueta de texto. Los valores de esta es TRUE o FALSE. MINDISTANCE Esta es la mínima distancia en pixels entre etiquetas duplicadas. Usted puede incrementar este valor y observar que sucede con dicho cambio. BUFFER La cobertura (en pixels) de cada etiqueta. Esta es usada para reforzar la legibilidad. Un BUFFER de 4 pixels asegura que ninguna otra etiqueta se dibujará dentro de los cuatro pixels.

1.6.5

Mapa con información desde una base de datos

Con base en el ejemplo3, ahora adicionaremos una cuarta capa a nuestro mapa, esta vez desde una base de datos en PostgresSQL + PostGIS. Para este ejercicio adicionalmente crearemos simbolos para asignárselos a la capa de Capitales. El procedimiento es: •

Crear el archivo symbols.sym en la carpeta simbolos o abrir el archivo existente y adicionar esto:

SYMBOL

Bucaramanga – Diplomado SIG 50

NAME "CUADRADO" TYPE VECTOR POINTS 0 0 0 1 1 1 1 0 0 0 END FILLED TRUE

END SYMBOL NAME "PUNTO" TYPE ELLIPSE POINTS 1 1 END FILLED TRUE END SYMBOL NAME "CRUZ" TYPE VECTOR POINTS 0 0 1 1 -99 -99 0 1 1 0 END END

El archivo map debe lucir de la siguiente manera: MAP NAME Colombia IMAGETYPE PNG24 EXTENT -80 -5 -65 14 SIZE 800 700 SHAPEPATH "..\datos\datos transformados" SYMBOLSET "..\simbolos\symbols.sym" IMAGECOLOR 255 255 255 UNITS DD CONFIG PROJ_LIB "C:\servidorWMS\proyecciones" PROJECTION "init=epsg:4326" END LAYER NAME "Modelo Digital de Elevacion" DATA "DTM1.JPG"

Bucaramanga – Diplomado SIG 51

STATUS DEFAULT TYPE RASTER OFFSITE 0 0 0 PROJECTION

"init=epsg:4326"

END END LAYER NAME "departamentos" DATA "departamentos_wgs84" STATUS DEFAULT TYPE POLYGON PROJECTION "init=epsg:4326" END CLASS NAME 'departamentos' OUTLINECOLOR 0 0 0 END

END

LAYER NAME "vias" DATA "vias_wgs84" STATUS DEFAULT TYPE LINE PROJECTION

"init=epsg:4326" END CLASSITEM "DESCRIPTOR" CLASS NAME 'Carretera pavimentada' EXPRESSION "Carretera pavimentada" OUTLINECOLOR 0 0 150 END CLASS

NAME 'Carretera sin pavimentar' EXPRESSION "Carretera sin pavimentar" OUTLINECOLOR 0 150 0

END CLASS

END

NAME 'Carreteable' EXPRESSION "Carreteable" OUTLINECOLOR 150 0 0

END LAYER NAME "departamentos_labels" DATA "departamentos_wgs84"

Bucaramanga – Diplomado SIG 52

STATUS DEFAULT TYPE ANNOTATION PROJECTION "init=epsg:4326" END LABELITEM "nombredept" CLASS LABEL COLOR 255 0 0 SHADOWCOLOR 218 218 218 SHADOWSIZE 2 2 TYPE BITMAP SIZE MEDIUM POSITION CC PARTIALS FALSE BUFFER 2 END

END END

LAYER NAME "capitales" DATA "the_geom from capitales" TYPE POINT STATUS DEFAULT CONNECTIONTYPE POSTGIS CONNECTION "user=admin password=admin dbname=colombia host=localhost port=5432" CLASS NAME "capitales" STYLE SYMBOL "cuadrado" SIZE 10 COLOR 0 0 255 OUTLINECOLOR 0 0 0 END STYLE SYMBOL "punto" SIZE 8 COLOR 204 204 255 END STYLE SYMBOL "cruz" SIZE 4 COLOR 0 0 0 END END END END

END

Bucaramanga – Diplomado SIG 53

La estructura de este Mapfile seria

Estructura del archivo .map ejemplo4

La visualización de esto sería la siguiente:

Mapa mostrado en el browser con las 4 capas cargadas

1.6.5.1

Parámetros del objeto MAP

SYMBOLSET

Bucaramanga – Diplomado SIG 54

Definición del path de la definición del archivo de símbolo. El archivo símbolo en este archivo es referenciado por el parámetro SYMBOL en el objeto CLASS. 1.6.5.2

Parámetros del objeto LAYER

CONNECTION Es el string de conexión a la base de datos CONNECTIONTYPE Es el tipo de conexion que se desea realizar para desplegar informacio. Las opciones de este parámetro son: local, sde, ogr, postgis, oraclespatial, wms. 1.6.5.3

Parámetros del objeto STYLE

SYMBOL Nombre del símbolo que se desea usar en la clase. Este símbolo debe estar contenido en el archivo de simbolos que se definió mediante el SYMBOLSET.

1.7 Creando un WMS con MapServer

NOMBRE

Creación de Servicios WMS con Mapserver.

OBJETIVO

Familiarizar al estudiante con la creación de un servicio WMS bajo estandarización OGC con MapServer, y las diferentes operaciones que se pueden realizar a este tipo de servicio.

RESULTADO

El estudiante creara con éxito un servicio WMS y lograra ejecutar las operaciones básicas al mismo.

1.7.1

El servicio WMS

Este servicio se basa en el estándar internacional WMS 1.1.1, el cual define un "mapa" como una representación de la información geográfica en forma de un archivo de imagen digital conveniente para la exhibición en una pantalla de ordenador. Un mapa no consiste en los propios datos. Los mapas producidos por WMS se generan normalmente en un formato de imagen como PNG, GIF, TIFF o JPEG, y ocasionalmente como gráficos vectoriales en formato SVG (Scalable Vector Graphics) o WebCGM (Web Computer Graphics Metafile).

Bucaramanga – Diplomado SIG 55

El estándar define tres operaciones: 1. GetCapabilities: Devuelve los metadatos del nivel de servicio. 2. GetMap: Devuelve un mapa cuyos parámetros geográficos y dimensionales han sido bien definidos. 3. GetFeatureInfo: Devolver información de características particulares mostradas en el mapa (opcional). Para que funcione nuestro Mapfile y cumpla con la especificación, debemos modificarlo agregándole alguna información. El mapfile quedara de la siguiente forma: MAP NAME Colombia IMAGETYPE PNG24 EXTENT -80 -5 -65 14 SIZE 800 700 SHAPEPATH "..\datos\datos transformados" SYMBOLSET "..\simbolos\symbols.sym" IMAGECOLOR 255 255 255 UNITS DD CONFIG PROJ_LIB "C:\servidorWMS\proyecciones" PROJECTION "init=epsg:4326" END WEB

METADATA "ows_schemas_location" "http://schemas.opengeospatial.net" "wms_title" "Servidor WMS de Cartografia Basica" "wms_abstract" "Servidor WMS de Cartografia Basica" "wms_keywordlist" "Cartografia Basica" "wms_onlineresource" "http://172.17.119.103/cgibin/mapserv?map=C:\servidorWMS\mapas\ejemplo4.map" "wms_fees" "none" "wms_accessconstraints" "none" "wms_contactperson" "CHRISTIAN" "wms_contactorganization" "INSTITUTO GEOGRAFICO AGUSTIN CODAZZI" "wms_contactposition" "Ingeniero" "wms_addresstype" "postal" "wms_address" "Carrera 30 No. 48-54" "wms_city" "BOGOTA DC" "wms_stateorprovince" "BOGOTA DC" "wms_postcode" "010111" "wms_country" "COLOMBIA" "wms_contactvoicetelephone" "3694100" "wms_contactfacsimiletelephone" "3694100" "wms_contactelectronicmailaddress" "[email protected]" "wms_srs" "EPSG:4326" END

Bucaramanga – Diplomado SIG 56

END LAYER NAME "Modelo_Digital_de_Elevacion" DATA "DTM1.JPG" STATUS OFF TYPE RASTER OFFSITE 0 0 0 METADATA "wms_name" "Modelo Digital de Elevacion" "wms_title" "Modelo Digital de Elevacion" "wms_extent" "-80 -5 -65 14" "wms_srs" "EPSG:4326" END PROJECTION "init=epsg:4326" END END LAYER NAME "departamentos" DATA "departamentos_wgs84" STATUS OFF TYPE POLYGON METADATA "wms_name" "departamentos" "wms_title" "departamentos" "wms_extent" "-80 -5 -65 14" "gml_include_items" "nombredept" "wms_srs" "EPSG:4326" END PROJECTION "init=epsg:4326" END CLASS NAME 'departamentos' OUTLINECOLOR 0 0 0 END

END

LAYER NAME "vias" DATA "vias_wgs84" STATUS OFF TYPE LINE METADATA "wms_name" "Vias" "wms_title" "Vias" "wms_extent" "-80 -5 -65 14" "gml_include_items" "DESCRIPTOR" "wms_srs" "EPSG:4326" END

Bucaramanga – Diplomado SIG 57

PROJECTION "init=epsg:4326" END CLASSITEM "DESCRIPTOR" CLASS NAME 'Carretera pavimentada' EXPRESSION "Carretera pavimentada" OUTLINECOLOR 0 0 150 END CLASS NAME 'Carretera sin pavimentar' EXPRESSION "Carretera sin pavimentar" OUTLINECOLOR 0 150 0

END CLASS

NAME 'Carreteable' EXPRESSION "Carreteable" OUTLINECOLOR 150 0 0

END

END

LAYER NAME "departamentos_labels" DATA "departamentos_wgs84" STATUS OFF TYPE ANNOTATION METADATA "wms_name" "departamentos_labels" "wms_title" "departamentos_labels" "wms_extent" "-80 -5 -65 14" "gml_include_items" "nombredept" "wms_srs" "EPSG:4326" END PROJECTION "init=epsg:4326" END LABELITEM "nombredept" CLASS LABEL COLOR 255 0 0 SHADOWCOLOR 218 218 218 SHADOWSIZE 2 2 TYPE BITMAP SIZE MEDIUM POSITION CC PARTIALS FALSE BUFFER 2 END

END END LAYER

Bucaramanga – Diplomado SIG 58

NAME "capitales" DATA "the_geom from capitales" TYPE POINT STATUS OFF CONNECTIONTYPE POSTGIS CONNECTION "user=admin password=admin dbname=colombia host=localhost port=5432" METADATA "wms_name" "capitales" "wms_title" "capitales" "wms_extent" "-80 -5 -65 14" "gml_include_items" "nmg" "wms_srs" "EPSG:4326" END CLASS NAME "capitales" STYLE SYMBOL "cuadrado" SIZE 10 COLOR 0 0 255 OUTLINECOLOR 0 0 0 END STYLE SYMBOL "punto" SIZE 8 COLOR 204 204 255 END STYLE SYMBOL "cruz" SIZE 4 COLOR 0 0 0 END END END END END

La estructura de este Mapfile es: Estructura del archivo .map ejemplo5

Bucaramanga – Diplomado SIG 59

A continuación se presentara una descripción de cada una de estas peticiones y las aplicaremos a nuestro mapa del ejemplo5.

1.7.2

GetCapabilities

Los parámetros de esta petición son los relacionados a continuación

PARAMETRO DE LA PETICION

REQUERIDO / OPCIONAL

DESCRIPCION

VERSION=versión

O

Versión de la petición

SERVICE=WMS

R

Tipo de servicio

REQUEST=GetCapabilities

R

Nombre de la petición

UPDATESEQUENCE=string

O

Numero de la secuencia o string para el control del cache

Tabla de parámetros de la petición GetCapabilities para el servicio WMS

Para nuestro ejemplo, la petición URL seria http://localhost/cgi-bin/mapserv?map=C:\servidorWMS\mapas\ejemplo5.map&SERVICE=WMS&REQUEST=GetCapabilities

La respuesta seria un archivo XML con los Metadatos del Servicio. A continuación se presenta le respuesta GetCapabilities de Este servicio:



MapServer WFS Mi primer WFS http://172.17.119.103/cgi-bin/mapserv? map=c:\wms\mywfs.map&









Bucaramanga – Diplomado SIG 78



























capitales Capitales EPSG:4326



Bucaramanga – Diplomado SIG 79

















1.9.4

DescribeFeatureType

Los parámetros de esta petición se describen a continuación

PARAMETRO DE LA PETICION

REQUERIDO / OPCIONAL

DESCRIPCION

REQUEST=DescribeFeatureType

R

Nombre de la petición

TYPENAME

O

Lista de los features separados por coma. Si no se especifica ningún valor, esto será interpretado como la petición para todos los features.

OUTPUTFOTMAT

O

El formato de salida usado para describir la feature. Si no se especifica, el valor por default es XMLSCHEMA.

Tabla de parámetros de la petición DescribeFeatureType para el servicio WFS

Bucaramanga – Diplomado SIG 80

La petición vía URL es la siguiente: http://localhost/cgi-bin/mapserv?map=C:\WMS\mywfs.map&REQUEST=describefeaturetype&SERVICE=wfs&version=1.0.0

La respuesta a esta petición, es la descripción de cada una de las capas del servicio, como se muestra a continuación:













1.9.5

GetFeature

Los parámetros para esta petición se describen a continuación

PARAMETRO DE LA PETICION

REQUERIDO / OPCIONAL

DESCRIPCION

Bucaramanga – Diplomado SIG 81

REQUEST=GetFeature

R

Nombre de la petición

TYPENAME

R

Lista de los features separados por coma. Si no se especifica ningún valor, esto será interpretado como la petición para todos los features.

SERVICE=WFS

R

Nombre del servicio

VERSION

R

Version del WFS

Tabla de parámetros de la petición GetFeature para el servicio WFS

La petición vía URL será http://localhost/cgi-bin/mapserv? map=c:\wms\mywfs.map&request=GETFEATURE&typename=capitales&service=WFS&version=1.0.0

La respuesta a esta petición, es la cobertura pedida en el parámetro TYPENAME, en codificación GML. Dado que es extenso, aquí se mostrara la primera parte de la respuesta:



-77.284747,-4.179839 -67.498421,11.543844



-69.947075,-4.179839 -69.947075,4.179839



Bucaramanga – Diplomado SIG 82

-69.947075,-4.179839

1 0.00000000000 CAP LETICIA 91001



-75.575974,6.251290 -75.575974,6.251290



-75.575974,6.251290

2 0.00000000000 CAP MEDELLÍN 05001

Para visualizar este archivo GML, se puede usar un cliente pesado, para este ejemplo usaremos gvSIG, y nuestro resultado será el siguiente:

Bucaramanga – Diplomado SIG 83

Capitales mostradas en gvSIG consumiendo un servicio WFS

Ejercicios 1.10 gvSIG 1.10.1 Ejercicio de Edición de capas

El primer paso del ejercicio es establecer la conexión a la base de datos que contiene la información geográfica. Recordemos que para llevar a cabo este procedimiento debemos seleccionar la opción añadir, ubicada en la parte superior izquierda de la ventana de trabajo. En la figura 44 se señala con un cuadro color rojo. Luego de ejecutar la aplicación se despliega, esta permitirá conectarse a la base de datos, el procedimiento para ello ya fue explicado en apartes anteriores.

Bucaramanga – Diplomado SIG 84

Conexión a base de datos.

El paso siguiente es poder editar la información. Luego de haber realizado con éxito la conexión a la base de datos, debemos poder ver la información cargada, debe poseer la estructura que se muestra la figura 45. En la figura 45 observamos la conexión a una base de datos de nombre Colombia, esta base de datos contiene información de las entidades territoriales del país, Departamentos, Municipios y Ciudades Capitales. Para poder realizar la edición debemos seleccionar la capa e editar, haciendo click sobre esta y luego haciendo sobre el botón derecho del mouse, automáticamente se despliega una lista de opciones, de esta seleccionamos la opción editar. Ver figura 45.

Bucaramanga – Diplomado SIG 85

Selección opción edición.

Bucaramanga – Diplomado SIG 86

Herramientas de edición, aspecto de capa seleccionada.

Luego de haber ejecutado la opción de edición, la capa seleccionada cambia su color de presentación, aduciendo que está en proceso de edición. Una característica a observar es que la barra de herramientas ha sufrido un cambio, se han adicionado nuevas herramientas. Estas son las que serán utilizadas para la edición, se ubican en la parte superior derecha de la ventana y presentan el mismo color de presentación que la capa seleccionada (rojo). Se encuentran muchas opciones de edición, en este apartado solo trataremos algunas con el fin de familiarizar al estudiante con la herramienta de edición. gvSIG permite editar polígonos, líneas y puntos o crear nuevos, para llevar a cabo este proceso seleccionamos el polígono deseado con la herramienta seleccionar, esta es una flecha de color rojo ubicada en la parte superior derecha, en la figura 47 aparece seleccionada.

Bucaramanga – Diplomado SIG 87

Selección de polígono a editar.

Cuando se es seleccionado el polígono, el aspecto que presenta es el que se visualiza en la figura 47, este muestra sus vértices y a partir de estos podemos modificar el polígono. Seleccionamos un vértice, en nuestro caso es el vértice de la línea recta que se observa en la figura 47 y el resultado final es el mostrado en la figura 48. Podemos observar que el polígono fue modificado, esta modificación se puede realizar también en líneas, además los puntos pueden ser trasladados de posición.

Bucaramanga – Diplomado SIG 88

Resultado de edición.

Otra herramienta de edición es la creación de polilínea, esta permite crear polígonos dentro de la capa que estemos editando. En la figura 49 muestra como se crea el nuevo polígono, en la figura 50 se observa el resultado final, un polígono nuevo dentro de la capa en edición capa. Esta herramienta es muy practica a la hora de digitalizar cualquier tipo de información cartográfica.

Bucaramanga – Diplomado SIG 89

Creación de nuevo polígono.

Bucaramanga – Diplomado SIG 90

Polígono creado.

Dentro de la edición podemos utilizar otras herramientas que permitirán generar nuevos polígonos líneas, punto o editar los ya existentes. En la figura 51 observamos las ediciones realizadas, mas una nueva creación, un circulo creado con una de las herramientas de edición.

Bucaramanga – Diplomado SIG 91

Creación de polígono con forma de circulo con herramientas de edición.

Cada vez que se cree un nuevo polígono, línea o punto, automáticamente creará un espacio en la tabla de atributos de la capa, tal como muestra en la figura 52, en ella se observan los dos espacio creados a partir de la elaboración de los dos polígonos. Cabe aclarar que los atributos pueden ser modificados también en el proceso de edición.

Bucaramanga – Diplomado SIG 92

Tabla de atributos.

Para finalizar el proceso de edición, hacemos click derecho sobre la capa y ejecutamos la orden de terminar edición, automáticamente se desplegara una ventana la cual solicitará al usuario si desea guardar o no los cambios realizados en la capa. gvSIG otorga la opción de crear nuevas capas o shapefiles que pueden ser cargadas directamente a la base de datos de donde se extrae la información geográfica, para ello seleccionamos la opción vista y luego la opción nueva capa, automáticamente esta despliega una lista y entre las opciones escogemos nuevo postgis, tal como se muestra en la figura 53.

Bucaramanga – Diplomado SIG 93

Creación de nueva capa

El ejecutar la opción nuevo postgis se despliegan ventas de dialogo las cuales le solicitaran al usuario la información básica de la capa como nombre y tipo de geometría de la misma, luego de definir lo anterior se despliega otro cuadro de dialogo en el cual debemos realizar el cargue a la base de datos. En dicho cuadro debemos colocar la información para la conexión, URL, usuario, clave, esquema, etc.

Bucaramanga – Diplomado SIG 94

Información para carga a base de datos.

Luego de realizar el procedimiento anterior observaremos la nueva capa creada dentro del panel ubicado en la parte derecha de la ventana de trabajo, área que muestra las capas cargadas en nuestro proyecto. A partir de este momento podemos empezar a crear los nuevos polígonos, líneas o puntos que el usuario desee con las herramientas que gvSIG le proporciona.

Bucaramanga – Diplomado SIG 95

Layer 1. Layer cargado a base de datos.

Es así como podemos crear o editar capas que son cargadas desde una base de datos geográfica.

Bucaramanga – Diplomado SIG 96