universidad de las ciencias informticas · componentes (com; component object model) y todas las...

86
Universidad de las Ciencias Informáticas Departamento de Informatización Sistema de Información Geográfica sobre WEB de la UCI. TRABAJO DE DIPLOMA presentado para optar por el título de Ingeniero Informático Autor I SUEL M ÉNDEZ R OLDÁN Tutores I NG . T ATIANA D ELGADO F ERNÁNDEZ I NG . L UISA Y USIMIT S ARDIÑAS R AMÍREZ Consultante MSc. Rafael Cruz Iglesias Ciudad de la Habana, Julio del 2004

Upload: others

Post on 09-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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)

  • Agradecimientos
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 2: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 3: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 4: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 5: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 6: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 7: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 8: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 9: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 10: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 11: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 12: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 13: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 14: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 15: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 16: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 17: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 18: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 19: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 20: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 21: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 22: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 23: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 24: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 25: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 26: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 27: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 28: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 29: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 30: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 31: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 32: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 33: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 34: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 35: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 36: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 37: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 38: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 39: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 40: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 41: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 42: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 43: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 44: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 45: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 46: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 47: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 48: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 49: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 50: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 51: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 52: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 53: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 54: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 55: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 56: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 57: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 58: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 59: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 60: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 61: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 62: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 63: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 64: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 65: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 66: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 67: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 68: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 69: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 70: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 71: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 72: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 73: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 74: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 75: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 76: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 77: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 78: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 79: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 80: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 81: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 82: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 83: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 84: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 85: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script
Page 86: Universidad de las Ciencias Informticas · componentes (COM; Component Object Model) y todas las tecnologías asociadas a este (ActiveX, DCOM, OLEDB, etc). Además, se contó con

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
  • Importancia
  • Impacto de Internet en las Tecnologiacuteas Geoespaciales
  • Interoperabilidad y Estaacutendares
  • Soluciones empresariales
    • Objeto de automatizacioacuten
    • Nombre del Actor
    • Trabajador del Negocio
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
    • Flujo alternativo -
    • Poscondiciones
      • 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
        • Operaciones a realizar con el mapa desde un Script