¡Esta es una revisión vieja del documento!
Es un proyecto Open Source multiplataforma que al ser instalado permite mostrar mapas dinámicos a partir de una interfaz de red, tiene soporte en gran variedad de entornos de desarrollo (PHP, Python, Java, .NET…).
Nos permite realizar peticiones a capas raster, vectoriales o de bases de datos mediante una URL, también puede retornar imágenes de leyendas, de barras de escala, de mapas de referecia…
Puede ser extendido y configurado mediante MapScript o plantillas, y a la vez nos da la posibilidad de construir aplicaciones web enfocada a mapas.
MapServer se ejecuta como un CGI en el servidor HTTP Apache. Por lo tanto si lo instalasemos de cero en un sistema basado en Debian podríamos utilizar los siguientes comandos:
sudo apt-get install apache2 sudo apt-get install cgi-mapserver mapserver-bin mapserver-doc
Para ver qué paquetes están instalados haremos:
/usr/lib/cgi-bin/mapserv -v
Para comprobar si se ha instalado correctamente accederemos a la ruta (por ejemplo, en Ubuntu) cgi-bin/mapserv (por ejemplo http://192.168.1.105/cgi-bin/mapserv) y tendrá que devolver algo así como “No query information to decode. QUERY_STRING is set, but empty.”.
MapServer se compone de…
.map porque sino no serán reconocidos.
MapServer es un programa CGI y como tal no tiene estado, cada petición que se le hace es independiente y no es influida por las pasadas.
Los MapFiles son los archivos para configurar los mapas que sirve MapServer, la documentación de referencia la encontraremos en http://mapserver.org/mapfile/index.html#mapfile.
Los MapFiles son archivos de texto que especifican un mapa. Están divididos en diferentes secciones y su contenido ha de seguir las siguientes normas:
Estos son los objetos más utilizados internamente en un MapFile y sus propiedades:
MAP
NAME "sample"
EXTENT -180 -90 180 90 # Geographic
SIZE 800 400
IMAGECOLOR 128 128 255
END
El parámetro DATA indica a qué tipo se refiere el parémetro SHAPEPATH del objeto MAP, si no se definiese se tomaría como un shapefile (.shp).
LAYER
NAME "bathymetry"
TYPE RASTER
STATUS DEFAULT
DATA "bath_mapserver.tif"
END
Estas pueden ser del tipo point, line o polygon (parámetro TYPE), según lo que se quiera mostrar.
LAYER
NAME "world_poly"
DATA 'shapefile/countries_area.shp'
STATUS ON
TYPE POLYGON
CLASS
NAME 'The World'
STYLE
OUTLINECOLOR 0 0 0
END
END
END # layer