PDF de programación - Construcción de un visor de shapefiles con herramientas libres

Imágen de pdf Construcción de un visor de shapefiles con herramientas libres

Construcción de un visor de shapefiles con herramientas libresgráfica de visualizaciones

Publicado el 5 de Junio del 2018
774 visualizaciones desde el 5 de Junio del 2018
331,7 KB
8 paginas
Creado hace 16a (13/04/2008)
APLICACIÓN TRAS-MI-SIG: CÁLCULO DE RUTAS

EMPLEANDO LA LIBRERÍA DE DESARROLLO SHARPMAP

Y EL SISTEMA MANEJADOR DE BASES DE DATOS POSTGRES/POSTGIS

Germán Alonso Carrillo Romero

[email protected]
http://geotux.tuxfamily.org

Abril de 2008

El siguiente es un ejemplo de integración de proyectos de software libre y de código
abierto que consiste en una aplicación geográfica denominada Tras-Mi-SIG para consultar y
visualizar rutas óptimas en una red de transporte masivo compuesta por estaciones y
segmentos.

Introducción

La aplicación Tras-Mi-SIG permite consultar y visualizar las rutas asociadas a un par de
estaciones del sistema Transmilenio, teniendo en cuenta el día, la hora y el sentido del
viaje. Como resultado Tras-Mi-SIG genera un reporte que contiene varios criterios para
decidir la ruta óptima, como son el tiempo de viaje y el número de paradas en el trayecto.

¿Qué es Tras-Mi-SIG?

Tras-Mi-SIG es una aplicación de escritorio en Windows que está desarrollada con base en el
siguiente software:

● SharpDevelop: IDE Open Source escrito en C#. Licencia GPL. Versión 2.2.1.

http://www.icsharpcode.net/OpenSource/SD/

● SharpMap: Librería de desarrollo espacial escrita en C#. Licencia GPL. Versión 0.9.

http://www.codeplex.com/SharpMap

● Npgsql: Proveedor de datos Postgres nativo para .NET. Escrito en C#. Licencia BSD.

Versión 1.0. http://pgfoundry.org/projects/npgsql/

● Postgres: Sistema Manejador de Bases de Datos. Versión 8.2. Licencia BSD.

● Postgis: Extensión espacial para Postgres. Licencia GPL. Versión 1.3.2.

http://www.postgresql.org/

http://postgis.refractions.net/

● .NET Framework: Marco de desarrollo .NET. Licencia Freeware. Versión 2.0.

http://msdn.microsoft.com/netframework/

Tras-Mi-SIG emplea los resultados de muchos proyectos de software libre y de código
abierto, pretendiendo demostrar su validez en la construcción de soluciones
geoinformáticas.

¿Cómo está compuesto?

Tras-Mi-SIG tiene los siguientes componentes:

Persistencia: Base de datos en Postgres/Postgis que contiene tablas alfanuméricas, tablas
espaciales y funciones PL/PgSQL personalizadas.

Acceso a Datos: Componente Npgsql para acceder y ejecutar consultas a la base de datos
Postgres/Postgis.

Presentación: Código en C# para presentar los datos en la interfaz principal de la aplicación
y capturar los parámetros que el usuario define para su viaje por el sistema Transmilenio.

¿Cómo funciona?

Tras-Mi-SIG hace uso del lenguaje de programación C# y del componente Sharpmap para
capturar los parámetros del viaje, los cuales al ser enviados por el usuario, son utilizados
para hacer llamados a funciones PL/PgSQL personalizadas (que retornan el tiempo y el
número de paradas de cada ruta) y para construir vistas espaciales de Postgis en tiempo de
ejecución (que permiten resaltar gráficamente los elementos espaciales que componen el
viaje).

Las funciones PL/PgSQL permiten ubicar la lógica del negocio en el Sistema Manejador de
Bases de Datos Postgres, lo cual aisla el comportamiento de las estaciones y rutas de la
capa de presentación de la aplicación, facilitando su mantenimiento y aumentando su
interoperabilidad con otros sistemas.

Instalación

Para instalar Tras-Mi-SIG se deben seguir los siguientes pasos:

1. Instalar la base de datos Tras-Mi-SIG



:

Para instalar la base de datos “trasmisig” se debe contar con Postgres y su extensión
espacial PostGIS.

● En el terminal de Postgres se crea el usuario al que se asignará la base de

datos:

createuser.exe -S -d -r -l -i -P usuario -U postgres

Donde, -S: No es superusuario, -d: Puede crear BD, -r: Puede crear roles, -l:
Puede loguearse, -i: Hereda de roles superiores, -P: Fijar el password, -U:
Usuario que ejecuta la orden.

Se escribe la contraseña “usuario” para el usuario llamado “usuario”.

● Se crea la base de datos “trasmisig” con el siguiente comando:
createdb.exe trasmisig -O usuario -h localhost -E LATIN1 -U postgres

Donde -O: Usuario al que pertenece la base de datos, -h: Servidor, -E:
Codificación, -U: Usuario que ejecuta la orden.

● Se debe descargar el archivo SQL con la estructura y los datos de Tras-Mi-SIG
aquí (356 Kb). Para importar el archivo SQL descargado a la base de datos
“trasmisig” creada, se ejecuta el siguiente comando:

psql.exe -f d:\bd_trasmisig_v1.sql -U postgres

Donde -f: Ruta al archivo SQL, -U: Usuario que ejecuta la orden.

Ahora se debe instalar la aplicación.

2. Instalar la aplicación



:

Para instalar la aplicación Tras-Mi-SIG se debe descargar el archivo de instalación
desde aquí (914 Kb) y posteriormente ejecutarlo, definiendo los parámetros
convencionales del proceso (aceptación de la licencia, ruta de la aplicación y grupo
de programas en el menú inicio).

¿Cómo se usa?

Al ejecutar la aplicación Tras-Mi-SIG aparece la interfaz mostrando información espacial
básica (ciudad de Bogotá y red de transporte masivo Transmilenio, compuesta por
estaciones y segmentos de ruta). Se disponen en la parte central, algunos botones para
manipular y consultar el mapa.

Definir los parámetros del viaje:

Para definir el viaje a realizar se deben ingresar los siguientes parámetros en la parte
superior de la ventana:

● Estación de Origen: Corresponde a la estación del sistema desde la cual inicia el

viaje.

● Estación de Destino: Corresponde a la estación del sistema donde finaliza el viaje.
● Día: Día de la semana en que se efectúa el viaje.
● Hora: Hora del día en la cual se parte de la estación de origen.

Para definir la estación de origen y la estación de destino se tienen dos opciones:

1. Seleccionar las estaciones en las listas desplegables ubicadas en la parte superior de

la interfaz.

2. Utilizar la herramienta Seleccionar Estación que permite interactuar con el mapa a

través de un click sobre la estación de interés.

El día y la hora del viaje se definen en las listas desplegables de la parte superior de la
interfaz de la aplicación. La hora está en el formato 24h (por ejemplo, 18:00 equivale a
6:00pm).

Una vez definidos los parámetros del viaje, se debe dar click en el botón Calcular Rutas.

Despliegue de resultados:

La aplicación desplegará en el mapa el viaje seleccionado y en la parte inferior un reporte
detallado que contiene la siguiente información de la ruta:

● Número: Consecutivo para cada ruta encontrada por la aplicación.
● Ruta: Nombre de la ruta del sistema de transporte que pasa por las estaciones de

origen y destino.

● Origen: Nombre de la estación de origen del viaje.
● Destino: Nombre de la estación de destino del viaje.
● Tiempo: Tiempo que tarda el viaje en minutos.
● No. Paradas: Número de paradas intermedias que debe realizar el bus del sistema.
● Servicio: Tipo de servicio al que pertenece la ruta. Puede ser Expreso (si la ruta
tiene paradas que optimizan el tiempo del viaje) o Corriente (si la ruta se detiene en
todas las estaciones comprendidas entre las estaciones de origen y destino del viaje).

En el reporte aparece seleccionada por defecto la primera ruta (fila de color lila),
desplegando sus paradas (puntos amarillos) y su recorrido (línea rojo) en el mapa.

Si existe más de una ruta que pase por las estaciones de origen y destino, la ruta
seleccionada en el reporte determina las paradas y el recorrido representado en el mapa.

Si la selección de la ruta en el reporte cambia, el mapa se ajusta automáticamente
desplegando las paradas y el recorrido de la ruta seleccionada.



Acercándose un poco en el mapa, se muestran las etiquetas de las estaciones por las que
pasa la ruta, permitiendo facilitar la lectura del recorrido.

Si se quiere consultar otro viaje, se debe dar click en el botón “Ingresar nueva ruta” y
volver a ingresar los parámetros.

Posibles mejoras

● Transmilenio posee un conjunto de buses alimentadores que permiten ampliar el
área de influencia del sistema. En su versión 1.0, Tras-Mi-SIG no tiene en cuenta las
rutas alimentadores debido a la complejidad que le agregan a la aplicación, sin
embargo, constituye una de las posibles mejoras a realizar.

● En ciertas ocasiones, tomar más de una ruta puede disminuir el tiempo de viaje
manteniendo el mismo costo. La implementación de este escenario, constituiría otra
mejora a la aplicación.

Conclusiones y Aclaraciones

● Los datos empleados en Tras-Mi-SIG son ficticios y no corresponden completamente a

la realidad, pues se crearon para llevar a cabo las pruebas de la aplicación.

● Este artículo ha sido concebido como una muestra de la utilidad que proveen los

proyectos de software libre y de código abierto.

Agradecimientos

Agradezco al especialista Samuel Mesa, integrante del equipo GeoTux, por sus sugerencias
sobre la aplicación y por llevar a cabo el proceso de cargue de datos correspondiente a
tablas alfanuméricas y espaciales.

Referencias consultadas:

● Proyecto SharpMap. URL: http://www.codeplex.com/SharpMap (Última visita: Abril,

2008)

● Proyecto SharpDevelop. URL: http://www.icsharpcode.net/OpenSource/SD/ (Última

visita: Abril, 2008)

● Proyecto Npgsql. URL: http://pgfoundry.org/projects/npgsql/ (Última visita: Abril,

2008)

● Transmilenio. URL: http://www.transmilenio.gov.co (Última visita: Abril, 2008)
  • Links de descarga
http://lwp-l.com/pdf11587

Comentarios de: Construcción de un visor de shapefiles con herramientas libres (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad