Decidiéndonos por MapServer
Viernes, 13 de Agosto de 2010
|
Aprovechando una reciente conversación con una institución de Catastro que buscaba con qué publicar sus mapas, aquí resumo lo más importante para devolver los rescates del tema hacia la comunidad. Quizá en su momento le sirva a alguien que desea tomar una decisión o pedir ayuda geofumada.
Porqué MapServer
El escenario era alguien, que tenía la intención de irse por GeoWeb Publisher, de Bentley, pues contaba todavía con una licencia de Discovery Server, el antecesor de éste, allá en los años del polvo. Otra razón por la que les interesaba Bentley es que su mapeo está sobre Microstation Geographics, con aplicaciones VBA para construcción y mantenimiento de mapas catastrales.
Anteriormente en el blog (Feo – Raro como dice el amigo) mostrábamos como crear un servicio de mapas web, utilizando Manifold GIS, como una alternativa de bajo costo. También hablé un día sobre las bondades de Geoweb Publisher de Bentley como una solución cuando hay más plata. Esto para darle continuidad a ese post antiguo en que hacía comparaciones entre diversas aplicaciones para publicación de mapas en línea.
Luego de la conversación decidimos irnos por MapServer, tema que espero explotar en los próximos días. De paso, iniciar a probar durante el resto del año otras plataformas open source, pero en entorno web.
MapServer no es una aplicación GIS, ni siquiera pretende serlo, como lo dice su página. Nace como iniciativa de la Universidad de Minnesota, de allí que su logo venga de la confluencia de los ríos Minnesota y Missisipi. Es hoy por hoy es un referente en el servicio de mapas web muy distribuido, quizá por su origen anglosajón. Como esta aplicación existe una gama amplia –muy amplia realmente-, me gusta su sencillez, de lo más simple para usuarios nuevos; toda la magia está en el manejo del fichero .map que bien se puede generar desde programas como QGis o entenderle la lógica a mapscript para explotar lenguajes como PHP, Java, Perl, Python, Ruby o C#.
Sobre MapServer están desarrolladas aplicaciones más “servidas” como Chamaleon, Cartoweb, Ka-map y Pmapper. Estos son recomendables para usuarios con menos dominio de código, aunque es ideal entender la lógica primitiva de MapServer.

El ejemplo mostrado es eso, solo un ejemplo del trabajo que ahora estamos haciendo. Con permiso de ellos y consciente que este servicio estará disponible al público en un par de semanas y entonces lo podrán ver funcionando.
Que otras aplicaciones web existen
Para esto, voy a usar como referente la Fundación OSGeo, que es uno de las iniciativas más creativas en cuanto a la sostenibilidad y estandarización del código abierto en el ámbito geoespacial. Aunque admito que hay otras más.
- Mapbender, bastante popularizado, utilizado como cliente ligero junto a Mapserver en el caso de la IDE Guatemala. La razón de su atractivo es que se desarrolló para PHP y JavaScript, dos de las combinaciones que más se usan en la web actualmente.
- Mapbuilder, que llegó a su fin en la versión 1.5 y se fusionó a Open Layers. Lo de AJAX… era una belleza.
- Open Layers, maravillas si se quiere integrar a Google o Yahoo Maps o eficientar el caché en el despliegue raster.
- Mapguide Opensource, muy popular por su relación con AutoDesk. Robusto a morir, en el sabor que se desee.
- Degree, toda una fumada en estándares. Con mucho potencial en Europa. Por su estabilidad en soporte GML se le sugiere como la alternativa neutral para implementación de procesos web en la iniciativa INSPIRE.
Otras soluciones en incubación del OSGeo están:
- Geoserver, su mayor potencial está en que el desarrollo es sobre Java. Con mucho que ofrecer tal como Open Layers al integrarse a datos Google Maps, Google Earth, Yahoo Maps, inclusive a ArcGIS.
- Geomajas que incluye cliente ligero, escritorio y web.
- MapFish, con un enfoque prioritario hacia Pyton pero quizá una de las menos documentadas (online).
Ventajs de MapServer
Compatibilidad con estándares OGC. Quizá de lo mejor, aunque en esto casi todas las aplicaciones open source andan bien, al menos en lo que respecta WMS, WFS, WCS, GML.
- Web Map Service (OGC:WMS) 1.0.0, 1.0.7, 1.1.0 and 1.1.1
- Web Feature Service (OGC:WFS) 1.0.0, 1.1.0
- Web Coverage Service (OGC:WCS) 1.0.0, 1.1.0
- Geography Markup Language (OGC:GML) 2.1.2, 3.1.0 Level 0 Profile
- Web Map Context Documents (OGC:WMC) 1.0.0, 1.1.0
- Styled Layer Descriptor (OGC:SLD) 1.0.0
- Filter Encoding Specification (OGC:FES) 1.0.0
- Sensor Observation Service (OGC:SOS) 1.0.0
- Observations and Measurements (OGC:OM) 1.0.0
- SWE Common (OGC:SWE) 1.0.1
- OWS Common (OGC:OWS) 1.0.0, 1.1.0
Servir datos vía lineamientos del Open Gis Consortium, hará que cualquier programa se pegue a ellos sin mucha traba. Desde AutoDesk Civil3D, ArcGIS. Bentley Map, hasta gvSIG, QGis, etc. Inclusive Google Earth/maps vía wms.
Comparándolo con las aplicaciones que antes he trabajado (GeoWeb Publisher y Manifold GIS), MapServer les supera al tener mucha difusión, producto de eso su página tiene suficiente información, ejemplos desarrollados, sin mencionar la comunidad de usuarios. En el caso de GWP hay que trabajar mucho con las uñas y lo que hay de Manifold en Español es muy poco -dejando fuera Geofumadas para no entrar en contradicción-.
El soporte de datos es una maravilla. No es el cielo pero se aproxima a lo suficiente:
- Datos vectoriales o de Geodatabase: Shape files, GML, PostGIS y un mundo más vía OGR, entre ellos DGN.
- Datos raster: Tif georeferenciado y lo que deseemos vía GDAL.
- De salida, se puede generar jpg, png, pdf y por supuesto, estándares OGC.
Luego está el soporte multiplataforma. MapServer puede correr sobre IIS, lo que lo vuelve amigable para usuarios de Windows/PC. También sobre Apache, con lo que puede correr sobre Windows y Linux de maravilla, no solo para servir datos sino para navegar. En el caso de Manifold, publicación solo IIS, si les hablas de Apache les pega congestión, aunque hay quienes han hecho sus piruetas. Y en caso de Bentley, solo Windows, inclusive el despliegue web es un ActiveX que solo corre sobre Internet Explorer, a menos que se fume IDPR a lo sublime en cartucho espacial.
De más está decir, que no se ocupa pagar licenciamiento. La licencia con Manifold Universal estaría por el orden de $600, la de Bentley GWPublisher por los US$ 10,000 con usuarios limitados y si fuera de GIS Server de US$ 15,000 para arriba.
Por último, veo una gran ventaja en el desarrollo. Encontrar alguien que trabaje MapServer no es que sea así de fácil, pero se encuentra con mucha mayor facilidad que con las otras aplicaciones, inclusive vía remota como ahora lo estamos haciendo. Un desarrollador que le conozca las tripas a Bentley GWPublisher no es tan fácil de encontrar, tiene que conocer Project Wise, Geographics, Microstation VBA y Bentley Map para sacarle provecho a un desarrollo robusto sobre Bentley Geospatial Server (Aunque admito que allí se hacen cosas maravillosas). Un desarrollador de Manifold GIS, muy difícil aunque es solo .NET, y uno de GIS Server, seguro cobrará en función de cuanto vale la licencia.
Como instalarlo en 5 pasos
No hay muchos pasos, así como el principio del Génesis:
- Descargue OSGEO4W de aquí
- Instálelo, mínimo MapServer, Apache y un ejemplo.
- Instale Apache y cree el servicio (o levante un directorio vía IIS).
- Levante el servicio
- Ejecute el ejemplo en el navegador
Sí, como el génesis, entre el verso 1 y 2 hay varias cosas que sucedieron en la rebelión de Satanás. Generalmente levantar el servicio ya sea vía http://localhost/ o http://127.0.0.1/ ocupa su batallada, pero se aprende.
Será en la próxima que lo explicaremos.
![]() |
|||||
|
|||||
|
|||||



Para fines de comparación, he usado el que arranca en menos tiempo, y luego una indicación (redondeada) de veces en relación a este. No se pretende sacar conclusiones, pues mi pobre máquina está muy cargada de programas, pero sí, todos están medidos en condiciones iguales.
Así, en el caso de AutoDesk, lo más que veremos es AutoCAD 2011, en que la gente ya se va acostumbrando a la cinta contextual (
En cuanto a ESRI no tengo la más mínima idea de lo que podríamos esperar, ¿Una versión 9.4?, lo dudo. Para herramientas con ese nivel de posicionamiento (en ventas y piratería) es difícil sentir que se puede madurar más, aunque los amigos del barrio open lo tengan en el paredón de
quién dará continuidad a versiones locas como Windows 7 si a la Generalitat no le interesa mucho seguir con Don Bill Gates, o los mil sabores que hay en los repositorios Linux. Y para esto, necesita crear redes de sostenibilidad de contexto híbrido: academia, sector privado, sector público, que puedan estar listos para cuando veamos cosas de gvSIG 2.0.
El caso del papelón que juegan iniciativas como
Es probable que el hecho de enchutarlo a la braca como estándar
Software GIS de escritorio
Uno de los mayores atractivos son las aplicaciones de tipo servidor, para el caso Apache o geoserver, que solo para aprender a instalarlos la primera vez ocupan un buen rato; en este caso solo es necesario presionar el botón “start” o “stop” para detenerlos.
La forma como han madurado las herramientas libres es interesante, hace algunos años, hablar de GIS libre, sonaba como a UNIX, en voz de Geek y en un nivel de desconfianza por temor a lo desconocido. Todo eso ha cambiado mucho con la diversidad de soluciones que han madurado no solo en la construcción de rutinas comúnmente esperadas sino innovadoras estrategias de masificación, testeo y adaptación a la inteligencia colectiva basada en el intercambio. El OSGeo y los estándares OGC son resultados de esa madurez.
Si los amigos de gvSIG
Los atajos, Una buena cantidad de comandos tienen una letra asignada, tal que se puede cargar la función con solo presionar esta letra. Esto es muy práctico, recuerdo que en AutoCAD era una de las mejores mañas cuando casi todo comando se hacía vía teclado.
El marco lateral, simplemente genial, se puede arrastrar los plugins como etiquetas al primer plano, se pueden hacer flotantes, y con un simple botón derecho activar o desactivar. También el manejo de ancho es de simple arrastre no solo en el panel izquierdo sino en el inferior.
La conformación de este diseño de interface hace que sea más aprovechable, lo de marcos flotantes es de lo mejor, me recuerda mucho Microstation, pues para el caso, la ventana de atributos puede estar desplegada sin afectar otra operación.
Plugins extra, Como cualquier aplicación gpl, su ganancia está en los plugins que poco a poco va haciendo la comunidad(aunque con ventaja de no ser en Java), por default trae los básicos y parecieran pocos pero no son tan simples como parecen: se pueden cargar capas WFS, exportar a MapServer, capturar una coordenada, agregar ayudas a la vista como norte, escala y copyright, texto delimitado por comas, tiene un conversor dxf a shp, plugin para georeferenciar imágenes, consola de gps, consola python, malla de coordenadas, etc. Pero lo mejor, es la opción de cargar los plugins de Grass que son un tema aparte. Similar a lo que pasa con gvSIG y Sextante aunque la madurez de Grass es respetable, una de las herramientas GIS más antiguas.
Es muy interesante como están configurados los atributos de los objetos, pues en el mismo panel hay pestañas para propiedades generales, simbología, metadatos, labels, acciones y atributos tabulares; todo se puede guardar como un estilo .qml y cargarse para aplicarlo a otras capas. También esta tabla es flotante y se puede ajustar su ancho y altura al gusto. Inclusive este panel y otros pueden abrirse como una aplicación separada.
También llama la atención funcionalidades que parecieran simples pero que llevan una gran utilidad, como la medición de distancias continuas, que se refleja en un panel tabular, que incluye la distancia de cada segmento.
En cuanto a la edición de datos, en las propiedades del proyecto quedan almacenadas especificaciones como sistema de coordenadas, unidades, precisión de decimales, habilitación de edición topológica, permisión o limitante de superposición de polígonos en una misma capa y condiciones de snap (tipo y tolerancia) por cada capa disponible en el proyecto. Esto último es interesante, aunque me decepcionó que solo tiene opción de segmento y vértice. Insisto, Grass debe ser una justificación para esto.