Subsecciones
Representar el tránsito mediante un modelo de flujo vial a nivel macroscópico, el cual procesa datos. Almacenar en la base de datos indicando así, una escala de tráfico.
Sin embargo en el transcurso de la investigación se decidió que un generador simple de eventos no sería lo suficiente para ayudar a caracterizar el modelo a nivel macroscópico así que se optó por realizar parte del prototipo 6 el generador de eventos, utilizando también un modelo para su desarrollo siendo este a nivel microscópico, por lo tanto se menciona como parte de este prototipo.
Visualizar la cantidad de tránsito vial en colores mediante un modelo matemático el cual se apoyara en un simulador para caracterizar la base de datos.
- Respecto al GIS:
- FEAT1: Visualizar en el GIS la posición actual del usuario.
- FEAT2: Visualizar en el GIS la densidad del tráfico con diferentes colores de acuerdo a la base de datos.
- Respecto al modelo macroscópico se requiere:
- FEAT3: Capturar los datos enviados con el simulador.
- FEAT4: Clasificarlos y procesarlos de acuerdo el modelo y la vía perteneciente.
- FEAT5: Asignar a la base de datos la cantidad de tránsito de acuerdo el modelo.
- Respecto al modelo microscópico:
- FEAT1: Simular un flujo de automóviles individuales que envíen sus datos en intervalos de tiempo de acuerdo al modelo.
- FEAT2: Se requiere ser ajustable la cantidad de automóviles.
- El modelo macroscópico está desarrollado en Lenguaje Java.
Un Sistema de Información Geográfica o SIG es una integración de software y datos geográficos diseñado para capturar, almacenar, manipular, analizar y desplegar en todas sus formas la información geográficamente referenciada. Los sistemas de información geográfica utilizan la información geográfica (base de datos georeferenciada) almacenada en un sistema de información.
La razón fundamental para utilizar un SIG es la gestión de información espacial. El sistema permitirá separar la información en diferentes capas temáticas y las almacena independientemente, permitiendo trabajar con ellas y relacionar la información existente a través de la topología de los objetos, con el fin de generar otra nueva que no podríamos obtener de otra forma.
El uso de los servidores geográficos, está regularizado por los estándares OGC que facilitan la interoperabilidad de los datos espaciales.
- PostgreSQL:
PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD5.1.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, si no que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyado por organizaciones comerciales.
- PostGIS:
Permite al servidor PostgreSQL ser utilizado como una base de datos espacial para los sistemas de información geográfica (SIG).
- OpenLayers:
OpenLayers es una biblioteca de Javascript de código abierto para mostrar mapas interactivos en un navegador web, ofrece un API para su uso.
- OpenStreetMap:
OpenStreetMap (también conocido como OSM) es un proyecto para crear y ofrecer datos geográficos libres, como por ejemplo planos de calles. Básicamente, se trata de la creación de mapas libres y editables. Normalmente, los usuarios suelen subir sus coordenadas desde el GPS para crear localizaciones nuevas o para corregir datos vectoriales ya existentes.
- Servidores Geográficos
Un servidor geográfico provee el servicio de mapas generado a través de datos almacenados en un sistema como una Base de Datos. Es importante remarcar que existen dos tipos de software uno es el Comercial y otro es el Open Source GIS. Los diferentes tipos de Servidores Geográficos que se encuentran en el mercado ya sea de tipo comercial u Open Source GIS, son demasiados, pero los mas conocidos en el mercado son: GeomediaWeb, SIAS, MapBender, AutoDesk MapGuideServer, MapServer, GeoServer, por mencionar algunos.
OGC
OGC, Open Geospatial Consortium, su fin es la definición de estándares abiertos e interoperables dentro de los SIG y de la World Wide Web (www) y que posibiliten la interoperación de sus sistemas de geoprocesamiento y facilitar el intercambio de la información geográfica en beneficio de los usuarios.
Las especificaciones más importantes y representativas surgidas del OGC son las enumeradas a continuación.
- GML. Lenguaje de Marcado Geográfico
- KML. Keyhole Markup Language, lenguaje de marcado basado en XML para representar datos geográficos en tres dimensiones.
- WFS. Web Feature Service, servicio de entidades vectoriales que proporciona la información relativa a la entidad almacenada en una capa vectorial que reúnen las características formuladas en la consulta.
- WMS. Web Map Service, servicio de mapas en la web que produce mapas en formato imagen a la demanda para ser visualizados por un navegador web.
- WCS. Web Coverage Service.
- CSW. Web Catalogue Service o Catalog Service for the Web.
El servicio, Web Map Service (WMS) produce mapas de datos referenciados espacialmente de forma dinámica a partir de información geográfica. Este estándar
internacional define un mapa como una representación de la información geográfica en forma de un archivo digital. Los mapas producidos se generan normalmente en un formato de imagen como PNG, GIF o JPEG, y opcionalmente como gráficos vectoriales en formato SVG o WebCGM.
Los WMS particularmente definen:
- Cómo solicitar y proporcionar un mapa como una imagen o un conjunto de características (GetMap).
- Cómo obtener y facilitar información sobre el contenido de un mapa, como el valor de un elemento en un lugar (GetFeatureInfo).
- Cómo obtener y proporcionar información sobre qué tipos de mapas de un servidor puede entregar (GetCapabilities).
El servicio, Web Feature Service (WFS) es un servicio estándar que ofrece un interfaz de comunicación que permite interactuar con los mapas servidos por WMS, como por ejemplo editar o analizar la información ofrecida por WMS.
Los WFS proporcionan varias operaciones como lo son:
- GetCapabilities (Solicita la capacidad de una capa).
- DescribeFeatureType (Describe características y tipos de la capa).
- GetFeature (Solicita las características de una capa determinada).
- Transaction (Transacción, interactúa entre cliente y servidor para realizar las peticiones ya sea solo de visualización o modificación).
En la tabla 5.1 se muestra una tabla comparativa entre diferentes soporte de servicios, soporte de cache y nivel de soporte de documentación de cada Servidor Geográfico.
Tabla 5.1:
Comparativa de GIS
|
| Software SIG |
33#33
|
34#34
|
35#35
|
36#36
|
37#37
|
38#38
|
39#39
|
40#40
|
| MapServer |
X |
X |
X |
X |
X |
X |
X |
Alto |
| GeoServer |
X |
X |
X |
X |
X |
X |
X |
Alto |
| ArcGIS* |
X |
X |
X |
X |
X |
X |
X |
Alto |
| Deegree |
|
|
X |
X |
X |
X |
|
Bajo |
| GeoPista |
X |
|
|
X |
X |
X |
|
Bajo |
| GRASS |
X |
X |
X |
X |
X |
|
|
Medio |
| gvSIG |
X |
|
X |
X |
X |
|
|
Medio |
| ILWIS |
X |
|
X |
X |
X |
X |
|
Medio |
| Generic Mapping
Tools |
|
X |
|
X |
|
|
|
Bajo |
| JUMP |
X |
|
X |
X |
|
|
|
Bajo |
| Kosmo |
X |
X |
|
X |
|
|
|
Bajo |
| LocalGIS |
X |
|
X |
X |
X |
X |
|
Bajo |
| Quantum GIS |
X |
X |
X |
X |
X |
X |
|
Medio |
| SAGA GIS |
X |
|
X |
X |
X |
|
|
Baja |
| Capaware |
|
|
X |
X |
X |
|
|
Bajo |
| MapGuide Open Source |
|
X |
X |
X |
X |
X |
X |
Medio |
| uDIG |
|
|
X |
X |
X |
|
|
Bajo |
| MapWindow |
X |
|
X |
X |
|
|
|
Alto |
|
- *
- Servidor Geográfico comercial. El resto son de distribución libre.
Para la elección del servidor geográfico, que sea usable para la gestión de mapas y se requieren que cumplan diferentes soportes:
Entonces, entre GeoServer, MapServer y ArcGIS, son los que cumplen los requerimientos, sin embargo, ArcGIS es software privativo. En cuestión de usabilidad, destaca Geoserver a comparación de MapServer. La elección de Servidor Geográfico es GeoServer.
En referencia a los mapas, GeoServer recomienda el uso de los mapas de OpenStreetMap (OSM)
Para representar la totalidad de la superficie terrestre sin ningún tipo de distorsión, un mapa debe tener una superficie esférica como la de un globo terráqueo. Un mapa plano no puede representar con exactitud la superficie redondeada de la Tierra, excepto en áreas muy pequeñas en las que la curvatura es despreciable. Para mostrar grandes porciones de la superficie, la superficie esférica de la Tierra debe transformarse en una superficie plana. El sistema de transformación es lo que se conoce como proyección cartográfica. Cuando una superficie esférica se transfiere a un plano, modifica su geografía y la distorsiona, pero existen muchas transformaciones que mantienen una o varias de las propiedades geométricas del globo.
No hay ninguna proyección que no tenga algún error de deformación, llamado distorsión. Como es imposible conservar todas las propiedades a la vez, hay que decidir qué tipo de mapa se pretende realizar, ya que cada proyección puede conserva alguna de sus propiedades geométricas. A pesar de todos los problemas relativos a la distorsión, todas las proyecciones mantienen una característica importante: la exactitud del posicionamiento.
La selección de una proyección u otra depende del propósito para el cual se crea un mapa. Para mapas de carreteras y calles nos interesa que se mantengan las distancias (equidistantes) y en los mapas temáticos es importante que se conserve la medida y la forma de las regiones cartografiadas.
OpenStreetMap utiliza una estructura de datos topológica. Los datos se almacenan en la proyección EPSG:4326.
En la figura 5.1 se muestra la arquitectura del prototipo 2, añadiendo funcionalidad respecto del prototipo 1. Se agrega el simulador, y el servidor es separado por módulos.
Figura 5.1:
Arquitectura del Sistema del prototipo 2: Modelo
|
|
La tabla y las vistas que se utilizan para la representación del tráfico se muestran en la figura 5.2.
Figura:
Diagrama de Entidad Relación del prototipo 2: Tránsito
|
|
El diagrama de actividades para mostrar el tráfico se muestra en la figura 5.3.
Figura:
Diagrama de Actividades del prototipo 2: Tránsito
|
|
En la figura 5.4 se muestra el diagrama de clases del modelo macroscópico.
Figura:
Diagrama de Clases del prototipo 2: Modelo macroscópico
|
|
El diagrama de secuencia para aplicar el modelo macroscópico se muestra en la figura
5.5.
Figura:
Diagrama de Secuencia del prototipo 2: Modelo macroscópico
|
|
En la figura 5.6 se muestra el diagrama de clases del simulador.
Figura 5.6:
Diagrama de Clases del prototipo 2: Simulador
|
|
La descripción de los casos de uso para este prototipo en cuanto respecta al modelo microscópico (Simulador) se muestra a continuación.
 |
Tester: El tester podrá manipular el simulador de eventos para asi generar las distintas cantidades de tránsito, la funciones específicas se muestran en la figura (5.6) |
En este prototipo se tienen contemplados tres casos de uso, los cuales son reflejados en la figura (5.7) sólo aplica para la aplicación móvil debido a que en el servidor no hay ningún caso de uso en este prototipo.
Figura 5.7:
Diagrama de Casos de Uso del prototipo 2
 .
|
Caso de uso: Simular comportamiento de automóviles
- 1
- Nombre caso de uso: Simular comportamiento de automóviles
- 1.1
- Breve descripción
El usuario iniciará o detendrá la simulación.
- 2
- Flujo de eventos
- 2.1
- Flujo Base
- 1
- Ejecutar sistema
El caso de uso comienza cuando el usuario inicia el sistema.
- 2
- Seleccionar opción en ``Estado''
El usuario selecciona la opción ``On'' o en su defecto la opción ``off'' en ``Estado''. El sistema comienza o detiene la simulación mostrando el funcionamiento en pantalla.
- 3
- Fin de caso de uso
El usuario sale del sistema. Fin del caso de uso.
- 2.2
- Flujos Alternativos
- 3
- Precondiciones
Ninguna
- 4
- Postcondiciones
Ninguna
Caso de uso: Variar cantidad de vehículos
- 1
- Nombre caso de uso: Variar cantidad de vehículos
- 1.1
- Breve descripción
El usuario variará la cantidad de vehículos en el simulador y se verán reflejados en el sistema.
- 2
- Flujo de eventos
- 2.1
- Flujo Base
- 1
- Ejecutar sistema
El caso de uso comienza cuando el usuario inicia el sistema.
- 2
- Desplazar el control de la cantidad de vehículos
El usuario desplaza el control de la cantidad de vehículos aumentando o disminuyendo según sea el sentido. El sistema incrementa o decrementa en la simulación la cantidad de vehículos según la configuración del control. El sistema refleja los cambios hechos.
- 3
- Fin de caso de uso
El usuario sale del sistema. Fin del caso de uso.
- 2.2
- Flujos Alternativos
- 2.2.1
- Variación sin simulación
En el paso 2, ``Desplazar el control de la cantidad de vehículos'', en el flujo base. El sistema se encuentra con la simulación detenida por lo tanto los cambios no se ven reflejados. El caso de uso termina.
- 3
- Precondiciones
- 3.1
- El sistema deberá tener la simulación iniciada
- 4
- Postcondiciones
Ninguna
Caso de uso: Configurar envío de datos
- 1
- Nombre caso de uso: Configurar envío de datos
- 1.1
- Breve descripción
El usuario configura activando o desactivando el envió de datos al servidor.
- 2
- Flujo de eventos
- 2.1
- Flujo Base
- 1
- Ejecutar sistema
El caso de uso comienza cuando el usuario inicia el sistema.
- 2
- Seleccionar opción en ``Envió''
El usuario selecciona la opción ``On'' o en su defecto la opción ``Off'' en ``Envió''. El sistema habilitará o deshabilitará el envío de datos al servidor de los vehículos simulados.
- 3
- Fin de caso de uso
El usuario sale del sistema. Fin del caso de uso.
- 2.2
- Flujos Alternativos
- 3
- Precondiciones
Ninguna
- 4
- Postcondiciones
Ninguna
El prototipo evolucionó de un prototipo constituido de 3 capas a un prototipo de 4 capas. En el prototipo de 3 capas para representar el tráfico se desarrolló una aplicación en java pero no cumple con los objetivos propuestos.
La figura 5.8 muestra el prototipo 2 sin realizar cambios.
Figura:
Arquitectura del Sistema del prototipo 2: Modelo servidor versión 1
|
|
Cuando el prototipo evoluciona se integra el servidor de mapas GeoServer que permite a los usuarios compartir y editar datos geospaciales. Permite servir mapas y datos de diferentes formatos para aplicaciones Web, ya sean clientes Web ligeros, o programas GIS desktop. Esto significa que se pueden almacenar datos espaciales en diferentes formatos.
Las principales funciones del servidor de mapas Geoserver son:
- Realiza la conexión a base de datos geoespaciales con postgres.
- Realiza la fácil representación de tipos de datos geométricos con un estilo definido en páginas WEB.
- Realiza geoprocesamiento para identificar los datos de la base de datos.
- Pública capas de la representación de datos.
- Permite la petición de servicios de capas mediante Páginas WEB y OpenLayers.
Al incluir el servidor de mapa GeoServer la arquitectura del servidor cambia y es un intermediario entre la capa de datos y vista, trabaja al paralelo de la capa de aplicación sin relacionarse con ella y no interfiere con ninguna aplicación. La arquitectura del servidor se muestra en la figura 5.9
Figura:
Arquitectura del Sistema del prototipo 2: Modelo servidor versión 2
|
|
La Base de datos contiene una tabla general para representar el tráfico de toda la ciudad de México. Para representar el tráfico en la ciudad de México en la capa de vista se utiliza el servidor de capas geoserver.
GeoServer tiene la funcionalidad de conectarse a bases de datos geoespacial representando en el mapa el tipo de dato geométrico ya sea con un estilo por default incluido por GeoServer o mediante un estilo personalizado por los usuarios de GeoServer.
Mediante esta funcionalidad representamos el nivel de tráfico en el mapa con un estilo personalizado, el tipo de dato geométrico de las calles es MULTILINESTRING sin excepción de esta manera a cada calle lo corresponde un color de acuerdo a la base de datos.
La representación del tráfico se hace mediante tres vistas, básicamente cada vista representa una capa cada una de acuerdo al nivel de tráfico que se definió de acuerdo al modelo, cada vista es una consulta y para la especificación de a que vista pertenece cada registro se definen las siguientes condiciones para la columna ``trafico'' de la base de datos:
- 1 tráfico bajo: 41#4160
- 2 tráfico medio: 30.1-60
- 3 tráfico alto: 0.1-30
Con estas condiciones y estilos definidos, se modela en la capa de vista junto con las demás capas, la representación se encuentra en la figura 5.10.
Figura:
Diagrama para generar capas de tránsito
|
|
Se determinó el proceso para la respresentación del tráfico en el GIS realizarlo mediante un servidor de mapas, Geoserver.
Se obtiene el estado del tráfico mediante la aplicación del modelo macroscópico.
- La figura 5.11 muestra la ubicación del usuario cuando inicia la aplicación.
Figura:
Captura del prototipo 2: Móvil
|
|
La figura 5.12 muestra el modelo de tráfico las calles de la ciudad de México.
Figura 5.12:
Captura del prototipo 2: Mapa
|
|
La figura 5.13 muestra el modelo de tráfico en una calle con un enfoque microscópico, migrado al lenguaje Java, para la integración del modelo con el modelo macroscópico, debido a la compatibilidad de diferentes lenguajes de programación.
Figura 5.13:
Captura del prototipo 2: Simulador
|
|
En esta sección se muestran las gráficas de los resultados al aplicar los protocolos de pruebas que se encuentran en el anexo de este documento. Estos son los resultados de las iteraciones de cada título de prueba hasta cumplir con el 100% de aprobados (OK). Se suma el total OK y NOK de todas las iteraciones.
Figura 5.14:
Prueba del prototipo 2: En cuanto a GIS
 .
|
Figura:
Prueba del prototipo 2: En cuanto al modelo macroscópico
 .
|
Figura:
Prueba del prototipo 2: En cuanto al modelo microscópico (Simulador)
 .
|
IPN - ESCOM