Visor de Shapefiles Con Herramientas Libres PDF
Visor de Shapefiles Con Herramientas Libres PDF
Introduccin
Para empezar, debo aclarar que no soy un buen programador, los programadores serios
pueden ver el siguiente artculo como poco profundo. Sin embargo, teniendo en cuenta mis
limitaciones, me parece fascinante poder integrar herramientas libres para obtener
resultados prcticos en el mbito de la geomtica.
Para poder acceder rpidamente a mis datos espaciales, sin tener que cargar los
programas usuales, que pueden consumir recursos innecesarios en operaciones
simples de consulta.
Para aprender a emplear y a integrar las facilidades que presentan muchos de los
proyectos de filosofa libre, demostrando as que el principal obstculo en la
implementacin de estas herramientas es nuestro desconocimiento y no sus
limitaciones funcionales.
Segn Daniel P. Ames (quien est a cargo del desarrollo de componentes GIS en el proyecto
MapWindow) existen tres tipos de escenarios para desarrollar software GIS:
Nuestro visor de datos espaciales en formato vectorial ser una aplicacin independiente en
el escritorio, empleando un componente GIS programable, el MapWinGis.ocx de
MapWindow.
Qu herramientas de software se requieren?
Qu es .NET Framework?
Qu es SharpDevelop?
Qu es el MapWinGIS.ocx?
El .NET Framework 2.0 se puede descargar aqu. Tiene un tamao de 22,4 MB y requiere el
Service Pack 2 de Windows instalado.
Una vez descargado, debemos ejecutar el archivo y seguir normalmente los pasos de
instalacin.
Contrario a lo que podramos pensar sobre un tamao exagerado del archivo de instalacin
(pues es un IDE muy completo), solamente ocupa 8,63 MB en el disco duro y despus de
instalado nicamente 34,26 MB, realmente sorprendente.
Podemos obtener el componente MapWinGIS.ocx sin incluir sus dependencias aqu (archivo
comprimido, 2,23 MB), o incluyendo sus dependencias aqu (archivo ejecutable 15 MB). El
componente ActiveX requiere de varios archivos dll (runtimes de C y C++ 7.0) para
funcionar correctamente, si se quiere estar seguro sobre el funcionamiento del mismo, se
recomienda descargar la segunda opcin, es decir, el archivo con dependencias.
Estos archivos interoperables pueden ser generados empleando herramientas del Kit de
Desarrollo de Software de .NET (.NET SDK), que se encuentra en internet con licencia
Freeware. Sin embargo, el archivo de descarga tiene un tamao superior a los 350 MB, por
lo cual el proceso puede resultar inoportuno si se tiene en cuenta nuestro objetivo. Para
conocer el procedimiento de obtencin de los archivos interoperables podemos visitar esta
pgina web.
Como alternativa prctica, podemos optar por descargar directamente los archivos
interoperables aqu (archivo comprimido, 46 KB). Tras descomprimir el archivo, obtenemos
dos dll:
AxInterop.MapWinGIS.dll
Interop.MapWinGIS.dll
Estos archivos no requieren de registro en el sistema porque son componentes .NET; son
importantes porque posibilitan el acceso a los objetos, funciones, propiedades y mtodos
del componente programable MapWinGis en nuestra aplicacin.
Ahora debemos copiar los dos archivos en la carpeta en la que se encuentra el componente
MapWinGis.ocx (el cual debe dejarse all pues su registro es necesario para la aplicacin).
Hemos terminado con la instalacin del software requerido para la construccin de nuestro
propio visor, el siguiente paso es crear un proyecto .NET para escribir nuestro cdigo all.
Agregando referencias
Debemos crear referencias a los archivos interoperables desde nuestro proyecto. Para ello,
en la pestaa Proyectos damos click derecho a Referencias y seleccionamos Agregar
Referencias.
Activamos la pestaa Visor de Ensamblados .NET y damos click en Explorar. Vamos al
directorio en donde se encuentran los dos archivos interoperables
(AxInterop.MapWinGis.dll e Interop.MapWinGis.dll) y los cargamos dando click en Abrir.
Obtenemos lo siguiente:
Activamos la pestaa Personalizado y damos click al botn con los puntos suspensivos,
vamos a la carpeta que contiene los archivos interoperables y seleccionamos
AxInterop.MapWinGis.dll, damos click en Abrir y vemos que la ruta al archivo se ha cargado
en la caja de texto correspondiente. Damos click al botn Mostrar Componentes y
observamos a la derecha el componente AxMap.
Damos click en Ok a las ventanas abiertas y con esto hemos habilitado el control que nos
servir para visualizar la informacin geogrfica en la Forma.
Las imgenes que empleamos para los botones pueden descargarse aqu (archivo
comprimido, 2 KB). La propiedad Text se pone nula para que no interfiera con la imagen
del botn.
Antes de agregar el cdigo de nuestro visor, debemos agregar una referencia al componente
Microsoft Scripting Runtime para habilitar el Objeto de Sistema de Archivos que permite
manipular directorios y archivos del sistema. Para ello, vamos a la pestaa Proyectos,
damos click derecho a Referencias y seleccionamos Agregar Referencia. En la pestaa COM
buscamos el componente mencionado, lo seleccionamos y lo cargamos.
Como se trata de un componente COM, .NET no lo soporta directamente; sin embargo,
SharpDevelop genera de manera automtica el archivo interoperable Interop.Scripting.dll.
En el caso del componente MapWinGis.ocx, SharpDevelop no puede generar
automticamente el archivo AxInterop.MapWinGis.dll (aunque si el Interop.MapWinGis.dll)
que contiene el control AxMap, importante en nuestra aplicacin; por esta razn se
prefiere suministrar los archivos interoperables ensamblados previamente.
Ahora debemos hacer que el cdigo que hemos introducido se asocie a los botones de
nuestra aplicacin porque esto no ocurre de manera automtica. Para conseguirlo,
activamos la pestaa Diseo y damos doble click al primer botn de la Forma, lo cual nos
enva al cdigo y ubica el cursor justo en la sentencia que define su evento click. Hacemos
lo mismo para cada uno de los cinco botones restantes.
Compilando la aplicacin
Tecleamos F5 para depurar el programa, si hemos seguido todos los pasos correctamente no
deberan existir errores.
directorio_aplicacin/bin/Debug/Mi_Visor_de_Shapefiles.exe
Con esto hemos generado nuestro propio Visor de Shapefiles empleando un IDE OpenSource,
un Marco de Desarrollo de Software Freeware y un componente GIS libre.
Este artculo ha sido adaptado de Getting Started With the MapWinGis ActiveX Control
(Daniel P. Ames. 2006)
Referencias consultadas:
Ames, Daniel P. Getting Started With the MapWinGis ActiveX Control. 2006.
Disponible en la URL: http://www.mapwindow.org/doc/UsingMapWinGIS.pdf (ltima
visita: Septiembre, 2007)