Descargar

Anuncio
5 Dise ño yact
ua lización d e lSIM ACW EB.
5.
1 M a pserver ysufunciona m iento en este proyecto
Mapserver genera mapas en un entorno CGI en el cual un usuario accede al
servidor Apache desde un navegador. La tecnología usada para este acceso se
llama Common Gateway Interface (Interfaz Común de Pasarela, abreviado CGI),
permite a un cliente a través de un explorador web solicitar datos de un
programa ejecutado en un servidor. CGI especifica un estándar para transferir
datos entre el cliente y el programa. Es un mecanismo de comunicación entre el
servidor web y una aplicación externa.
Las aplicaciones CGI fueron una de las primeras maneras prácticas de crear
contenido dinámico para las páginas web, en una aplicación CGI, el servidor
web pasa las solicitudes del cliente a un programa externo. La salida de dicho
programa es enviada al cliente en lugar del archivo estático tradicional.
CGI ha hecho posible la implementación de funciones nuevas y variadas en las
páginas web, de tal manera que esta interfaz rápidamente se volvió un estándar,
siendo implementada en todo tipo de servidores web.
El CGI de Mapserver utiliza generalmente los siguientes recursos:
?
Un servidor http como Apache.
?
El software Mapserver.
?
Un archivo de inicialización que active la primera vista de la aplicación.
?
Un archivo con extensión .map que controle los datos a visualizar o
consultar y la manera de hacerlo.
?
Un archivo de tipo plantilla que controle la aplicación Mapserver en la
ventana del navegador (con extensión .html)
?
Los datos espaciales, de tipos vectorial o ráster.
El sistema de funcionamiento puede resumirse en la siguiente imagen:
Imagen 19: Funcionamiento Mapserver CGI
El navegador del usuario visualiza el archivo plantilla (html), el usuario manda
una petición al CGI con los parámetros definidos en el archivo plantilla, CGI
procesa la petición usando estos parámetros y la configuración del archivo .map,
entonces se cargan los datos geográficos creando el mapa resultante y por
último, retorna este mapa como una respuesta al archivo plantilla y llega al
navegador.
Nuestra aplicación incorpora además Mapbender para la gestión de las llamadas
y la configuración de la plantilla, siguiendo el siguiente esquema de
funcionamiento, más específico que el anterior:
Imagen 20: Funcionamiento de la parte gráfica
El funcionamiento normal de Mapserver como ya se ha dicho es usar los
archivos .map y devolver una imagen en formato Png, las opciones gráficas que
queramos mostrar en esa imagen se le pasan a Mapserver mediante una
llamada Cgi, en esta llamada se le especifica a Mapserver que haga zoom en
una zona, muestre una u otra capa, o nos muestre por ejemplo la información
asociada a un punto de la imagen (query) , en este proyecto se ha usado la
aplicación Mapbender, es una aplicación genérica, que además de funcionar con
Mapserver lo hace con otras aplicaciones similares, es por ello que los
requerimientos que pedimos a Mapserver para que nos muestre en la imagen se
hacen mediante el estándar WMS.
Este punto es de suma importancia en este proyecto, el uso del estándar WMS,
ha cambiado totalmente el aspecto y la manera de programar la aplicación.
Para integrar Mapserver y Mapbender debemos seguir ciertos pasos, y esta
integración nos permite nuevas funcionalidades por un lado, pero introduce
ciertas limitaciones por otro.
El primer punto a tratar en esta integración es, por la parte del Mapserver, el
archivo .map.
En este proyecto se ha decidido trabajar de la manera más independiente
posible en la relación entre ambas aplicaciones, esto quiere decir que nuestros
archivos .map de Mapserver funcionan por si solos, aunque muestran otro
aspecto sin Mapbender, por otro lado ha supuesto un mayor esfuerzo en la
programación, pues muchas de las instrucciones en esos archivos no son
tratadas, se eligió aumentar un poco la complejidad a costa de mejorar la
versatibilidad de la aplicación.
Respecto a los cambios introducidos en el archivo .map tenemos por un lado la
declaración y configuración del propio archivo como un recurso accesible por un
cliente WMS, es decir, cada archivo .map de nuestra aplicación funciona como
un servidor WMS, por otro lado debemos dar información específica WMS para
cada capa incluida en este archivo, como son algunos campos obligatorios
(Wms_title, Wms_Name … ) y otros tantos opcionales.
Mapbender al cargar cada recurso WMS hace una llamada para mostrar cada
.map como una capa, con fondo transparente, y otras tantas limitaciones como
que obvia campos como tamaño máximo a la que se muestra el mapa entre
otros. Al ir completando nuestra aplicación debemos ir teniendo en cuenta estas
limitaciones e intentar subsanarlas con las opciones que nos ofrece Mapbender.
Se quiere expresar con esto la diferencia existente entre escribir código de un
mapa para Mapserver y en hacerlo para Mapserver integrado con Mapbender, si
bien tienen una gran parte en común, la manera de proceder es completamente
distinta, es interesante este aspecto, y se comentara más adelante las
diferencias más importantes cuando se explique la estructura general de un
archivo .map de la aplicación Mapserver.
En el aspecto del diseño gráfico también se han insertado los distintos logotipos
correspondientes a los diferentes grupos implicados en este proyecto como
podemos ver en la siguiente imagen en más detalle:
Imagen 21: Logotipos
El formato de página en otros aspectos como el color de fondo, como el tipo de
letra, colocación de gráficos y otros elementos como unos estilos CSS
proporcionados por la Universidad de Cádiz.
5.
1.
1 ElM a pfile
Como se ha comentado anteriormente el Mapfile es el fichero que lee
Mapserver y le dice como mostrar la información que estemos manejando.
En un entorno en el que solo se utilice Mapserver, este archivo determinara
completamente el aspecto de nuestra aplicación, exceptuando los marcos
y de la página Web donde la integremos.
En nuestro entorno Mapserver + Mapbender, solo usaremos las
instrucciones puramente funcionales del archivo .map, otras serán
obviadas y pasaran a ser parte de nuestra futura configuración en
Mapbender.
El archivo .map tiene una estructura de objetos bien definida, se explicara
aquí más adelante comentando un archivo genérico, la estructura
jerárquica es la siguiente:
Imagen 22: Estructura del Mapfile
Comentar sobre este esquema que en las casillas que aparece el nombre
del objeto seguido de (n) indica que en el objeto superior puede haber
varios de estos objetos. Es decir, en un objeto Map puede haber ‘n’objetos
Layer pero un solo objeto Web.
El asunto se complica cuando empezamos a ver la gran cantidad de
parámetros que definen cada uno de estos objetos, por ello abordaremos
en los siguientes apartados los distintos objetos que componen un Mapfile
estándar de nuestro proyecto.
5.
1.
1.
1 O b je to M AP
El objeto MAP, por ejemplo, puede tener los siguientes parámetros:
Angle, Config, Datapattern, Debug, Extent, Fontset, Imagecolor, Imagetype, Layer (objeto),
Legend (objeto), Maxsize, Name, Outputformat (objeto), Projection (objeto), Querymap (objeto),
Reference (objeto), Resolution, Scale
Scalebar (objeto), Shapepath, Size, Status, Symbolset, Symbol (objeto), Templatepattern, Units,
Web (objeto)
No todos son obligatorios, dependiendo del resultado que se desee habrá
que definir unos u otros, se detallara esto para una mayor claridad con un
ejemplo genérico comentado:
MAP
NAME "NOMBRE DEL ARCHIVO MAP"
EXTENT
613300 3009000 627700 3024500
FONTSET "../etc/fonts.txt"
IMAGECOLOR 26 200 220
IMAGETYPE
PNG
SYMBOLSET "../etc/symbols.sym"
SHAPEPATH
"../data/shape/"
SIZE
375 403
STATUS ON
UNITS METERS
SYMBOL
NAME CUADRADO
TYPE VECTOR
FILLED TRUE
POINTS 0 0 0 4 4 4 4 0 0 0 END
END
En esta primera parte del fichero se declara la configuración elemental, en
primer lugar el nombre y la extensión del mapa que vamos a dibujar.
Se le indica también la ruta de los ficheros con distintos tipos de fuentes y
símbolos a usar, así como la ruta en la que se encontraran los ficheros con
datos.
Se declaran también las unidades a usar y se declaran símbolos que no
están contenidos en los estándares, pero que queremos utilizar, como es
en este ejemplo el símbolo “cuadrado”.
El campo Imagecolor, que declara el color de fondo del mapa, no es
exportada en la llamada a Mapbender, es una de esas instrucciones que
no se trataran como se ha comentado anteriormente.
QUERYMAP
STATUS ON
STYLE SELECTED
COLOR 255 255 0
END
El objeto Querymap crea un mapa que resalta los resultados de una
consulta, El objeto como todos, empieza por la palabra que lo define, en
este caso Querymap y finaliza con “End”.
El parámetro color define el color para resaltar los resultados de la consulta
(por defecto es el amarillo), Status activará (ON) o desactivará (OFF) la
creación de esta imagen resultado de la consulta, con Style podemos
controlar de que manera resaltar (o no) los resultados, este objeto tampoco
será exportado a Mapbender, que definirá sus propios estilos para una
consulta.
5.
1.
1.
2 Elob je to O U TPU TFO R M AT
OUTPUTFORMAT
NAME png
MIMETYPE image/png
DRIVER GD/PNG
EXTENSION png
IMAGEMODE PC256
TRANSPARENT FALSE
END
Con OUTPUTFORMAT vamos a definir como queremos que sea la
imagen de salida, extensión, numero de colores, fondo transparente… , en
nuestro proyecto este campo no tiene demasiada importancia, si bien
debemos intentar optar por el formato que menos recursos consuma para
así optimizar la carga de las imágenes en el explorador.
5.
1.
1.
3Elob je to LEGEN D
LEGEND
IMAGECOLOR 250 242 120
KEYSIZE 20 15
KEYSPACING 5 5
LABEL
SIZE MEDIUM
TYPE BITMAP
BUFFER 0
COLOR 0 0 89
FORCE FALSE
MINDISTANCE -1
MINFEATURESIZE -1
OFFSET 0 0
PARTIALS TRUE
END
POSITION LL
STATUS ON
TRANSPARENT TRUE
TEMPLATE "leyenda.html"
END
El objeto LEYEND nos indica cómo va a ser la leyenda, posición, tipo de
letra, tamaño… , no nos detendremos en el, pues es uno de los campos
que Mapbender obvia, estas líneas no son tenidas en cuenta por
Mapbender, teniendo éste sus propios estilos de leyenda, no se usará
pues la plantilla aquí indicada.
5.
1.
1.
4Elob je to W EB
WEB
TEMPLATE '../htdocs/cgrafica.htm'
IMAGEPATH '../htdocs/tmp/ms_tmp/'
IMAGEURL '/simacweb/htdocs/tmp/ms_tmp/'
MAXSCALE 30000
MINSCALE 30
QUERYFORMAT text/html
METADATA
"WMS_TITLE" "Geografia Historica y Humana"
"WMS_SERVER_VERSION" "1.1.0"
"WMS_ONLINERESOURCE" "http://193.147.162.12/cgi bin/mapserv?map=/home/torrecillas/mapserver/apps/decepcion/data/nombredelmapa
.map&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.0"
"WMS_SRS" "EPSG:32720"
"WMS_FEATURE_INFO_MIME_TYPE" "text/html"
"WMS_INCLUDE_ITEMS" "all"
END
END
El objeto WEB es de suma importancia, en una aplicación pura de
Mapserver, en el se indica donde esta la plantilla html que vamos a usar
para nuestro mapa, así como otros factores, como son máxima y mínima
escala a la que mostramos el mapa, estos campos no serán tratados por
Mapbender, en cambio es vital definir en el objeto Web el servidor WMS,
debemos indicar la dirección del recurso accesible WMS, así como título,
nombre y otras opciones de configuración.
Es importante por un lado decir que versión de WMS vamos a usar, así
como el formato en el que haremos las consultas (query), sobre el mapa,
con la declaración
"WMS_FEATURE_INFO_MIME_TYPE" "text/html" ,le
decimos
a Mapbender lo que a Mapserver le diríamos con QUERYFORMAT
text/html , es decir que las consultas se devolverán a modo texto sobre
una plantilla html.
5.
1.
1.
5Elob je to PRO JECTIO N
PROJECTION
"init=epsg:32720"
END
Con el objeto PROJECTION declararemos el tipo de proyección que
usaremos para dibujar nuestro mapa.
A partir de estas instrucciones, la mayoría relacionadas con configuración,
iremos declarando las distintas capas que compondrán nuestro mapa, la
primera que declaremos estará situada debajo del dibujo, a partir de esta
irán por orden superpuestas las siguientes para Mapserver, sin embargo
Mapbender va a obviar este orden y nos permitirá establecer este orden a
posteriori.
5.
1.
1.
6Elob je to LAYER
LAYER
NAME Zonas
DATA 'V5402005001'
STATUS ON
TYPE POLYGON
MINSCALE 10
TRANSPARENCY 60
HEADER './query/cabecera_nombres.html'
FOOTER './query/footer.html'
TEMPLATE './query/nombres_query.html'
PROJECTION
"init=epsg:32720"
END
METADATA
"WMS_TITLE" "Zonas Historicas"
"WMS_SERVER_VERSION" "1.1.0"
"WMS_SRS" "EPSG:32720"
"WMS_FORMAT" "IMAGE/PNG"
END
CLASSITEM CODE #Vamos a distinguir entre tierra y bahia interior
LABELITEM 'NAME'
LABELMAXSCALE 50000
CLASS
NAME 'Lugares y monumentos históricos'
EXPRESSION 'HSMN'
SIZE 2
COLOR 184 134 101
OUTLINECOLOR 180 130 100
END
END
END
Con el objeto LAYER vamos definiendo cada una de las capas que
compondrán nuestro mapa.
En el indicamos el nombre del archivo que contiene los datos que
queremos representar, así como las distintas plantillas html que usaremos
para las consultas sobre esta capa.
Por otro lado, observar que volvemos a declarar la proyección que vamos
a usar, esto es debido a que podemos usar distintas proyecciones para
distintas capas pues Mapserver puede hacer uso de la libreria Proj4.
También se hacen declaraciones WMS, estas serán usadas como
información por el cliente WMS, en nuestro caso Mapbender, mostrará el
nombre de la capa y otra información de interés.
Por último, distinguir el objeto Class, dentro de una misma capa, pueden
existir distintos tipos de información, si bien una capa es de un solo tipo
(puntual, lineal, poligonal, ráster,… ) , esta puede tener distintas clases de
elementos, para la distinguir en la representación gráfica damos distinto
aspecto a cada clase, según nos interese, esto se hace mediante el objeto
Class.
Es importante aquí comentar los distintos tipos de representación
disponibles para nuestros datos, en primer lugar, si nuestros datos están
almacenados en un fichero vectorial, en el se representaran las entidades
a través de sus fronteras exteriores, y éstas pueden formar un polígono,
una línea o un punto, que son los tres tipos de información que podemos
indicar en el campo TYPE, entrando un poco más en detalle, las fronteras
de la entidades están definidas mediante coordenadas, referidas a un
sistema cartesiano, y toda esta información esta almacenada en el archivo
de forma vectorial, por ejemplo sobre un punto podríamos tener la
información (numero, x, y ) , y el punto (2 , 4 ,5 ), sería el punto número
dos, situado en x=4 e y=5 , Mapserver dibujaría ese punto en esa
posición, con las opciones gráficas que nosotros elijamos.
Por otro lado, existe otra forma de almacenar los datos, mediante un
modelo Ráster, es como si tuviésemos una imagen de fondo, a la que
superponemos una retícula, esta va a funcionar como una matriz, que nos
va a permitir referirnos a una zona concreta de la imagen, es decir
podemos asociar de esta forma información superpuesta a una imagen, y
asociada a una zona de esta, si tenemos un archivo de este tipo debemos
indicar a Mapserver en el campo TYPE Ráster.
Es muy usado en aplicaciones de Mapserver el campo TRANSPARENCY,
que nos indicará como de opaca queremos que se muestre esta capa que
estamos definiendo, de este modo, información superpuesta no tiene
porque ocultar información que estaba siendo mostrada, como vemos en
el ejemplo este campo también es configurable desde el archivo .map.
5.
2 M a pb e nd erysufunciona m iento en este proyecto
Se introducirá en este apartado aspectos sobre el software Mapbender y su uso,
si bien el usuario final no tiene porque acceder a este software, es útil para que
las personas que se encarguen en un futuro del mantenimiento y actualización
de la aplicación lo hagan de la manera más cómoda posible.
Con Mapbender, sobre una aplicación programada para funcionar con
Mapserver, y correctamente configurada como servidor Wms, podemos realizar
cambios tanto funcionales, en algunos aspectos, como también cambios en la
apariencia de la aplicación, se detalla a continuación una lista de posibles
actuaciones (las más comunes, si bien no son las únicas) sobre la aplicación
actuando solo sobre Mapbender:
?
Cambios en el color de fondo de la página principal
?
Añadir iconos y links a otras páginas
?
Cambiar la configuración del mapa mostrado inicialmente
?
Cambiar la prioridad entre capas y categorías
?
Hacer que una capa sea o no consultable (debe serlo en Mapserver)
?
Añadir funciones y controles específicos
?
Crear grupos de usuarios con distintos privilegios
?
Modificar proyecciones usadas
Como se ha dicho para realizar estos cambios solo necesitamos Mapbender y
actuar sobre su interfaz gráfica, no debemos actuar sobre los archivos .map de
Mapserver. Al inicio de nuestra aplicación Mapbender se nos mostrarán las
siguientes pantallas:
Imagen 23: Login en Mapbender
Para realizar crear una nueva aplicación (ya programada anteriormente en
Mapserver), o modificar una existente debemos “logearnos” como “root” con
contraseña de “root”y llegaremos al siguiente menú:
Imagen 24: Menús Mapbender
Este menú nos da acceso tanto al entorno de edición de aplicaciones ya creadas
(llamadas Gui’s en Mapbender), o ir al menú administrador, donde podremos
también modificar Gui’s existentes o crear nuevas, nos centraremos en el menú
administrador:
Imagen 25: Menús Mapbender
Desde el menú administrador tenemos distintas opciones, crear un Gui, editar
uno existente, modificar opciones de usuarios o configuración WMS, y cargar
una nueva capa WMS desde un servidor remoto.
En el aspecto de crear un nuevo gui no nos vamos a detener, pues es
prácticamente editar uno existente y modificarlo a nuestro gusto para guardarlo
con otro nombre.
Es interesante en cambio la carga de nuevas capas WMS.
El estándar WMS nos permite dos llamadas al servidor de servicios,
GetCapabilities, que nos da la información de capacidades del servidor llamado
(capas que contiene, nombres de estas, proyecciones… ), y GetMap, que pide un
dibujo de un mapa con unas opciones dadas.
Una vez creada nuestra Gui en blanco debemos añadir capas, esto no es más
que exportar los servicios de un archivo .map de Mapserver configurado como
se detallo en el punto tres de esta memoria, y siguiendo el procedimiento
descrito a continuación:
?
Nos “logeamos”en Mapbender como “root”
?
Accedemos al menú WMS Management
?
Vamos a la opción Load Capabilities
?
Seleccionamos la Gui a la que queremos añadir la capa
?
Ponemos la dirección del recurso accesible, que será algo de la forma
siguente:
http://193.147.162.12/simacweb /cgi~bin/mapserv?map=/home/torrecillas/ma
pserver/apps/decepcion /data/base.map&REQUEST=GetCapabilities&SERVICE=WM
S&VERSION=1.1.0
(vemos que indicamos la dirección del recurso (aquí local), la llamada
GetCapabilities y la versión del servidor)
Después de esto Mapbender nos mostrará la información de las capas
cargadas, y ya estarán disponibles para editar su aspecto y configurar otras
opciones.
El siguiente paso para continuar con el desarrollo de nuestra aplicación será ir al
menú de configuración de las capas WMS cargadas, en el tenemos distintas
opciones como son prioridad de cada capa en la carga, estado por defecto en el
mapa inicial, la opción de permitir o no la consulta sobre una capa en concreto,
proyección usada, formato de las consultas, máxima y mínima escala a la que se
muestra, etc., la interfaz de Mapbender para la selección de dichas opciones es
la siguiente:
Imagen 26: Menú WMS Mapbender
De forma paralela, debemos diseñar el entorno gráfico en el que irá incrustado el
mapa de nuestra aplicación, junto con las opciones y herramientas que
queremos mostrar, es decir, debemos configurar el aspecto de la Gui, esto se
hace en el menú “Edit Gui elements” , del apartado “Gui Management” de
Mapbender, en el podremos como hemos dicho agregar controles sobre el mapa
de entre los que trae programados Mapbender, así como modificar el aspecto
gráfico externo de la aplicación (colores de fondo, cabeceras, iconos)… , resaltar
que nunca con Mapbender modificamos aspectos gráficos del propio mapa, es
decir, los iconos, colores, tipos de letra… , del mapa vendrán definidos en el
archivo .map de Mapserver).
Este menú presenta el siguiente aspecto:
Imagen 27: Menú Mapbender
Una vez editado el entorno en el que irá nuestro mapa, y elegida las
configuraciones para las distintas capas importadas en el, podemos ver como
seria el aspecto de este mostrado desde un navegador con la opción “show”.
Imagen 28: Aplicación Mapbender
Con estos pasos tendríamos concluida nuestra aplicación final, ésta se trata de
un marco de Mapbender, que a su vez está corriendo en un servidor Apache,
para la publicación en Internet debemos dar una IP publica de salida al servidor
Apache, en nuestro caso ésta es la 192.147.162.12, los recursos locales serán
accesibles en esa dirección, creamos un link en una plantilla html hacia nuestra
aplicación Mapbender, esto sería el siguiente código en un archivo html:
<iframe
src="http://193.147.162.12/mapbender/frames/login.php?name=root&password=root
&mb_user_myGui=prueba"
width='100%' height='100%' frameborder='0' scrolling="no"></iframe>
</div>
<div align="left">
5.
3 Geonetwork ysufunciona m iento en este proyecto
La última aplicación introducida en nuestro proyecto, para la consulta de datos
de manera alfanumérica es Geonetwork, se trata de una aplicación libre y
basada
en
estándares
diseñada
para
gestionar
datos
espacialmente
referenciados, y hacerlo a través de la Web, incorpora herramientas de
búsqueda y edición de este tipo de datos.
La incorporación de Geonetwork a un entorno de trabajo consiste en modificar
su aspecto y adaptarlo al de nuestra aplicación, proceso consistente en
modificar archivos de su código fuente, que a su vez están escritos en distintos
lenguajes (php, java, phyton … ), pero son modificaciones superficiales, que solo
repercuten en el aspecto de la aplicación, por lo que no se entrara en más
detalle en este aspecto.
En apartados anteriores ya se han detallado los pasos que se han seguido para
su instalación y configuración, detallaremos aquí por lo tanto aspectos de
usuario. La pantalla inicial que nos encontramos al acceder a Geonetwork es la
siguiente:
Imagen 29: Pantalla inicio Geonetwork
En ella podemos distinguir una casilla para la búsqueda de información, así
como un menú de información clasificada por categorías, también se nos
muestra la información que ha sido agregada más recientemente.
Distinguiremos dos tipos de usuarios para Geonetwork, los que se limitan a
consultar datos, para los cuales las explicaciones para su manejo no abarcan
mas que las de cualquier buscador, y los usuarios administradores, estos últimos
deben activar su entorno identificándose
como tales en el recuadro de la
esquina superior derecha:
Imagen 30: Identificación en Geonetwork
Una vez identificados
nos aparecerán nuevas opciones para trabajar con
nuestros datos, desde editar los datos existentes, hasta subir nuevos datos o
crear distintos grupos con más o menos derechos sobre grupos de datos.
Este es el aspecto del menú de administración:
Imagen 31: Menú administración Geonetwork
Vemos que podemos cambiar nuestra contraseña, la información personal de
nuestra cuenta, administrar grupos de usuarios y gestionar datos, nos
centraremos en esta primera parte, la introducción de datos.
Normalmente no realizaremos una introducción manual de todos los datos, estos
suelen estar recogidos en ficheros Xml, que es un estándar para el intercambio
de datos, por lo que nos centraremos en importar datos de un Xml y añadirle
palabras claves, así como clasificarlo correspondientemente dentro de una
categoría para facilitar su localización por parte de otros usuarios, si picamos
sobre “Insertar metadatos XML”, llegamos al siguiente menú:
Imagen 32: Introducción de datos Geonetwork
El funcionamiento es bien sencillo, se debe copiar el contenido de nuestro
fichero Xml dentro del recuadro habilitado para ello, seleccionar las opciones y
pulsar sobre “Insertar”.
Si el archivo no cumple todos los requisitos del estándar Xml, la aplicación no
nos dejará validar los datos, para importarlos pues debemos dejar la casilla
“Validar”en blanco, o agregar los campos que falten en nuestro archivo. Una vez
realizados estos pasos, se importaran los datos y se nos pedirá que
modifiquemos lo que consideremos conveniente y guardemos la configuración.
Imagen 33: Introducción de datos Geonetwork
Es interesante en este punto dar un titulo descriptivo a la capa (que no sea la
numeración asociada a la capa), así como añadir palabras clave para su
posterior búsqueda, esto es en el campo “Keyword”, que veremos más
claramente mostrando una vista en bloques del archivo (seleccionamos en el
menú de la izquierda la opción “Vista en Bloques”), nos llevará esto a la
siguiente pantalla:
Imagen 34: Introducción de datos Geonetwork
Cuando hayamos acabado de completar y verificar la información pulsamos
sobre la opción “Guardar y Cerrar”, pasará a mostrarnos la información que
acabamos de subir a la base de datos:
Imagen 35: Introducción de datos Geonetwork
En esta pantalla podemos aun añadir un logotipo para esta capa (una vista en
miniatura), así como asignarle categorías y editar los privilegios para los distintos
grupos de usuarios que vayan a acceder a este dato.
La contraseña para el único administrador al finalizar este proyecto es: “User:
admin. Pass: admin. “, así mismo existe un grupo de usuarios creado llamado
Sample Group con privilegios de lectura sobre todos los datos subidos.
5.
4 Diseño d elentorno web
Respecto al aspecto general de esta, viene marcado por un estilo concordante a
las páginas Web de la UCA, que es la principal institución participante en este
proyecto, aunque no la única, como banner superior estará en los distintos
apartados un logotipo extendido del grupo de investigaciones geodésicas de la
UCA. A la izquierda existe un menú que nos permite navegar por los distintos
contenidos informativos respecto al proyecto y la propia isla, desde el se accede
a la sección que nos ocupa principalmente, la de consultas. Desde la sección de
consultas podemos acceder a cuatro zonas, una zona de descarga de datos, un
buscador alfanumérico y una zona de consultas gráficas y un apartado
explicativo del uso de recursos WMS, se ha decidido que tanto las consultas
gráficas como las alfanuméricas se abran en pantallas independientes, al
tratarse de aplicaciones diferenciadas, y que requieren el mayor espacio visual
posible para un mejor uso de ellas.
Imagen 36: SIMACWEB
5.
5 Solución d e prob lem a s
En este punto se pretenden solucionar los problemas más comunes que pueden
surgir en el uso de nuestra aplicación, así como indicar ciertas fuentes que
pueden ser útiles de cara a problemas con futuras mejoras e implementaciones.
5.
5.
1 Ca íd a d e lse rvid or
El problema más común al que nos enfrentaremos va a ser sin duda la caída del
servidor, debido a un mantenimiento del sistema, corte de luz…
En este caso debemos arrancar todas las aplicaciones y sus dependencias, la
manera de proceder es la siguiente:
En primer lugar debemos arrancar Mysql y decirle que use la base de datos del
Mapbender, esto es escribir literalmente desde el terminal, con los permisos
correspondientes (esto es logeados como root para evitar problemas):
> /etc/init.d/mysqld start
>después entrar en el promt de mysql, escribiendo >mysql
>Decir que use la base de datos mapbender, esto es:
>\u mapbender
Con esto arrancaríamos Mysql
El siguiente paso será arrancar el apache, debemos ir a la carpeta /mapserver/
(dentro de torrecillas), donde esta instalado el apache.
Una vez en esa carpeta esta todo automatizado con scripts, solo debemos
hacer:
> . setenv.sh
(hay un punto al comienzo de la instruccion)
> fgs start
Con esto volveremos tener el apache con Mapbender y Mapserver corriendo.
Por último nos restaría arrancar Geonetwork, las instrucciones para arrancarlo
serian:
Ir a la carpeta del servidor Tomcat, /tomcat/, e ir a la ruta .../tomcat/bin/
desde esa ruta escribir:
>export JAVA_HOME=/usr/java/jdk1.6.0_06/
>sh startup.sh
Esto arranca el servidor Tomcat en el puerto 8082, nos queda pues arrancar
Geonetwork, ir a la ruta /geonetwork/bin/ y escribir:
>sh start-geonetwork
Con estos pasos el sistema vuelve a ser arrancado desde cero.
Respecto a posibles errores de la aplicación en modificaciones futuras, es de
enorme utilidad los foros Nabble (
www.nabble.com ,Junio 2008 ),
donde existen
foros específicos para desarrolladores de las tres herramientas principales que
usamos, así como también de apache y Tomcat, además los mensajes son
leídos y contestados en muy corto espacio de tiempo, pues en ellos participan
los propios diseñadores de las aplicaciones Mapserver, Mapbender y
Geonetwork.
5.
5.
2 N o se visua liza una capa vect
oria l
En primer lugar la manera de proceder será comprobar que el formato del
archivo vectorial es admitido por Mapserver, haciendo uso de la tabla 3 de esta
memoria.
Si el formato es admitido, este fallo vendrá dado sin duda por una alteración en
el servidor, los posibles cambios que pueden inducir a este fallo son:
?
Cambio de nombre de un recurso dentro del archivo .map
?
Cambio en la ruta del archivo de datos
?
Cambios en la dirección del servidor WMS configurado
?
Otros fallos de configuración en el servidor WMS
La manera de proceder en este caso es comprobar en primer lugar que el
archivo vectorial está en la ruta indicada, posteriormente buscaríamos
incongruencias en alguno de los puntos anteriores hasta localizar la causa del
fallo.
5.
5.
3 N o se visua liza una capa ráste r
Después de cotejar con la Tabla 3 de esta memoria, y asegurarnos que el
formato es soportado por Mapserver, del mismo modo que el anterior, este fallo
también vendrá dado por una alteración el los datos o rutas albergados en el
servidor, los posibles cambios que pueden inducir a este fallo son del mismo
modo:
?
Cambio de nombre de un recurso dentro del archivo .map
?
Cambio en la ruta del archivo de datos
?
Cambios en la dirección del servidor WMS configurado
?
Otros fallos de configuración en el servidor WMS
La manera de proceder en este caso es comprobar en primer lugar que el
archivo tipo Ráster está en la ruta indicada en el archivo .map, posteriormente
buscaríamos incongruencias en alguno de los puntos anteriores hasta localizar
la causa del fallo
5.
5.
4 Losre sult
a d osd e una consult
a no son lose spe ra d os
En la escritura del archivo .map se da un valor de tolerancia en pixeles al área
consultable, cuando existen muchas capas en modo consulta y la escala de
muestra del mapa es lejana, el sistema puede mostrarnos una información sobre
otra capa, y no la que queremos consultar.
El modo de proceder es ser metódico en las consultas, es decir, tener activadas
las consultas unicamente de las capas sobre las que queremos hacerlas, y
realizarlas a una escala todo lo cercana posible para evitar pinchar sobre otra
zona
5.
6 Posib lesa ctua liza cionesd elSIM ACW EB.
5.
6
.
1 Introd ucción d e nue va inform ación g ráfica
A lo largo de esta memoria ha sido detallado como introducir nuevos datos o
crear nuevas pantallas en nuestras aplicaciones, a modo de resumen detallar:
?
Creación de un archivo .map de Mapserver , detallado en punto 4.3
apartado “El Mapfile”o inclusión de la capa en un fichero Map ya creado.
Una vez creado el Mapfile y configurado el servidor WMS en él, copiamos la
dirección del recurso WMS accesible y se la damos a Mapbender, en el apartado
WMS Management:
Imagen 37: Introducción de una nueva capa
Con esto hemos añadido una nueva capa, del mismo modo, si queremos
modificar las capas de un archivo .map existente, debemos realizar el mismo
proceso de actualización de recursos WMS anterior.
5.
6
.
2 Introd ucción d e una nue va G U Ie n M a pb end e r
?
Creación o modificación de una Gui en Mapbender, detallado en punto 5.2
“Mapbender y su funcionamiento en esta aplicación”
Éste sería el paso cronológicamente anterior a la introducción de capas en la
aplicación, se trata con esto de preparar el entorno gráfico en el que irán
nuestros datos.
5.
6
.
3 Introd ucción d e nue vosm e t
ad at
os.
Este punto está totalmente documentado y detallado en puntos anteriores de
esta memoria, concretamente en:
?
Introducción de nuevos datos en Geonetwork, apartado 5.3 “Geonetwork y
su funcionamiento en este proyecto”
5.
6
.
4 Consid e racione sEspecia le s
Existen unas capas especiales para puntos acotados, batimétricos y vértices,
estas constan de dos campos para los valores altimétricos, uno decimal y otro
entero, el motivo es que Mapserver no ofrece esta posibilidad de conversión, y si
un campo tiene formato decimal, se muestra en notación científica, lo que lo
hace menos intuitivo, esta modificación se ha de tener en cuenta para una futura
actualización de estas capas.
Por otro lado, la capa ‘V2401005002’, “Nidos de pingüinos barbijos”, consta de
doble información superpuesta, una referente al año 2003 y otra a 1986, esto se
debe tener en cuenta para cualquier modificacion referente a esta capa.
Descargar