Home > Catastro > Decidiéndonos por MapServer

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.

banner 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.

mapserver instalar

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.

mapserver instalar 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

mapserver instalarNo 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.

8 comentarios

  1. Hola Eulises. Un dia nos contarás la fumada que hiciste con C#, de lo que muy poco he visto en la web.

    Saludos

  2. eulises damian cruz gomez

    por que no hacer lo con c sharp y sql server 2008 o ya se con posgrest y publicando mapas de tipos shape y asi te evitas la cuestion de dominio y asi solo buscas un server con asp.net

  3. alguna experiencia con Mapguide open source?? hace tiempo lo tengo instalado, pero al iniciar el maestro me arroja error de conexion al servidor…seria de gran ayuda un tutorial en español saludos, gracias =)

  4. Negativo, tendrás que batallar con el buscador de Google.

  5. Hola, estoy muy interesado en mapserver, algunas cosas tuve oportunidad de armar, en este momento estoy abocado a desarrollar una aplicación de mapas dentro de rails, tienes idea de como ? o algun link de ayuda.. muchas gracias

  6. Debes buscar una empresa que ofrezca hospedaje con mapscript incluido en el servicio.

    Así como http://www.hostgis.com/

    Para servirlo desde a nivel de intranet es bastante fácil, pues solo con ei IP de la máquina que tiene el servicio levantado (Así como 192.168.0.129) pueden accesar desde otros equipos dentro de la misma red o grupo de trabajo.

    En caso de querer servirlo hacia Internet, ocupas que la máquina que funciona como servidor tenga una conexión a Internet más o menos decente, y se ocupa una IP pública así como (80.26.128.194). La razón es que el IP que toma el equipo al conectarse a Internet, provista por el servicio de Internet, si bien es pública, cambia cada vez que se accesa y se ocupa que sea fijo, por esto hay que pagar.

    Si no se quiere que el acceso sea a un número de IP como el anterior, se paga un dominio y servicio DNS, con el que se puede tener una dirección más fácil http://www.eldominio.com. También se puede redireccionar con un subdominio o servicios que ofrecen páginas como http://www.no-ip.com

  7. Enhorabuena por el blog que sigo desde hace ya bastante tiempo. Aunque soy biólogo trabajo en temas de GIS. El año pasado he aprendido a usar un poco el MapServer y es muy bueno. Pero tengo una pregunta que no he aun no he conseguido la respuesta. ¿Que empresa de hosting almacena MapServer? ¿Que resultados dá usar un ordenador propio y usar la red de internet doméstica?

    Me gustaría hacer algún que otro proyecto con este programa pero no tengo manera de colgarlo en la red.

    Si alguién conoce la respouesta será muy bien recibida.

    Un saludo,

    Martiño

Comentar

Su dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.