Universidad de las Ciencias Informaacuteticas Departamento de Informatizacioacuten
Sistema de Informacioacuten Geograacutefica sobre WEB de la UCI
TRABAJO DE DIPLOMA presentado para optar por el tiacutetulo de
Ingeniero Informaacutetico
Autor ISUEL MEacuteNDEZ ROLDAacuteN
Tutores
ING TATIANA DELGADO FERNAacuteNDEZ ING LUISA YUSIMIT SARDINtildeAS RAMIacuteREZ
Consultante
MSc Rafael Cruz Iglesias
Ciudad de la Habana Julio del 2004
A mis abuelos
Agradecimientos Primero quisiera agradecer a Dios por la fuerza brindada para no caer ante las
dificultades por darme todo lo que tengo hoy por alumbrar mi camino cada diacutea
por permitir hacerme un hombre de bien
A mi Tiacuteo Omelio Roldaacuten Peacuterez por ser maacutes que mi tiacuteo mi amigo mi hermano y
mi padre por su apoyo incondicional A mis abuelos por todo el amor que me
han dado siempre a los que dedico especialmente este trabajo A mis padres y
demaacutes familiares por su apoyo en todo momento por guiarme por el buen
camino y formarme como la persona que soy hoy A mis amigos Raydel Nieves
Ramos Alberto Pardo Garciacutea Elieacutecer Zamora Agramante Humberto Gutieacuterrez y
a todos aquellos que no menciono por problemas de memoria o quizaacutes
capacidad en disco duro
Quisiera agradecer tambieacuten muy especialmente a los compantildeeros y amigos
MSc Rafael Cruz Iglesias ing Joseacute Luis Capote y Lic Lazaro Sergio Aguila
Diaz de el Grupo Empresarial GEOCUBA sin los cuales no habriacuteamos podido
enfrentar esta tarea y mucho menos obtener los resultados
Por uacuteltimo muchas gracias a todo aquel que se preocupoacute por la realizacioacuten de
este trabajo a todos los que de una forma u otra estuvieron pendiente del
estado de mi trabajo aquiacute estaacuten los resultados A todo el que no pensoacute que
fuera posible esto le sirva de escarmiento A todo el que me brindoacute sus manos
se las devuelvo en cuanto pueda A todo el que puso frenos lo siento mucho por
ellos
A todos los que de una forma u otra fueron y han sido apoyo en mi carrera
salud para mi vida y alegriacutea en todo momento esto es de ellos esto es su
trabajo
Resumen Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
Desde su surgimiento y hasta la fecha los SIG han evolucionado por varias
etapas en correspondencia con el propio desarrollo de las Tecnologiacuteas de la
Informacioacuten y las Comunicaciones Los primeros SIG desarrollados entre las
deacutecadas del 60 y el 80 estaban orientados a un proyecto donde toda la
informacioacuten se almacenaba en una uacutenica computadora ( sistemas ldquostand-alonerdquo )
ejecutaacutendose el SIG tambieacuten en ella Despueacutes estos sistemas fueron ampliando
su conectividad dentro de la empresa en intranets corporativas y finalmente fue
necesario que surgieran enfoques orientados al Web para satisfacer las
demandas de toda la sociedad
Despueacutes de analizar algunos de los sistemas existentes que brindan solucioacuten a
la problemaacutetica planteada ventajas y desventajas de eacutestos el presente trabajo
comprende como principal objetivo desarrollar una aplicacioacuten Web que permita
el manejo de datos geoespaciales (mapas interactivos) en el marco del Proyecto
UCI Ciudad Digital utilizando un Servidor de Mapas para Web
Tabla de Contenido
INTRODUCCIOacuteN1
CAPIacuteTULO 1 FUNDAMENTACIOacuteN TEOacuteRICA 5
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte 5 Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG 5 Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales 7
Caracteriacutesticas de las Arquitecturas modernas de los SIG 9 Dos liacutederes mundiales de SIG 10
iquestQueacute es un SIG 23 Una definicioacuten precisa y completa podriacutea ser 23 Otras definiciones de SIG 23
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS 24 TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG 25 Los SIG Vectoriales 26 Los SIG Raster 28 iquestPara que sirve un SIG 30
Metodologiacutea Utilizada para el desarrollo del proyecto 32
Conclusiones 35
CAPIacuteTULO 2 ESTUDIO PRELIMINAR DEL SIG UCI36
Introduccioacuten 36
Objeto de Estudio 36
Modelo de negocio 38 Actores del negocio 38 Diagrama de casos de uso del negocio 38 Realizacioacuten de los casos de uso del negocio 39 Diagrama del modelo de objetos para el caso de uso Actualizar mapa general 40 Diagrama del modelo de objetos para el caso de uso Localizar Inmueble 42 Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv 44 Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa 46 Definicioacuten de los Requisitos funcionales 47 Definicioacuten de los requerimientos no funcionales 47
Definicioacuten de Casos de Uso 49
Definicioacuten de Actores 50 Actores 50 Casos de Uso 51 Diagrama de casos de Uso 53 Casos de uso expandidos 54
CAPIacuteTULO 3 ANAacuteLISIS DISENtildeO E IMPLEMENTACIOacuteN 58
Anaacutelisis 58 Modelo de clases de anaacutelisis 58
Disentildeo 59 Diagramas de Secuencia 59 Diagrama de clases 59 Descripcioacuten de las clases 60
Implementacioacuten 62 Servicio de Mapas y sus Interfaces 62 El Cliente Web 67
CONCLUSIONES 71
RECOMENDACIONES 72
Bibliografiacutea 73
Referencias Bibliograacuteficas 74
ANEXOS 75
A Diagrama de Casos de Uso 75
B Diagrama de Clases de Anaacutelisis 76
C Diagramas de Secuencia 77
D Diagrama de Clases de Disentildeo 80
1
Introduccioacuten
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica
Los Sistemas de Informacioacuten Geograacutefica (SIG) estaacuten de moda hoy en diacutea
Maacutes allaacute de la espectacularidad de sus resultados o la amplitud de su campo de
aplicaciones esta herramienta se ha popularizado baacutesicamente porque se
considera que entre el 80 y el 90 de toda la informacioacuten involucrada en la toma
de decisiones de la sociedad a nivel global tiene una componente espacial Se
trata de una disciplina joven y ciertamente compleja un nuevo paradigma que
forma parte del aacutembito maacutes extenso de los Sistemas de Informacioacuten (SI) Es una
herramienta multipropoacutesito con aplicaciones en los campos maacutes diversos
En la actualidad estos sistemas son una herramienta fundamental en la
transferencia del conocimiento del mundo real a modelos que seraacuten utilizados
posteriormente en el anaacutelisis y toma de decisiones en sus diversas aplicaciones
dentro de actividades como la gestioacuten de recursos naturales y medio ambiente
la planificacioacuten urbana el mantenimiento de redes hidraacuteulicas eleacutectricas
telefoacutenicas y alcantarillados por citar algunos ejemplos
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas
Debido a intereacutes de la direccioacuten de informatizacioacuten de la UCI por desarrollar la
infraestructura digital de la sociedad cubana del futuro y la necesidad de
emplear estas tecnologiacuteas nuestro equipo de proyecto se dio a la tarea de de
forma pionera iniciarnos al estudio de los sistemas geoespaciales e implementar
un SIG para la UCI A partir de la experiencia de los desarrolladores de Software
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
A mis abuelos
Agradecimientos Primero quisiera agradecer a Dios por la fuerza brindada para no caer ante las
dificultades por darme todo lo que tengo hoy por alumbrar mi camino cada diacutea
por permitir hacerme un hombre de bien
A mi Tiacuteo Omelio Roldaacuten Peacuterez por ser maacutes que mi tiacuteo mi amigo mi hermano y
mi padre por su apoyo incondicional A mis abuelos por todo el amor que me
han dado siempre a los que dedico especialmente este trabajo A mis padres y
demaacutes familiares por su apoyo en todo momento por guiarme por el buen
camino y formarme como la persona que soy hoy A mis amigos Raydel Nieves
Ramos Alberto Pardo Garciacutea Elieacutecer Zamora Agramante Humberto Gutieacuterrez y
a todos aquellos que no menciono por problemas de memoria o quizaacutes
capacidad en disco duro
Quisiera agradecer tambieacuten muy especialmente a los compantildeeros y amigos
MSc Rafael Cruz Iglesias ing Joseacute Luis Capote y Lic Lazaro Sergio Aguila
Diaz de el Grupo Empresarial GEOCUBA sin los cuales no habriacuteamos podido
enfrentar esta tarea y mucho menos obtener los resultados
Por uacuteltimo muchas gracias a todo aquel que se preocupoacute por la realizacioacuten de
este trabajo a todos los que de una forma u otra estuvieron pendiente del
estado de mi trabajo aquiacute estaacuten los resultados A todo el que no pensoacute que
fuera posible esto le sirva de escarmiento A todo el que me brindoacute sus manos
se las devuelvo en cuanto pueda A todo el que puso frenos lo siento mucho por
ellos
A todos los que de una forma u otra fueron y han sido apoyo en mi carrera
salud para mi vida y alegriacutea en todo momento esto es de ellos esto es su
trabajo
Resumen Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
Desde su surgimiento y hasta la fecha los SIG han evolucionado por varias
etapas en correspondencia con el propio desarrollo de las Tecnologiacuteas de la
Informacioacuten y las Comunicaciones Los primeros SIG desarrollados entre las
deacutecadas del 60 y el 80 estaban orientados a un proyecto donde toda la
informacioacuten se almacenaba en una uacutenica computadora ( sistemas ldquostand-alonerdquo )
ejecutaacutendose el SIG tambieacuten en ella Despueacutes estos sistemas fueron ampliando
su conectividad dentro de la empresa en intranets corporativas y finalmente fue
necesario que surgieran enfoques orientados al Web para satisfacer las
demandas de toda la sociedad
Despueacutes de analizar algunos de los sistemas existentes que brindan solucioacuten a
la problemaacutetica planteada ventajas y desventajas de eacutestos el presente trabajo
comprende como principal objetivo desarrollar una aplicacioacuten Web que permita
el manejo de datos geoespaciales (mapas interactivos) en el marco del Proyecto
UCI Ciudad Digital utilizando un Servidor de Mapas para Web
Tabla de Contenido
INTRODUCCIOacuteN1
CAPIacuteTULO 1 FUNDAMENTACIOacuteN TEOacuteRICA 5
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte 5 Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG 5 Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales 7
Caracteriacutesticas de las Arquitecturas modernas de los SIG 9 Dos liacutederes mundiales de SIG 10
iquestQueacute es un SIG 23 Una definicioacuten precisa y completa podriacutea ser 23 Otras definiciones de SIG 23
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS 24 TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG 25 Los SIG Vectoriales 26 Los SIG Raster 28 iquestPara que sirve un SIG 30
Metodologiacutea Utilizada para el desarrollo del proyecto 32
Conclusiones 35
CAPIacuteTULO 2 ESTUDIO PRELIMINAR DEL SIG UCI36
Introduccioacuten 36
Objeto de Estudio 36
Modelo de negocio 38 Actores del negocio 38 Diagrama de casos de uso del negocio 38 Realizacioacuten de los casos de uso del negocio 39 Diagrama del modelo de objetos para el caso de uso Actualizar mapa general 40 Diagrama del modelo de objetos para el caso de uso Localizar Inmueble 42 Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv 44 Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa 46 Definicioacuten de los Requisitos funcionales 47 Definicioacuten de los requerimientos no funcionales 47
Definicioacuten de Casos de Uso 49
Definicioacuten de Actores 50 Actores 50 Casos de Uso 51 Diagrama de casos de Uso 53 Casos de uso expandidos 54
CAPIacuteTULO 3 ANAacuteLISIS DISENtildeO E IMPLEMENTACIOacuteN 58
Anaacutelisis 58 Modelo de clases de anaacutelisis 58
Disentildeo 59 Diagramas de Secuencia 59 Diagrama de clases 59 Descripcioacuten de las clases 60
Implementacioacuten 62 Servicio de Mapas y sus Interfaces 62 El Cliente Web 67
CONCLUSIONES 71
RECOMENDACIONES 72
Bibliografiacutea 73
Referencias Bibliograacuteficas 74
ANEXOS 75
A Diagrama de Casos de Uso 75
B Diagrama de Clases de Anaacutelisis 76
C Diagramas de Secuencia 77
D Diagrama de Clases de Disentildeo 80
1
Introduccioacuten
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica
Los Sistemas de Informacioacuten Geograacutefica (SIG) estaacuten de moda hoy en diacutea
Maacutes allaacute de la espectacularidad de sus resultados o la amplitud de su campo de
aplicaciones esta herramienta se ha popularizado baacutesicamente porque se
considera que entre el 80 y el 90 de toda la informacioacuten involucrada en la toma
de decisiones de la sociedad a nivel global tiene una componente espacial Se
trata de una disciplina joven y ciertamente compleja un nuevo paradigma que
forma parte del aacutembito maacutes extenso de los Sistemas de Informacioacuten (SI) Es una
herramienta multipropoacutesito con aplicaciones en los campos maacutes diversos
En la actualidad estos sistemas son una herramienta fundamental en la
transferencia del conocimiento del mundo real a modelos que seraacuten utilizados
posteriormente en el anaacutelisis y toma de decisiones en sus diversas aplicaciones
dentro de actividades como la gestioacuten de recursos naturales y medio ambiente
la planificacioacuten urbana el mantenimiento de redes hidraacuteulicas eleacutectricas
telefoacutenicas y alcantarillados por citar algunos ejemplos
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas
Debido a intereacutes de la direccioacuten de informatizacioacuten de la UCI por desarrollar la
infraestructura digital de la sociedad cubana del futuro y la necesidad de
emplear estas tecnologiacuteas nuestro equipo de proyecto se dio a la tarea de de
forma pionera iniciarnos al estudio de los sistemas geoespaciales e implementar
un SIG para la UCI A partir de la experiencia de los desarrolladores de Software
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
Agradecimientos Primero quisiera agradecer a Dios por la fuerza brindada para no caer ante las
dificultades por darme todo lo que tengo hoy por alumbrar mi camino cada diacutea
por permitir hacerme un hombre de bien
A mi Tiacuteo Omelio Roldaacuten Peacuterez por ser maacutes que mi tiacuteo mi amigo mi hermano y
mi padre por su apoyo incondicional A mis abuelos por todo el amor que me
han dado siempre a los que dedico especialmente este trabajo A mis padres y
demaacutes familiares por su apoyo en todo momento por guiarme por el buen
camino y formarme como la persona que soy hoy A mis amigos Raydel Nieves
Ramos Alberto Pardo Garciacutea Elieacutecer Zamora Agramante Humberto Gutieacuterrez y
a todos aquellos que no menciono por problemas de memoria o quizaacutes
capacidad en disco duro
Quisiera agradecer tambieacuten muy especialmente a los compantildeeros y amigos
MSc Rafael Cruz Iglesias ing Joseacute Luis Capote y Lic Lazaro Sergio Aguila
Diaz de el Grupo Empresarial GEOCUBA sin los cuales no habriacuteamos podido
enfrentar esta tarea y mucho menos obtener los resultados
Por uacuteltimo muchas gracias a todo aquel que se preocupoacute por la realizacioacuten de
este trabajo a todos los que de una forma u otra estuvieron pendiente del
estado de mi trabajo aquiacute estaacuten los resultados A todo el que no pensoacute que
fuera posible esto le sirva de escarmiento A todo el que me brindoacute sus manos
se las devuelvo en cuanto pueda A todo el que puso frenos lo siento mucho por
ellos
A todos los que de una forma u otra fueron y han sido apoyo en mi carrera
salud para mi vida y alegriacutea en todo momento esto es de ellos esto es su
trabajo
Resumen Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
Desde su surgimiento y hasta la fecha los SIG han evolucionado por varias
etapas en correspondencia con el propio desarrollo de las Tecnologiacuteas de la
Informacioacuten y las Comunicaciones Los primeros SIG desarrollados entre las
deacutecadas del 60 y el 80 estaban orientados a un proyecto donde toda la
informacioacuten se almacenaba en una uacutenica computadora ( sistemas ldquostand-alonerdquo )
ejecutaacutendose el SIG tambieacuten en ella Despueacutes estos sistemas fueron ampliando
su conectividad dentro de la empresa en intranets corporativas y finalmente fue
necesario que surgieran enfoques orientados al Web para satisfacer las
demandas de toda la sociedad
Despueacutes de analizar algunos de los sistemas existentes que brindan solucioacuten a
la problemaacutetica planteada ventajas y desventajas de eacutestos el presente trabajo
comprende como principal objetivo desarrollar una aplicacioacuten Web que permita
el manejo de datos geoespaciales (mapas interactivos) en el marco del Proyecto
UCI Ciudad Digital utilizando un Servidor de Mapas para Web
Tabla de Contenido
INTRODUCCIOacuteN1
CAPIacuteTULO 1 FUNDAMENTACIOacuteN TEOacuteRICA 5
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte 5 Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG 5 Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales 7
Caracteriacutesticas de las Arquitecturas modernas de los SIG 9 Dos liacutederes mundiales de SIG 10
iquestQueacute es un SIG 23 Una definicioacuten precisa y completa podriacutea ser 23 Otras definiciones de SIG 23
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS 24 TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG 25 Los SIG Vectoriales 26 Los SIG Raster 28 iquestPara que sirve un SIG 30
Metodologiacutea Utilizada para el desarrollo del proyecto 32
Conclusiones 35
CAPIacuteTULO 2 ESTUDIO PRELIMINAR DEL SIG UCI36
Introduccioacuten 36
Objeto de Estudio 36
Modelo de negocio 38 Actores del negocio 38 Diagrama de casos de uso del negocio 38 Realizacioacuten de los casos de uso del negocio 39 Diagrama del modelo de objetos para el caso de uso Actualizar mapa general 40 Diagrama del modelo de objetos para el caso de uso Localizar Inmueble 42 Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv 44 Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa 46 Definicioacuten de los Requisitos funcionales 47 Definicioacuten de los requerimientos no funcionales 47
Definicioacuten de Casos de Uso 49
Definicioacuten de Actores 50 Actores 50 Casos de Uso 51 Diagrama de casos de Uso 53 Casos de uso expandidos 54
CAPIacuteTULO 3 ANAacuteLISIS DISENtildeO E IMPLEMENTACIOacuteN 58
Anaacutelisis 58 Modelo de clases de anaacutelisis 58
Disentildeo 59 Diagramas de Secuencia 59 Diagrama de clases 59 Descripcioacuten de las clases 60
Implementacioacuten 62 Servicio de Mapas y sus Interfaces 62 El Cliente Web 67
CONCLUSIONES 71
RECOMENDACIONES 72
Bibliografiacutea 73
Referencias Bibliograacuteficas 74
ANEXOS 75
A Diagrama de Casos de Uso 75
B Diagrama de Clases de Anaacutelisis 76
C Diagramas de Secuencia 77
D Diagrama de Clases de Disentildeo 80
1
Introduccioacuten
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica
Los Sistemas de Informacioacuten Geograacutefica (SIG) estaacuten de moda hoy en diacutea
Maacutes allaacute de la espectacularidad de sus resultados o la amplitud de su campo de
aplicaciones esta herramienta se ha popularizado baacutesicamente porque se
considera que entre el 80 y el 90 de toda la informacioacuten involucrada en la toma
de decisiones de la sociedad a nivel global tiene una componente espacial Se
trata de una disciplina joven y ciertamente compleja un nuevo paradigma que
forma parte del aacutembito maacutes extenso de los Sistemas de Informacioacuten (SI) Es una
herramienta multipropoacutesito con aplicaciones en los campos maacutes diversos
En la actualidad estos sistemas son una herramienta fundamental en la
transferencia del conocimiento del mundo real a modelos que seraacuten utilizados
posteriormente en el anaacutelisis y toma de decisiones en sus diversas aplicaciones
dentro de actividades como la gestioacuten de recursos naturales y medio ambiente
la planificacioacuten urbana el mantenimiento de redes hidraacuteulicas eleacutectricas
telefoacutenicas y alcantarillados por citar algunos ejemplos
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas
Debido a intereacutes de la direccioacuten de informatizacioacuten de la UCI por desarrollar la
infraestructura digital de la sociedad cubana del futuro y la necesidad de
emplear estas tecnologiacuteas nuestro equipo de proyecto se dio a la tarea de de
forma pionera iniciarnos al estudio de los sistemas geoespaciales e implementar
un SIG para la UCI A partir de la experiencia de los desarrolladores de Software
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
Resumen Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
Desde su surgimiento y hasta la fecha los SIG han evolucionado por varias
etapas en correspondencia con el propio desarrollo de las Tecnologiacuteas de la
Informacioacuten y las Comunicaciones Los primeros SIG desarrollados entre las
deacutecadas del 60 y el 80 estaban orientados a un proyecto donde toda la
informacioacuten se almacenaba en una uacutenica computadora ( sistemas ldquostand-alonerdquo )
ejecutaacutendose el SIG tambieacuten en ella Despueacutes estos sistemas fueron ampliando
su conectividad dentro de la empresa en intranets corporativas y finalmente fue
necesario que surgieran enfoques orientados al Web para satisfacer las
demandas de toda la sociedad
Despueacutes de analizar algunos de los sistemas existentes que brindan solucioacuten a
la problemaacutetica planteada ventajas y desventajas de eacutestos el presente trabajo
comprende como principal objetivo desarrollar una aplicacioacuten Web que permita
el manejo de datos geoespaciales (mapas interactivos) en el marco del Proyecto
UCI Ciudad Digital utilizando un Servidor de Mapas para Web
Tabla de Contenido
INTRODUCCIOacuteN1
CAPIacuteTULO 1 FUNDAMENTACIOacuteN TEOacuteRICA 5
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte 5 Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG 5 Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales 7
Caracteriacutesticas de las Arquitecturas modernas de los SIG 9 Dos liacutederes mundiales de SIG 10
iquestQueacute es un SIG 23 Una definicioacuten precisa y completa podriacutea ser 23 Otras definiciones de SIG 23
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS 24 TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG 25 Los SIG Vectoriales 26 Los SIG Raster 28 iquestPara que sirve un SIG 30
Metodologiacutea Utilizada para el desarrollo del proyecto 32
Conclusiones 35
CAPIacuteTULO 2 ESTUDIO PRELIMINAR DEL SIG UCI36
Introduccioacuten 36
Objeto de Estudio 36
Modelo de negocio 38 Actores del negocio 38 Diagrama de casos de uso del negocio 38 Realizacioacuten de los casos de uso del negocio 39 Diagrama del modelo de objetos para el caso de uso Actualizar mapa general 40 Diagrama del modelo de objetos para el caso de uso Localizar Inmueble 42 Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv 44 Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa 46 Definicioacuten de los Requisitos funcionales 47 Definicioacuten de los requerimientos no funcionales 47
Definicioacuten de Casos de Uso 49
Definicioacuten de Actores 50 Actores 50 Casos de Uso 51 Diagrama de casos de Uso 53 Casos de uso expandidos 54
CAPIacuteTULO 3 ANAacuteLISIS DISENtildeO E IMPLEMENTACIOacuteN 58
Anaacutelisis 58 Modelo de clases de anaacutelisis 58
Disentildeo 59 Diagramas de Secuencia 59 Diagrama de clases 59 Descripcioacuten de las clases 60
Implementacioacuten 62 Servicio de Mapas y sus Interfaces 62 El Cliente Web 67
CONCLUSIONES 71
RECOMENDACIONES 72
Bibliografiacutea 73
Referencias Bibliograacuteficas 74
ANEXOS 75
A Diagrama de Casos de Uso 75
B Diagrama de Clases de Anaacutelisis 76
C Diagramas de Secuencia 77
D Diagrama de Clases de Disentildeo 80
1
Introduccioacuten
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica
Los Sistemas de Informacioacuten Geograacutefica (SIG) estaacuten de moda hoy en diacutea
Maacutes allaacute de la espectacularidad de sus resultados o la amplitud de su campo de
aplicaciones esta herramienta se ha popularizado baacutesicamente porque se
considera que entre el 80 y el 90 de toda la informacioacuten involucrada en la toma
de decisiones de la sociedad a nivel global tiene una componente espacial Se
trata de una disciplina joven y ciertamente compleja un nuevo paradigma que
forma parte del aacutembito maacutes extenso de los Sistemas de Informacioacuten (SI) Es una
herramienta multipropoacutesito con aplicaciones en los campos maacutes diversos
En la actualidad estos sistemas son una herramienta fundamental en la
transferencia del conocimiento del mundo real a modelos que seraacuten utilizados
posteriormente en el anaacutelisis y toma de decisiones en sus diversas aplicaciones
dentro de actividades como la gestioacuten de recursos naturales y medio ambiente
la planificacioacuten urbana el mantenimiento de redes hidraacuteulicas eleacutectricas
telefoacutenicas y alcantarillados por citar algunos ejemplos
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas
Debido a intereacutes de la direccioacuten de informatizacioacuten de la UCI por desarrollar la
infraestructura digital de la sociedad cubana del futuro y la necesidad de
emplear estas tecnologiacuteas nuestro equipo de proyecto se dio a la tarea de de
forma pionera iniciarnos al estudio de los sistemas geoespaciales e implementar
un SIG para la UCI A partir de la experiencia de los desarrolladores de Software
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
Tabla de Contenido
INTRODUCCIOacuteN1
CAPIacuteTULO 1 FUNDAMENTACIOacuteN TEOacuteRICA 5
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte 5 Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG 5 Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales 7
Caracteriacutesticas de las Arquitecturas modernas de los SIG 9 Dos liacutederes mundiales de SIG 10
iquestQueacute es un SIG 23 Una definicioacuten precisa y completa podriacutea ser 23 Otras definiciones de SIG 23
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS 24 TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG 25 Los SIG Vectoriales 26 Los SIG Raster 28 iquestPara que sirve un SIG 30
Metodologiacutea Utilizada para el desarrollo del proyecto 32
Conclusiones 35
CAPIacuteTULO 2 ESTUDIO PRELIMINAR DEL SIG UCI36
Introduccioacuten 36
Objeto de Estudio 36
Modelo de negocio 38 Actores del negocio 38 Diagrama de casos de uso del negocio 38 Realizacioacuten de los casos de uso del negocio 39 Diagrama del modelo de objetos para el caso de uso Actualizar mapa general 40 Diagrama del modelo de objetos para el caso de uso Localizar Inmueble 42 Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv 44 Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa 46 Definicioacuten de los Requisitos funcionales 47 Definicioacuten de los requerimientos no funcionales 47
Definicioacuten de Casos de Uso 49
Definicioacuten de Actores 50 Actores 50 Casos de Uso 51 Diagrama de casos de Uso 53 Casos de uso expandidos 54
CAPIacuteTULO 3 ANAacuteLISIS DISENtildeO E IMPLEMENTACIOacuteN 58
Anaacutelisis 58 Modelo de clases de anaacutelisis 58
Disentildeo 59 Diagramas de Secuencia 59 Diagrama de clases 59 Descripcioacuten de las clases 60
Implementacioacuten 62 Servicio de Mapas y sus Interfaces 62 El Cliente Web 67
CONCLUSIONES 71
RECOMENDACIONES 72
Bibliografiacutea 73
Referencias Bibliograacuteficas 74
ANEXOS 75
A Diagrama de Casos de Uso 75
B Diagrama de Clases de Anaacutelisis 76
C Diagramas de Secuencia 77
D Diagrama de Clases de Disentildeo 80
1
Introduccioacuten
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica
Los Sistemas de Informacioacuten Geograacutefica (SIG) estaacuten de moda hoy en diacutea
Maacutes allaacute de la espectacularidad de sus resultados o la amplitud de su campo de
aplicaciones esta herramienta se ha popularizado baacutesicamente porque se
considera que entre el 80 y el 90 de toda la informacioacuten involucrada en la toma
de decisiones de la sociedad a nivel global tiene una componente espacial Se
trata de una disciplina joven y ciertamente compleja un nuevo paradigma que
forma parte del aacutembito maacutes extenso de los Sistemas de Informacioacuten (SI) Es una
herramienta multipropoacutesito con aplicaciones en los campos maacutes diversos
En la actualidad estos sistemas son una herramienta fundamental en la
transferencia del conocimiento del mundo real a modelos que seraacuten utilizados
posteriormente en el anaacutelisis y toma de decisiones en sus diversas aplicaciones
dentro de actividades como la gestioacuten de recursos naturales y medio ambiente
la planificacioacuten urbana el mantenimiento de redes hidraacuteulicas eleacutectricas
telefoacutenicas y alcantarillados por citar algunos ejemplos
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas
Debido a intereacutes de la direccioacuten de informatizacioacuten de la UCI por desarrollar la
infraestructura digital de la sociedad cubana del futuro y la necesidad de
emplear estas tecnologiacuteas nuestro equipo de proyecto se dio a la tarea de de
forma pionera iniciarnos al estudio de los sistemas geoespaciales e implementar
un SIG para la UCI A partir de la experiencia de los desarrolladores de Software
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
CAPIacuteTULO 3 ANAacuteLISIS DISENtildeO E IMPLEMENTACIOacuteN 58
Anaacutelisis 58 Modelo de clases de anaacutelisis 58
Disentildeo 59 Diagramas de Secuencia 59 Diagrama de clases 59 Descripcioacuten de las clases 60
Implementacioacuten 62 Servicio de Mapas y sus Interfaces 62 El Cliente Web 67
CONCLUSIONES 71
RECOMENDACIONES 72
Bibliografiacutea 73
Referencias Bibliograacuteficas 74
ANEXOS 75
A Diagrama de Casos de Uso 75
B Diagrama de Clases de Anaacutelisis 76
C Diagramas de Secuencia 77
D Diagrama de Clases de Disentildeo 80
1
Introduccioacuten
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica
Los Sistemas de Informacioacuten Geograacutefica (SIG) estaacuten de moda hoy en diacutea
Maacutes allaacute de la espectacularidad de sus resultados o la amplitud de su campo de
aplicaciones esta herramienta se ha popularizado baacutesicamente porque se
considera que entre el 80 y el 90 de toda la informacioacuten involucrada en la toma
de decisiones de la sociedad a nivel global tiene una componente espacial Se
trata de una disciplina joven y ciertamente compleja un nuevo paradigma que
forma parte del aacutembito maacutes extenso de los Sistemas de Informacioacuten (SI) Es una
herramienta multipropoacutesito con aplicaciones en los campos maacutes diversos
En la actualidad estos sistemas son una herramienta fundamental en la
transferencia del conocimiento del mundo real a modelos que seraacuten utilizados
posteriormente en el anaacutelisis y toma de decisiones en sus diversas aplicaciones
dentro de actividades como la gestioacuten de recursos naturales y medio ambiente
la planificacioacuten urbana el mantenimiento de redes hidraacuteulicas eleacutectricas
telefoacutenicas y alcantarillados por citar algunos ejemplos
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas
Debido a intereacutes de la direccioacuten de informatizacioacuten de la UCI por desarrollar la
infraestructura digital de la sociedad cubana del futuro y la necesidad de
emplear estas tecnologiacuteas nuestro equipo de proyecto se dio a la tarea de de
forma pionera iniciarnos al estudio de los sistemas geoespaciales e implementar
un SIG para la UCI A partir de la experiencia de los desarrolladores de Software
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
1
Introduccioacuten
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica
Los Sistemas de Informacioacuten Geograacutefica (SIG) estaacuten de moda hoy en diacutea
Maacutes allaacute de la espectacularidad de sus resultados o la amplitud de su campo de
aplicaciones esta herramienta se ha popularizado baacutesicamente porque se
considera que entre el 80 y el 90 de toda la informacioacuten involucrada en la toma
de decisiones de la sociedad a nivel global tiene una componente espacial Se
trata de una disciplina joven y ciertamente compleja un nuevo paradigma que
forma parte del aacutembito maacutes extenso de los Sistemas de Informacioacuten (SI) Es una
herramienta multipropoacutesito con aplicaciones en los campos maacutes diversos
En la actualidad estos sistemas son una herramienta fundamental en la
transferencia del conocimiento del mundo real a modelos que seraacuten utilizados
posteriormente en el anaacutelisis y toma de decisiones en sus diversas aplicaciones
dentro de actividades como la gestioacuten de recursos naturales y medio ambiente
la planificacioacuten urbana el mantenimiento de redes hidraacuteulicas eleacutectricas
telefoacutenicas y alcantarillados por citar algunos ejemplos
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas
Debido a intereacutes de la direccioacuten de informatizacioacuten de la UCI por desarrollar la
infraestructura digital de la sociedad cubana del futuro y la necesidad de
emplear estas tecnologiacuteas nuestro equipo de proyecto se dio a la tarea de de
forma pionera iniciarnos al estudio de los sistemas geoespaciales e implementar
un SIG para la UCI A partir de la experiencia de los desarrolladores de Software
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
2
de GEOCUBA en la creacioacuten de plataformas de montaje de SIG acorde a las
exigencias del mercado internacional asiacute como el desarrollo de las
especificaciones de interfases de un Servidor de Mapas WEB de OpenGIS (Open Geodata Interoperability Specifications [1] - ldquoConsorcio sin aacutenimo de
lucro formado por organizaciones publicas y privadas creado en 1994 y cuyo fin es la
definicioacuten de estaacutendares abiertos e interoperables dentro de los Sistemas de Informacioacuten
Geograacutefica Persigue acuerdos entre las diferentes empresas del sector que posibiliten la
interoperacioacuten de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacioacuten geograacutefica en beneficio de los usuariosrdquo) se creoacute un proyecto de
desarrollo e investigacioacuten conjunto que permitiera crear un Sistema de
Informacioacuten Geograacutefica para la UCI basado en WEB
Como antecedentes de este proyecto se cuenta con una aplicacioacuten de montaje
de Base de Informacioacuten Geograacutefica utilizando como base el modelo de objetos
componentes (COM Component Object Model) y todas las tecnologiacuteas
asociadas a este (ActiveX DCOM OLEDB etc) Ademaacutes se contoacute con un
Servidor de Mapas WEB de OpenGIS que permiten producir un mapa y
responder las consultas baacutesicas acerca del contenido del mapa
Este trabajo tiene un alcance definido en el desarrollo de una aplicacioacuten cliente
que permite visualizar y consultar la informacioacuten geograacutefica del servidor de
mapas el cual estaraacute debidamente relacionado con los bancos de datos de la
UCI montados sobre servidores Oracle 9i
La utilizacioacuten de la aplicacioacuten presupone lograr un impacto en el aacutembito digital
Universitario con vistas a posteriores desarrollos de nuevos servicios utilizando
la misma plataforma que desarrollaraacute este proyecto
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
3
Objetivo General
bull Desarrollar una aplicacioacuten Web que permita el manejo de datos
geoespaciales (mapas interactivos) en el marco del Proyecto UCI
Ciudad Digital utilizando un Servidor de Mapas para Web
Objetivos Especiacuteficos del proyecto bull Construir escenario de prueba a partir de mapas digitales de la UCI
bull Crear una Base de Informacioacuten Geograacutefica
bull Desarrollar una aplicacioacuten Web que posibilite
bull Localizar graacuteficamente la ubicacioacuten de un inmueble asiacute como sus
caracteriacutesticas
bull Consultar Base de datos Inmuebles de la UCI y ubicar la consulta
sobre el mapa
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
4
Importancia El desarrollo tecnoloacutegico ha alcanzado niveles nunca antes imaginados Hace
alguacuten tiempo atraacutes el hombre no pensoacute jamaacutes que con un simple golpe de tecla
de una computadora pudiera estar comunicaacutendose con el otro confiacuten del planeta
o incluso con un sateacutelite orbitando en el espacio Las tecnologiacuteas de la
informacioacuten han sido tambieacuten como es loacutegico tocada muy de cerca con este
desarrollo vertiginoso de la Informaacutetica y las comunicaciones Una afirmacioacuten
universalmente aceptada plantea que en la actualidad maacutes del 80 de toda la
informacioacuten de la que se dispone tiene de alguna forma una referencia
geograacutefica
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta asiacute como en el anaacutelisis estrateacutegico de actividades
sobre el aacutembito territorial
Las decisiones como la previsioacuten de la implantacioacuten de una infraestructura o la
ubicacioacuten de una nueva centralidad requieren de un estudio social asiacute como de
su idoneidad (de acuerdo a la demanda servicio y utilidad) su viabilidad
econoacutemica (costos y beneficios) su impacto territorial y adecuacioacuten medio
ambiental de aquiacute la importancia de integrarnos al desarrollo de estos sistemas
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
5
Capiacutetulo 1 Fundamentacioacuten Teoacuterica
Los Sistemas Informacioacuten Geograacutefica (SIG) Estado del Arte En este capiacutetulo seraacute realizado un anaacutelisis de coacutemo se encuentran en el mundo
aquellas tecnologiacuteas que seraacuten necesarias para la construccioacuten del sistema que
se pretende desarrollar Seraacute llevado a cabo el estudio de algunos conceptos
necesarios para una buena comprensioacuten del resto del trabajo
En el contexto actual de la sociedad de la informacioacuten resulta clave el
componente espacial de eacutesta debido al anaacutelisis estrateacutegico de lo que estos
sistemas pueden significar para lograr mayor eficacia y eficiencia en los
procesos de toma de decisiones a los que se enfrenta a diario nuestro paiacutes tanto
a nivel de Gobierno como en los diferentes sectores industriales sin excluir al
propio ciudadano Todos ellos requieren en este proceso manejar informacioacuten
relativa al doacutende ocurren los fenoacutemenos
Evolucioacuten de los Sistemas de Informacioacuten Geograacutefica Arquitectura moderna de los SIG Valoracioacuten comparativa de dos liacutederes mundiales ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia
Cuando en 1964 en Canadaacute se comienza a hablar de los Sistemas de
Informacioacuten Geograacutefica para el manejo de recursos naturales nadie podiacutea
imaginar que se convertiriacutean en lo que hoy constituyen junto a otras tecnologiacuteas
espaciales una poderosa herramienta para la toma de decisiones en problemas
no soacutelo locales sino nacionales regionales e incluso globales (16)
Las primeras definiciones de SIG (Burrough 1986 Aronoff 1987) versaban
sobre el siguiente enunciado Un Sistema de Informacioacuten Geograacutefica es un
sistema computacional (hardware y software) para la entrada manejo
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
6
manipulacioacuten anaacutelisis y representacioacuten de datos geograacuteficos Hoy en diacutea esta
definicioacuten aparentemente no ha variado mucho sin embargo se le ha antildeadido
una funcioacuten que cambia sustancialmente el alcance de estos sistemas Esta
funcioacuten es la diseminacioacuten en una red de la informacioacuten geograacutefica para permitir
el acceso compartido a los datos por varios usuarios simultaacuteneamente Esta
nueva dimensioacuten de los SIG le permite constituir una poderosa herramienta que
lo mismo en entorno Intranets o en el Internet puede ser utilizada para crear
nuevos conocimientos
Esto es particularmente significativo si se analiza que la economiacutea mundial
tiende a convertirse en una Economiacutea basada en el Conocimiento donde los
principales valores de la sociedad se crean en el proceso de creacioacuten y
desarrollo de conocimiento
Las causas de esta evolucioacuten estaacuten baacutesicamente vinculadas al impacto de las
nuevas tecnologiacuteas de la Informaacutetica y las Comunicaciones particularmente de
Internet y el WWW
Se abordaraacuten las caracteriacutesticas evolutivas de los SIG su arquitectura moderna
y por uacuteltimo se presentaraacute un anaacutelisis de las principales caracteriacutesticas de dos
productos liacutederes a nivel mundial ArcGIS de ESRI y GeoMedia de Intergraph
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
7
Contexto tecnoloacutegico que propicia la evolucioacuten de las tecnologiacuteas geoespaciales
Las tendencias maacutes importantes de la Tecnologiacutea Geoespacial que se han
evidenciado en numerosas publicaciones internacionales de los uacuteltimos tiempos
muestran seguacuten la proyeccioacuten ofrecida por la revista GEOWorld en Diciembre de
1999 (Ard R et Al 1999) los 3 aspectos claves siguientes
- Impacto de Internet
- Interoperabilidad y Estaacutendares
- Soluciones empresariales En este mismo contexto se manifestoacute la Vicepresidenta Ejecutiva de la Divisioacuten
de Soluciones de Mapificacioacuten y SIG de INTERGRAPH en su intervencioacuten sobre
la Evolucioacuten de las Tecnologiacuteas Geoespaciales en la 5ta Conferencia de la
Infraestructura Global de Datos Espaciales celebrada en Mayo del 2001 en
Colombia
Impacto de Internet en las Tecnologiacuteas Geoespaciales
El nuacutemero de usuarios de Sistemas de Informacioacuten Geograacutefica se ha
incrementado explosivamente en el mundo gracias a la raacutepida expansioacuten de
sitios WWW sobre Internet que contienen informacioacuten geoespacial A pesar de
no ser oacuteptima para desplegar aplicaciones cliente-servidor implementar
interfaces de usuario graacuteficas y diseminar informacioacuten con alta componente de
graacuteficos Internet es actualmente el factor dominante en todas las aacutereas de la
tecnologiacutea de la informacioacuten (IT) y tambieacuten en los SIG puacuteblicos precisamente
porque es el estaacutendar impuesto en todo el mundo
MapQuestcom es el sitio que desde 1997 y hasta la fecha ha distribuido la
mayor cantidad de mapas viacutea Internet El uso de mapas en Internet mediante
MapQuestcom ascendioacute a 3860000 diarios en 1999 (Peterson 1999) aunque
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
8
realmente se estima que soacutelo se confirma el 10 de los mapas transmitidos asiacute
que se estariacutea hablando de 38 millones de mapas diarios
Interoperabilidad y Estaacutendares
Los uacuteltimos antildeos se han caracterizado por un fuerte impulso en el desarrollo de
los estaacutendares internacionales para lograr interoperabilidad de datos y servicios
geoespaciales
La interoperabilidad en este contexto significa que las componentes de software
operan reciacuteprocamente para acceder a recursos distribuidos y eliminar las
barreras impuestas por ambientes de procesamiento heterogeacuteneos y datos de
fuentes igualmente heterogeacuteneas
El Consorcio OpenGIS (httpwwwopengisorg) que trabaja estrechamente con
ISO TC211 (GeografiacuteaGeomaacutetica) ha desarrollado un grupo de
especificaciones de interoperabilidad que estaacuten siendo asimiladas por los
principales vendedores del mundo
Soluciones empresariales
Quizaacutes uno de las innovaciones maacutes significativas de la tecnologiacutea geoespacial
se aprecia en la inclusioacuten de datos geoespaciales dentro del corazoacuten de grandes
bases de datos empresariales La mayoriacutea de los vendedores de Sistemas de
Gestioacuten de Bases de Datos tienen en la actualidad un producto que brinda
datos espaciales Oracle Corp IBM Corp Informix y Sybase ya ofrecen
capacidades geoespaciales
Por otra parte los estaacutendares para integrar aplicaciones de negocios llamados
ERP (Planificacioacuten de Recursos Empresariales) estaacuten cada vez maacutes inclinados a
la integracioacuten con los Sistemas de Informacioacuten Geograacutefica ya que estos uacuteltimos
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
9
ayudan a administrar los activos fiacutesicos de una organizacioacuten y las compantildeiacuteas
necesitan cada vez maacutes adicionar informacioacuten geoespacial sobre la empresa
ademaacutes de los datos que tradicionalmente han requerido (Wilson 1999)
Muchos vendedores de SIG se han conectado con esta tendencia y fortalecen
sus habilidades de conexioacuten con varios paquetes ERP Smallworld por ejemplo
ha desarrollado un fuerte enlace con SAP (liacuteder mundial de Software ERP) en
su moacutedulo R3 lo cual le ha permitido ganar importantes contratos
internacionales Caracteriacutesticas de las Arquitecturas modernas de los SIG
En la actualidad las interfaces basadas en las especificaciones OpenGIS
permiten a los servidores de datos de Internet ser consultados desde puestos
remotos y extraer soacutelo la informacioacuten especiacutefica requerida Ya no es necesario
preocuparse por los diferentes formatos de datos y por su conversioacuten gracias a
una arquitectura abierta en virtud de la cual los servidores de datos pueden
manipular los mismos en su formato nativo En un entorno de interoperabilidad y
estaacutendares tampoco hay que preocuparse por el software que se esteacute
utilizando Es posible tambieacuten servir mapas en Web gracias a la filosofiacutea
adoptada basada en Metadatos y Cataacutelogos de datos geograacuteficos Con todas
estas caracteriacutesticas presentes la tendencia apunta a la integracioacuten de las
tecnologiacuteas espaciales con el resto de las Tecnologiacuteas de la Informacioacuten y las
Comunicaciones lo cual es particularmente apreciado en el manejo de recursos
de empresas
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
10
Las principales caracteriacutesticas de la arquitectura actual de los SIG pueden ser
resumidas en los aspectos siguientes
- Filosofiacutea cliente-servidor (Arquitectura n-tier) que permite una variedad
de datos y accesos a grupos de usuarios de la Empresa una Intranet
o Internet
- Interoperabilidad (Especificaciones estaacutendares ISO TC 211 OpenGIS
COM CORBA y Java) que permite integrar funcionalidad de varios
vendedores
- Arquitectura abierta permite acceso de datos sin necesidad de
conversioacuten de formatos
- Metadatos y Cataacutelogos de Datos Espaciales para el uso compartido de
Informacioacuten Geograacutefica a traveacutes de Intranets e Internet
- Uso de XML (Extensible Markup Language) y GML para comunicar la
informacioacuten geograacutefica entre sistemas heterogeacuteneos
- Servidores de Mapas en Web
- Integracioacuten dentro de la Tecnologiacutea de Informacioacuten de una Empresa
Dos liacutederes mundiales de SIG ESRI con su liacutenea ArcGIS e INTERGRAPH con su liacutenea GeoMedia [12] ArcGIS 81
ESRI (Environmental Systems Research Institute) es una de las compantildeiacuteas maacutes
grandes del mundo dedicadas a la produccioacuten de tecnologiacutea geoespacial
Fundada en 1969 ESRI se ha ido imponiendo hasta alcanzar un liderazgo en la
industria de software de GIS a nivel mundial
Radicada en Redlands California EUA ESRI tiene oficinas en todo EU y cuenta
con alrededor de 1200 desarrolladores consultantes revendedores y
proveedores de datos y con una red internacional que abarca negocios en 229
paiacuteses La tecnologiacutea de ESRI es usada por maacutes de 300000 clientes en el
mundo incluyendo agencias federales miles de agencias de gobierno local y
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
11
estatal agencias de mapificacioacuten nacional compantildeiacuteas de petroacuteleo
departamentos de salud del estado compantildeiacuteas forestales y otros muchos
sectores de la industria (Extraiacutedo de publicacioacuten comercial de ESRI No GS-
35F-5086H del antildeo 2001)
En consonancia con los nuevos avances de las Tecnologiacuteas de la Informacioacuten
(Internet COM interoperabilidad etc) ESRI ha evolucionado con nuevas liacuteneas
de productos En Cuba su producto maacutes extendido es ArcView que ha sido
utilizado como GIS standalone para muacuteltiples propoacutesitos aunque algunos
ejemplos de su utilizacioacuten en entornos cliente-servidor han sido desarrollados en
los uacuteltimos antildeos (Ej Contrato de SIG entre GEOCUBA Granma y la Empresa
Eleacutectrica)
Los uacuteltimos moacutedulos lanzados por ESRI ofrecen una excelente oportunidad de
integrar los GIS con los Sistemas de Gestioacuten Empresariales en entornos
IntranetInternet
El producto de ESRI que marca este avance es el ArcGIS 8 del cual se haraacute
una caracterizacioacuten evaluativa para ser incluido como alternativa en la decisioacuten
de CUPET sobre la tecnologiacutea de Sistema de Informacioacuten Geograacutefica a emplear
en el proyecto SICUPET
Sistema ArcGIS de ESRI El Sistema ArcGIS es un GIS integrado que brinda una plataforma para
implementar GIS lo mismo para un simple usuario que en ambiente multiusuario
Contempla tres partes principales
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
12
- ArcGIS Desktop un conjunto integrado de aplicaciones avanzadas de
GIS
- ArcSDE gateway una interfaz para manejar bases de datos geograacuteficas
en un Sistema de Gestioacuten de bases de Datos
- ArcISM software GIS basado en Internet para servicios y datos
distribuidos
ArcGIS Desktop
Es un sistema sencillo integrado y escalable Incluye un conjunto (suite) de
aplicaciones integradas ArcMap ArcCatalog ArcToolbox las cuales usadas en
su conjunto permiten realizar cualquier tarea de GIS desde la maacutes simple hasta
la maacutes avanzada
ArcMap es la aplicacioacuten central de ArcGIS Desktop usada para todas las tareas
orientadas al mapa incluyendo cartografiacutea anaacutelisis y edicioacuten de mapas Ofrece
diferentes formas de mostrar un mapa en las cuales se pueden ejecutar un
amplio rango de tareas de GIS avanzadas
ArcCatalog ayuda a organizar y manejar todos los datos GIS incluyendo
herramientas de buacutesqueda y visualizacioacuten de informacioacuten geograacutefica
almacenamiento y recuperacioacuten de metadatos y definicioacuten de las estructuras
para las capas de datos geograacuteficos
ArcToolboox es una aplicacioacuten simple que contiene muchas herramientas GIS
para geoprocesamiento
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
13
Un objetivo fundamental de ArcGIS es su capacidad de trabajar con muacuteltiples
tipos de bases de datos diversas fuentes de datos asiacute como tambieacuten con los
servicios ArcIMS
ArcGIS Desktop puede ser usado utilizando tres productos de software cada
uno de los cuales provee un nivel superior de funcionalidad Estos tres productos
son ArcView ArcEditor y ArcInfo
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
14
ArcIMS
ArcIMS es un GIS basado en Internet que permite centralmente construir y
compartir un amplio rango de mapas datos y aplicaciones GIS a usuarios en
una organizacioacuten asiacute como tambieacuten fuera de la organizacioacuten en WWW Incluye
la tecnologiacutea para la parte cliente y la parte servidor Permite servir datos y
aplicaciones GIS desde un Sitio Web ArcIMS incluye visores gratis HTML y
Java ademaacutes de que puede trabajar con un amplio rango de clientes tales como
ArcGIS Desktop ArcPad y equipos inalaacutembricos
Capacidades principales de ArcIMS
- Expandir un GIS ArcIMS incluye un conjunto de visores HTML y Java que
brindan significativa funcionalidad de GIS y que pueden ser libremente
distribuidos a los usuarios de un GIS Diseminar los datos y servicios de
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
15
un GIS en Internet posibilita encontrar nuevas necesidades de muchos
usuarios
- Integrar datos de muacuteltiples fuentes ArcIMS hace posible combinar datos
desde cualquier sitio Web ArcIMS Tambieacuten permite la integracioacuten de
datos de GIS locales con capas ArcIMS
- Escalar un Sistema de GIS encontrando nuevas necesidades ArcIMS
puede ser faacutecilmente extendido para encontrar nuevas demandas a la par
que el sitio crece y las solicitudes de mapa se incrementan
- Suministrar accesos a datos GIS y servicios de ubicacioacuten (location
services) ArcIMS permite determinar coacutemo y para quieacuten son compartidos
los servicios y datos del GIS Es posible controlar si el acceso seraacute
puacuteblico en Internet o dentro de una organizacioacuten sobre una red local
ArcIMS corre en un ambiente distribuido y consta tanto de los componentes
clientes como servidores Los componentes servidores de ArcIMS permiten que
un sitio Web de Internet Con ArcIMS es posible disentildear un sitio Web GIS
La arquitectura de ArcIMS es altamente escalable Muchos usuarios
concurrentes pueden acceder al sitio web y pueden ser procesadas muchas
solicitudes a la vez Es adecuado tanto para pequentildeas organizaciones que
sirven docenas de mapas diarios o aquellas grandes que sirven cientos de miles
de mapas
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
16
El servicio maacutes comuacuten de ArcIMS es el servicio de mapa que es el encargado de
producir y entregar el mapa al cliente en una de dos formas como una imagen o como
un conjunto de objetos (streamed features) estructurados de manera que se puedan
llevar a cabo tareas maacutes avanzadas en la parte cliente tales como etiquetado de los
elementos simbologiacutea y seleccioacuten espacial lo cual permite al usuario cambiar la
apariencia del mapa
El lenguaje utilizado para comunicar a los visores clientes con los servidores
ArcIMS es ArcXML el cual es una especificacioacuten de XML Todos las solicitudes
del cliente como las respuestas del servidor son codificadas en XML
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
17
El conjunto de posibles clientes de ArcIMS incluye
Visores HTML y Java incorporados a ArcIMS
ArcGIS Desktop ArcExplorer (Java Editor) ArcPad Aplicaciones inalaacutembricas tales como teleacutefonos celulares y asistentes personales
digitales (PDAs)
GeoMedia 40
Soluciones de Mapificacioacuten y GIS (Mapping and GIS Solutions) es una Divisioacuten
de la Corporacioacuten Intergraph que se orienta a los negocios de mapificacioacuten y
GIS en el mercado federal comercial e internacional donde tienen una
presencia internacional en 60 paiacuteses
Entre los clientes globales de Intergraph estaacuten las autoridades de aviacioacuten civil
agencias de mapificacioacuten gobiernos locales estatales federales y nacionales
Departamentos de Transporte de los EU ferrocarriles aeropuertos autoridades
de traacutensito e instituciones educacionales
Con maacutes e 30 antildeos de experiencia Intergraph continuacutea como uno de los liacutederes
en este significativo campo combinado los GIS con la Tecnologiacutea de la
Informacioacuten (TI) y las herramientas que mejoran los procesos de negocios para
ayudar a los clientes a encontrar sus objetivos operacionales y empresariales y
poder compartir los datos en toda la empresa
Su producto GeoMedia es una suite de productos que integran informacioacuten
geoespacial a traveacutes de la empresa mientras brinda las herramientas
necesarias para desarrollar aplicaciones negocio-a-negocio (business-to
business) y a la medida del cliente
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
18
GeoMedia fue la primera aplicacioacuten que fue totalmente compatible with Microsoft
OLECOM La familia de productos de GeoMedia es escalable de tal forma que
el sistema se puede ir extendiendo a medida que las necesidades crecen
GeoMedia es faacutecilmente acoplable al flujo de trabajo de TI de una empresa
Dentro de sus productos GeoMedia incluye
- GeoMedia Profesional para captura y mantenimiento de los datos
- Geomedia WebMap o WebEnterprise para implementaciones en Web GeoMedia Profesional (GeoMedia Pro) Es una herramienta disentildeada para manejar datos espaciales usando bases de
datos estaacutendares
GeoMedia Pro incorpora las herramientas maacutes avanzadas para captura
inteligente de datos mantenimiento de mapas e informacioacuten descriptiva
integracioacuten de mapas vectoriales y raster y soporte a bases de datos
relacionales estaacutendares de la industria Interopera faacutecilmente con Microsoft
Word Excel PowerPointreg Access y otras aplicaciones Es posible integrar
ficheros CAD y otros datos GIS desde muacuteltiples productos (MicroStationreg
AutoCAD ARCINFO ArcView MapInfo MGE y FRAMMEtrade) en una simple
base de datos
Reporta los beneficios siguientes
bull Captura y mantenimiento de datos
bull Administracioacuten de los datos de la Empresa
bull Anaacutelisis Espaciales
bull Produccioacuten de Mapas
bull Ambiente de desarrollo en estaacutendares de la industria
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
19
Con las capacidades data warehousing GeoMedia Pro permite que el GIS sea
manejado por todos los usuarios de la empresa Establece la conexioacuten de datos de GIS
nativos en muacuteltiples data warehouses simultaacuteneamente Los mapas temaacuteticos y
consultas son entonces automaacuteticamente actualizados para reflejar cambios en
el data warehouse
GeoMedia Pro soporta una variedad de bases de datos relacionales estaacutendares
como Access SQL Server Oracle8itrade Spatial Almacenando los datos ndash
incluyendo los espaciales ndash en una base de datos relacional estos son
faacutecilmente accedidos a traveacutes de toda la empresa manteniendo control sobre los
mismos y actualizaciones perioacutedicas asiacute como reducir redundancia y error Esto
permite aprovechar las herramientas de seguridad y edicioacuten construidas en un
Sistema de Gestioacuten de Bases de Datos y acoplar los datos del GIS con la
realidad de los profesionales de la Tecnologiacutea de la Informacioacuten
GeoMedia WebMap
GeoMedia WebMap es una herramienta de visualizacioacuten basada en web que
ofrece enlaces en tiempo real con los GIS data warehouse Es una forma muy
eficiente de diseminar la informacioacuten geograacutefica a los usuarios a traveacutes de una
organizacioacuten su Intranet o Internet Es posible con esta tecnologiacutea acceder y
analizar los datos donde quiera que ellos esteacuten y en el momento que sea La arquitectura de GeoMedia es escalable y permite ir extendiendo los sistemas
existentes hasta satisfacer las nuevas demandas
Al no usar propietarios formatos de datos o lenguajes se convierte en una
solucioacuten de GIS ldquoabiertardquo y flexible por lo que el usuario no tiene que
preocuparse por el formato de los datos
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
20
GeoMedia WebMap es compatible con las especificaciones del Consorcio
OpenGIS (OGC) y esto le permite tener una gran flexibilidad de
interoperabilidad
GeoMedia WebMap brinda las herramientas necesarias para permitir al
ldquobrowserldquo de Internet mostrar datos raster y vectoriales asiacute mismo actuar con
las bondades de un GIS desde el cliente Web
GeoMedia WebEnterprise
GeoMedia WebEnterprise es una solucioacuten de anaacutelisis y visualizacioacuten basada en
Web que permite manipular la informacioacuten geograacutefica de la empresa
posibilitando la creacioacuten de aplicaciones de mapificacioacuten Web que son
dinaacutemicas abiertas y escalables
Al igual que GeoMedia Web es una solucioacuten abierta y compatible OpenGIS
(OGC)
Principales funcionalidades
Ver el Web no soacutelo como proveedor de informacioacuten sino tambieacuten como receptor
siendo posible autorizar a individuos seleccionados a crear y almacenar
geometriacuteas para el servidor desde remotas ubicaciones
Incluye una herramienta poderosa de segmentacioacuten dinaacutemica para analizar
datos tabulares referenciados a objetos lineales sobre el mapa permitiendo
visualizar inventarios de la organizacioacuten
Permite ejecutar anaacutelisis GIS en tiempo real basado en la conexioacuten al data
warehouse en tiempo real
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
21
La componente Web de WebEnterprise brinda capacidades de acceso de datos
en el formato nativo sin necesidad de traduccioacuten o conversioacuten
Contiene un Generador de Aplicaciones Web que permite crear sitios Web en
muy pocos minutos
Estudios recientes demuestran que alrededor del 80 de la informacioacuten tratada
por las empresas e instituciones oficiales tienen relacioacuten con localizaciones
geograacuteficas o coordenadas espaciales y el 60 de esta informacioacuten es usada
por varios departamentos La decisiones que toman estos organismos dependen
en gran medida de la calidad exactitud y actualidad de la informacioacuten a menudo
presentada en forma de mapas
Los Sistemas de Informacioacuten Geograacutefica (SIG) son sistemas Informaacuteticos que se
usan para almacenar y manipular informacioacuten relacionada estrechamente con su
posicioacuten geograacutefica Esta tecnologiacutea se ha desarrollado tan raacutepidamente en las
dos deacutecadas pasadas que ya es aceptada como una herramienta esencial para
el uso efectivo de dicha informacioacuten
La reciente y amplia introduccioacuten del SIG en el mundo y los resultados que con
estos se puede alcanzar ha creado una necesidad de conocer y profundizar en
estas tecnologiacuteas Los directivos de los organismos empresariales y del estado
estaacuten siendo instados a tomar decisiones sobre la introduccioacuten de la tecnologiacutea
SIG y establecer directrices para su uso Se realizan programas para convertir
datos de mapas a formato digital para el uso del SIG Los estudiantes y
educadores que usan informacioacuten geograacutefica estaacuten ganando acceso a la
tecnologiacutea SIG que puede ser usada para incrementar la profundidad y amplitud
de sus anaacutelisis
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
22
La tecnologiacutea ha creado un excitante potencial para la informacioacuten geograacutefica al
poder ser usada maacutes sistemaacuteticamente y por una gran diversidad de disciplinas
Sin embargo la facilidad con que un SIG puede manipular informacioacuten
geograacutefica tambieacuten ha creado una mayor dificultad Los usuarios no familiares
con las teacutecnicas SIG o la naturaleza de la informacioacuten geograacutefica pueden
producir faacutecilmente tantos anaacutelisis vaacutelidos como invaacutelidos Vaacutelidos o no los
resultados tienen un aire de precisioacuten asociado con sofisticados graacuteficos de
ordenador y tablas numeacutericas Un mejor entendimiento de la tecnologiacutea SIG por
los usuarios y directivos es crucial para el uso apropiado de esta tecnologiacutea
Un SIG estaacute disentildeado para la coleccioacuten almacenamiento y anaacutelisis de objetos y
fenoacutemenos donde la localizacioacuten geograacutefica es una caracteriacutestica importante o
criacutetica para el anaacutelisis Por ejemplo la localizacioacuten oacuteptima de un parque de
bomberos o los lugares donde la erosioacuten del suelo es maacutes severa son
consideraciones clave usando esta informacioacuten En cada caso queacute es y doacutende
estaacute debe tenerse en cuenta
Mientras gestionar y analizar datos que estaacuten referidos a una localizacioacuten
geograacutefica son funciones clave en un SIG el poder del sistema es maacutes visible
cuando la cantidad de datos implicados es demasiado grande para poder ser
manejada manualmente Puede haber cientos o miles de entidades a considerar
o cientos de factores asociados con cada entidad o lugar Estos datos pueden
existir como mapas tablas de datos o incluso como listas de nombres y
direcciones Voluacutemenes de datos tan grandes no son gestionados
eficientemente usando meacutetodos manuales Sin embargo cuando estos datos se
han introducido a un SIG pueden ser faacutecilmente manipulados y analizados en
formas que seriacutean demasiado costosas - en tiempo o dinero - o praacutecticamente
imposibles de hacer usando meacutetodos manuales
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
23
iquestQueacute es un SIG
Como el uso de los Sistemas de Informacioacuten Geograacutefica ha aumentado
enormemente en las deacutecadas de los ochenta y noventa ha pasado del total
desconocimiento a la praacutectica cotidiana en el mundo de los negocios en las
universidades y en los organismos gubernamentales usaacutendose para resolver
problemas diversos Es loacutegico por tanto que hayan sido propuestas varias
definiciones
Una definicioacuten precisa y completa podriacutea ser
- Un conjunto de equipos informaacuteticos de programas de datos geograacuteficos y
teacutecnicos organizados para recoger almacenar actualizar manipular analizar y
presentar eficientemente todas las formas de informacioacuten georeferenciada[] Otras definiciones de SIG - Un sistema para capturar almacenar comprobar integrar manipular analizar
y visualizar datos que estaacuten espacialmente referenciados a la tierra (Chorley
1987)
- Sistemas automatizados para la captura almacenamiento composicioacuten
anaacutelisis y visualizacioacuten de datos espaciales (Clarke 1990)
- Un sistema de hardware software y procedimientos disentildeados para soportar la
captura gestioacuten manipulacioacuten anaacutelisis modelado y visualizacioacuten de datos
espacialmente-referenciados para resolver problemas complejos de
planeamiento y gestioacuten (lectura NCGIA por David Cowen 1989)
Desde un punto de vista praacutectico un Sistema de Informacioacuten Geograacutefica es un
sistema informaacutetico capaz de realizar una gestioacuten completa de datos geograacuteficos
referenciados Por referenciados se entiende que estos datos geograacuteficos o
mapas tienen unas coordenadas geograacuteficas reales asociadas las cuales nos
permiten manejar y hacer anaacutelisis con datos reales como longitudes periacutemetros
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
24
o aacutereas Todos estos datos alfanumeacutericos asociados a los mapas maacutes los que
queramos antildeadirle los gestiona una base de datos integrada con el SIG estas
bases de datos no son como la conocidas normalmente pues tienen
caracteriacutesticas especiales dado su contenido
LA CONSTRUCCIOacuteN DE BASES DE DATOS GEOGRAacuteFICAS
La construccioacuten de una base de datos geograacutefica implica un proceso de
abstraccioacuten para pasar de la complejidad del mundo real a una representacioacuten
simplificada asequible para el lenguaje de los ordenadores actuales Este
proceso de abstraccioacuten tiene diversos niveles -como iremos viendo- y
normalmente comienza con la concepcioacuten de la estructura de la base de datos
generalmente en capas en esta fase y dependiendo de la utilidad que se vaya
a dar a la informacioacuten a compilar se seleccionan las capas temaacuteticas a incluir
Pero la estructuracioacuten de la informacioacuten
espacial procedente del mundo real en capas
conlleva cierto nivel de dificultad En primer
lugar la necesidad de abstraccioacuten que
requieren las maacutequinas implica trabajar con
primitivas baacutesicas de dibujo de tal forma
que toda la complejidad de la realidad ha de
ser reducida a puntos liacuteneas o poliacutegonos
En segundo lugar existen relaciones espaciales entre los objetos geograacuteficos
que el sistema no puede obviar es lo que se denomina topologiacutea que en
realidad es el meacutetodo matemaacutetico-loacutegico usado para definir las relaciones espaciales entre los objetos geograacuteficos
Aunque a nivel geograacutefico las relaciones entre los objetos son muy complejas
siendo muchos los elementos que interactuacutean sobre cada aspecto de la realidad
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
25
la topologiacutea de un SIG reduce sus funciones a cuestiones mucho maacutes sencillas
como por ejemplo conocer el poliacutegono (o poliacutegonos) a que pertenece una
determinada liacutenea o bien saber queacute agrupacioacuten de liacuteneas forman una
determinada carretera
Existen diversas formas de modelar estas relaciones entre los objetos
geograacuteficos o topologiacutea Dependiendo de la forma en que ello se lleve a cabo se
tiene uno u otro tipo de Sistema de Informacioacuten Geograacutefica dentro de una
estructura de dos grupos principales
- SIG Vectoriales - SIG Raster
No existe un modelo de datos que sea superior a otro sino que cada uno tiene
una utilidad especiacutefica como veremos a continuacioacuten
TOPOLOGIacuteAS MODELOS DE DATOS Y TIPOS DE SIG
En funcioacuten del modelo de datos implementado en cada sistema podemos
distinguir tres grandes grupos de Sistemas de Informacioacuten Geograacutefica SIG
Vectoriales SIG Raster En realidad la mayor parte de los sistemas existentes
en la actualidad pertenecen a los grupos (vectoriales y raster)
Aunque veremos posteriormente las diferencias entre ambos con maacutes detalle
adelantaremos que los vectoriales utilizan vectores (baacutesicamente liacuteneas) para
delimitar los objetos geograacuteficos mientras que los raster utilizan una retiacutecula
regular para documentar los elementos geograacuteficos que tienen lugar en el
espacio
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
26
Los SIG Vectoriales
Son aquellos Sistemas de Informacioacuten Geograacutefica que para la descripcioacuten de los
objetos geograacuteficos utilizan vectores definidos por pares de coordenadas
relativas a alguacuten sistema cartograacutefico
Con un par de coordenadas y su altitud gestionan un punto (eg un veacutertice
geodeacutesico) con dos puntos generan una liacutenea y con una agrupacioacuten de liacuteneas
forman poliacutegonos De entre todos los meacutetodos para formar topologiacutea vectorial la
forma maacutes robusta es la topologiacutea arco-nodo cuya loacutegica de funcionamiento
tratareacute de detallar en los siguientes esquemas
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
27
La topologiacutea arco-nodo basa la estructuracioacuten de toda la informacioacuten geograacutefica
en pares de coordenadas que son la entidad baacutesica de informacioacuten para este
modelo de datos Con pares de coordenadas (puntos) forma veacutertices y nodos y
con agrupaciones de eacutestos puntos forma liacuteneas con las que a su vez puede
formar poliacutegonos Baacutesicamente esta es la idea muy sencilla en el fondo
Para poder implementarla en un ordenador se requiere la interconexioacuten de varias bases de datos a traveacutes de identificadores comunes Estas bases de
datos que podemos imaginarlas como tablas con datos ordenados de forma
tabular contienen columnas comunes a partir de las cuales se pueden relacionar
datos no comunes entre una y otra tabla
Hemos visto en el esquema anterior coacutemo se forman las liacuteneas a partir de
puntos (pares de coordenadas) Veamos ahora coacutemo se forman los poliacutegonos a
partir de la agrupacioacuten de liacuteneas
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
28
En general el modelo de datos vectorial es adecuado cuando trabajamos con
objetos geograacuteficos con liacutemites bien establecidos como pueden ser fincas
carreteras etc
Los SIG Raster
Los Sistemas de Informacioacuten Raster basan su funcionalidad en una
concepcioacuten impliacutecita de las relaciones de vecindad entre los objetos
geograacuteficos Su forma de proceder es dividir la zona de afeccioacuten de la base de
datos en una retiacutecula o malla regular de pequentildeas celdas (a las que se
denomina pixels) y atribuir un valor numeacuterico a cada celda como
representacioacuten de su valor temaacutetico Dado que la malla es regular (el tamantildeo del
pixel es constante) y que conocemos la posicioacuten en coordenadas del centro de
una de las celdas se puede decir que todos los pixels estaacuten georreferenciados
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
29
Loacutegicamente para tener una descripcioacuten precisa de los objetos geograacuteficos
contenidos en la base de datos el tamantildeo del pixel ha de ser reducido (en
funcioacuten de la escala) lo que dotaraacute a la malla de una resolucioacuten alta Sin
embargo a mayor nuacutemero de filas y columnas en la malla (maacutes resolucioacuten)
mayor esfuerzo en el proceso de captura de la informacioacuten y mayor costo
computacional a la hora de procesar la misma
No obstante el modelo de datos raster es especialmente uacutetil cuando tenemos
que describir objetos geograacuteficos con liacutemites difusos como por ejemplo
puede ser la dispersioacuten de una nube de contaminantes o los niveles de
contaminacioacuten de un acuiacutefero subterraacuteneo donde los contornos no son
absolutamente niacutetidos en esos casos el modelo raster es maacutes apropiado que el
vectorial
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
30
iquestPara que sirve un SIG
Hasta ahora hemos descrito un SIG por medio de definiciones de tipo formal y
por medio de su capacidad para satisfacer demandas espaciales relacionando
conjunto de datos por medio de su localizacioacuten geograacutefica Igualmente un SIG
puede describirse tambieacuten enumerando el tipo de demandas a las que puede
responder Un SIG suficientemente sofisticado puede responder a cinco
preguntas geneacutericas
1- Localizacioacuten iquestQueacute hay en
La primera de las preguntas se refiere a identificar que es lo que se encuentra
en una localizacioacuten determinada La localizacioacuten puede describirse de varias
formas por ejemplo por su topoacutenimo por su coacutedigo postal o por referencias
geograacuteficas como latitud y longitud
2- Condicioacuten iquestDoacutende se encuentra
La segunda demanda es la inversa de la primera y requiere un anaacutelisis espacial
En lugar de identificar lo que se encuentra en un punto Lo que se busca es un
lugar que reuacutena ciertas condiciones (por ejemplo un terreno sin bosque que
tenga un aacuterea mayor de 2000 metros cuadrados que esteacute a menos de 100 m
de una carretera y al que sus condiciones geoteacutecnicas le permitan soportar
edificios
3- Tendencia iquestQueacute ha cambiado desde
Esta pregunta involucra a las dos anteriores y su respuesta establece que
diferencias ocurren en un aacuterea determinada a traveacutes del tiempo
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
31
4- Distribucioacuten iquestQueacute patrones de distribucioacuten espacial existen
Esta pregunta es maacutes compleja Se plantea al querer determinar por ejemplo si
el caacutencer es una causa importante de mortalidad entre las personas que residen
en las proximidades de una central nuclear O tambieacuten al querer conocer
cuaacutentas situaciones anormales se producen en una determinada distribucioacuten
espacial y donde se localizan
5- Modelacioacuten iquestQueacute sucede si
Cuestioacuten que se plantea al intentar conocer que pasa en un sistema cuando
ocurre un hecho determinado por ejemplo que le sucede a un sistema viario si
construimos una carretera o que sucederiacutea si se produjera un determinado
vertido toacutexico en la red de suministro de agua potable Las respuestas requieren
ademaacutes de la informacioacuten geograacutefica otras informaciones adicionales como
pueden ser determinadas leyes cientiacuteficas
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
32
Metodologiacutea Utilizada para el desarrollo del proyecto Durante el proceso de desarrollo de software empleamos la metodologiacutea
utilizada es RUP [7] (Racional Unified Proccess Proceso Unificado de Rational)
RUP hace eacutenfasis en la adopcioacuten de las mejores praacutecticas del desarrollo de
software como una manera de reducir los riesgos inherentes en el desarrollo de
una nueva aplicacioacuten de software de esta manera logramos resultados mas
predecibles unificando nuestro equipo con procesos comunes que mejoran la
comunicacioacuten y crean un entendimiento de todas las tareas y responsabilidades
RUP
bull Iterativo e Incremental
bull Dirigido por los Casos de Uso
bull Centrado en la Arquitectura
Iterativo e Incremental
Pequentildeos proyectos que incorporan incrementalmente nueva funcionalidad y
cuyo desarrollo es una iteracioacuten
bull Obtiene un Sistema Robusto
bull Reduce el Riesgo de tener un mal producto
bull Reduce el Riesgo de no obtener el producto en el tiempo previsto
bull Permite atacar problemas con requisitos incompletos
Dirigido por los Casos de Uso
bull Servicios que un actor requiere del sistema y le proporcionan un
resultado
bull Proporcionan los Requisitos Funcionales del Sistema
bull Describen toda la funcionalidad del Sistema
bull Cambios en Requisitos de un Caso de Uso faacutecil detectar las clases y
componentes que afectan
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
33
Centrado en la Arquitectura
bull Casos de Uso describen la Funcionalidad del Sistema
bull Arquitectura define la Forma del Sistema
bull Se describe mediante Vistas que incorporan el 5-10 de los casos de uso
maacutes relevantes
11 Lenguaje de Modelacioacuten Para modelar el anaacutelisis y el disentildeo del software se utiliza el lenguaje UML que
es el maacutes utilizado mundialmente
iquestPor queacute UML
UML (Unified Modeling Language Lenguaje Unificado de Modelacioacuten) [4]
Es un lenguaje de modelado visual que se usa para especificar visualizar
construir y documentar artefactos del sistema de un Software Se usa para
entender disentildear configurar mantener y controlar la informacioacuten sobre los
sistemas a construir
UML capta la informacioacuten sobre la estructura estaacutetica y el comportamiento
dinaacutemico de un sistema Un sistema se modela como una coleccioacuten de objetos
discretos que interactuacutean para realizar un trabajo que finalmente beneficia a un
usuario externo El lenguaje de modelado pretende unificar la experiencia
pasada sobre teacutecnicas de modelado e incorporar las mejores praacutecticas actuales
en un acercamiento estaacutendar
Ademaacutes tiene las siguientes caracteriacutesticas
bull Permite modelar sistemas utilizando teacutecnicas orientadas a objetos (OO)
bull Permite especificar todas las decisiones de anaacutelisis disentildeo e
implementacioacuten construyeacutendose asiacute modelos precisos no ambiguos y
completos
bull Puede conectarse con lenguajes de programacioacuten (Ingenieriacutea directa e
inversa)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
34
bull Permite documentar todos los artefactos de un proceso de desarrollo
(requisitos arquitectura pruebas versiones etc)
bull Cubre las cuestiones relacionadas con el tamantildeo propio de los sistemas
complejos y criacuteticos
bull Es un lenguaje muy expresivo que cubre todas las vistas necesarias para
desarrollar y luego desplegar los sistemas
bull Existe un equilibrio entre expresividad y simplicidad pues no es difiacutecil de
aprender ni de utilizar
bull UML es independiente del proceso aunque para utilizarlo oacuteptimamente se
deberiacutea usar en un proceso que fuese dirigido por los casos de uso
centrado en la arquitectura iterativo e incremental
Rational Rose[5] Es la herramienta Case desarrollada por los creadores de UML que cubren todo
el ciclo de vida de un proyecto concepcioacuten y formalizacioacuten del modelo
construccioacuten de los componentes y certificacioacuten de las distintas fases Nos
permite una trazabilidad real entre modelo (anaacutelisis y disentildeo) y el coacutedigo
ejecutable
Racional Rose domina el mercado de herramientas para el anaacutelisis
modelamiento disentildeo y construccioacuten orientada a objetos tiene todas las
caracteriacutesticas que los desarrolladores analistas y arquitectos exigen ndash soporte
UML incomparable desarrollo basado en componentes con soporte para
arquitecturas liacutederes en la industria y modelos de componentes facilidad de uso
e integracioacuten optimizada
La corporacioacuten Racional Rose ofrece el Proceso Unificado de Racional (RUP)
que unifica las mejores praacutecticas de muchas disciplinas en un consistente y
completo proceso del ciclo de vida que permite al equipo de desarrollo disminuir
los tiempos de liberacioacuten ademaacutes de hacer maacutes predecible el software que ellos
producen Este proceso estaacute basado en el Lenguaje Unificado de Modelacioacuten
(UML ndash estaacutendar de la industria) y uacutenicamente integrado a herramientas liacutederes
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
35
en el desarrollo de software de Racional el Proceso Unificado de Racional
apoya el equipo completo de desarrollo de software con guiacuteas detalladas e
informacioacuten criacutetica aplicable a la mayoriacutea de las aplicaciones de la industria
Rose es una herramienta con plataforma independiente que ayuda a la
comunicacioacuten entre los miembros del equipo a monitorear el tiempo de
desarrollo y a entender el entorno de los sistemas Una de las grandes ventajas
de Rose es que utiliza la notacioacuten estaacutendar en la arquitectura de software (UML)
la cual permite a los arquitectos de software y desarrolladores visualizar el
sistema completo utilizando un lenguaje comuacuten ademaacutes los disentildeadores
pueden modelar sus componentes e interfaces en forma individual y luego
unirlos con otros componentes del proyecto
Conclusiones Como podemos ver la tecnologiacutea SIG tiene un impacto social muy importante en
casi todos los sectores de la sociedad moderna ademaacutes del impacto econoacutemico
que es bien notable a pesar de las inversiones necesarias para desarrollar estos
sistemas
El poder del SIG es menos visible cuando la cantidad de datos implicados no es
demasiado grande y puede ser manejada manualmente sin embargo puede
haber cientos o miles de entidades a considerar o cientos de factores asociados
con cada entidad o lugar Estos datos pueden existir como mapas tablas de
datos o incluso como listas de nombres y direcciones Voluacutemenes de datos tan
grandes no son gestionados eficientemente usando meacutetodos manuales Sin
embargo cuando estos datos se han introducido a un SIG pueden ser
faacutecilmente manipulados y analizados en formas que seriacutean demasiado costosas
- en tiempo o dinero - o praacutecticamente imposibles de hacer usando meacutetodos
manuales
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
36
Capiacutetulo 2 Estudio preliminar del SIG UCI
Introduccioacuten
El presente capiacutetulo estaacute dedicado al estudio preliminar del Sistema de
Informacioacuten Geograacutefica En esta etapa de acuerdo con la metodologiacutea de
desarrollo seleccionada se identifican y analizan las necesidades de los
usuarios se describen las restricciones de disentildeo que se deban considerar y se
efectuacutea una caracterizacioacuten del sistema propuesto
Objeto de Estudio Problema Se ha observado como una tendencia que el aacuterea geograacutefica de la UCI aumente
cada diacutea hasta alcanzar niveles donde se hace difiacutecil el control de las aacutereas del
entorno universitario tanto de produccioacuten como de residencia o servicios asiacute
como de la ubicacioacuten del equipamiento tecnoloacutegico debidamente inventariado a
pesar de automatizar todo el sistema de inventario tanto de los equipos como de
los inmuebles no se tiene una idea oacuteptima de la ubicacioacuten Geoespacial de eacutestos
de forma graacutefica ya que habriacutea que de una forma manual relacionar la
informacioacuten de las bases de datos de inventario con los esquemas graacuteficos
analoacutegicos de la geografiacutea del entorno de esta forma se hace difiacutecil para la
direccioacuten de el centro la oacuteptima administracioacuten de los recursos y medios
tecnoloacutegicos de transporte materiales de Oficinas o de otro tipo Especialmente
esto se agrava en situaciones extremas como cuando hay problemas con el
abasto de agua por ejemplo la ubicacioacuten en posiciones optimas de los tanques
necesarios para garantizar el normal funcionamiento de la vida universitaria o
en situaciones de cataacutestrofes naturales o de otro tipo la mejor ubicacioacuten de
puntos de suministro baacutesicos o puntos de asistencia medica etc
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
37
Objeto de automatizacioacuten
Hasta el momento toda la cartografiacutea disponible del entorno universitario se
encuentra en formatos analoacutegicos separados y con informacioacuten deficiente y
desactualizada dada las caracteriacutesticas del material cartograacutefico analoacutegico asiacute
como las limitaciones de impresioacuten de eacutestos Por otra parte estos se encuentran
en lugares centralizados donde no es accesible por todos los factores que los
requieren de esta forma no es posible que se cuente con una relacioacuten estricta
de la informacioacuten que se tiene de los inmuebles equipos Inventariados o
personas con la referencia geograacutefica que estas tienen dentro del entono
universitario almacenada de forma digital de manera que pueda ser consultada
evaluada y analizada de forma estadiacutestica y geograacuteficamente a la vez para de
esta forma poder trazar liacuteneas directrices por la direccioacuten del centro asiacute como
algunos servicios que se podriacutean brindar con intereses para los simples usuarios
de la intranet como son los de conocer desde el numero telefoacutenico de un local
hasta los datos de todos los equipos que estaacuten en un determinado inmueble con
solo hacer un clik sobre el mapa de el entono universitario
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
38
Modelo de negocio
Actores del negocio
Nombre del Actor Descripcioacuten
Usuario Cualquier persona con acceso a la UCI y que necesitara
saber alguna informacioacuten relacionada con la ubicacioacuten
geograacutefica de los inmuebles o equipo Inventariado
Trabajador del
Negocio Justificacioacuten
Asistente Persona responsable de de gestionar la informacioacuten
necesaria tanto de Datos como de cartografiacutea
Diagrama de casos de uso del negocio
Diagrama de Casos de Uso del Negocio
VerMapaGenral(from Casos de Uso del Negocio)
Localizar Inmueble(from Casos de Uso del Negocio)
Usuario(from Actors)
Localizar Equipo(from Casos de Uso del Negocio)
Solicitar Info Inmueble(from Casos de Uso del Negocio)
Manipular mapa(from Casos de Uso del Negocio)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
39
Realizacioacuten de los casos de uso del negocio
Caso de Uso Actualizar mapa general
Actores Usuario
Propoacutesito Obtener vista general de el mapa UCI
Resumen El caso de uso se inicia cuando el Usuario solicita actualizar la vista del
Mapa General
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
actualizacioacuten de la vista del mapa general
2- El asistente actualiza las
coordenadas del mapa general y
gestiona el mapa solicitado
4- El asistente muestras
actualizacioacuten al usuario
Prioridad -----
Mejoras Automatizar el proceso de poner en disposicioacuten de los
usuarios los mapas con la vista general de la UCI
Otras Secciones -----
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
40
Diagrama de actividad Actualizar Vista del Mapa General
solicitar Actuliz vista de Mapa
verificar existencia de Mapa
Mapa no encontrado
NO encontrado
Actualizacion de Vista de Mapa
encontrado
sitemausuario
Diagrama del modelo de objetos para el caso de uso Actualizar mapa general
MapaAsistente
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
41
Caso de Uso Localizar Inmueble
Actores Usuario
Propoacutesito Obtener informacioacuten acerca de la ubicacioacuten de un
inmueble
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un inmueble
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de Inmueble
2- El asistente verifica la existencia
de este en la BD y con su
identificador lo localiza en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
42
Diagrama de actividad Localizar Inmueble
Solicitar ubicacion de un inmueble
datos del Inmuenle
verificar existencia de inmueble en la BD
Reportar error de busqueda
Mensaje de error
Inmueble encontrado
localizarlo en el mapa
Mostrar localizacion
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar Inmueble
FichaInmueble
Mapa
Asistente
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
43
Caso de Uso Localizar EquipoInv
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de la ubicacioacuten de un
EquipoInv
Resumen El caso de uso se inicia cuando el Usuario solicita ubicar un EquipoInv
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de la ubicacioacuten de EquipoInv
2- El asistente verifica la existencia
de este en la BD y con su
identificador de inmueble lo localiza
en el mapa
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
44
Diagrama de actividad Localizar EquipoInv
Solicitar ubicacion de un EquipoInv
datos del EquipoInv
verificar existencia de EquipoInv en la BD
EquipoInv encontrado
localizarlo en el mapa
Reportar error de busqueda
Localizar Inmueble
Usuario Asistente
Diagrama del modelo de objetos para el caso de uso Localizar EquipoInv
FichaInmueble
Mapa
FichaEquipoInv
Asistente
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
45
Caso de Uso Solicitar Informacioacuten de un Inmueble por el mapa
Actores Usuario
Propoacutesito Obtener informacioacuten a cerca de un inmueble por la
ubicacioacuten en mapa
Resumen El caso de uso se inicia cuando el Usuario solicita Informacioacuten de un
inmueble ubicado previamente en el mapa
Accioacuten del actor Respuesta del proceso de negocio
1- El Usuario realiza una peticioacuten de
Informacioacuten de un Inmueble por su ubicacioacuten
en el mapa
2- El asistente verifica en el mapa el
Identificador de este y verifica su
existencia en la BD
4- El asistente muestras la
informacioacuten solicitada
Prioridad -----
Mejoras Automatizar el proceso de localizar la informacioacuten
solicitada
Otras Secciones -----
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
46
Diagrama de actividad Informacioacuten de Inmueble ubicado por el mapa
selecciona del mapa un inmueble
solicitando informacionde este
Mostrar Informacion de Inmueble
extrae del mapa su identificador
Localizar Inmueble
AsistenteUsuario
Diagrama del modelo de objetos para el caso de uso Informacioacuten de Inmueble ubicado por el mapa
Mapa
FichaInmueble
Asistente
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
47
Definicioacuten de los Requisitos funcionales
1) Verificar conexioacuten a BIG
2) Verificar conexioacuten a BD
3) Actualizar vista del mapa
4) Solicitar mapa general UCI
5) Solicitar Zoom In al mapa
6) Solicitar mapa de zona con limites de coordenadas actualizados
7) Pintar aacutereas por categoriacuteas
8) Hacer Zoom Out al mapa
9) Delimitar nuevos liacutemites de coordenadas
10) Solicitar informacioacuten de un inmueble sentildealado
11) Localizar un inmueble dado un paraacutemetro (EquipoInv Inmueble)
Definicioacuten de los requerimientos no funcionales
Requerimientos de funcionalidad
1 No se necesita un tiempo de entrenamiento para los usuarios de la
aplicacioacuten solo que tengan un conocimiento miacutenimo de coacutemo operar una PC ya
que el trabajo con el sistema es simple ademaacutes seria conveniente un
conocimiento miacutenimo previo del trabajo con Sistemas Informacioacuten Geograacutefica
Requerimientos de confiabilidad
1 El sistema deberaacute tener un 100 de disponibilidad por lo que podraacute ser usado
las 24 horas del diacutea
2 El tiempo medio de reparacioacuten debe ser menor de 1 diacutea
3 Todas las salidas del sistema tienen que tener el 100 de veracidad y
precisioacuten de acuerdo con las informaciones que estaacuten en los BD
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
48
Requerimientos de rendimiento
1 El tiempo de respuesta del sistema para una transaccioacuten seraacute de 5 segundos
como promedio y como maacuteximo debe ser 15 segundos para la primera ves
que el sistema carga la cartografiacutea debido a la gran cantidad de objetos
geograacuteficos que se manejan en la primera transaccioacuten para las siguientes el
tiempo de respuesta no debe exceder de 2 segundos
2 El sistema debe soportar al menos 40 clientes y 10 transacciones
simultaacuteneamente
Requerimientos de disentildeo
1 Los lenguajes de programacioacuten que se usaraacuten seraacuten Javascript y asp
2 Para el anaacutelisis y el disentildeo del sistema debe ser utilizada la metodologiacutea
RUP usando el lenguaje de modelacioacuten UML y como herramienta para
llevarlo a cabo el Rational Rose
Requerimientos de documentacioacuten online de usuarios y ayudas del sistema
1 La aplicacioacuten debe tener una ayuda en liacutenea soportada por paacuteginas Web que estaraacute disponible al usuario en todo momento Interfaces
1 Las interfaces que soporta la aplicacioacuten son cliente web con protocolo http
por el puerto 80
2 Interfaz de usuario
1 El estaacutendar del proyecto UCI Ciudad Digital para el disentildeo de la interfaz de
usuario deberaacute ser aplicado
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
49
Interfaz de software
1 La aplicacioacuten se realizaraacute en ambiente web
2 La base de datos seraacute independiente a la aplicacioacuten
3 La comunicacioacuten que habraacute entre la base de datos y la aplicacioacuten y otras
aplicaciones seraacute por medio de servicios web (web services)
Interfaz de comunicacioacuten
1 La aplicacioacuten se comunica con otros sistemas a traveacutes de la intranet
Requerimientos legales derechos de autor y otros
1 Tanto nuestra aplicacioacuten SIGUCI (Sistema de informacioacuten Geograacutefica) como
la documentacioacuten pertenecen al proyecto UCI Ciudad Digital
especiacuteficamente a la DIP de Geomaacutetica
Definicioacuten de Casos de Uso El comportamiento de un sistema en desarrollo es documentado en un modelo
de Casos de Uso que ilustraraacute las funciones del sistema (Casos de Uso) sus
entornos (Actores) y las relaciones entre los Casos de Uso y los Actores
(Diagramas de Casos de Uso) Un Caso de Uso es una secuencia de acciones
que obtienen resultados de valor para un Actor y un Actor representa cualquier
cosa que interactuacutea con el sistema que puede ser un humano software o
hardware El rol maacutes importante de un modelo de Casos de Uso es el de la
comunicacioacuten Un modelo de Casos de Uso provee un vehiacuteculo usado por los
clientes o usuarios finales y desarrolladores para discutir el comportamiento y la
funcionalidad del sistema
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
50
A continuacioacuten seraacuten identificados y definidos cada uno de los Actores que
participan en el sistema cada uno de los Casos de Uso involucrados y las
relaciones existentes entre ambos Finalmente todo el modelo seraacute resumido a
modo de esquema haciendo uso del UML a traveacutes de un Diagrama de Casos de
Uso
Definicioacuten de Actores Dado que el producto que se pretende desarrollar es un Cliente Web de un
Sistema de Informacioacuten geograacutefica pueden ser identificado esencialmente tres
Actores el usuario del cliente Web el Sistema de acceso a los datos de los
Bancos de datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica
(BIG)
Actores
Actores Justificacioacuten Usuario Este actor es quien va solicitar la informacioacuten que puede
brindar el SIG
SistServBD Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los datos de los BD
SistServBIG Este actor es el sistema que interactuacutea con la aplicacioacuten para garantizar el acceso a los Mapas de la BIG
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
51
Casos de Uso
En el anaacutelisis realizado del sistema propuesto fueron identificados los Casos de
Uso que a continuacioacuten son enumerados
1) Cargar Mapa general de la BIG
2) Ubicar en mapa el objeto que se desee localizar (Inmueble Equipo Inv)
3) Realizar Aumentar (Zoom in) a una parte del mapa seleccionada
4) Realizar Disminuir (Zoom out) a una parte del mapa seleccionada
5) Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
6) Localizar inmuebles por categoriacuteas
7) Elaborar mapas temaacuteticos
bull Caso de Uso bull Cargar Mapa general la BIG
bull Actores bull Usuario
bull Descripcioacuten bull Inicializar la aplicacioacuten con una vista general de la cartografiacutea almacenada en la BIG este mapa que se muestra contiene todas las capas almacenadas y los limites de coordenadas reales representados a la escala correspondiente
bull Referencias bull 1 2 3 4
bull Caso de Uso bull Realizar Zoom in a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 6 9
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
52
bull Caso de Uso bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de un Inmueble se le solicita al SubSistServMapas el Id de Inmueble donde se seleccionoacute por el usuario con este id se le solicitan a SubSistServDatos la Informacioacuten relacionada a este Id de Inmueble dado y termina mostrando dicha informacioacuten en el cliente en caso de ser un aacuterea no registrada como inmueble se mostraraacuten solo los datos relacionados a la BIG
bull Referencias bull 1 2 3 10
bull Caso de Uso bull Ubicar en mapa el objeto que se desee localizar
bull Actores bull Usuario SubSistServMapas SubSistServDatos
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de Informacioacuten a cerca de la ubicacioacuten de el objeto seleccionado se le solicita al SubSistServDatos la informacioacuten de el objeto (Local Equipo Inv o Inmueble) y con este toma el Id de Inmueble para solicitar al SubSistServMapas la sentildealizacioacuten de este en el mapa y la Informacioacuten relacionada a eacuteste de ese Inmueble dado y termina mostrando dicha informacioacuten en el cliente
bull Referencias bull 1 2 3 11 7 10
bull Caso de Uso bull Realizar Zoom Out a una parte de mapa seleccionada
bull Actores bull Usuario SubSistServMapas
bull Descripcioacuten bull El caso de uso comenzaraacute cuando se reciba una solicitud de actualizacioacuten de la vista del mapa de esta forma se actualizan los limites de coordenadas y se solicita al SubSistServMapas la actualizacioacuten de esta solicitud
bull Referencias bull 1 3 5 9 6
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
53
Diagrama de casos de Uso A continuacioacuten son descritos cada uno de estos Casos de Uso El diagrama correspondiente podraacute ser encontrado en el Anexo A
Casos de uso por ciclo Definir una tabla como la siguiente para cada uno de los ciclos de desarrollo Siclo Nombre de caso de uso Justificacioacuten de la seleccioacuten 1 bull Cargar Mapa general la BIG
bull Realizar Zoom in a una parte del mapa seleccionada
bull Realizar Zoom Out a una parte de mapa seleccionada
bull Mostrar Informacioacuten de la regioacuten al hacer un Clic
bull Ubicar en mapa el objeto que se desee localizar
-Este caso de uso es muy importante pues este es el que garantiza la inicializacioacuten de la aplicacioacuten -Con este caso de uso logramos una manipulacioacuten la vista del mapa logrando un nivel de detalle deseado - Este caso de uso es muy importante pues nos permite encuestar la informacioacuten de un inmueble o aacuterea mediante el mapa mostrado en el cliente - Este caso tiene gran importancia debido a que a traveacutes de eacutel ubicamos de forma grafica la posicioacuten de un inmueble
2 bull Mostrar Mapas temaacuteticos Este caso de uso nos peromite crear mapas temaacuteticos con las diversas combinaciones de informacioacuten disponible
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
54
Casos de uso expandidos
Caso de uso
CU-1 Cargar mapa general de la BIG
Propoacutesito En este caso de uso se carga todas las capas del mapa
Actores Usuario SistServMapas
Resumen El usuario inicia el sistema o solicita la actualizacioacuten del sistema a la
vista general el sistema solicita al SistServMapas la actualizacioacuten de todas las
capas que contiene el sistema y de esta forma se inicializan todas las opciones del
sistema
Precondiciones El sistema se encuentra en un estado donde se visualiza
resultados de alguna consulta previa
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista general del Mapa
El sistema le solicita al SistServMapas la
actualizacioacuten de el mapa a la vista
general
El SisServMapas extrae de la BIG el
total de las capas con su propiedades
correspondiente y las pasa al sistema
en formato XML
El sistema enviacutea al cliente el mapa
construido con los datos enviados por el
SisServMapas siendo actualizada la
pagina principal
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista general del mapa actualizada
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
55
Caso de uso
CU-2 Realizar Zoom in a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un acercamiento de el mapa para
ganar en detalle en la vista de este sobre una regioacuten seleccionada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar la vista del mapa en una regioacuten
determinada para ganar en el nivel de detalle del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel de
detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de detalle seleccionando
una regioacuten determinada
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con la vista
parcial del mapa seleccionada de forma actualizada
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
56
Caso de uso
CU-3 Realizar Zoom out a una parte del mapa seleccionada
Propoacutesito En este caso de uso se realiza un alejamiento de el mapa
perdiendo nivel de detalle y ganando en extensioacuten de la vista del
mapa hacia un aacuterea mayor respecto al aacuterea total representada
Actores Usuario SistServMapas
Resumen El usuario solicita aumentar el aacuterea de la vista del mapa
Precondiciones El sistema se encuentra en una vista del mapa con un nivel
de detalle no deseado por el usuario
Accioacuten del actor Respuesta del sistema
El usuario solicita la actualizacioacuten del
sistema a la vista del Mapa hacia un
nivel mayor de aacuterea visible
El sistema realiza la actualizacioacuten de la
vista del mapa recalculando los nuevos
limites de coordenadas para enmarcar la
vista solicitada se reconstruye el mapa y
es mostrado al cliente
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
57
Caso de uso
CU-4 Mostrar Informacioacuten de la regioacuten al hacer un Clic
Propoacutesito En este caso de uso se realiza una visualizacioacuten de las
propiedades de un inmueble seleccionado por el usuario
Actores Usuario SistServMapas SistServDatos
Resumen El usuario solicita las propiedades de un determinado inmueble
Precondiciones -
Accioacuten del actor Respuesta del sistema
El usuario solicita conocer las
propiedades de un inmueble
determinado
El sistema le solicita al SistServMapas
por la posicioacuten que este se encuentre las
caracteriacutesticas del inmueble
El SistServMapas extrae de la BIG las
caracteriacutesticas solicitadas y las enviacutea
en formato XML
El sistema
Flujo alternativo -
Poscondiciones El sistema queda actualizado mostraacutendole al usuario la pagina principal con las
vista del mapa en un aacuterea mayor que la anterior
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
58
Capiacutetulo 3 Anaacutelisis Disentildeo e Implementacioacuten Introduccioacuten En el presente capiacutetulo se plantea el anaacutelisis y disentildeo del sistema basado en la
Metodologiacutea RUP y utilizando para su modelado el Lenguaje Unificado de
Modelacioacuten (UML) que permite representar la expansioacuten de los casos de uso y
el modelo conceptual tambieacuten se presentaraacuten los diagramas de secuencia y los
diagramas de disentildeo Web del sistema
Anaacutelisis Modelo de clases de anaacutelisis
Las informaciones que fluyen entre las actividades que conforman un proceso de
negocio representan entidades o conceptos del dominio y por tanto son una
buena base para crear el modelo de anaacutelisis del sistema A partir de la lista de
informaciones que se han obtenido a lo largo del anaacutelisis del sistema fue
construido el modelo anaacutelisis del SIGWeb propuesto
Dado que el sistema que se estaacute modelando es un SIGWeb seraacute representada
solamente la funcionalidad de eacuteste
El modelo de anaacutelisis aparece representado en el Anexo B
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
59
Disentildeo Diagramas de Secuencia
Con el objetivo de mostrar las interacciones entre los objetos organizados en
una secuencia de tiempo y comprender mejor el funcionamiento del SIGweb se
elaboraron los diagramas de secuencia correspondientes Estos describen los
objetos y las clases que interactuacutean en el escenario asiacute como la secuencia de
mensajes intercambiados entre clases y objetos para llevar a cabo la
funcionalidad de eacuteste Los diagramas de secuencia del SIGweb podraacuten ser
encontrados en el Anexo C
Diagrama de clases
A partir del modelo de anaacutelisis y los diagramas de secuencia vistos
anteriormente se construyoacute el diagrama de clases que aparecen en el Anexo D En este diagrama solamente son mostradas las clases que han sido
identificadas en los diagramas de secuencia El comportamiento de las clases
que aparece en los diagramas de secuencia ha sido extraiacutedo incluyendo los
meacutetodos que aparecen en ellos y refinando las asociaciones de multiplicidad
navegabilidad y agregacioacuten
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
60
Descripcioacuten de las clases
Clases Interfaces
Nombre ClientePrincipal
Tipo de clase Interface
Nombre Crear_Pagina()Descripcioacuten Paacutegina que contiene el formulario para seleccioacuten de opciones de
consultas y Opciones de manipulacioacuten de mapas
Nombre SistServDatos
Tipo de clase Interface
Nombre Getdata()Descripcioacuten Encargado de la gestioacuten de los datos necesarios en la
aplicacioacuten en la Base de Datos Inmueble de la UCI
Nombre SistServMapas
Tipo de clase Interface
Nombre Get_schema()Descripcioacuten permite acceder a la descripcioacuten de las propiedades que tiene
determinada coleccioacuten de elementos geograacuteficos desde webNombre Get_Legend()Descripcioacuten permite acceder al estilo con que se estaacuten ofreciendo los mapas
de una coleccioacuten determinada esta leyenda esta en formato XML
Nombre Map()
Descripcioacuten La interfase Map es de obligatoria implementacioacuten y mediante ella se puede obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los clientes del Servidor de Mapas con imaacutegenes de mapas
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
61
Nombre feature_info()Descripcioacuten Baacutesicamente la interfase le ofrece a un cliente la posibilidad de
especificar sobre queacute piacutexel estaacute preguntando sobre queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Nombre Capabilities()
Descripcioacuten La interfase Capabilities estaacute drisentildeada para proveer una lista de que interfases soporta el servidor de Mapas que capas de mapas puede servir que formatos y otros detalles
Clases Controladoras
Nombre Sistema
Tipo de clase Controladora
Nombre GetLayers()Descripcioacuten Devuelve las capas del mapa que se especifiquen en la
consultaNombre CreateMapChange()Descripcioacuten Construye el mapa con los cambios realizados por la consulta
en cada caso Nombre ShowBB()
Descripcioacuten Encargado de dibujar la parte del mapa que se debe destacar al realizar una consulta que lo requiera
Forma general del tratamiento de errores El sistema trata de minimizar al maacuteximo los posibles errores que puedan existir
Este sistema solo realiza consultas en las cuales no se realizan ninguacuten tipo de
operaciones de modificacioacuten o eliminacioacuten de elementos de esta manera
siempre seraacuten vaacutelidos los datos que en las consultas sean mostradas
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
62
Implementacioacuten Se ha implementado un cliente Web que permite visualizar y consultar la
informacioacuten geograacutefica del servidor de mapas con las especificaciones de
interfaces de un Servidor de Mapas WEB de OpenGIS que permiten producir
un mapa y responder las consultas baacutesicas acerca del contenido del mismo
Para el desarrollo de un cliente web se han utilizado las plataformas ASP (Active
Server Page) JavaScript VBscript y XML La interaccioacuten con el servidor de
mapas se efectuacutea a traveacutes de tres interfaces fundamentales Capabilities
FeutureInfo y Map que son las encargadas de devolver un mapa con las
caracteriacutesticas solicitadas por el usuario Este mapa es devuelto como una
imagen en formato JPG o GIF y representada en un visor disentildeado para esto
El visor opera en el ambiente del Explorador de Internet y permite a usuarios
interactuar con un mapa y usar una serie de herramientas baacutesicas tales como
Aumentar Disminuir Desplazar la imagen y Obtener Informacioacuten del Mapa
ademaacutes de realizar una serie de consultas como buacutesquedas por identificador
para conocer su ubicacioacuten
Servicio de Mapas y sus Interfaces
La interaccioacuten con el servidor de mapas se efectuacutea a traveacutes de tres interfaces
fundamentales Capabilities FeutureInfo y Map propuestas para ese fin por
OpenGIS al menos las dos primeras son obligatorias en el proceso de obtencioacuten
de un Mapa y la tercera aunque es opcional es de gran importancia cuando se
habla de desarrollar Sistemas de Informacioacuten Geograacuteficos basados en Web
En sentido general las tres interfases anteriores seraacuten expuestas a traveacutes de una
mas general que se nombra rdquoRequestrdquo mediante ella se le diraacute al servidor que
interfase se estaacute encuestando
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
63
EjemplohelliphellipRequest=capabilities
Interfase Capabilities
La interfase Capabilities estaacute disentildeada para proveer una lista de que interfases
soporta el servidor de Mapas que capas de mapas puede servir que formatos y
otros detalles
Si no hay medio de que el cliente acceda a la interfase Capabilities entonces el
Servidor de Mapas no seraacute un servidor con un buen formato Internamente el
Servidor de Mapas retorna un fichero XML con la respuesta en el que se
incluyen entre otras cosas como ya se dijo la lista de capas que se pueden servir
o consultar desde el cliente
Componente URL Descripcioacuten httpserver_addresspathscript Prefijo URL del Servidor REQUEST=capabilities Nombre de la interfaz Paraacutemetros especiacuteficos
La respuesta debe ser en forma de XML el cual debe ser validado contra una
Definicioacuten de Tipo de Dato (DTD) que se publica bajo el nombre de
Capabilitiesdtd En el caso de HTTP el tipo MIME del XML que se retorna debe
ser ldquotextxmlrdquo y no plain text
Un ejemplo de solicitud de capabilities en web seriacutea de esta manera
httplt=hostNamegtScriptsmapserverexe request=capabilities
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
64
dariacutea como resultado un XML con las posibilidades del servidor de Mapas
incluyendo el listado de Capas del mismo y Datos sobre las mismas
ltxml version=10 encoding=UTF-8 gt ltWMT_MS_Capabilities version=100 updateSequence=0gt ltCapabilitygt hellip ltLayergt ltLayergt ltNamegtManzanasltNamegt ltTitlegtNuevo TemaltTitlegt ltSRSgtGCS_CubaltSRSgt ltLatLonBoundingBox minx=229827243943312 miny=- 824674092883153 maxx=229886159419869 maxy=- 824636384132142 gt ltBoundingBox SRS=NAD27_CubaNorte minx=349538717150737 miny=351089831278686 maxx=34993169033892 maxy=351738459988782 resx=001 resy=001 gt ltLayergt - ltLayergt hellip ltCapabilitygt ltWMT_MS_Capabilitiesgt Interfase Map La interfase Map es de obligatoria implementacioacuten y mediante ella se puede
obtener el mapa deseado Esta interfase esta disentildeada para proporcionar a los
clientes del Servidor de Mapas con imaacutegenes de mapas Una vez recibida una
solicitud de mapa el Servidor debe satisfacerla o generar una excepcioacuten acorde
a las especificaciones de OpenGis para cada caso de Servidor de Mapas
El resultado a una solicitud de la interfase Map de un Servidor de Mapas debe
ofrecerse en el formato descrito por el campo ldquoformatrdquo de la interfase de lo
contrario debe generarse la excepcioacuten correspondiente
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
65
URL Componente Descripcioacuten httpserver_addresspathmapserver Prefijo URL del servidor Requerida REQUEST=map Nombre de interfaz Requerida LAYERS=layer_list Lista separada por coma de las capas Requerida STYLES=style_list Lista separada por coma de los estilos de dibujo por
capa Requerida SRS=srs_identifier Sistema de Referencia Espacial Requerida BBOX=xminyminxmaxymax Bounding box Requerida WIDTH=output_width Ancho en pixels de la imagen Requerida HEIGHT=output_height Alto en pixels de la imagen Requerida FORMAT=output_format Formato de salida del mapa Requerida TRANSPARENT=true_or_false Opcional FALSE por defecto BGCOLOR=color_value Color de Background Opcional 0xFFFFFF por
defecto EXCEPTIONS=exception_format Formato de Excepciones
Opcional INIMAGE por defecto Vendor-specific parameters
Un ejemplo de solicitud de map en web seriacutea
httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt
Interfase FeatureInfo
La interfase FeatureInfo estaacute disentildeada para proporcionar maacutes informacioacuten a los
clientes de un Servidor del Mapa sobre los elementos en los mapas que fueron
resultado de solicitudes de Mapa anteriores Baacutesicamente la interfase le ofrece a
un cliente la posibilidad de especificar sobre queacute piacutexel estaacute preguntando sobre
queacute capa(s) debe preguntarse y en queacute formato debe devolverse la informacioacuten
Para proporcionar un protocolo sin estado la demanda del Mapa es una de las
partes de una solicitud de FeatureInfo El uso principal de FeatureInfo que es
que un usuario ve el resultado de una solicitud de Mapa y sobre ese mapa
escoge un punto para conseguir maacutes informacioacuten
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
66
URL Componente Descripcioacuten httpserver_addresspath mapserver Prefijo URL del Servidor REQUEST=feature_info Nombre de la interfaz ltmap request copygt Copia de los paraacutemetros de demanda de Mapa
que se utilizaron para generar el mapa y de los que se desea informacioacuten
QUERY_LAYERS=layer_list Lista separada por cama de las capas que seraacuten consultadas
INFO_FORMAT=output_format Formato de retorno MIME por defecto FEATURE_COUNT=number Cuantos elementos para retornar informacioacuten
Opcional 1 por defecto X=pixel_column Coordenada X del elemento Y=pixel_row Coordenada Y del elemento Paraacutemetros especiacuteficos
Un ejemplo de solicitud de FeatureInfo en web seriacutea
httplt=hostNamegtScriptsmapserverexe request= feature_infoamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt QUERY_LAYERS=Edificiosamp X=253amp Y=183amp gt
esta solicitud tendriacutea como resultado un XML como el que se muestra a continuacioacuten ltxml version=10 encoding=UTF-8 gt ltFeatureCollectiongt ltFeatureCollectiongt ltNamegtEdificiosltNamegt ltFeatureMembergt ltGEOMETRIAgtPOLYGONltGEOMETRIAgt ltIDgt01ltIDgt ltNOMBREgtEDIFICIOltNOMBREgt ltID_INMUEBLEgt01lt ID_INMUEBLEgt lt FeatureMembergt ltFeatureCollectiongt ltFeatureCollectiongt
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
67
El Cliente Web
Esta seriacutea la Pagina principal con la Forma que almacenaraacute los paraacutemetros
variables para consultar un mapa la imagen del mapa y la consulta inicial
Valor inicial de los paraacutemetros necesario para solicitar un mapa lt LANGUAGE=VBScript gt lt dim hostName allLayers minX minY maxX maxY mWidth mHeight allLayers = ManzanasVialesEdificios hostName = RequestServerVariables(HTTP_HOST) minX = 296220 minY = 304909 maxX = 440181 maxY = 373210 mWidth = 600 mHeight = 350 gt lthtmlgt ltbodygt ltform name=MapFormgt paraacutemetros variables para consultar un mapa ltINPUT name=name type=hidden value=SIG ID=Hidden1gt ltINPUT name=minx type=hidden value=lt=minXgt ID=Hidden2gt ltINPUT name=miny type=hidden value=lt=minYgt ID=Hidden3gt ltINPUT name=maxx type=hidden value=lt=maxXgt ID=Hidden4gt ltINPUT name=maxy type=hidden value=lt=maxYgt ID=Hidden5gt ltINPUT name=cmd type=hidden value= ID=Hidden6gt ltINPUT name=alllayers type=hidden value=lt=allLayersgt ID=Hidden7gt ltINPUT name=allStyles type=hidden value= ID=Hidden8gt ltINPUT name=ainfostr type=hidden value= ID=Hidden9gt ltINPUT name=mwidth type=hidden value=lt=mWidthgt ID=Hidden10gt ltINPUT name=mheight type=hidden value=lt=mHeightgt ID=Hidden11gt ltINPUT name=hostname type=hidden value=lt=hostNamegt ID=Hidden12gt ltINPUT name=thematic type=hidden value= id=Hidden13gt ltformgt imagen con el mapa resultante ltIMG name=asmap onmousemove=DoMouseOver() onclick=MapClick() lowsrc= httplt=hostNamegtScriptsmapserverexe request=mapamp Layers=lt=allLayersgtamp BBox=lt=minXgtlt=minYgtlt=maxXgtlt=maxYgtamp Format=GIFamp width=lt=mWidthgtamp height=lt=mHeightgt gt ltbodygt lthtmlgt
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
68
Operaciones a realizar con el mapa desde un Script
Aumentar Esta herramienta nos brinda la posibilidad de ampliar la zona
que deseamos visualizar
Disminuir Esta herramienta nos brinda la posibilidad de disminuir la zona
que deseamos visualizar
Este coacutedigo que mostramos a continuacioacuten es el usado para trabajar con las herramientas aumentar y disminuir function MapClick Limite geograacutefico del mapa var minx miny maxx maxy minx = documentforms(MapForm)item(minx)value miny = documentforms(MapForm)item(miny)value maxx = documentforms(MapForm)item(maxx)value maxy = documentforms(MapForm)item(maxy)value ancho y alto de la imagen var MAPWIDTH MAPHEIGHT MAPWIDTH = documentforms(MapForm)item(mwidth)value MAPHEIGHT = documentforms(MapForm)item(mheight)value coordenadas en pixel del click del mouse var intx inty intx = thiseventoffsetX inty = thiseventoffsetY Calculo del ancho alto X Y en coordenadas mapa var mwidth mheight mapcoordx mapcoordy mwidth = Mathabs(minx-maxx) mheight = Mathabs(miny-maxy) mapcoordx = Number(minx) + Number(intx(mwidthMAPWIDTH)) mapcoordy = maxy - inty(mheightMAPHEIGHT) Comando activo var activeelement activeelement = documentforms(MapForm)item(cmd)value if (activeelement == cmd_zin) Comando Aumentar maxx = mapcoordx + mwidth4 minx = mapcoordx - mwidth4 miny = mapcoordy - mheight4 maxy = mapcoordy + mheight4 else if (activeelement == cmd_zout) Comando Disminuir minx = mapcoordx - mwidth34 maxx = mapcoordx + mwidth34 miny = mapcoordy - mheight34
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
69
maxy = mapcoordy + mheight34 else if (activeelement == cmd_pan) Comando Paneo minx = mapcoordx - (mwidth)2 maxx = Number(mapcoordx) + Number((mwidth)2) miny = mapcoordy - (mheight)2 maxy = Number(mapcoordy) + Number((mheight)2) ShowBB(minx miny maxx maxy)
Informacioacuten Esta herramienta nos brinda la posibilidad de solicitar la
informacioacuten acerca del mapa
function CargarDoc() Instanciar el parser y Cargar XML var xml = new ActiveXObject(MicrosoftXMLDOM) xmlasync = false xmlload(lt=httpinfogt) var Nodos = xmlselectNodes(FeatureCollectionsFeatureCollection) documentwrite(ltdiv align=centergtltpgt ltimg border=0 src=httplt=hostnamegtSIGimaginfodgif width=32 height=32gt) documentwrite(ltbgtltfont color=E30000 face=Verdana size=4gtInformacioacutenltfontgtltbgtltpgtltdivgt) documentwrite(ltdiv align=centergtlttable border=1 width=90 cellspacing=0gt) for (i=Nodoslength-1 i gt= 0 i--) var Nodo = Nodositem(i)selectSingleNode(Name) documentwrite(lttrgt lttd width=100 colspan=2 valign=middle align=center bgcolor=D9ECFFgt) documentwrite(ltbgtltfont face=Arial size=3gtCapa +NodofirstChildnodeValue+ltfontgtltbgtlttdgtlttrgt) documentwrite(lttrgt lttd width=35 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtPropiedadltfontgtltbgtlttdgt) documentwrite(lttd width=65 bgcolor=FFFFCCgtltbgtltfont color=0000FF face=Arial size=2gtValorltfontgtltbgtlttdgtlttrgt) var oNodo = Nodositem(i)selectSingleNode(Feature) for (j=0 j lt oNodochildNodeslength j++) var Nodo = oNodochildNodesitem(j) documentwrite(lttrgt lttd width=35gtltbgtltfont face=Arial size=2gt+NodonodeName+ltfontgtltbgtlttdgt) if (NodohasChildNodes) if (NodonodeName == WEB) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=+ NodofirstChildnodeValue+gt
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
70
+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == EMAIL) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=mailto+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else if (NodonodeName == IMAGEN) documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt lta href=httplt=hostnamegtimag+ NodofirstChildnodeValue+gt +NodofirstChildnodeValue+ltfontgtlttdgtlttrgt) else documentwrite(lttd width=65gtltfont color=E30000 face=Arial size=2gt+NodofirstChildnodeValue+ltfontgtlttdgtlttrgt)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
71
Conclusiones Como resultado de este proyecto podemos deducir primeramente algunas ideas
que maacutes que conclusiones son reflexiones sobre las cosas que hemos logrado
y lo que podemos lograr con el desarrollo de este proyecto a niveles superiores
debido a las posibilidades de aplicarlo a las maacutes diversas esferas de la sociedad
en funcioacuten de los intereses de un desarrollo social vinculado cada ves maacutes a las
tecnologiacuteas de la informaacutetica y las telecomunicaciones de manera que el
beneficio de estas tecnologiacuteas sea un componente maacutes en la calidad de vida de
nuestro pueblo como lo definen de manera maacutes general nuestros objetivos
como proyecto de esta revolucioacuten de manera particular el objetivo fundamental
perseguido por el proyecto fue alcanzado se desarrolloacute una aplicacioacuten Web
para el manejo de datos geoespaciales en el marco del Proyecto UCI Ciudad
Digital utilizando un Servidor de Mapas para Web Ademaacutes este trabajo forma
parte de una estrategia mayor por lograr establecer una especialidad de
Geomaacutetica en la Universidad con vistas a prepararse para enfrentar tambieacuten en
lo adelante la demanda de productos comerciales de esta rama
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
72
Recomendaciones La recomendacioacuten maacutes importante a resaltar es la proliferacioacuten de aplicaciones
clientes que utilicen como base el servidor de mapas instalado en la UCI por los
especialistas de GEOCUBA con el objetivo de encauzar las demandas
informativas que requieran una ubicacioacuten geograacutefica y que no estaacuten abarcadas
este primer escenario de aplicacioacuten
Estas aplicaciones iraacuten desarrollaacutendose a medida que avance el proceso de
informatizacioacuten de la Universidad y se vayan consolidando las bases de datos
centrales y podraacuten formar parte de las praacutecticas profesionales de los estudiantes
del Grupo de Geomaacutetica de la Facultad No 1 de la UCI Entre las temaacuteticas que
pueden abordar estas aplicaciones futuras estariacutean aquellas enmarcadas en las
denominadas Servicios Basados en Ubicacioacuten (Location Based Services ndash LBS)
que involucran dispositivos de posicionamiento global (GPS) y que desde
cualquier sitio de la Universidad puedan tener acceso a la informacioacuten del
servidor de mapas para la navegacioacuten electroacutenica o el control de traacutefico de
vehiacuteculos dentro de la UCI
Continuar el desarrollo del proyecto y de las tecnologiacuteas de Servidores de
Mapas para Web seguros de que en el futuro su inclusioacuten en las tecnologiacuteas de
la informacioacuten y su utilizacioacuten por nuestros dirigentes e instituciones provocaraacuten
un mejor funcionamiento de nuestro paiacutes y colateralmente un beneficio adicional
a nuestros ciudadanos
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
73
Bibliografiacutea 1 Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 2 Open GIS Consortium Inc The OpenGIS Abstract Specification Versioacuten 4
1999
3 OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999
4 OpenGIS Consortium Inc OpenGIS Simple Features Specification For SQL
Revision 11 1999
5 Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
6 Enciclopeacutedia Wikipedia
httpeswikipediaorg
7 Microsoft Developer Network Julio-2003
8 [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
9 [Meneacutendez 2003] Meneacutendez Rosa Rational Rose
httpwwwrationalcomarherramientasrosehtml Junio 2003
10 [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
11 [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso
unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
12 []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
13 [] Guiacutea del programador Web(Java Script)
httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 14 [] Guiacutea del programador Web (XML)
httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
15 [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
74
Referencias Bibliograacuteficas
[1] Open GIS Consortium Specifications 1998 ndash 1999 ndash 2000 [2] OpenGIS Consortium Inc OpenGIS Simple Features Specification For OLECOM Revision 11 1999 [3] Open GIS Consortium Inc OpenGIS Web Map Server Interface Implementation Specification Revision 100 2000
[4] [Larman 1999] Larman Craig UML y Patrones Introduccioacuten al anaacutelisis y disentildeo orientado a objetos Prentice may Meacutexico 1999
[5] [Meneacutendez 2003] Meneacutendez Rosa Rational Rose httpwwwrationalcomarherramientasrosehtml Junio 2003
[6] [Montero Ayala] Montero Ayala Ramon XML Iniciacioacuten y Referencia (Madrid) Espantildea 2001
[7] [Booch Jacobson Rumbaugh] I Jacobson G Booch J Rumbaugh El proceso unificado de desarrollo de software PEARSON EDUCACION SA Madrid2000
[8] []Guiacutea del programador Web ( CGI) httpwwwdesarrollowebcomarticulos758phpmanual=15 mayo 2004
[9] [] Guiacutea del programador Web(Java Script) httpwwwdesarrollowebcomarticulos25phpmanual=15 mayo 2004 [10] [] Guiacutea del programador Web (XML) httpwwwdesarrollowebcomarticulos449phpmanual=15 mayo 2004
[11] [] Guiacutea del programador Web (ASP) httpwwwdesarrollowebcomarticulos393phpmanual=15 mayo 2004 [12] Delgado T 2001 ldquoEvolucioacuten de los SIG Arquitectura Modernardquo Curso impartido en GEOCUBA Octubre 2001 Cayo Coro
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
75
Anexos A Diagrama de Casos de Uso A continuacioacuten aparece el diagrama de casos de uso del sistema propuesto
Como vimos anteriormente pueden ser identificado esencialmente tres Actores
el usuario del cliente Web el Sistema de acceso a los datos de los Bancos de
datos y el Sistema de acceso a la Base de informacioacuten Geograacutefica (BIG)
Diagrama Casos de Uso
Usuario(from Actors)
Hacer Zoom OutHacer Zoom In
Actualizar Vista Mapa General
SistServMapas
(from Actors)Localizar Inmueble
Mostrar Inf Inmueble
Localizar Equipo Inv
SistServDatos(from Actors)
Hacer Mapa Tematico
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
76
B Diagrama de Clases de Anaacutelisis
Diagrama Clases de Anaacutelisis
Principal
(f rom Clases)
sistema
(f rom Clases)
ltltLinkgtgtltltLinkgtgt
ServMapas
(f rom Clases)
Mapa
(f rom Modelo de negocio)
Inmueble
(f rom Clases)ServDatos
(f rom Clases)
EquipoInv
(f rom Clases)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
77
C Diagramas de Secuencia Diagrama Secuencia Ubicar Objeto Geograacutefico(inmueble EquipoInv)
Principal
sistema SistServDatos SistServMapas
Usuario
MM_findObj(ParamCateg)MM_findObj(ParamCateg)string
ReloadPage()
Se actualiza la pagina principal mostrandose la ubicacion del objeto sulicitado en el mapa
UpdateMap(string)mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
78
Diagrama Secuencia Aumentar vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
CreateMapChange(value)mapa
Se actualiza la pagina principal mostrandose la vista de la regioacuten del mapa seleccionada de forma mas detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage()
Diagrama Secuencia disminuir vista del mapa
Principal sistema
ServMapas
UsuarioUpdateDimension()
Se actualiza la pagina principal mostrandose una vista del mapa de forma menos detallada
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
ReloadPage() CreateMapChange(value)mapa
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
79
Diagrama Secuencia Actualizar Vista General de Mapa
Principal sistema SistServMapas
Usuario
MM_reloadPage(init) GetLayers()mapa
Esta funcioacuten devuelve un fichero xml que contiene los datos necesarios para actualizar el mapa a mostrar
Mostrar caracteriacutesticas del Inmueble seleccionado en el mapa
Usuario Principal sistema ServMapas ServDatos
ObjSelect(cordXcordY)
GetInf(OBjGeo)string
Getdata(Id_Inmueble)string
MostrarInf()
Aqui se muestra la informacion relacionada al inmueble seleccionado
Con el identificador optenido de la BIG consultamos las caracteristicas del inmueble el la BD
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)
80
D Diagrama de Clases de Disentildeo Diagrama Clases Disentildeo Web
Principal
(f rom Clases)
SeleccionForm
(f rom Clases)ltltBuildgtgt
SistServMapas
layer_liststyle_list
srs_identifierxminyminxmaxymax
output_widthoutput_heightoutput_formatcolor_value
get_schema()get_legend()
create_link_ map()feature_info()
map()
(f rom Actors)
sistema
(f rom Clases)
ltltSubmitgtgt
SistServDatos
ProviderConsulta_SQL
getdata()
(f rom Actors)