X

Decidiéndonos por MapServer

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 Manifol
d, 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:

  1. Descargue OSGEO4W de aquí
  2. Instálelo, mínimo MapServer, Apache y un ejemplo.
  3. Instale Apache y cree el servicio (o levante un directorio vía IIS).
  4. Levante el servicio
  5. 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 ocupa su batallada, pero se aprende.

Será en la próxima que lo explicaremos.

geofumadas: Editor de Geofumadas
Related Post