118
i UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA INSTITUTO DE INVESTIGACION DE POSTGRADO (IIP) Optimización del geoportal del IDE-UPS utilizando indexación espacial PRIETO VÉLEZ PATSY MALENA TUTOR: ING. ZOILA DE LOURDES RUIZ CHAVEZ MsC. Trabajo presentado como requisito parcial para la obtención del grado de: MAGÍSTER EN GESTIÓN INFORMÁTICA EMPRESARIAL QUITO – ECUADOR 2015

UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE … · iii AGRADECIMIENTO Un agradecimiento muy especial a la Universidad Central del Ecuador en la persona de mi tutora Gracias de igual

  • Upload
    doque

  • View
    238

  • Download
    0

Embed Size (px)

Citation preview

i

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA

INSTITUTO DE INVESTIGACION DE POSTGRADO (IIP)

Optimización del geoportal del IDE-UPS utilizando indexación espacial

PRIETO VÉLEZ PATSY MALENA

TUTOR: ING. ZOILA DE LOURDES RUIZ CHAVEZ MsC.

Trabajo presentado como requisito parcial para la obtención del grado de:

MAGÍSTER EN GESTIÓN INFORMÁTICA EMPRESARIAL

QUITO – ECUADOR

2015

ii

DEDICATORIA Dedico este trabajo a mi esposo Hans Christian y a mis hijos Isabel Carolina y David Alejandro, por su amor que se traduce de muchas maneras en mi vida.

iii

AGRADECIMIENTO

Un agradecimiento muy especial a la Universidad Central del Ecuador en la persona de mi tutora

Gracias de igual manera al grupo de investigación IDE-UPS, al centro de investigación en modelamiento ambiental CIMA-UPS, a la Universidad Politécnica Salesiana por su apoyo durante el desarrollo de este trabajo.

iv

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL

v

CERTIFICACIÓN

vi

CONTENIDO DEDICATORIA ........................................................................................................... ii

AGRADECIMIENTO ................................................................................................. iii

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL ........................................... iv

CERTIFICACIÓN ........................................................................................................ v

CONTENIDO .............................................................................................................. vi

LISTADO DE FIGURAS ............................................................................................ ix

RESUMEN ................................................................................................................. xiii

ABSTRACT ............................................................................................................... xiv

CERTIFICACIÓN ...................................................................................................... xv

Capítulo I Marco Teórico ............................................................................................. 1

1.1 Introducción .................................................................................................... 1

1.2 Objetivos ........................................................................................................ 1

1.2.1 Objetivo General ..................................................................................... 1

1.2.2 Objetivos Específicos .............................................................................. 1

1.3 Alcance ........................................................................................................... 1

1.4 Indexación espacial ........................................................................................ 3

1.4.1 Métodos de Acceso ................................................................................. 3

1.4.1.1 Métodos de Acceso por puntos PAMs ............................................. 4

1.4.1.2 Métodos de Acceso Espaciales SAMs ............................................. 6

1.5 Bases de datos espaciales ............................................................................... 7

1.5.1 PostGIS 2.1 ............................................................................................. 8

1.5.2 Indexación Espacial en PostGIS 2.1 ..................................................... 10

1.5.2.1 GiST GeneralizedSearchTree ........................................................ 10

1.5.2.2 KNN, K NearestNeighbours .......................................................... 11

1.6 Sistemas de Información Geográfica............................................................ 11

1.6.1 Modelo de Datos ................................................................................... 12

1.6.1.1 Raster ............................................................................................. 12

1.6.1.2 Vectorial......................................................................................... 12

1.7 Geoportales ................................................................................................... 13

vii

1.7.1 Usos y ventajas ...................................................................................... 13

1.8 Herramientas para creación de geoportales .................................................. 16

1.8.1 OpenLayers 3.2.0 .................................................................................. 16

1.8.2 GeoServer 2.6.2 ..................................................................................... 18

1.8.3 QGis 2.6.1 ............................................................................................. 19

1.8.4 Google Maps ......................................................................................... 20

1.9 Motivación para optimizar el geoportal de la comunidad salesiana............ 21

1.9.1 Descripción del geoportal de la comunidad salesiana cuya base de datos se utiliza para incluir indexación espacial ........................................................... 23

1.9.2 Descripción del hardware y software utilizado en la implementación del geoportal de la comunidad salesiana ................................................................... 26

Capítulo 2 Diseño ....................................................................................................... 29

2.1 Diseño de la base de datos ............................................................................ 29

2.2 Tablas seleccionadas para aplicar indexación espacial ................................ 35

2.3 Diseño de consultas ...................................................................................... 37

2.3.1 Consultar todos los lugares que corresponden a una obra salesiana, organizados por casa salesiana. ........................................................................... 38

2.3.2 Calcular la distancia promedio entre una casa salesiana y sus áreas de influencia ............................................................................................................. 40

2.3.3 Calcular la distancia entre la inspectoría salesiana y las áreas de influencia de sus obras ......................................................................................... 41

2.3.4 Área de influencia en el Ecuador y número de beneficiarios totales .... 44

2.4 Diseño de la solución ................................................................................... 47

2.4.1 Diagramas de Casos de Uso .................................................................. 47

2.4.2 Diagrama de Componentes ................................................................... 49

2.4.3 Diagrama de Despliegue ....................................................................... 50

2.5 Diseño de la Interfaz ..................................................................................... 51

Capítulo 3 Implementación ......................................................................................... 53

3.1 Creación de índices en PostGIS 2.1 ............................................................. 53

3.1.1 Índices Espaciales con GiST ................................................................. 53

3.1.2 Índices Espaciales con KNN ................................................................. 55

viii

3.2 Implementación de las consultas en un geoportal ........................................ 56

3.1.3 Creación de consultas en PostGIS 2.1................................................... 56

3.1.4 Importación a QGis 2.6.1 ...................................................................... 59

3.1.4.1 Edición de capas en QGis 2.6.1 ..................................................... 62

3.1.5 Levantar WMS en GeoServer 2.6.2 ...................................................... 66

3.1.5.1 Creación de almacenes de datos en GeoServer 2.6.2 .................... 67

3.1.5.2 Creación de capas .......................................................................... 69

3.1.5.3 Pre visualización de capas ............................................................. 71

3.3 Edición de estilos SLD – Styled Layer Descriptor ....................................... 73

3.4 Creación del geoportal .................................................................................. 77

4. Pruebas .................................................................................................................... 79

4.1 Ambiente de Pruebas .................................................................................... 79

4.2 Evaluación del geoportal de pruebas ............................................................ 79

4.2.1 Evaluación de las consultas creadas en la base de datos PostGIS 2.1 .. 80

4.2.2 Evaluación del rendimiento de la base de datos con la herramienta pgbench 84

4.2.3 Evaluación del rendimiento del geoportal de pruebas .......................... 86

Conclusiones ............................................................................................................... 91

Recomendaciones ........................................................................................................ 92

Glosario de Términos .................................................................................................. 93

Bibliografía ................................................................................................................. 95

Anexo 1 Elenco 2014 Familia Salesiana ..................................................................... 97

Anexo 2 Obras salesianas en el Ecuador distribuidas por casas 2014 ........................ 98

Biografía .................................................................................................................... 102

ix

LISTADO DE FIGURAS

Figura 1 Representación gráfica de un árbol binario .................................................... 3

Figura 2 Representación de una estructura K-d-tree ..................................................... 5

Figura 3 Representación gráfica de un árbol R-tree...................................................... 7

Figura 4 Tipos de Geometría usados en PostGIS 2.1.................................................... 8

Figura 5 ....................................................................................................................... 10

Uso de StackBuilder 3.1.1 para incluir PostGIS 2.1 ................................................... 10

Figura 6 ....................................................................................................................... 12

Modelo de Datos en un Sistema de Información Geográfica ..................................... 13

Figura7 ........................................................................................................................ 14

Mountain GeoPortal .................................................................................................... 14

Figura 8 ....................................................................................................................... 15

Visualizador de Mapas Mountain Geoportal .............................................................. 15

Figura 9 ....................................................................................................................... 15

Estadísticas Mountain Geoportal ................................................................................ 15

Figura 10 ..................................................................................................................... 17

Arquitectura Cliente Servidor de OpenLayers 3.2.0 ................................................... 17

Figura 11 ..................................................................................................................... 18

Funcionamiento de OpenLayers 3.2.0 ........................................................................ 18

Figura 12 ..................................................................................................................... 19

Página oficial de GeoServer ........................................................................................ 19

Figura 13 ..................................................................................................................... 20

Sitio oficial de Quantum Gis – Qgis ........................................................................... 20

Figura 14 ..................................................................................................................... 21

Página oficial de Google Maps ................................................................................... 21

Figura 15 ..................................................................................................................... 22

Fotografías de obras salesianas ................................................................................... 22

Figura 16 ..................................................................................................................... 23

x

Organización jerárquica de las casas salesianas en el Ecuador ................................... 23

Figura 17 ..................................................................................................................... 25

Arquitectura final del geoportal salesiano................................................................... 25

Figura 18 Hardware del Servidor ................................................................................ 27

Figura 19 Especificaciones de software para el servidor donde está alojado el geoportal salesiano ...................................................................................................................... 28

Figura 20 Modelo lógico inicial de la base de datos geoportal salesiano ................... 29

Figura 21 Modelo lógico de la base de datos final del geoportal salesiano ................ 32

Figura 22 Captura del Visor Gráfico de Consultas creando la consulta 1 .................. 40

Figura 23 Ubicación de la Inspectoría Salesiana usando Google Maps ..................... 42

Figura 24 Visualización de la distancia entre la Inspectoría Salesiana y las áreas de influencia de sus obras en el Ecuador ......................................................................... 44

Figura 25 Ejecución de la consulta 4 en QGis Desktop 2.6.1 ..................................... 46

Figura 26 Acercamiento a la provincia de Morona Santiago al ejecutar la consulta 4 en QGis Desktop 2.6.1 ..................................................................................................... 46

Figura 27 CU001 Crear un WMS en GeoServer 2.6.2 ............................................... 48

Figura 28 CU002 Visualizar mapa en el geoportal ..................................................... 49

Figura 29 COMP01 Diagrama de componentes Geoportal de pruebas ...................... 50

Figura 30 DESP001 Geoportal de pruebas ................................................................. 51

Figura 31 Maqueta web del geoportal de pruebas ...................................................... 52

Figura 32 Resultado de la ejecución de las sentencias de creación de índices espaciales en PostgreSQL ............................................................................................................ 54

Figura 33 Resultado de índices espaciales sobre la tb_lugar ...................................... 54

Figura 34 Ubicación de menú contextual para obtener el backup de una base de datos en PostgreSQL 9.3 ...................................................................................................... 57

Figura 35 Captura de la distribución de esquemas en la base de datos DbGeoPortalSalesianoProd ......................................................................................... 59

Figura 36 Conexión a PostGIS 2.1 mediante QGis 2.6.1 ........................................... 60

Figura 37 Pantalla para añadir tablas PostGIS a QGis 2.6.1 ....................................... 60

Figura 38 Pantalla para incluir WMS/WMTS en QGis 2.6.1 ..................................... 62

Figura 39 Pantalla propiedades de la capa en QGis 2.6.1 ........................................... 63

xi

Figura 40 Pantalla propiedades de la capa edición de Etiquetas y Representación en QGis 2.6.1 ................................................................................................................... 64

Figura 41 Visualización de la consulta 3 en QGis 2.6.1 ............................................. 65

Figura 42 Pantalla propiedades de la capa para la consulta 4 ..................................... 66

Figura 43 Menú de GeoServer 2.6.2 con el orden de creación de WMS .................... 67

Figura 44 Pantalla nuevo origen de datos GeoServer 2.6.2 ........................................ 68

Figura 45 Pantalla de creación de nuevo origen de datos vectoriales en GeoServer 2.6.2 ..................................................................................................................................... 68

Figura 46 Pantalla Editar capa, detalle del Sistema de referencia de coordenadas GeoServer 2.6.2 ........................................................................................................... 70

Figura 47 Pantalla Editar capa, pestaña Publicación GeoServer 2.6.2 ....................... 70

Figura 48 Pantalla de previsualización de capas GeoServer 2.6.2 .............................. 71

Figura 49 Visualización de la capa ubicacionlugares utilizando OpenLayers ............ 73

Figura 50 Pantalla Estilos GeoServer 2.6.2 ................................................................ 74

Figura 51 Previsualización de la capa beneficiarios en GeoServer 2.6.2 ................... 76

Figura 52 Ejecución del geoportal de pruebas en Eclipse Luna ................................. 78

Figura 53 Esquema para evaluación del geoportal ..................................................... 80

Figura 54 Evaluación de las consultas utilizando indexación espacial y sin indexación espacial ........................................................................................................................ 82

Figura 55 Comparación en porcentajes del tiempo de ejecución en milisegundos ..... 83

Figura 56 Tiempo total de ejecución en milisegundos................................................ 83

Figura 57 Porcentaje de disminución del tiempo de ejecución de las consultas considerando el tipo de indexación espacial implementado ....................................... 84

Figura 58 Monitor del estatus del servidor PostgreSQL 9.3 ....................................... 85

Figura 59 Ejecución de explain analize en la consulta 4 ............................................ 86

Figura 60 Resultados del test ancho de banda del servidor y usuario geoportal comunidad salesiana.................................................................................................... 88

Figura 61 Resultados test ancho banda servidor y usuario geoportal de pruebas ....... 88

Figura 62 Resultados de petición y transferencia de datos geoportal comunidad salesiana ...................................................................................................................... 89

Figura 63 Peticiones y transferencia de datos del geoportal de pruebas ..................... 90

xii

LISTADO DE TABLAS

Tabla 1 ......................................................................................................................... 24

Módulos y desarrolladores geoportal salesiano .......................................................... 24

Tabla 2 Organización de las tablas del geoportal salesiano considerando la funcionalidad ............................................................................................................... 31 Tabla 3 Listado de tablas, finalidad y número de campos de la base de datos final del geoportal salesiano ...................................................................................................... 33 Tabla 4 Diccionario de datos tb_beneficiario ............................................................ 35 Tabla 5 Diccionario de datos tabla tb_lugar .............................................................. 36 Tabla 6 Descripción de las consultas implementadas en PostgreSQL 9.3 .................. 57

Tabla 7 Hardware y software ambiente pruebas ......................................................... 79

Tabla 8 Registro de tiempo en milisegundos de la ejecución de consultas ................ 80

Tabla 9 Factores para evaluar el rendimiento de un geoportal ................................... 87

xiii

RESUMEN

Optimización del geoportal del IDE-UPS utilizando indexación espacial En PostGIS es posible incluir indexación espacial con KNN y GiST. Este documento demuestra como el uso de indexación cuenta permite mejorar los tiempos de respuesta del geoportal de la comunidad salesiana. Este geoportal es un proyecto conjunto entre la Universidad Politécnica Salesiana y la Inspectoría Sagrado Corazón de Jesús. Su objetivo es mostrar en un mapa web las obras salesianas y su área de influencia en el Ecuador. Mejorar el tiempo de respuesta de las consultas en el mapa siempre ha sido una prioridad, para ello se estableció consultas sobre la base de datos PostGIS las cuales incluyen indexación espacial. Estas consultas se evaluaron y contrastaron de forma que se concluyó que el uso de indexación espacial hace mucho más eficiente este geoportal. DESCRIPTORES POSTGIS MÓDULO ESPACIAL DE POSTGRESQL / GEOPORTAL / INDEXACIÓN ESPACIAL / KD-TREE / BÚSQUEDAS GENERALIZADAS EN ÁRBOLES GIST / K VECINOS MÁS CERCANOS KNN

xiv

ABSTRACT

Optimization of the IDE-UPS Geoportal using spatial indexation It is possible to use spatial indexation with KNN and GiST in PostGIS. This document shows how the use of account indexation helps to improve response time inside the Salesian community geoportal. This geoportal is a collaborative project between Salesian Polythecnic University and Sagrado Corazón de Jesús Inspectorial Office. Its main purpose is to show in a website map the Salesian projects and their influence in Ecuador. To improve response times in map requests has been a key point, and a PostGIS database search system has been established in which spatial indexation was included. These requests were evaluated and compared in a way that they showed that the use of spatial indexation makes the geoportal more efficient. KEYWORDS POSTGIS SPATIAL POSTGRESQL / WEB MAPPING / SPATIAL INDEXATION / KD-TREE / GENERALIZED SEARCH TREE GIST / K NEAREST NEIGHBOR KNN

xv

CERTIFICACIÓN

xvi

1

Capítulo I Marco Teórico

1.1 Introducción

Este documento tiene como finalidad explicar cómo se puede incluir indexación espacial en una base de datos PostGIS. El desarrollo de este trabajo está dirigido a estudiantes o investigadores quienes estarán capacitados para replicar el procedimiento detallado en este documento de forma que se pueda incluir indexación espacial en una base de datos PostGIS utilizando GiST1 y KNN2. Difundir a los lectores que es posible incluir indexación espacial utilizando herramientas de acceso general para los desarrolladores de geoportales es la principal motivación para el desarrollo de este documento. La indexación espacial utilizando PostGIS permite mejorar los tiempos de respuesta de los geoportales. El caso de estudio planteado es el geoportal de la comunidad salesiana el cual muestra información sobre la ubicación geográfica de las obras salesianas en el Ecuador. Este geoportal se encuentra alojado en un servidor de la Universidad Politécnica Salesiana Campus Sur, ubicado en la avenida Rumichaca y Morán Valverde sector Chillogallo. Para optimizar el funcionamiento de este geoportal, ha sido necesario incluir los conceptos de indexación espacial para mejorar los tiempos de respuesta de las consultas realizadas sobre la base de datos PostGIS.

1.2 Objetivos

1.2.1 Objetivo General

Optimizar el funcionamiento de un geoportal utilizando estructuras de indexación espacial

1.2.2 Objetivos Específicos

• Analizar las estructuras de indexación espacial PAM 3y SAM4 • Implementar estructuras de indexación espacial en un geoportal desarrollado con

herramientas open source. • Evaluar algoritmos de indexación espacial que permitan mejorar el tiempo de

respuesta, realizando consultas óptimas y que usen el análisis espacial en la base de datos PostGIS.

1.3 Alcance

1 Generalized Search Tree 2 K Nearest Neighbours 3 Point Access methods 4 Spatial Access methods

2

Este documento tiene como finalidad mostrar que es posible mejorar los tiempos de respuesta de un geoportal al incluir indexación espacial en una base de datos espacial. Como caso de estudio se ha seleccionado la base de datos del geoportal de la comunidad salesiana.

Este geoportal es un proyecto que inició en el 2012 como parte de la línea de investigación de Sistemas de Información Geográfica y Geoportales en el Centro de Investigación en Modelamiento Ambiental – UPS en coordinación con la Inspectoría Salesiana Corazón de Jesús perteneciente a los salesianos de Don Bosco. Su objetivo era visibilizar las obras salesianas presentes en el Ecuador mediante un geoportal.

Este proyecto se encuentra en este momento en producción y está ubicado en un servidor con la URL http://ide.ups.edu.ec:8081/S.I.Salesiano/index.jsf. Tomando entonces como caso de estudio la base de datos de ese geoportal llamada DbGeoPortalSalesianoProde implementada en PostgreSQL 8.0 y PostGIS 2.0, se plantea los siguientes hitos para este documento:

1. Obtener un backup de la base de datos en producción, la cual será utilizada como caso de estudio. Considerando que son datos reales de una organización, guardados y validados anteriormente y sobre los cuales ya se han realizado consultas previas las cuales corroboran la validez de la información.

2. Realizar la instalación de una infraestructura de pruebas la cual cuente con un hardware estable que permita la realización de las pruebas. Además se realizará una instalación del software necesario utilizando las versiones disponibles para el año 2014, cuando se da inició a esta investigación. Una de las primeras actualizaciones corresponde directamente al motor de base de datos, el cual para este proyecto corresponde a PostgreSQL 9.3 que cuenta con las funcionalidades necesarias para ejecutar las consultas descritas en este documento. Además se instaló PostGIS 2.1 como base de datos espacial.

3. Otro hito lo constituye la implementación de los índices espaciales sobre la base de datos de prueba. Para contar con elementos de juicio sobre la eficiencia o no de los índices espaciales, se planea diseñar consultas que conlleven análisis espacial y evaluar el desempeño de ellas comparando su ejecución sin uso de índices espaciales y luego de la creación de los índices espaciales.

4. Por último se plantea la necesidad de evaluar la eficiencia de las consultas planteadas y establecer conclusiones en base a los resultados obtenidos. La evaluación se realizará en torno a tres ejes: las consultas planteadas, la eficiencia de la base de datos y el rendimiento del geoportal de pruebas que se creará para visibilizar las consultas propuestas.

La necesidad de mejorar los tiempos de respuesta de los geoportales en general y específicamente la velocidad del geoportal salesiano se hizo latente en el momento en que

3

este se levantó en una IP pública. Cuando el geoportal salesiano comenzó a enviar y recibir información se consideró que era prioritario el uso adecuado de recursos de memoria, ancho de banda y acceso concurrente de usuarios.

Por tal razón se ha planteado la necesidad de mejorar el rendimiento del geoportal y optimizar el acceso. La indexación espacial es una de las alternativas que puede utilizarse para disminuir el tiempo de respuestas de consultas que conlleven datos geográficos y de gran tamaño y es el eje principal sobre el cual versa esta tesis.

1.4 Indexación espacial

La indexación espacial utiliza una estructura en forma de árbol que evita la lectura secuencial de un conjunto de datos y solamente muestra aquellos que son relevantes para un espacio geográfico definido.

Las operaciones de indexación espacial deben incluir por lo menos un predicado espacial y su ejecución suele apoyarse en una estructura de índice espacial.

La implementación de indexación espacial en una base de datos requiere que:

• Los puntos y aproximaciones de curvas y zonas estén organizados. • Las consultas espaciales básicas deben ser eficientemente creadas, se debe considerar la

cercanía de los nodos y la posible superposición. • Las inserciones dinámicas, las modificaciones de los objetos espaciales y operaciones de

eliminación deben ser resueltas de manera eficiente. • La utilización del almacenamiento razonable debe ser garantizado desde el inicio. • La estructura del índice debe ser robusto.

1.4.1 Métodos de Acceso

La partición binaria del espacio es un método para subdividir recursivamente un espacio en elementos convexos empleando hiperplanos. Esta subdivisión da lugar a una representación de la escena por medio de una estructura de datos del árbol. Estos tipos de estructuras se pueden utilizar para facilitar el manejo de datos 3D, videojuegos, información geográfica o documental. (Wikipedia, s.f.) En el gráfico adjunto se puede revisar como el algoritmo divide de forma recursiva los datos de forma que consigue reducir la complejidad de los datos y su posterior inserción o consulta.

Figura 1 Representación gráfica de un árbol binario

4

Fuente:https://es.wikipedia.org/wiki/Partici%C3%B3n_binaria_del_espacio#/media/File:Binary_space_partition.svg

Puede considerarse dos métodos de acceso a los datos geográficos: métodos de acceso por puntos PAMs Point Access Methods y métodos de acceso espaciales SAMsSpatial Access Methods.

Los métodos de acceso por puntos PAMs fueron diseñados para soportar búsquedas de puntos en bases de datos espaciales, mientras que los métodos de acceso espaciales SAMs permiten administrar objetos con extensión espacial desde una línea a una región.

1.4.1.1 Métodos de Acceso por puntos PAMs

Los métodos de acceso por puntos se basan en una búsqueda jerárquica o se basan en los conceptos de hashing. (Corral Liria, 2002) K-d-tree es un método de la categoría PAMs que se basa en árboles de búsqueda binarios que representan una subdivisión recursiva del dominio basada en el valor de un único atributo en cada nivel del árbol.

Un árbol kd (árbol k-dimensional) es una estructura de datos para almacenar puntos en el espacio multidimensional. La estructura K-d-tree se basa en árboles de búsqueda binarios que representan una subdivisión recursiva del dominio basada en el valor de un único atributo en cada nivel del árbol. (Brisaboa, Luaces, Navarro, & Seco, 2009)

Pueden ser utilizados para realizar consultas de manera eficiente para verificar si existe un punto, así como hacer búsquedas del vecino más cercano y las búsquedas en el interior de las regiones rectangulares.

5

Su propósito es descomponer jerárquicamente el espacio en un número relativamente pequeño de nodos de manera que ningún nodo contenga demasiados objetos de entrada. Esto proporciona una forma rápida de acceder a cualquier objeto de entrada.

En la figura 2 se muestra de que forma un árbol K-d-tree organiza los datos que se encuentran en un plano con dos dimensiones y lo transforma en una representación de un árbol K-d-tree. Para crear esta estructura de árbol este algoritmo divide sucesivamente el plano que se encuentra a la izquierda del gráfico en partes cada vez más pequeñas.

Figura 2 Representación de una estructura K-d-tree

Fuente: http://www.cs.nmsu.edu/~ipivkina/Spring05cs579/Homework/hw3.html

El código siguiente es un algoritmo con la implementación de un árbol K-d-tree, en el cual se determina primero el número de nodos y luego el número de niveles o profundidad que tendrá el árbol creado. (Fazli-Maghsoudi & Momeni, 2014)

Function kdtree (list of points point List, int depth) { if point List is empty return null; else { // Select axis based on depth so that axis cycles through all valid values Var int axis= depth mod k; // Sort point list and choose median as pivot element Sort pointList using predicate: point1[axis] < point2[axis]; choose median from pointList;

6

// Create node and construct subtrees vartree_node node; node.location := median; node.leftChild := kdtree(points in pointList before median, depth+1); node.rightChild := kdtree(points in pointList after median, depth+1); return node; } }

1.4.1.2 Métodos de Acceso Espaciales SAMs

Los métodos de acceso espacial tienen como finalidad almacenar objetos geométricos. (Corral Liria, 2002) R-tree es un método de la categoría SAMs se basa en un árbol balanceado derivado del B-tree que divide el espacio en rectángulos de cobertura mínima MBRs agrupados jerárquicamente y que pueden solaparse entre ellos o no. El número de nodos hijos de cada nodo interno varía entre un valor mínimo y máximo

Esta estructura cuenta con un índice dinámico para las inserciones y borrados, que puede usarse con las búsquedas y que no necesita ser reorganizado periódicamente. (Guttman, 1984) Las bases de datos espaciales están formadas por una colección de tuplas que representan a un objeto espacial y cada tupla tiene un identificador único que se usa para recuperar nodos.

��, ���������� − ������

Donde

Identificador-tupla, se refiere a la tupla en la base de datos

I, es la dimensión del rectángulo donde los límites son � = ���,��, . . �����

n, es el número de dimensiones. ��es un intervalo cerrado ��, �� describe el alcance del objeto a lo largo de la dimensión �.

Alternativamente �� puede tener uno o ambos extremos iguales al infinito indicando que el objeto se extiende hacia afuera de manera infinita.

��, ����_ℎ�!��

nodo_hijo, es la dirección de un nodo en un R-tree e � cubre todas las entradas de nodos.

" ≤ %& Sea ' el número máximo de entradas que se ajusten a un nodo y " ≤ %

& es un

parámetro que especifica el número mínimo de entradas en un nodo.

Considerando esta representación de una base de datos se muestra a continuación las propiedades que caracterizan a una estructura R-tree:

7

• Todos los nodos de la estructura contienen entre m y M índices. A menos que hayamos

llegado a la raíz. • Por cada índice en un nodo, I es el más pequeño rectángulo que espacialmente contiene

las n_dimensiones de datos representados por una tupla. • Cada nodo no hoja contiene entre m y M hijos a menos que sea la raíz. • Por cada entrada ��, ���������� − ������ en un nodo no hoja, � es el más pequeño

rectángulo que espacialmente contiene el rectángulo en el nodo hijo. • El nodo raíz tiene al menos dos nodos hijos a menos que sea un nodo hoja. • Todas las hojas aparecen en el mismo nivel. (Guttman, 1984)

Figura 3 Representación gráfica de un árbol R-tree

Fuente: https://java.net/projects/electric/pages/R-Trees

1.5 Bases de datos espaciales

Las bases de datos permiten organizar, controlar y almacenar la información de tal forma que sea sencilla su búsqueda y recuperación posterior. Las bases de datos espaciales tienen el componente adicional de guardar y devolver información geográfica es decir localizar un dato puntual considerando su posición (X, Y) y en el caso de mapas tridimensionales su ubicación Z. (Gómez Delgado & Barredo Cano, 2005)

Actualmente las bases de datos requieren incluir tanto la información transaccional de un sistema de información como la información geográfica, esta conjunción de datos es una base

8

de datos espacial. Incluso es vital considerar el procesamiento de imágenes, visión por computador, modelado de sólidos entre otras tareas que un sistema de información geográfica requiere.

Otro elemento importante en este tipo de bases de datos es que permiten incluir campos específicos como puntos, líneas, polígonos y campos tradicionales como textos, fecha, numéricos, etc. Lo cual facilita la creación de estructuras complejas que agrupen toda la información referente a un geoportal. Entre las base de datos espaciales existentes se tiene actualmente ESRI ArcSDE, Oracle Spatial, DB II, PostGIS. (Samet, Applications of Databases, 1994)

1.5.1 PostGIS 2.1

PostGIS 2.1 es una extensión espacial de la base de datos relacional PostgreSQL. Cuenta con el aval del OCG y es publicado bajo la licencia pública general GNU. PostGIS 2.1 es el complemento espacial de la base de datos PostgreSQL 9.3 la cual se ha utilizado para la realización de las consultas propuestas en este documento. Los tipos de datos espaciales soportados por esta herramienta son: puntos, líneas, polígonos, multipuntos, multilíneas, multipolígonos y colecciones geométricas. ((PSC), 2013) Las funciones espaciales soportadas por PostGIS 2.1 son: área, distancia, largo, perímetro, unión, diferencia, intersección, cruces, contiene, etc. (Strobl, 2008)

Figura 4 Tipos de Geometría usados en PostGIS 2.1

Elaborado por: Patsy Malena Prieto Vélez

Point•(0 0)

Linestring•(0 0, 1 1, 1 2)

Polygon•(0 0 , 4 0, 4 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)

Multipoint•(0 0, 1 2)

Multilinestring•((0 0, 1 1, 1 2),(2 3, 3 2, 5 4))

Mutipolygon

•(((0 0, 4 0, 4 4, 0 4 00),(1 1, 2 1, 2 2, 1 2, 1 1)),((-1 -1, -1 -2, -2 -2, -2 -1, -1 -1)))

Geometry Collection •(Point (2 3), Linestring((2

3, 3 4)))

9

Entre las características de PostGIS se tiene:

• Soporta la jerarquía de clases según el modelo geométrico de Open GIS. • Soporta la representación de datos como texto (WKT) y como datos binarios (WKB). • PostGIS implementa funciones de SQL5 que permiten realizar consultas espaciales como

uniones, intersecciones, diferencias, etc. • Implementa operadores espaciales para determinar mediciones sobre los objetos

geográficos. • PostGIS incluye información de metadatos que permiten determinar el tipo de geometría

y el sistema de referencia espacial utilizado. (Strobl, 2008)

La tabla SPATIAL_REF_SYS contiene la información numérica y textual sobre el sistema de coordenadas utilizado. Los campos de esta tabla son:

SRID Identificador único de cada

AUTH_NAME Nombre del estándar utilizado

AUTH_SRID Identificador del sistema de referencia según el estándar utilizado

SRTEXT Representación del sistema de referencia

PROJ4TEXT Representación del sistema de referencia según el formato utilizado en PROJ46

La vista GEOMETRY_COLUMNS permite definir las características únicas de cada base de datos espacial.

F_TABLE_CATALOG, F_TABLE_SCHEMA Nombre del catálogo y del esquema al que pertenece la tabla

F_TABLE_NAME Nombre de la tabla que contiene la columna de geometría

F_GEOMETRY_COLUMN Nombre de la columna de geometría.

COORD_DIMENSION Dimensión especial de las coordenadas de la columna de geometría.

SRID Identificador del Sistema de referencia.

TYPE Tipo de geometría de la columna.

5 SQL Lenguaje estructurado de consultas utilizado para el manejo de motor de base de datos. 6 PROJ4 Biblioteca de transformación de coordenadas que utiliza PostGIS

10

Para añadir este complemento se utiliza la herramienta AplicationStackBuilder 3.1.1, la cual se conecta online a los servidores de PostgreSQL y permite la descarga de varios componentes adicionales: drivers para la base de datos, servidores de base de datos, soluciones de replicación, extensiones espaciales, herramientas para manejo de la base de datos en la web.

Figura 5 Uso de StackBuilder 3.1.1 para incluir PostGIS 2.1

Fuente: Captura de pantalla StackBuilder 3.1.1

1.5.2 Indexación Espacial en PostGIS 2.1

La indexación espacial en la base de datos PostGIS está apoyada por las herramientas GiST, GeneralizedSearchTree y KNN, K NearestNeighbours. La implementación de GiST en PostgreSQL incluye el soporte de indexación para sistemas de información geográfica en PostGIS y de sistemas de bioinformática en BioPostgres. (Wikipedia, s.f.)

1.5.2.1 GiST GeneralizedSearchTree

GiST es una estructura de datos extensible, que permite a los usuarios desarrollar índices por encima de cualquier tipo de datos, y es un apoyo a cualquier búsqueda sobre esos datos. Este paquete unifica una serie de populares árboles de búsqueda en una estructura de datos, por lo que elimina la necesidad de construir múltiples árboles de búsqueda para el manejo de diversas aplicaciones. (The GiST Indexing Project, s.f.) Las búsquedas indexadas se activan con el operador “&&”.

11

GiST incluye soporte para claves de longitud variable, claves compuestas, control de concurrencia y recuperación. Existen varios módulos distribuidos como parte de PostgreSQL.

• rtree_gist, que implementan estructuras de R-tree • btree_gist, que implementan estructuras de B-tree • int array, RD-tree para para array de una sola dimensión • tsearch2, búsquedas de tipos de datos con acceso indexado • ltree, métodos de acceso indexado y consultas de datos organizados como estructuras de

árboles. • hstore, almacenamiento para datos (clave, valor) • cube, datos que representan cubos multidimensionales. • seg, indexación para rangos flotantes. (The PostgreSQL Global Development Group,

2014)

CREATE INDEX [nombre_indice] ON [nombre_tabla] USING GIST ([campo_de_geometría])

1.5.2.2 KNN, K NearestNeighbours

Es un tipo de indexación espacial que permite encontrar las n geometrías más próximas. Para realizar este tipo de indexación se tiene que considerar:

• Utilizar los operadores ´geom1<#>geom2´ y ´geom1<->geom2´ dentro de la cláusula orderby. El operador <#> devuelve la distancia entre las cajas de las dos geometrías. El operador <-> calcula la distancia entre los centroides de las dos cajas.

• Una de las geometrías utilizadas en el operador debe ser constante

1.6 Sistemas de Información Geográfica

Los sistemas de información son entornos que permiten organizar, controlar y distribuir la información en una organización. Muchas empresas actualmente usan los sistemas de información para generar ventajas competitivas y sobresalir en el mercado. Como complemento de aquello se tiene los sistemas de información geográfica que tienen como principal objetivo el manejo, visualización y uso de la información geográfica. Estos sistemas incluyen la edición y manipulación de mapas e incluso pueden usarse como sistemas para toma de decisiones. (Moreno Jiménez, 2008)

12

Un sistema de información geográfica tiene como principal objetivo representar la realidad de una forma que sea comprensible para la máquina y el humano. Para ello toma los datos geográficos y los organiza en capas superpuestas que permiten manipular la información geográfica de modos diversos: realizar uniones, búsquedas, distancias etc. Al utilizar los sistemas de información geográfica se pueden realizar las siguientes actividades:

• Ingreso y manipulación de datos. • Gestión de datos geográficos • Edición y procesamiento de datos geográficos • Búsquedas • Análisis espacial • Modelado • Elaboración y visualización de mapas bi y tridimensionales • Servicios de mapas • Impresión y exportación de mapas (Moreno Jiménez, 2008)

Los objetos espaciales son la representación de hechos en una capa o mapa geográfico. Estos objetos pueden ser puntos, líneas, polígonos. Existen varias relaciones entre estos objetos por ejemplo intersección, distancia, superposición, entre otras. (Gómez Delgado & Barredo Cano, 2005)

1.6.1 Modelo de Datos

Los modelos de datos espaciales permiten representar la información geográfica en un sistema de información geográfica – SIG. Existen dos modelos aceptados: raster y vectorial.

1.6.1.1 Raster

El modelo de datos raster es representado por píxeles que están ubicados en un mapa y definen su posición en filas y columnas. (Gómez Delgado & Barredo Cano, 2005)

1.6.1.2 Vectorial

El modelo de datos vectorial utiliza los puntos y líneas para representar un elemento geográfico. Estos se encuentran ubicados en un sistema de coordenadas (X, Y) que permiten localizar el elemento en un mapa.

Figura 6

13

Modelo de Datos en un Sistema de Información Geográfica

Fuente: http://www.nezpercegis.org/about.htm

1.7 Geoportales

Los geoportales son sistemas informáticos orientados a la web que permiten visualizar información geográfica utilizando un navegador y acceso a Internet. Las aplicaciones construidas para mostrar información geográfica en un geoportal, actualmente pueden incluir como origen de datos una base de datos relacional, espacial o no relacional o pueden ser archivos de diversos tipos: kml, geojson, xml, gpx, entre otros. (Peters, Building a Gis, 2012)

1.7.1 Usos y ventajas

Los geoportales son herramientas que permiten al usuario final conocer y utilizar la información geográfica en un ambiente web.

El aumento progresivo en el desarrollo y uso de geoportales en varias organizacionales nacionales y mundiales tiene relación directa con el uso extendido de tecnologías web y la disminución de los costos de conexión a Internet. (Pinde & Jiulin, 2011)

Estos factores asociados han hecho que los geoportales actuales puedan ser manipulados por usuarios finales, generalmente no técnicos; que requieren información confiable, rápida y con interfaces sencillas que les permitan obtener datos geográficos. Incluso actualmente los

14

usuarios pueden subir información geográfica como un aporte a la comunidad, este es el caso de Open Street Map7.

Los usos que tienen los geoportales van desde la ubicación de lugares o calles en una ciudad, pasando por información catastral requerida en un municipio hasta aplicaciones empresariales que requieren análisis espaciales específicos sobre la información de la organización. Este amplio abanico de opciones hace que las soluciones informáticas que se plantean conlleven varias aristas de análisis y evaluación.

Mountain Geoportal es una herramienta que permite mostrar información geográfica y estadísticaque permita plantear políticas y prácticas de desarrollo de las montañas en la región del Hindu Kush de los Himalaya.

Esta región “ha experimentado grandes cambios en los últimos cinco años, con el rápido crecimiento demográfico, el desarrollo económico, la urbanización y las altas tasas de emigración y la consiguiente feminización de las actividades rurales. En particular, las montañas han adquirido una mayor atención como los hotspots del cambio climático. Estos cambios plantean desafíos a las estrategias de medios de vida tradicionales y los mecanismos de afrontamiento.” (Mountain Geoportal, 2014)

Este geoportal permite visualizar la información en un mapa, ver figura 3 y a la vez tener a la mano datos estadísticos e históricos sobre los cambios observados en este lugar geográfico, ver figura 4. Esta información puede ser de interés para científicos e investigadores de todo el mundo, personas relacionadas con los sistemas de información geográfica o público en general que accede a la información publicada en el geoportal.

Figura7 Mountain GeoPortal

Fuente: http://geoportal.icimod.org

7OpenStreetMap OSM, es un proyecto colaborativo para crear mapas editables por usuarios registrados.

15

Figura 8 Visualizador de Mapas Mountain Geoportal

Fuente: http://geoportal.icimod.org

Figura 9 Estadísticas Mountain Geoportal

Fuente: http://geoportal.icimod.org

16

Uno de los problemas más recurrentes de los geoportales es el decrecimiento de su rendimiento a medida que los datos geográficos mostrados en los visualizadores aumentan. Si se considera que la información geográfica actual tiende a incrementarse diariamente. La escalabilidad de un geoportal es un factor crítico que debe ser considerado en la gestión de las organizaciones.

Al combinar los mapas con las aplicaciones web se optimizan los recursos y se transparenta la información.

1.8 Herramientas para creación de geoportales

Los geoportales pueden ser diseñados e implementados utilizando diversas herramientas. Esta selección de herramientas suele ir acompañada de un estudio de viabilidad, en el caso del estudio que plantea esta tesis se ha considerado para la selección estas premisas fundamentales:

• Las herramientas seleccionadas deben tener licencias GNU o de forma general ser código abierto, debido a que debe existir una continuidad en el proyecto que debe estar respaldada por la factibilidad de utilizar sin restricciones económicas.

• Estas aplicaciones deben funcionar bajo la distribución de Linux Centos, ya que el servidor donde se aloja el geoportal se encuentra implementado bajo este sistema operativo. Aunque las pruebas se han realizado bajo una máquina con sistema operativo Windows 7, es un requerimiento del área de investigación que los resultados de esta tesis sean colocados en el servidor de producción.

• La investigación realizada en este documento se fundamenta en la información levantada en el geoportal de la comunidad salesiana, el cual se encuentra actualmente en producción, por tal razón las mejoras planteadas deben seguir con la misma línea de herramientas utilizadas anteriormente. Y hace inviable la posibilidad de utilizar herramientas propietarias ya que el geoportal debería migrarse íntegramente a esa nueva tecnología.

1.8.1 OpenLayers 3.2.0

OpenLayers 3.2.0 es una librería open source escrita en JavaScript, esto permite que sea utilizada fácilmente en una mapa web. Para incluir esta librería en una página web y que se ejecute de forma local, es necesario descargar la librería OpenLayers.js y colocar este archivo en el directorio de la aplicación web. O puede optarse por ejecutar la librería de forma online, en ese caso será necesario colocar el link correspondiente a la librería en el código fuente del mapa. (Hazzard, 2011). Se puede comparar estas dos formas de uso de la librería de OpenLayers3.2.0 en los scripts adjuntos.

<script type=”text/javascript” src=”OpenLayers.js” ></script>

<script type=”text/javascript” src=”http://openlayers.org/api/OpenLayers.js”></script>

17

OpenLayers 3.2.0 puede ser utilizado generalmente considerando una arquitectura cliente servidor. En la figura 10 se describe esta arquitectura; desde el lado del cliente se realiza la petición de un mapa. En el lado servidor se envía la respuesta. Los servidores de mapas alojan mapas en varios formatos: WMS, KML e incluso imágenes de mapas. Entre los principales servidores de mapas que existen se encuentran: Open Street Map, YahooMaps, Google Maps, entre otros. OpenLayers 3.2.0 simplemente actúa como un intermediario entre el cliente y el servidor. (Hazzard, 2011)

Figura 10 Arquitectura Cliente Servidor de OpenLayers 3.2.0

Elaborado por: Patsy Malena Prieto

OpenLayers 3.2.0 utiliza el concepto de “layers” o capas para mostrar diversos tipos de información geográfica sobre un mapa base. Cada capa contiene información geográfica en varios niveles de detalle. La capa base o “base layer” es aquella sobre la cual se mostrarán todas las demás capas del mapa; esta capa base puede ser cualquier servidor de mapas. Las otras capas llamadas “overlay layers” son aquellas creadas para solucionar las necesidades específicas del cliente. Se puede revisar información adicional sobre este tema en el sitio oficial de OpenLayers http://dev.openlayers.org/docs/files/OpenLayers/Layer-js.html. (Hazzard, 2011)

Un elemento importante al utilizar OpenLayers es incluir capas WMS8. Para incluir una capa WMS en un mapa que utiliza OpenLayers se utiliza cuatro parámetros:

8 WMS Web MapService permite la representación de un mapa mediante una imagen digital.

Conseguir imágenes deun servidor de mapas.

Usa JavaScript

ClienteOfrece un mapa envarios formatos WMS,KML, imagen

Accede a servicios demapa: GoogleMaps,Yahoo!Maps, ESRIArcGIS, OpenStreetMaps

Servidor Mapas

18

Name corresponde al nombre que se le dará a la capa WMS, siempre deber ser un String.

URL corresponde al URL donde se encuentra alojado el WMS, debe ser una cadena String.

Params es un objeto compuesto por una clave y un valor key:value, el cual cambia de acuerdo a los parámetros que soporta la capa WMS o el servidor de mapas con el cual se está trabajando.

Options es un objeto que guarda propiedades que se ejecutan en el lado de cliente. Entre estas propiedades se tiene: opacidad que es el nivel de transparencia que tiene una capa, el valor puede ir de 0 a 1. Visibilidad es la posibilidad de que una capa sea vista por el usuario o no. Es capa base corresponde a la definición de si una capa es principal o no. Para una aproximación más detallada de todos los argumentos Options que pueden usarse, se puede revisar la información publicada en http://dev.openlayers.org/docs/files/OpenLayers/Layer/WMS-js.html

Figura 11 Funcionamiento de OpenLayers 3.2.0

Fuente: http://openlayers.org/en/v3.4.0/examples

En la figura 11 se muestra el funcionamiento de OpenLayers 3.2.0 en un navegador web. La información geográfica se dibuja como puntos sobre el mapa. Hay diversas formas para personalizar estos mapas, desde incluir mapas bases como GoogleMaps, Bing, etc., hasta colocar los datos geográficos con estilos predefinidos. 1.8.2 GeoServer 2.6.2

GeoServer 2.6.2 es un servidor de mapas desarrollado en Java, lo cual facilita su interoperabilidad con varias plataformas. Implementa las especificaciones del estándar

19

OGC9. Utiliza como servidor HTTP Jetty el cual es un contenedor de servlets escrito también en Java y como librería de visualización de los mapas utiliza OpenLayers.

La página oficial de GeoServer es http://geoserver.org/, desde donde se puede acceder a la descarga de esta herramienta open source y a la documentación sobre la instalación y funcionamiento, como se muestra en la figura 12.

Figura 12 Página oficial de GeoServer

Fuente: http://geoserver.org

Otro aspecto importante es tener claro que los respaldos de GeoServer deben obtenerse de forma periódica. Los archivos prioritarios se encuentran en el directorio /data_dir. Si requiere obtener los respaldos de los espacios de trabajo es necesario copiar los archivos que se encuentran en /data_dir/workspaces.

1.8.3 QGis 2.6.1

Es una aplicación con licencia GNU GPL, creada para editar y visualizar mapas en formato raster o vectorial. Además permite la conexión con varias base de datos espaciales como

9 OGC Open GeospatialConsortium es una organización encargada de definir estándares abiertos e interoperables para los sistemas de información geográfica.

20

PostGIS, Spatial Lite, entre otras. Esta herramienta fue programada en C++, Phyton, Qt. La información oficial se puede ubicar en el sitio http://www.qgis.org/es/site.

Figura 13 Sitio oficial de Quantum Gis – Qgis

Fuente: Sitio oficial de QGis http://qgis.org/en/site/

QGis 2.6.1 permite la creación de proyectos en los cuales se puede incluir datos vectoriales y datos raster obtenidos desde diferentes orígenes de datos: archivos shapes, archivos GPX10, archivos KML11, bases de datos espaciales o archivos jpg. Incluye herramientas para personalización de cada capa y herramientas para análisis de datos como obtener áreas, distancias, encontrar puntos ubicados en un mapa entre otras funcionalidades.

1.8.4 Google Maps

Al igual que OpenLayers, Google Maps es un servidor de mapas alojado en la web cuyo objetivo es ofrecer imágenes de mapas en diferentes vistas: satélite, de carreteras, híbrido o 3D. Estas imágenes son actualizadas periódicamente.

Cuenta con varias herramientas adicionales dirigidas al usuario final y que lo hacen sencillo de usar. Entre ellas se tiene la ubicación de sitios de interés de diferentes ciudades alrededor del mundo, en donde se utiliza la funcionalidad Google Street View. Esta herramienta permite que el usuario pueda visualizar en 3D las calles y sitios de interés.

Permite también crear una ruta la cual puede ser seleccionada considerando si la persona va a tomar una línea de transporte público, caminar o utilizar su auto. Estas rutas pueden ser

10 GPS eXchange Format 11 Keyhole Markup Language

21

compartidas mediante enlaces a correos electrónicos o redes sociales. Incluso le dan información sobre la distancia desde el punto inicial al final, considerando por ejemplo las carreteras o calles seleccionadas y muestran el tiempo aproximado de llegada al destino.

Figura 14 Página oficial de Google Maps

Fuente: https://www.google.com.ec/maps/@-0.1859077,-78.4305382,11z?hl=es

1.9 Motivación para optimizar el geoportal de la comunidad salesiana

La creación de geoportales para las organizaciones privadas o públicas constituye un factor crítico de éxito, que permite mostrar información de interés para la comunidad y la toma de decisiones a los entes directivos de una organización. En este documento se planea implementar indexación espacial en la base de datos creada para soportar el geoportal de la comunidad salesiana.

La presencia salesiana en el Ecuador es una realidad social desde enero de 1888, como respuesta al convenio firmado por Don Bosco y el representante del Gobierno del Ecuador en Turín (Italia) en 1887, por el que se confía a los salesianos el Protectorado Católico de Artes y Oficios de Quito, para que " impartan educación moral y científica a los hijos del pueblo y para el desarrollo de la industria nacional mediante una enseñanza sistemática de la artesanía". (Universidad Politécnica Salesiana, 2014)

22

La comunidad salesiana en cada país se organiza en casas y obras salesianas. Las casas salesianas están conformadas por un grupo de sacerdotes y seglares. Cada casa cuenta con una estructura jerárquica liderada por un director, vicario, consejero y un ecónomo.

En el Ecuador actualmente existen 27 casas salesianas distribuidas en la Costa, Sierra y Oriente. El listado de casas salesianas se encuentra en el Anexo 1. Además existen obras inspectoriales que por su gran magnitud se consideran independientes de las casas. Entre las obras inspectoriales más representativas se tienen: Audiovisuales Don Bosco, Imprenta Don Bosco, Editorial Don Bosco LNS CGS, Universidad Politécnica Salesiana, entre otras.

Figura 15 Fotografías de obras salesianas

Elaborado por: Patsy Malena Prieto

Cada casa salesiana tiene a su cargo varias obras que han surgido debido a la necesidad de las personas que habitan en el sector aledaño a la ubicación de las comunidades salesianas. Por ejemplo se han creado unidades educativas, dispensarios, hospederías, empresas auto-gestionadas, oratorios, talleres ocupacionales entre otras. Las obras salesianas en el Ecuador son alrededor de 130 obras. El listado de obras salesianas se encuentra en el Anexo2.

Cada obra tiene una organización independiente. Generalmente formada por padres salesianos, seglares y administrativos. Cada obra puede estar ubicada geográficamente en un lugar o en varios como es el caso del Proyecto Salesiano Chicos de la Calle que tiene instalaciones en Quito, Ambato, Esmeraldas, San Lorenzo y Santo Domingo.

En el Ecuador existen 27 casas salesianas, cada casa tiene obras asociadas y en total se tienen 130 obras salesianas en el país. Se ha agrupado las obras por tipos y se crearon 13 tipos de obras. Cada obra está ubicada geográficamente en un lugar, actualmente en la base de datos de este geoportal están geoposicionados 114 lugares. Además se tiene 25 tipos de colaboradores y hasta el año 2014 se habían contabilizado 151 tipos de beneficiarios.

Audiovisuales Don Bosco

Imprenta Don BoscoUniversidad

Politécnica Salesiana

23

Figura 16 Organización jerárquica de las casas salesianas en el Ecuador

Elaborado por: Patsy Malena Prieto Vélez

1.9.1 Descripción del geoportal de la comunidad salesiana cuya base de datos se utiliza para incluir indexación espacial

El geoportal de la comunidad salesiana fue un proyecto que inició en el 2012 como parte de la línea de investigación de Sistemas de Información Geográfica y Geoportales en el Centro de Investigación en Modelamiento Ambiental – UPS en coordinación con la Inspectoría Salesiana Corazón de Jesús perteneciente a los salesianos de Don Bosco. El objetivo de este proyecto era visibilizar las obras salesianas presentes en el Ecuador mediante un geoportal. Para cumplir esta meta se planteó la necesidad de involucrar a estudiantes de la carrera de Ingeniería de Sistemas de la Universidad Politécnica Salesiana Sede Quito quienes apoyarían en el desarrollo de este sistema y lo llevarían adelante como su proyecto de titulación.

Inicialmente se arrancó con cuatro temas de tesis y siete tesistas. En la tabla 1, se encuentra el listado de temas de tesis referentes al geoportal salesiano. Este sistema se dividió inicialmente en los módulos de gestión de datos de la organización, gestión de datos geográficos, visualizador, gestión de estilos, seguridad y edición del mapa. Estos módulos fueron creados utilizando una base de datos conjunta, que era alimentada con datos recolectados por cada grupo de tesistas en las principales ciudades del Ecuador: Quito, Guayaquil y Cuenca. Además como equipo de trabajo se definió las plantillas y hojas de estilos que se utilizarían para la interfaz gráfica. Se seleccionó RUP12 como metodología de desarrollo y se estableció la arquitectura del sistema.

Cada grupo de tesistas trabajó con datos reales para la creación de sus módulos y para las pruebas respectivas, lo cual permitió que los desarrolladores vayan realizando pruebas exhaustivas a las subrutinas creadas. Como parte de la versión 1 del geoportal se creó un

12 RUP Rational Unified Process

27 Casas Salesianas

114 Lugares

25 Tipos de Colaboradores

151 Tipos de Beneficiarios

130 Obras Salesianas

13 Tipos obras salesianas

24

sistema de encuestas en Android cuyo objetivo era automatizar la recolección de datos de cada una de las obras salesianas.

La segunda versión del geoportal arrancó en el 2013 e incluyó la recolección de información del resto del país. Se realizó una revisión de los módulos creados y se estableció la necesidad de mejorar ciertas funcionalidades e iniciar el proceso de integración de módulos. Los módulos con los que cuenta el geoportal salesiano y los tesistas involucrados se muestran en la tabla 1.

Tabla 1 Módulos y desarrolladores geoportal salesiano

Módulo Versión Desarrolladores Lugar y fecha de recolección de datos

Gestión de datos de la organización

Versión 1.0 Fabricio Mullo y Andrea Moya Cuenca 25 al 28 julio 2012

Gestión de datos geográficos

Versión 1.0 Fabricio Mullo y Andrea Moya

Visualizador Versión 1.0 Gabriela Eras y Cristian Arcos Cayambe e Ibarra 1 junio 2012 Gestión de estilos Versión 1.0 Gabriela Eras y Cristian Arcos

Seguridad Versión 1.0 Liliana Guamantica y Stalin Tupiza

Quito

Edición del mapa Versión 1.0 Liliana Guamantica y Stalin Tupiza

Sistema de encuestas en Android

Versión 1.0 Antonio Mantilla Quito

Gestión del visualizador

Versión 2.0 Víctor Cofre y Stalin Toledo Morona Santiago

Administración Versión 1.0 Oswaldo Tutillo y Byron Sandoval

Seguridad Versión 2.0 Carina Torres y Darwin Aldas

Fuente: Datos obtenidos de proyectos de titulación Universidad Politécnica Salesiana

Luego que se concluyó la recolección de datos para el geoportal de la comunidad salesiana y se implementó el mismo, se determinó que una de las tareas pendientes era optimizar este geoportal. Aunque la cantidad de información que almacena este geoportal es baja en comparación a otras base de datos espaciales como aquellas que guardan la información de catastro de los municipios, información sobre rutas de calles y carreteras, censos, etc. Se

25

fueron presentando retardos en el tiempo de respuesta al visualizar las diversas consultas sobre el geoportal. El acceso concurrente de usuarios se reducía a permitir el acceso a 5 usuarios y el tiempo estimado de carga de los mapas en el navegador dependía del ancho de banda utilizado por el usuario.

En la figura 17 se puede visualizar una aproximación a la arquitectura utilizada en el desarrollo del geoportal de la comunidad salesiana. El cual fue desarrollado utilizando una arquitectura en 4 capas: capa cliente, capa web, capa de negocio y capa de datos. En la capa cliente se utilizó Google Maps y un navegador. En la capa web se colocaron las páginas JSP, XHTML; en la capa de negocio se encuentran ubicados los managed beans, los beans de sesión y las entidades de persistencia. Por último en la capa de datos se encuentran la base de datos PosgreSQL 8.0 donde se encuentra la información relacional y los datos geográficos se almacenan en PostGIS 2.0. Como un componente adicional a la capa de datos también se utiliza los datos guardados en el formato GeoJson.

Figura 17 Arquitectura final del geoportal salesiano

Elaborado por: Patsy Malena Prieto Vélez

Como se muestra en el gráfico anterior la parte sobre la cual se centrará este documento es sobre la información almacenada en la capa de datos del geoportal de la comunidad salesiana. Ya que este será el punto de inicio para realizar la optimización considerando la inclusión de indexación espacial en la base de datos. Para ello se planea en primer término obtener un backup de la base de datos llamada DbGeoPortalSalesianoProd y restaurarla en el ambiente de pruebas.

26

Las otras capas del geoportal de la comunidad salesiana no serán analizadas en este documento. Ya que este proyecto se centra en optimizar el geoportal desde la perspectiva de la base de datos y no desde el mejoramiento del código fuente.

1.9.2 Descripción del hardware y software utilizado en la implementación del geoportal de la comunidad salesiana

La implementación del geoportal de la comunidad salesiana se realizó en un servidor HP Proliant ML110 G7 perteneciente a la Universidad Politécnica Salesiana Campus Sur. Las características técnicas de este servidor se describen en la figura 18. Por otro lado fue necesario también la instalación de software específico para la puesta en producción del geoportal, la cual se describe en la figura 19.

El hardware y software utilizado fue instalado en un servidor el cual tiene una IP pública desde donde se puede acceder al geoportal terminado en ide.ups.edu.ec:8081/S.I.Salesiano. Es importante recalcar que la base de datos sobre la cual se realizará la optimización usando indexación espacial será probada en una máquina local y bajo un sistema de operativo Windows 7.0

27

Figura 18 Hardware del Servidor

Fuente: (Arcos Cañar & Eras Navarrete, 2013)

28

Figura 19 Especificaciones de software para el servidor donde está alojado el geoportal salesiano

Fuente (Arcos Cañar & Eras Navarrete, 2013)

Cuando el geoportal salesiano comenzó a enviar y recibir información se consideró que era prioritario el uso adecuado de recursos de memoria, ancho de banda y acceso concurrente de usuarios. Por otro lado varias de las casas salesianas se encuentran en lugares alejados de los centros poblados donde el acceso a Internet es restringido por horas y la intensidad de señal no es la óptima, especialmente en el oriente.

Por tal razón se ha planteado la necesidad de mejorar el rendimiento del geoportal y optimizar el acceso. La indexación espacial es una de las alternativas que puede utilizarse para disminuir el tiempo de respuestas de consultas que conlleven datos geográficos y de gran tamaño.

Esta tesis plantea la necesidad de incluir índices espaciales en la base de datos y evaluar el tiempo de respuesta de la base de datos en varios tipos de consultas que utilizan los datos de la base de datos de la comunidad salesiana.

29

Capítulo 2 Diseño 2.1 Diseño de la base de datos

El modelo de la base de datos del geoportal de la comunidad salesiano fue diseñado en forma conjunta por los tesistas y los investigadores. El modelo inicial contaba con 15 tablas como se muestra en la figura 20. A partir de este modelo cada equipo de trabajo fue incorporando nuevas tablas, campos y relaciones que reflejaban las necesidades de cada módulo creado. Una de las mayores fortalezas de este trabajo, fue la creación de esta base de datos centralizada y que fue creciendo de acuerdo a los requerimientos planteados en cada versión.

Figura 20 Modelo lógico inicial de la base de datos geoportal salesiano

Elaborado por: Patsy Malena Prieto Vélez

El modelo inicial de la base de datos consideraba como punto central la recolección de información sobre las casas salesianas, siendo la tabla tb_casaSalesiana la que inicia la jerarquía dentro de la información. Como parte de una casa salesiana se tiene las obras salesianas consideradas en la tabla tb_obraSalesiana; cada obra está ubicada en un lugar, información que se guarda en la tabla tb_lugar, luego se tiene los beneficiarios de cada lugar y cada obra tiene un tipo específico: pastoral, escolar, autogestionada, etc. Para definir la ubicación geográfica de cada lugar y del área de influencia de los beneficiarios se consideró

Relationship_1

Relationship_2

Relationship_3

Relationship_4Relationship_5

Relationship_6

Relationship_7

Relationship_8

Relationship_9

Relationship_10

Relationship_11Relationship_12

Relationship_13

tb_usuario

tb_permiso

tb_perfil

tb_obraSalesiana

id_obrdenominacion_obrcampoServicio_obrproductos_obrhorario_obrinformacion_obr

<pi> IntegerTextTextTextTextText

<M>

id_obr...

<pi>

tb_casaSalesiana

id_casnombre_casdireccion_castelefono_cascorreo_casdirector_cas

<pi> IntegerTextTextIntegerTextText

<M>

id_cas...

<pi>

tb_tipoObra

id_tobrdescripcion_tobr

<pi> IntegerText

<M>

id_tobr...

<pi>

tb_lugar

id_lugnombre_lugdescripcion_lugresponsable_lugdireccion_lugtelefono_lugpaginaWeb_lug

<pi> IntegerTextTextTextTextIntegerText

<M>

id_lug...

<pi>

tb_colaborador

id_colnumero_col

<pi> IntegerInteger

<M>

id_col...

<pi>

tb_coordenadaLugar

id_clugnombreCapa_clug

<pi> IntegerText

<M>

id_clug...

<pi>

tipoColaborador_tcol

id_tcoldescripcion_tcol

<pi> IntegerText

<M>

id_tcol...

<pi>

tb_foto

id_fotdescripcion_fotpath_fot

<pi> IntegerTextText

<M>

id_fot...

<pi>tb_beneficiarios

id_bendescripcion_bennumero_ben

<pi> IntegerTextInteger

<M>

id_ben...

<pi>

tb_estiloPunto

id_eptodescripcion_eptoicono_eptotamano_epto

<pi> IntegerTextImage<Undefined>

<M>

id_epto...

<pi>

tb_estiloArea

id_estadescripcion_estatipoBorde_estacolorBorde_estacolorArea_esta

<pi> IntegerTextTextTextText

<M>

id_esta...

<pi>

tb_coordenadaArea

id_careanombreCapa_carea

<pi> IntegerText

<M>

id_carea...

<pi>

30

las tablas tb_coordenadaLugar y tb_coordenadaArea. Cada lugar cuenta con personas que colaboran directamente con el funcionamiento de la obra, información que se guarda en la tabla tb_colaborador. Estos colaboradores pueden ser de varios tipos: sacerdotes, seglares, administrativos, entre otros.

Otro aspecto que se consideró en este primer modelo fue la posibilidad de gestionar los estilos utilizados para mostrar los puntos geográficos en el mapa y también mostrar los polígonos. Esta información puede ser actualizada en las tablas tb_estiloArea y tb_estiloPunto. Con respecto a la seguridad y manejo de usuarios y perfiles se definió las tablas necesarias de forma general y en este modelo no se incluyó el manejo de sesiones o gestión de permisos.

El modelo inicial se robusteció de tal forma que en el diagrama final de la base de datos colocado en la figura 21, existen 32 tablas. En este diagrama se puede notar que existen tablas creadas para el manejo de información de la organización especialmente para incluir información sobre cada una de las casas salesianas, las obras, tipos de obras, tipos de colaboradores.

Existen tablas para el manejo de información geográfica donde se guarda datos de ubicación en tipos de datos punto e información sobre las áreas de influencia donde se utilizan tipos de datos polígonos y multipolígonos. Se tiene tablas para la administración del geoportal utilizando módulos, submódulos, pantallas y permisos de acceso. Por último existen tablas creadas para el proceso de seguridad y auditoría, las cuales permiten crear usuarios, roles, e incluye el proceso de auditoría para todo el geoportal salesiano. Uno de los mayores cambios fue la omisión de las tablas tb_coordenadaPunto y tb_coordenadaArea ya que se incluyó directamente la información geográfica en las tablas tb_lugar y tb_beneficiario.

En la tabla 2 se muestra una descripción general de la funcionalidad de las tablas de la base de datos sobre la cual se ha empleado la indexación espacial. En primer término se tiene el manejo de información administrativa sobre las casas salesianas y las obras que las componen. En cada casa se incluye los colaboradores, el tipo de obra y las fotografías respectivas.

Para el manejo de información geográfica se incluyó los campos areainfluencia_ben y coordenada_lug dentro de las tablas tb_beneficiario y tb_lugar. Se mantuvo las tablas para manejo de estilos de puntos y áreas geográficas, pero se cambió su nombre a tb_estiloBeneficiario y tb_estiloLugar.

Ya que el geoportal cuenta con 27 casas salesianas y cada una de ellas requiere un usuario administrador por casa, fue necesario mejorar la administración del portal. Se consideró apropiado gestionar el acceso de cada usuario dependiendo de las distintas funcionalidades que ofrece el portal. Internamente la administración del portal se organizó por: módulos, submódulos, acceso a pantallas y permisos para editar, crear, eliminar o consultar información.

Por último se creó tablas para el manejo de seguridad y auditoría. Se incluyó tablas que permiten la creación de usuarios, perfiles y permisos. También existen tablas para guardar

31

logs de errores detectados en la ejecución del geoportal, que luego pueden ser revisados por el administrador del geoportal.

Tabla 2 Organización de las tablas del geoportal salesiano considerando la funcionalidad

Manejo de información administrativa Tb_casasalesiana Tb_colaborador Tb_fotolugar Tb_obrasalesiana Tb_tipocolaborador Tb_tipoobra

Manejo de información geográfica Tb_beneficiario Tb_estilobeneficiario Tb_estilolugar Tb_lugar

Administración del geoportal Tb_dato_global Tb_herramientas Tb_menu Tb_menupantalla Tb_modulo Tb_modulorol Tb_pantalla Tb_parametros Tb_submodulo Tb_submodulo_tb_herramientas

Seguridad y auditoría Tb_auditoria Tb_ciudad Tb_logerror Tb_logproceso Tb_loguser Tb_pais Tb_perfil_tb_submodulo Tb_permiso Tb_persona Tb_rol Tb_usuario Tb_usuario_rol

Fuente: Elaborado por Patsy Malena Prieto Vélez

32

Figura 21 Modelo lógico de la base de datos final del geoportal salesiano

Elaborado por: Patsy Malena Prieto Vélez

tb_submodulo_tb_herramientas

tb_submodulo_tb_herramientas

tb_submodulo_tb_herramientas

tb_perfil-tb_submodulo

tb_perfil-tb_submodulo

tb_perfil-tb_submodulo

tb_module_tb_submodule

tb_rol-tb_usuario

tb_esti loBenef-tb_benef

tb_obraSalesiana-tb_lugar

tb_pais_tb_ciudad

tb_lugar_tb_colaborador

tb_tipoColab_tb_colab

tb_lugar_tb_fotolugar

tb_module-tb_menuPantalla

tb_menu-tb_menuPantalla

tb_pantal la-tb_menupantalla

tb_obra-tb_obraSalesiana

tb_casaSales-tb_obraSales

tb_ciudad-tb_persona

tb_persona-tb_usuario

tb_estiloBeneficiario_tb_lugar

tb_lugar-tb_beneficiario

tb_rol-tb_rolmodulo

tb_rol-tb_modulorol

modulo-tb_modulorol

tb_menu-tb_modulorol

tb_permiso_tb_submodulo

tb_modulo

id_modulnombre_modulimagen_modulorden_modulestado_modul

<pi> Serial (4)TextTextIntegerBoolean

<M>

id_modul <pi>

tb_rol

id_rolnombre_roldescripcion_rollestado_rol

<pi> Serial (4)TextTextBoolean

<M>

id_rol <pi>

tb_submodulo

id_submodnombre_submodicono_submodarchivo_submodorden_submodestado_submod

<pi> Serial (4)TextTextTextIntegerBoolean

<M>

id_submod <pi>

tb_usuario

id_usuusuario_usucontrasenia_usufechacrea_usufechamodif_usufecmodifcontras_usuestado_usuverifresetcontra_usu

<pi> Serial (4)TextTextDateDateDateBooleanVariable characters (1)

<M>

id_usu <pi>

tb_herramientas

id_herramientasnombre_herramienta

<pi> Serial (4)Text

<M>

id_herramientas <pi>

tb_loguser

id_logusuarioid_usuario_loguserquery_loguserfecha_loguser

<pi> Serial (4)IntegerTextDate

<M>

id_logusuario <pi>

tb_beneficiario

id_bendescripcion_bennumero_benareainfluencia_benestado_ben

<pi> SerialTextintegerGEOMETRYboolean

<M>

<M>

id_ben <pi>

tb_estilobeneficiario

id_ebendescripcion_ebencolorBorde_ebenopacidadBorde_ebengrosorBorde_ebencolorRelleno_ebenopacidadRelleno_ebeneliminado_eben

<pi> SerialTextTextTextTextTextTextboolean

<M>

<M><M><M><M><M><M>

id_eben <pi>

tb_lugar

id_lugnombre_lugdescripcion_lugresponsable_lugdireccion_lugtelefono_lugcoordenada_lugestado_lug

<pi> SerialTextTextTextTextTextGEOMETRYboolean

<M>

id_lug <pi>

tb_casasalesiana

id_casnombre_casdireccion_castelefono_cascorreo_casdirector_caspathicono_casnombrecorto_casestado_cas

<pi> SerialTextTextTextTextTextTextcharacter(35)boolean

<M>

id_cas <pi>

tb_ciudad

id_ciudescripcion_ciu

<pi> Serialcharacter(128)

<M>

id_ciu <pi>

tb_colaborador

id_colnumero_colestado_col

<pi> Serialintegerboolean

<M><M>

id_col <pi>

tb_estilolugar

id_elugdescripcion_elugpathIcono_elugeliminado_elug

<pi> SerialTextTextboolean

<M>

<M>

id_elug <pi>

tb_fotolugar

id_flugdescripcion_flugpathfoto_flugestado_flug

<pi> SerialTextTextboolean

<M>

id_flug <pi>

tb_menu

id_menudescripcion_menu

<pi> Serialcharacter(64)

<M>

id_menu <pi>

tb_menupantalla

nivelordenguardarinsertarbuscareliminarimprimireditarpadrerutaimagen

integerintegercharacter(1)character(1)character(1)character(1)character(1)character(1)integercharacter(128)

tb_modulorol

tb_obrasalesiana

id_obrdenominacion_obrcamposervicio_obrproductos_obrhorario_obrinformacion_obrpathicono_obrnombrecorto_obrpaginaweb_obrestado_obr

<pi> SerialTextTextTextTextTextTextcharacter(35)Textboolean

<M>

id_obr <pi>

tb_pais

id_paisdescripcion_pais

<pi> Serialcharacter(128)

<M>

id_pais <pi>

tb_pantalla

id_pantdescripcion_pantruta_pantacesousu_pant

<pi> integercharacter(128)character varying(128)character varying(256)

<M>

id_pant <pi>

tb_persona

id_perapellido_pernombre_perfechanac_percorreo_pertelefono_perdi reccion_perfax_pertelefonotrab_perdi recciontrab_perfechacrea_perfechamodi f_per

<pi> Serialcharacter(128)character(128)Datecharacter(128)character(20)character(128)character(64)character(20)character(128)DateDate

<M>

id_per <pi>

tb_tipocolaborador

id_tcoldescripcion_tcolestado_tcol

<pi> SerialTextboolean

<M>

id_tcol <pi>

tb_tipoobra

id_tobrdescripcion_tobrpathicono_tobrestado_tobr

<pi> SerialTextTextboolean

<M>

<M>

id_tobr <pi>

tb_permiso

id_permisover_permisoeditar_permisoeliminar_permisogenerar_permisoimportar_permisoexportar_permiso

<pi> Serial (4)BooleanBooleanBooleanBooleanBooleanBoolean

<M>

id_permiso <pi>

tb_logerror

id_errdescripcion_errfecha_errdescbase_errpant_errid_usu_err

<pi> Serialcharacter(256)Timestampcharacter varying(560)character(100)integer

<M><M>

<M><M><M>

id_err <pi>

tb_logproceso

id_logprodescripcion_logprofecha_logpropant_logproid_usu_logproaccion_logpro

<pi> Serialcharacter(256)Timestampcharacter(100)integercharacter varying(1)

<M><M>

<M><M>

id_logpro <pi>

tb_parametros

descripcion_paramvalor_param

<pi> character varying(256)character varying(128)

<M><M>

descripcion_param <pi>

tmp

gidzon_adminiagu1agu2agu3agu4agu5agu6agu7agu_ve1e2e3e_v

<pi> integercharacter varying(16)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)character varying(80)

<M>

gid <pi>

tb_dato_global

id_dato_globalclavenombretipodescripcionestado

<pi> IntegerVariable characters (30)Variable characters (500)Variable characters (30)Variable characters (500)Integer

<M>

id_dato_global <pi>

tb_auditoria

id_auditoriausuariosubmoduloaccionfecha

<pi> IntegerVariable characters (100)Variable characters (200)Variable characters (100)Timestamp

<M>

id_auditoria <pi>

33

En la tabla 3 se muestran todas las tablas creadas en la base de datos final DbGeoPortalSalesianoProd explicando la finalidad de su funcionamiento. Esta base de datos se encuentra en producción y fue implementada en PostgreSQL versión 8.0 y PostGIS versión 2.0 que son las versiones que están instaladas en el servidor del ide.ups.edu.ec13.

Tabla 3 Listado de tablas, finalidad y número de campos de la base de datos final del geoportal salesiano

Nombre de la Tabla Finalidad Número de campos actuales asociados

Tb_auditoria Registra de forma automática todas las transacciones que realizan los usuarios registrados.

5

Tb_beneficiario Guarda información de los beneficiarios y el área donde se ubican cada uno de ellos. Siendo posible ubicarlos en polígonos o multipolígonos.

133

Tb_casasalesiana Información general sobre cada casa salesiana en el país.

24

Tb_ciudad Se usa para definir la ciudad de origen del usuario

2

Tb_colaborador Registra la información de los colaboradores de cada obra.

70

Tb_dato_global Guarda la información de los URL donde se guardan las imágenes, iconos, etc.

3

Tb_estilobeneficiario Registra los estilos que se usan para dibujar las áreas de los polígonos en el geoportal.

6

Tb_estilolugar Permite determinar los estilos que se usan para dibujar los lugares en el geoportal.

13

Tb_fotolugar Guarda las fotos de cada lugar 279 Tb_herramientas Corresponde a las opciones en

cada pantalla: nuevo, actualizar, eliminar y consultar.

6

Tb_logerror Guarda información sobre los errores ocurridos de forma general

0

Tb_logproceso Guarda información sobre los errores en los procesos

0

Tb_loguser Guarda información sobre los errores en los accesos de los usuarios

0

13 Infraestructura de datos espaciales de la Universidad Politécnica Salesiana alojada en el URL ide.ups.edu.ec

34

Tb_lugar Registra todos los lugares asociados a una obra salesiana

114

Tb_menu Guarda información de todos los menús del geoportal.

2

Tb_menupantalla Tabla que relaciona las pantallas con el menú correspondiente.

13

Tb_modulo Agrupa funcionalidad el geoportal 7 Tb_modulorol Relaciona los módulos y los roles

que tienen acceso. 2

Tb_obrasalesiana Cada casa salesiana cuenta con varias obras salesianas. Se guarda información detallada de cada obra.

112

Tb_pais Registra los países de origen de los usuarios.

1

Tb_pantalla Describe cada pantalla del geoportal.

9

Tb_parametros Guarda información global. 0 Tb_perfil_tb_submod

ulo Relaciona cada perfil con los submódulos del geoportal.

29

Tb_permiso Determina los permisos que tiene cada rol para acceder a un submódulo.

29

Tb_persona Guarda información general de los usuarios.

2

Tb_rol Define los roles de acceso al geoportal: administrador, gestor de datos, invitado, usuario cambio de contraseña.

4

Tb_submodulo Determina los submódulos con el URL asociado.

20

Tb_submodulo_tb_herramientas

Relaciona los submódulos con la posibilidad de editar, actualizar, eliminar o consultar información.

0

Tb_tipocolaborador Determinar los colabores de las obras: docentes, administrativos, salesianos, médicos, catequistas entre otros.

20

Tb_tipoobra Determina los tipos de obras: parroquial, social, escolar, comunicación social, salud, autogestionada, oratorio, chicos de la calle, gobierno inspectorial, casa de formación, proyecto salesiano.

13

Tb_usuario Manejo de información de usuarios y claves. Las claves se encuentran encriptadas.

4

Tb_usuario_rol Relaciona los usuarios con los roles creados.

4

35

Fuente: Elaborado por Patsy Malena Prieto Vélez

2.2 Tablas seleccionadas para aplicar indexación espacial

En la base de datos del geoportal salesiano existen tablas que fueron creadas para solventar varias funcionalidades requeridas, según se muestra en la tabla 2. En base a esta funcionalidad se ha seleccionado como tablas idóneas para incluir indexación espacial aquellas que tienen relación con el manejo de información geográfica.

En primer término la tabla tb_lugar, que está encargada de recolectar la información general de los lugares donde están ubicadas las obras salesianas en el Ecuador. Para guardar está información se utiliza el campo coordenada_lug cuyo tipo de dato es geometry; esta tabla cuenta con 114 registros. Por otro lado se tiene la tabla tb_beneficiario, que está encargada de mostrar información sobre las personas que se benefician de cada obra salesiana en el Ecuador. Cuenta con el campo areainfluencia_ben cuyo tipo de dato es geometry, el cual guarda el área de influencia de una obra utilizando polígonos y multipolígonos. Esta tabla tiene 133 registros.

En las tablas 4 y 5 se muestra el diccionario de datos de las tablas tb_lugar y tb_beneficiario. Este diccionario de datos ha sido obtenido utilizando la herramienta Sybase Power Designer 15, a partir del modelo físico de la base de datos.

Tabla 4 Diccionario de datos tb_beneficiario

Name Code Parent Id_ben ID_BEN Entity

'tb_beneficiario'

Name Code Entity 2 Entity 1 Entity 1 ->

Entity 2 Role Cardinality

tb_estiloBenef-tb_benef

TB_ESTILOBENEF_TB_BENEF tb_beneficiario tb_estilobeneficiario 0,n tb_lugar-

tb_beneficiario TB_LUGAR_TB_BENEFICIARIO tb_beneficiario tb_lugar 0,n

Name Code Class Name Description

tb_estiloBenef-tb_benef

TB_ESTILOBENEF_TB_BENEF Relationship Relaciona la tabla tb_estiloBeneficiario con la tabla tb_beneficiario.

tb_lugar-tb_beneficiario

TB_LUGAR_TB_BENEFICIARIO Relationship Relaciona la tabla tb_lugar con la tabla tb_beneficiario.

Name Code Type Description id_ben ID_BEN Serial Representa el identificador y

clave primaria. descripcion_ben DESCRIPCION_BEN Text Sirve para detallar el nombre

de los beneficiarios de la obra salesiana.

36

numero_ben NUMERO_BEN Integer Se coloca un número entero que corresponde a la cantidad de personas que son beneficiadas por la obra salesiana.

areainfluencia_ben AREAINFLUENCIA_BEN Geometry Corresponde a un dato polígono o multipolígono que representa el área de influencia de la obra salesiana. Este polígono o multipolígono en varios casos corresponde a un barrio o zona en el Ecuador. En casos puntuales se considera como área de influencia a todo el Ecuador.

estado_ben ESTADO_BEN Boolean El estado define si el beneficiario es visible o no en el mapa. Este campo se creó con el fin de dar mantenimiento a la información geográfica.

Fuente: Diccionario obtenido con la herramienta Sybase Power Designer 15

Tabla 5 Diccionario de datos tabla tb_lugar

Name Code Parent id_lug ID_LUG Entity 'tb_lugar'

Name Code Entity 2 Entity 1 Entity 1 ->

Entity 2 Role Cardinality

tb_estiloBeneficiario_tb_lugar

TB_ESTILOBENEFICIARIO_TB_LUGAR

tb_lugar tb_estilolugar 0,n tb_lugar-

tb_beneficiario TB_LUGAR_TB_BENEFICIA

RIO tb_beneficiario tb_lugar 0,n

tb_lugar_tb_colaborador

TB_LUGAR_TB_COLABORADOR

tb_colaborador tb_lugar 0,n tb_lugar_tb_fotolugar TB_LUGAR_TB_FOTOLUG

AR tb_fotolugar tb_lugar 0,n

tb_obraSalesiana-tb_lugar

TB_OBRASALESIANA_TB_LUGAR

tb_lugar tb_obrasalesiana 0,n

Name Code Class

Name Description

tb_estiloBeneficiario_tb_lugar

TB_ESTILOBENEFICIARIO_TB_LUGAR

Relationship

Relaciona la tabla tb_estiloBeneficiario y la tabla tb_lugar.

tb_lugar-tb_beneficiario

TB_LUGAR_TB_BENEFICIARIO

Relationship

Relaciona la tabla tb_lugar y la tabla tb_beneficiario.

tb_lugar_tb_colaborador

TB_LUGAR_TB_COLABORADOR

Relationship

Relaciona la tabla tb_lugar y la tabla tb_colaborador.

37

tb_lugar_tb_fotolugar TB_LUGAR_TB_FOTOLUGAR

Relationship

Relaciona la tabla tb_lugar y la tabla tb_fotoLugar.

tb_obraSalesiana-tb_lugar

TB_OBRASALESIANA_TB_LUGAR

Relationship

Relaciona la obra salesiana con la tabla tb_lugar

Name Code Type Description

id_lug ID_LUG Serial Corresponde al identificador y a la clave primaria.

nombre_lug NOMBRE_LUG Text Corresponde al nombre del lugar.

descripcion_lug DESCRIPCION_LUG Text Es una breve descripción sobre la historia del lugar o sobre su funcionamiento.

responsable_lug RESPONSABLE_LUG Text Es la persona responsable del lugar.

direccion_lug DIRECCION_LUG Text Es la dirección donde está ubicado el lugar.

telefono_lug TELEFONO_LUG Text Es el teléfono convencional o celular que corresponde al lugar.

coordenada_lug COORDENADA_LUG Geometry Es un tipo de dato Punto, donde se coloca la ubicación del lugar en coordenadas geográficas.

estado_lug ESTADO_LUG Boolean Se utiliza para habilitar o deshabilitar la visibilidad del lugar.

Fuente: Diccionario obtenido con la herramienta Sybase Power Designer 15

En el diccionario de datos detallado anteriormente se describe con precisión cada uno de los campos y relaciones con las que cuentan estas tablas. Considerando esta información recolectada en todo el Ecuador y que ha sido validada previamente, en el siguiente apartado se establece las consultas que se utilizarán en este documento para incluir indexación espacial.

2.3 Diseño de consultas

El ámbito de trabajo de la comunidad salesiana es bastante amplio por lo que al establecer las consultas se ha considerado aquellas que requieran el uso de las tablas tb_lugar y tb_beneficiario las cuales cuentan con información geográfica.

Estas consultas permiten que el usuario final pueda analizar datos específicos y establecer proyecciones sobre el crecimiento y aporte de las obras salesianas en el Ecuador. Por tal razón las consultas establecidas reflejan necesidades reales de los usuarios finales. En la parte técnica las consultas establecidas conllevan algún grado de complejidad al ejecutar

38

la sentencia en el motor de base de datos. Esto con el fin de evaluar el tiempo que una consulta tarda en ejecutarse con y sin el uso de indexación espacial.

Para la implementación de estas consultas en PostgreSQL 9.3 fue necesario actualizar el componente de PostGIS a la versión 2.1, ya que las sentencias utilizadas requieren funciones que existen en esa versión. Además se creó un nuevo esquema llamado indexación donde se colocarán las tablas resultado de cada una de las consultas siguientes.

Se ha planteado cuatro consultas en las cuales se ha incluido el uso de análisis espacial por ejemplo para calcular la distancia, el área, el centroide entre otras funcionalidades. Las consultas propuestas se describen detalladamente en los apartados siguientes.

2.3.1 Consultar todos los lugares que corresponden a una obra salesiana, organizados por casa salesiana.

En esta consulta se mostrarán todos los lugares ubicados en el Ecuador, se mostrará la información de contacto y la ubicación geográfica. Además se mostrará el número y tipo de colaboradores de esa obra Cada lugar está relacionado con una obra salesiana y cada obra salesiana es parte de una casa salesiana. Se muestra el código correspondiente a esta consulta. Esta consulta devuelve 70 registros, para su posterior visualización en un geoportal se ha creado una tabla con la información resultado de esta consulta, llamada ubicacionlugares. A continuación se muestra el código SQL correspondiente a esta consulta.

CREATE TABLE indexación.ubicacionlugares (gid serial primary key, casa text, director text, obra text, nombreCorto text, informacion text, lugar text, descripcion text,

responsable text, coordenada geometry, telefono text, direccion text, colaborador text, numeroColaboradores integer, tipo text, campoServicio text,

productos text, horario text, paginaWeb text);

INSERT INTO indexación.ubicacionlugares (casa,director, obra, nombreCorto, informacion, lugar, descripcion, responsable, coordenada, telefono, direccion, colaborador,

numeroColaboradores, tipo, campoServicio, productos, horario, paginaWeb)

SELECT

tb_casasalesiana.nombre_cas,

tb_casasalesiana.director_cas,

tb_obrasalesiana.denominacion_obr,

tb_obrasalesiana.nombrecorto_obr,

39

tb_obrasalesiana.informacion_obr,

tb_lugar.nombre_lug,

tb_lugar.descripcion_lug,

tb_lugar.responsable_lug,

tb_lugar.coordenada_lug,

tb_lugar.telefono_lug,

tb_lugar.direccion_lug,

tb_tipocolaborador.descripcion_tcol,

tb_colaborador.numero_col,

tb_estilolugar.descripcion_elug,

tb_obrasalesiana.camposervicio_obr,

tb_obrasalesiana.productos_obr,

tb_obrasalesiana.horario_obr,

tb_obrasalesiana.paginaweb_obr

FROM

public.tb_lugar,

public.tb_obrasalesiana,

public.tb_casasalesiana,

public.tb_estilolugar,

public.tb_colaborador,

public.tb_tipocolaborador

WHERE

tb_lugar.id_elug = tb_estilolugar.id_elug AND

tb_obrasalesiana.id_obr = tb_lugar.id_obr AND

tb_casasalesiana.id_cas = tb_obrasalesiana.id_cas AND

tb_colaborador.id_lug = tb_lugar.id_lug AND

tb_tipocolaborador.id_tcol = tb_colaborador.id_tcol

ORDER BY

tb_casasalesiana.nombre_cas ASC,

tb_casasalesiana.direccion_cas ASC;

40

La herramienta PgAdmin es un entorno gráfico con el cual se puede realizar la gestión del motor de base de datos de PostgreSQL. Cuenta con herramientas para creación de la base de datos, creación de tablas, vistas, procedimientos almacenados y esquemas. Incluso cuenta con un gestor de consultas SQL que permite incluir sentencias mediante el lenguaje estructurado de consultas y un visor de consultas gráficas, como se aprecia en la figura 22. Utilizando esta herramienta se ha creado la primera consulta, en la cual intervienen las tablas tb_casaSalesiana, tb_obraSalesiana, tb_lugar, tb_colaborador, tb_estiloLugar, tb_tipoColaborador.

Figura 22 Captura del Visor Gráfico de Consultas creando la consulta 1

Fuente: PgAdmin PostgreSQL 9.3

2.3.2 Calcular la distancia promedio entre una casa salesiana y sus áreas de influencia

Las obras salesianas se encuentran repartidas dentro del territorio ecuatoriano en 10 provincias: Esmeraldas, Imbabura, Pichincha, Cotopaxi, Manabí, Guayas, Bolívar, Azuay, Morona Santiago, El Oro. Algunas obras pueden beneficiar a personas que se encuentran muy cercanas, sin embargo otras obras pueden influir sobre personas que se encuentran geográficamente muy lejanas.

La consulta siguiente muestra el promedio de distancia que existe entre cada casa salesiana y el área de influencia de las obras salesianas asociadas a una casa. Para los encargados de cada obra resulta importante saber con exactitud cuál es la distancia promedio que existe entre la casa salesiana y las obras que administra. En este caso se ha utilizado st_distance_sphere que permite el cálculo de distancia entre dos geometrías y st_centroid que devuelve el punto que corresponde al centro de una geometría. Se ha realizado la transformación a kilómetros, ya que la directiva st_distance_sphere devuelve el resultado en metros. El resultado de esta consulta son 23 registros, uno por cada casa salesiana. Esta consulta no genera datos geográficos por lo cual no se muestra en el geoportal final.

41

SELECT tb_casasalesiana.nombre_cas,

AVG(st_distance_sphere(tb_lugar.coordenada_lug,st_centroid(tb_beneficiario.areainfluencia_ben))/1000)distancia

FROM

public.tb_lugar, public.tb_obrasalesiana, public.tb_casasalesiana, z public.tb_beneficiario

WHERE

tb_lugar.id_obr = tb_obrasalesiana.id_obr AND

tb_obrasalesiana.id_cas = tb_casasalesiana.id_cas AND

tb_beneficiario.id_lug = tb_lugar.id_lug

GROUP BY

tb_casasalesiana.nombre_cas

ORDER BY

distancia ASC

2.3.3 Calcular la distancia entre la inspectoría salesiana y las áreas de influencia de sus obras

Para realizar esta consulta primero se determinó las coordenadas en las cuales está ubicada la Inspectoría Salesiana Sagrado Corazón de Jesús. La Inspectoría Salesiana es la casa rectora de toda la comunidad salesiana y se encuentra ubicada en la ciudad de Quito en las calles Isabel La Católica y Madrid y sus coordenadas son latitud -0.208014 y longitud -78.486565, las cuales fueron obtenidas mediante la herramienta Google Maps. En la figura 23 se muestra la ubicación de la Inspectoría Salesiana y las coordenadas obtenidas.

Para obtener la línea que corresponde a la distancia entre la Inspectoría Salesiana y el centroide de cada área de influencia se utilizó la función ST_MakeLine (geometry, geometry), que recibe como datos dos puntos con su ubicación geográfica. Para crear los puntos partiendo de la coordenadas se utiliza la función ST_MakePoint (posición x, posición y).

Se utiliza la directiva ST_distance_sphere, la cual permite calcular la distancia entre dos geometrías el resultado lo muestra en metros. La directiva st_centroid calcula el centro de una geometría. Esta consulta devuelve 133 registros.

A continuación se muestra el código SQL correspondiente a la consulta 3, distanciaCasa con la cual se crea una tabla en el esquema indexación y luego se crea una nueva capa PostGIS usando la herramienta QGis 2.6.1. La visualización del resultado de esta consulta se muestra en la figura 24.

42

Figura 23 Ubicación de la Inspectoría Salesiana usando Google Maps

Fuente: Google Maps https://www.google.es/maps/@-0.2084534,-78.4869727,17z

DROP TABLE indexacion.distanciaCasa

CREATE TABLE indexacion.distanciaCasa (gid serial primary key, id_lug integer, nombre text, descripcion text, id_ben integer, beneficiarios text,

numero integer, areainfluencia geometry, centroide geometry, distancia float, lineaDistancia geometry);

INSERT INTO indexacion.distanciaCasa(id_lug,nombre, descripcion, id_ben, beneficiarios,numero,areainfluencia,centroide,distancia,lineaDistancia)

SELECT

tb_lugar.id_lug,

tb_lugar.nombre_lug,

tb_lugar.descripcion_lug,

tb_beneficiario.id_ben,

tb_beneficiario.descripcion_ben,

tb_beneficiario.numero_ben,

tb_beneficiario.areainfluencia_ben,

43

st_centroid(tb_beneficiario.areainfluencia_ben),

st_distance_sphere(ST_SetSRID(st_makepoint( -78.486832,-0.207848),4326),st_centroid(tb_beneficiario.areainfluencia_ben))/1000 distancia,

ST_MakeLine(ST_SetSRID(st_makepoint( -78.486832,-0.207848),4326),st_centroid(tb_beneficiario.areainfluencia_ben))

FROM

public.tb_beneficiario,

public.tb_lugar

WHERE

tb_lugar.id_lug = tb_beneficiario.id_lug

ORDER BY

tb_lugar.id_lug ASC;

En la consulta 3 se ha incluido el uso del comparador de caja && lo cual aumenta la velocidad de búsqueda, ya que se establece una caja de geometrías con un tamaño determinado. Esta consulta se puede utilizar en combinación con la creación de índices espaciales GiST.

SELECT DISTINCT(tb_lugar.nombre_lug),

tb_lugar.id_lug,

tb_lugar.nombre_lug,

tb_lugar.descripcion_lug,

tb_beneficiario.id_ben,

tb_beneficiario.descripcion_ben,

tb_beneficiario.numero_ben,

tb_beneficiario.areainfluencia_ben,

st_centroid(tb_beneficiario.areainfluencia_ben),

st_distance_sphere(ST_SetSRID(st_makepoint( -78.486832,-0.207848),4326),st_centroid(tb_beneficiario.areainfluencia_ben))/1000 distancia

FROM

public.tb_beneficiario, public.tb_lugar

WHERE

tb_lugar.id_lug = tb_beneficiario.id_lug

44

AND

st_expand (tb_lugar.coordenada_lug,1000) && tb_beneficiario.areainfluencia_ben

ORDER BY tb_lugar.id_lug ASC

Figura 24 Visualización de la distancia entre la Inspectoría Salesiana y las

áreas de influencia de sus obras en el Ecuador

Fuente: Creación de una capa en QGis 2.6.1 con los datos de la consulta 3

2.3.4 Área de influencia en el Ecuador y número de beneficiarios totales

Esta consulta tiene como objetivo mostrar las áreas de influencia de cada obra salesiana con el número de beneficiarios. Cada obra salesiana puede tener varios beneficiarios por ejemplo: la obra salesiana Parroquia Kennedy tiene como beneficiarios a: catequistas, niños, familias, parejas, padres de familia y seglares. Se calcula el área de influencia con la función st_area y se realiza una transformación a kilómetros cuadrados con el enunciado st_transform. Esta consulta devuelve 136 registros.

CREATE TABLE indexacion.beneficiarios (gid serial primary key, obra text, lugar text, descripcion text, beneficiario text, numero integer, poligono geometry, area double precision, km2 double precision);

INSERT INTO indexacion.beneficiarios (obra, lugar, descripcion, beneficiario, numero, poligono, area, km2)

SELECT

tb_obrasalesiana.nombrecorto_obr,

tb_lugar.nombre_lug,

45

tb_lugar.descripcion_lug,

tb_beneficiario.descripcion_ben,

tb_beneficiario.numero_ben,

tb_beneficiario.areainfluencia_ben,

st_area(areainfluencia_ben),

st_area( st_transform(areainfluencia_ben, 24877))/1000/1000 km2

FROM

public.tb_beneficiario,

public.tb_lugar,

public.tb_obrasalesiana

WHERE

tb_lugar.id_lug = tb_beneficiario.id_lug AND

tb_obrasalesiana.id_obr = tb_lugar.id_obr

ORDER BY

tb_beneficiario.id_ben ASC;

En la figura 25 se muestra la consulta anterior en un mapa utilizando Quantum Gis Desktop 2.6.1. En este caso se ha realizado una conexión a la base de datos de PostgreSQL 9.3 donde se encuentra alojada la base de datos DbGeoPortalSalesianoProd, luego se ha importado la tabla tb_beneficiarios. Para que visualmente se pueda diferenciar el número de beneficiarios que existen en cada obra, se ha utilizado un estilo graduado, con una escala de colores. Se ha considerado que existen obras con menos de 50 personas beneficiarias y rangos entre 51 – 150, 151 – 1000, 1001 – 5000, 5001 – 134.520.

46

Figura 25 Ejecución de la consulta 4 en QGis Desktop 2.6.1

Elaborado por: Patsy Malena Prieto Vélez

En el gráfico 26 se muestra una aproximación a este mapa en la provincia de Morona Santiago, donde existen varios rangos de beneficiarios, los cuales se pueden diferenciar por la escala de colores utilizados. Se muestra el área de influencia con el número de beneficiarios de las casas salesianas de Bomboiza, Macas, Sevilla Don Bosco, Taisha, Wasakentza, Yaupi-Miasal.

Figura 26 Acercamiento a la provincia de Morona Santiago al ejecutar la consulta 4 en QGis Desktop 2.6.1

Elaborado por: Patsy Malena Prieto Vélez

47

2.4 Diseño de la solución

Las consultas planteadas en este documento tienen como finalidad facilitar la toma de decisiones de la comunidad salesiana, por tal razón es conveniente que los datos geográficos obtenidos se muestren gráficamente en un geoportal. En este caso tres consultas tienen como resultados datos geográficos y son las que se visualizan en el sitio web desarrollado.

Para el diseño de la solución se utiliza el lenguaje de modelado unificado UML, el cual permite diseñar la lógica de negocio de este geoportal mediante una sintaxis fácil de comprender para el usuario final. En este caso se ha utilizado diagrama de casos de uso, diagrama de componente y diagrama de despliegue.

2.4.1 Diagramas de Casos de Uso

Para los procesos de creación de nuevos WMS y visualización de estos en el geoportal se lo hace directamente desde el servidor de mapas GeoServer 2.6.2 y lo debe hacer un usuario registrado, esta interacción se muestra en la figura 27 que corresponde a un diagrama de caso de uso.

48

Figura 27 CU001 Crear un WMS en GeoServer 2.6.2

Elaborador por: Patsy Malena Prieto Vélez

Object-Oriented Model

Model: Crear un WMS en Geoserver

Package:

Diagram: CU001

Author: UIOPP Date: 14/05/2015

Version:

Usuario Registrado

Acceder al servidor Geoserver

Crear un espacio de trabajo

Crear origen de datos vectoriales

Geoserver

Crear capas

Asignar esti los

Crear grupos de capas

Previsualizar capas

49

Figura 28 CU002 Visualizar mapa en el geoportal

Elaborado por: Patsy Malena Prieto Vélez

En el diagrama de casos de uso correspondiente a la figura 28, se modela la interacción entre el actor invitado y el geoportal. El invitado es quien va a revisar información directamente sobre el mapa en la web.

2.4.2 Diagrama de Componentes

En el diagrama de componentes que se muestra en la figura 29, se puede apreciar las librerías, scripts y servidores que se utiliza para el funcionamiento de este geoportal. Se tiene la base de datos en PostgreSQL 9.3 con el componente de base de datos espacial PostGIS 2.1. Las librerías utilizadas son OpenLayers 3.2.0, API Google Maps. Las páginas del geoportal de pruebas se conectan con el servidor de mapas GeoServer 2.6.2.

Object-Oriented Model

Model: Visualizar mapa en el geoportal

Package:

Diagram: CU002

Author: UIOPP Date: 14/05/2015

Version:

Invitado

Activar mapa base

Ver WMS

Ver información de interés

50

Figura 29 COMP01 Diagrama de componentes Geoportal de pruebas

Elaborado por: Patsy Malena Prieto Vélez

2.4.3 Diagrama de Despliegue

El diagrama de despliegue para el geoportal de pruebas contiene 4 nodos: servidor de mapas, servidor de base de datos, servidor IDE5 y máquina cliente. En cada nodo se ha colocado los componentes que permiten el manejo adecuado del geoportal. En el nodo de la máquina cliente se tiene el navegador para acceder al geoportal. En el nodo del servidor de base de datos se tiene los componentes correspondientes a la base de datos PostgreSQL 9.3 y el componente espacial PostGIS 2.1. Se tiene el servidor IDE5 en el cual se ha colocado las páginas correspondientes al geoportal de pruebas, incluye las librerías que se requiere para su funcionamiento: API Google Maps y OpenLayers 3.2.0. Por último se tiene el nodo servidor de mapas donde se encuentra alojado el servidor GeoServer 2.6.2. Esta información puede ser revisada gráficamente en la figura 30.

51

Figura 30 DESP001 Geoportal de pruebas

Elaborado por: Patsy Malena Prieto

2.5 Diseño de la Interfaz

El geoportal de pruebas tiene como objetivo mostrar de formar visual los resultados de las consultadas aplicadas en este estudio y en la cual se incluyó indexación espacial en la base de datos PostGIS. Considerando que es un espacio para acceso de usuarios invitados se creó una interfaz sencilla de manipular como se muestra en el prototipo de la figura 31.

52

Figura 31 Maqueta web del geoportal de pruebas

Elaborado por: Patsy Malena Prieto

Para la construcción del prototipo se ha utilizado la herramienta open source Pencil Project 2.0.5, la cual permite la creación de maquetas web, prototipos para dispositivos móviles y software para escritorio. La página oficial de esta herramienta es http://pencil.evolus.vn/.

Es posible descargar el plugin para que Pencil Project pueda usarse en el navegador Firefox Mozilla. En ese caso se ingresa a la página oficial de la herramienta, se descarga este componente y se lo añade a Firefox Mozilla. Para visualizar la herramienta es necesario cambiar la configuración del navegador para que se visualice el menú, se selecciona la pestaña Herramientas y luego dirigirse al icono de Pencil Sketching.

Los prototipos creados con Pencil Project pueden luego exportase a imágenes JPG, sitios web estáticos o documentos PDF, lo cual ayuda de sobremanera al desarrollador para la presentación del prototipo al usuario final.

53

Capítulo 3 Implementación

3.1 Creación de índices en PostGIS 2.1

En la base de datos PostGIS es posible implementar dos tipos de índices espaciales: índices espaciales con GiST e índices espaciales KNN. Para el caso del estudio planteado en este documento se creará los dos tipos de índices en la base de datos del geoportal salesiano DbGeoPortalSalesianoProd que se encuentra levantada en PostgreSQL 9.3.

3.1.1 Índices Espaciales con GiST

Las tablas sobre las cuales se ha establecido que es adecuado incluir índices son tb_lugar y tb_beneficiario, ya que en ellas existe información espacial que se será utilizada para realizar las diversas consultas que se proponen en este documento.

Para la creación de los índices espaciales con GiST sobre la tabla tb_lugar se utiliza la sentencia que se muestra a continuación.

create index lugar_gist on tb_lugar using gist(coordenada_lug)

VACUUM analyze tb_lugar (coordenada_lug)

vacuum tb_lugar

drop index lugar_gist

SELECT * FROM TB_LUGAR LG, TB_OBRASALESIANA OB WHERE OB.ID_OBR=LG.ID_OBR ORDER BY LG.NOMBRE_LUG

explain analyze SELECT * FROM TB_LUGAR LG, TB_OBRASALESIANA OB WHERE OB.ID_OBR=LG.ID_OBR ORDER BY LG.NOMBRE_LUG

set enable_seqscan =true

54

La ejecución de esta sentencia genera la información que se muestra en la figura 32. En esta pantalla se visualiza sobre que tabla se incluye la indexación espacial, el tiempo de ejecución y si existió algún error en la ejecución de la sentencia. La implementación de índices en una base de datos optimiza el tiempo de procesamiento promedio de una consulta. En las sentencias SQL anteriores se puede visualizar el código fuente utilizado para la creación de índices espaciales. En este caso se ha considerado las tablas: tb_casasalesiana, tb_obrasalesiana, tb_lugar.

Figura 32 Resultado de la ejecución de las sentencias de creación de índices espaciales en PostgreSQL

Fuente: Resultado de la herramienta SQL Query de PgAdmin III

La indexación espacial que se aplicó a la base de datos DbGeoPortalSalesianoProd se hace de forma global a toda la base de datos, como se muestra en el gráfico anterior se selecciona las tablas sobre las cuales se van a incluir los índices espaciales y se ejecuta la sentencia que habilita el uso expreso de estos índices.

Figura 33 Resultado de índices espaciales sobre la tb_lugar

Fuente: Sql Query de PgAdmin III

55

No es por tanto necesario incluir los índices espaciales en cada consulta, sino más bien diseñar las consultas de tal modo que sean beneficiadas por la creación de los índices GiST. Para el caso de estudio propuesto en este documento se diseñaron la consulta 1, consulta 2 y consulta 4 con índices espaciales GiST.

3.1.2 Índices Espaciales con KNN

KNN Indexed Nearest Neighbour es un índice utilizado para realizar búsquedas más eficientes siempre que se necesite localizar los puntos más cercanos a un punto dado. Cuando los datos son pequeños no existe mayor diferencia al establecer consultas sin índices espaciales, sin embargo cuando la cantidad de datos aumenta el tiempo de ejecución de este tipo de consultas puede crecer considerablemente. (Corti, Kraft, & Park, 2014)

Para incluir este tipo de índices espaciales se incluye los operadores < - > y <#>. En este caso se ha seleccionado la consulta 3, donde se busca la distancia desde la inspectoría salesiana a cada una de las obras salesianas. Como se visualiza en el código siguiente se ha incluido el uso del operador <->

SELECT (tb_lugar.nombre_lug),

st_centroid(tb_beneficiario.areainfluencia_ben),tb_lugar.id_lug,tb_lugar.coordenada_lug,tb_casasalesiana.nombre_cas,tb_beneficiario.id_ben,

tb_beneficiario.descripcion_ben,st_distance_sphere(tb_lugar.coordenada_lug,st_centroid(tb_beneficiario.areainfluencia_ben))/1000 distancia

FROM

public.tb_beneficiario, public.tb_lugar, public.tb_casasalesiana, public.tb_obrasalesiana

WHERE

tb_lugar.id_lug = tb_beneficiario.id_lug

AND

tb_casasalesiana.id_cas=tb_obrasalesiana.id_cas

AND

tb_obrasalesiana.id_obr=tb_lugar.id_obr

ORDER BY

st_centroid(tb_beneficiario.areainfluencia_ben) <-> tb_lugar.coordenada_lug

56

En el caso de los índices espaciales KNN estos se aplican directamente en las sentencias SQL, de tal forma que por cada consulta planteada se debe incluir en el código fuente el llamado expreso a estos índices espaciales. En el caso de estudio propuesto en esta tesis se diseñó una sola consulta en la cual se requiere ubicar los puntos más cercanos a las obras salesianas.

3.2 Implementación de las consultas en un geoportal

El proceso seguido para implementar las consultas fue ejecutarlas directamente en PostGIS 2.1 y evaluar su correcto funcionamiento. En base a estas consultas se crearon tablas en PostGIS las cuales fueron exportadas a QGis 2.6.1 donde se procedió a visualizar esta información geográfica y se realizaron algunos ajustes para mejorar la presentación de las consultas.

Para ello se utilizó GeoServer 2.6.2 donde se levantó los servicios WMS en base a las tablas creadas en PostGIS. Se realizó una edición de estilos sld. Las páginas web que contienen al geoportal se realizaron en Html 5, utilizando la herramienta Eclipse Java EE IDE for Web Developers Version: Luna Release 4.4.0. Se utilizó la librería OpenLayers Release 2.12-rc7 para la visualización de mapas bases y los WMS almacenados en GeoServer 2.6.2.

3.1.3 Creación de consultas en PostGIS 2.1

La base de datos sobre la cual se realizó las consultas propuestas en este documento corresponde a un backup de la base de datos que se encuentra en producción del geoportal de la comunidad salesiana. Por tal razón en primer lugar se obtuvo este backup y luego se restauró en un ambiente de pruebas. Este proceso se lo realiza directamente desde PgAdmin utilizando la herramienta Backup, como se visualiza en la figura 34. Se puede determinar las características del backup generado, por ejemplo incluir sentencias de creación de la base de datos, creación de tablas y comandos de inserción. De forma que el usuario obtenga el backup de acuerdo a sus necesidades. Internamente al usar esta herramienta se ejecuta el comando pg_dump.

57

Figura 34 Ubicación de menú contextual para obtener el backup de una base de datos en PostgreSQL 9.3

Fuente: Captura pantalla PgAdmin III

El archivo que se obtiene como respaldo de la base de datos puede crearse con extensión tar o backup. Este archivo se puede luego restaurar en una nueva base de datos. Aunque PgAdmin III cuenta con una herramienta propia para restaurar la base de datos Restore, como se muestra en la figura 35, es posible abrir el archivo backup en la herramienta Sql Query y ejecutar las sentencias guardadas directamente.

Luego que la base de datos fue restaurada en el ambiente de PostgreSQL 9.3, se procedió a ejecutar cada sentencia. Primero sin incluir la indexación espacial y luego se ejecutaron cuando los índices espaciales fueron creados. Las consultas creadas se muestran en la tabla 6, en la cual se muestra el detalle de cada una de ellas.

Tabla 6 Descripción de las consultas implementadas en PostgreSQL 9.3

Nombre Corto Consultas Descripción Consulta 1 Consultar todos los

lugares que corresponde a una obra salesiana organizados por casa

salesiana

Muestra todos los lugares con su ubicación geográfica. Los lugares se muestran como tipos de datos geometry y son puntos.

Consulta 2 Calcular la distancia promedio entre una casa salesiana y sus áreas de

influencia

Muestra la distancia promedio en kilómetros

Consulta 3 Calcular la distancia entre la inspectoría

salesiana y las áreas de influencia de sus obras

La distancia se muestra en kilómetros. Se dibuja una línea desde la inspectoría salesiana al centroide de cada área de influencia. El

Restaurar el backup

Obtener el respaldo de la base de datos

58

tipo de dato es geometry y como resultado de esta consulta se tiene puntos que son el centro de cada área de influencia, una línea que representa la distancia desde la inspectoría a cada área de influencia y por último se dibuja un polígono correspondiente al área de influencia.

Consulta 4 Área de influencia en el Ecuador y número de beneficiarios totales

Se calcula el área de influencia en kilómetros cuadrados y se dibuja el área de influencia como tipo de dato geometry - polygon.

Fuente: Elaborado por Patsy Malena Prieto

Se procedió a la creación de un esquema llamado indexacion donde se crearon las tablas resultado de las consultas planteadas. En la figura 35 se puede visualizar las tablas creadas. Este esquema permite mantener una separación entre las tablas originales del geoportal de la comunidad salesiana y el geoportal de pruebas.

Por último se plantea subir está información a un entorno web donde puedan ser visualizadas las consultas realizadas. Para ello se creó varios WMS – Web Map Services con las consultas presentadas en el apartado 2.3. Para ello se utilizó GeoServer 2.6.2 donde en primer término se creó un espacio de trabajo que se denominó salesianos el cual se conectó con un origen de datos vectoriales, que en este caso corresponde a la base de datos DbGeoPortalSalesianoProd que se encuentra en PostgreSQL 9.3 y PostGIS 2.1.

Luego de establecer las consultas que se realizaron en la base de datos, se determinó que para ilustrar de mejor manera los resultados de estas transacciones, era adecuado diseñar un geoportal donde se visibilice estas consultas

59

Figura 35 Captura de la distribución de esquemas en la base de datos DbGeoPortalSalesianoProd

Fuente: Herramienta PgAdmin III

.

3.1.4 Importación a QGis 2.6.1

La herramienta QGis 2.6.1 permite la edición de mapas los cuales pueden ser generados en base a varios formatos: archivos shape, archivos gpx y conexiones a varias bases de datos espaciales. En este caso se procedió a importar las tablas con datos geográficos de la base de datos PostGIS 2.1. El principal objetivo al utilizar QGis 2.6.1 es verificar de forma rápida y visual si el resultado obtenido es un elemento espacial que puede ser mostrado en un geoportal.

Para realizar la importación de las tablas se debe acceder al menú Capa, luego al submenú Añadir Capa y por último escoger Añadir capas PostGIS. Esto despliega una pantalla en la cual se debe establecer una conexión con PostGIS 2.1, según se puede visualizar en la figura 36. Se requiere definir el nombre de la conexión, el puerto utilizado, el nombre del servidor, el nombre de la base de datos, usuario y clave. Con esta información se procede a crear la conexión y se tiene acceso a todas las tablas de la base de datos.

60

Figura 36 Conexión a PostGIS 2.1 mediante QGis 2.6.1

Fuente: Pantalla capturada en QGis 2.6.1

Luego de establecer la conexión con la base de datos se debe seleccionar las tablas que se utilizarán en el entorno de trabajo, las cuales deben tener datos espaciales. Como se visualiza en la figura 38, la herramienta muestra las tablas incluyendo el tipo de dato espacial que cada una de ella tiene, de forma que el desarrollador puede seleccionar fácilmente las tablas que requiera. Cada una de las tablas corresponde a las consultas establecidas en la tabla 6.

Se añadió al proyecto actual de QGis 2.6.1 todas las tablas que corresponden a las consultas planteadas. Cada tabla se visualiza como una capa independiente, lo cual permite realizar mejoras puntuales sobre cada consulta. Para que las consultas se enmarquen en el mapa del Ecuador se incluyó un WMS con los límites departamentales y nacionales. Esto se logra accediendo al menú Capa, luego al submenú Añadir capa y por último Añadir capa WMS/WMTS.

61

Figura 37 Pantalla para añadir tablas PostGIS a QGis 2.6.1

Fuente: Funcionamiento de QGis 2.6.1

Existen varios servidores de mapas que ofrecen información geográfica sobre varias partes del mundo. De estos servidores se seleccionó el servidor GeoSUR que cuenta con información geográfica de América del sur. Esta información incluye: límites departamentales, límites nacionales, límites municipales, red férrea, red vial, asentamientos y capitales, como se puede visualizar en la figura 39. Es importante recordar que para acceder a estos servicios WMS, se debe tener habilitada una conexión a Internet, cada vez que se requiera visualizar esta información geográfica en el mapa de QGis 2.6.1.

62

Figura 38 Pantalla para incluir WMS/WMTS en QGis 2.6.1

Fuente: Funcionamiento de QGis 2.6.1

3.1.4.1 Edición de capas en QGis 2.6.1

La edición de las capas añadidas en QGis 2.6.1 se realizó de forma independiente y considerando cada caso particular. Es importante recordar que el orden con el cual se añade al proyecto actual de QGis determina que capa se muestra primero. Por tanto se debe en lo posible mostrar primero las capas con datos de puntos y luego ir añadiendo las capas adicionales.

La consulta 1 descrita en la tabla 6 tiene como resultado todos los lugares salesianos que tengan relación con una casa salesiana, para esta capa se consideró modificar las propiedades de la capa correspondientes a estilo y etiquetas. Los estilos permiten definir un símbolo único, es posible escoger un símbolo de la biblioteca existente, cambiar su tamaño y color, como se muestra en la figura 39. Para acceder a la edición de propiedades se selecciona la capa, se accede al menú dando clic derecho sobre la capa, seleccionar Propiedades y luego escoger la pestaña Estilo.

63

Figura 39 Pantalla propiedades de la capa en QGis 2.6.1

Fuente: Funcionamiento de QGis 2.6.1

Luego se editó la pestaña Etiquetas, donde fue posible definir la información se mostraría en el mapa, en este caso particular se optó por mostrar el nombre corto de cada lugar. Se seleccionó el tipo de letra y por último en la pestaña Representación se definió que la visibilidad de cada objeto espacial se base en el tamaño del pixel. De tal manera que si el zoom es muy pequeño se muestre solo los objetos espaciales que se encuentra en el centro del mapa. A medida que el zoom se haga más grande se van mostrando los demás objetos espaciales, esta configuración se muestra en la figura 40.

64

Figura 40 Pantalla propiedades de la capa edición de Etiquetas y Representación en QGis 2.6.1

Fuente: Funcionamiento de QGis 2.6.1

La consulta 3 muestra como resultado una línea que representa la distancia en línea recta desde la inspectoría salesiana a cada área de influencia de las obras salesianas, muestra el punto que representa el centroide de cada área de influencia y por último muestra el polígono que representa el área de influencia. Al ser una capa que incluye tres tipos de datos geográficos se decidió mostrar solamente la distancia en kilómetros para no sobrecargar de información la capa. El resultado de esta consulta se muestra en la figura 41.

65

Figura 41 Visualización de la consulta 3 en QGis 2.6.1

Fuente: Funcionamiento de QGis 2.6.1

La consulta 4 tiene como resultado un polígono que muestra el área de influencia comparándolo con el número de beneficiarios de cada obra salesiana. Para que la información en el mapa sea fácil de comprender se utilizó colores degradados para diferenciar cada área según el número de beneficiarios de las obras. De forma que exista un rango el cual se muestra con un color diferente y con su respectiva leyenda.

Esta información puede ser personalizada en la pantalla Propiedades de la capa, se accede a la pestaña Estilo y se selecciona el estilo Graduado. Posteriormente se selecciona la columna que servirá de referencia para establecer el rango de datos, en este caso se tomó la columna numero, la cual corresponde al número de beneficiarios de cada obra. Se selecciona la rampa de color y se establecen los rangos. En este caso se definió el rango mínimo y máximo entre 0 y 134.520 beneficiarios que es el número máximo de personas que reciben los servicios de la comunidad salesiana.

Otro elemento importante es incluir la propiedad Transparencia de capas, ya que al sobreponerse las diversas áreas de influencia tiende a ocultarse información. En la figura 42 se puede visualizar cada uno de estos elementos presentes en la personalización de la consulta 4.

66

Figura 42 Pantalla propiedades de la capa para la consulta 4

Fuente: Funcionamiento de QGis 2.6.1

Luego de realizar los cambios pertinentes en las consultas y verificar que la información obtenida es fiable, se dio por aceptadas las consultas propuestas para este documento.

3.1.5 Levantar WMS en GeoServer 2.6.2

Con las consultas revisadas y evaluadas previamente se inició el proceso de creación de WMS en el servidor de mapas GeoServer 2.6.2. Este servidor de mapas utiliza un servidor HTTP Jetty 6.1.8 que viene embebido en la herramienta, el cual utiliza el puerto 8080. Para acceder a la herramienta instalada previamente en el ambiente de pruebas se inicia el servicio de GeoServer, dirigiéndose al menú de Inicio, Todos los programas, GeoServer 2.6.2 y seleccionando Star GeoServer. Esta acción inicia un script para levantar los servicios en una pantalla de consola.

Posteriormente se abre un navegador y se coloca la dirección donde fue instalado GeoServer 2.6.2, en el caso de este proyecto es http://localhost:8080/geoserver/web/. El acceso al servidor se hace mediante un usuario y contraseña. Los datos iniciales para usuario son admin y la contraseña es geoserver. Es importante recordar que en un ambiente real de producción es necesario resetear estos datos dirigiéndose al menú Seguridad, Passwords, Change password.

67

Para iniciar el trabajo en GeoServer 2.6.2 se debe en primer término crear un espacio de trabajo, el cual permite agrupar varias capas. En el caso de este documento el espacio de trabajo creado se llama salesianos. Luego se procedió a editar un origen de datos vectoriales mediante el cual se establece una conexión a una base de datos PostGIS. Se procede luego a crear las capas que se requiere mostrar. Es posible agrupar varias capas utilizando la pestaña Grupo de Capas. También se puede realizar una personalización de los estilos en la pestaña Estilos. Por último se utiliza la pestaña Previsualización de capas para mostrar las capas utilizando diversos formatos. En la figura 43 se muestra el orden en el cual se crean los WMS utilizando GeoServer 2.6.2.

Figura 43 Menú de GeoServer 2.6.2 con el orden de creación de WMS

Fuente: Funcionamiento de GeoServer 2.6.2

3.1.5.1 Creación de almacenes de datos en GeoServer 2.6.2

GeoServer 2.6.2 permite la conexión a varios orígenes de datos como se muestra en la figura 44: orígenes de datos vectoriales, orígenes de datos raster u otros orígenes de datos. En primer término se puede acceder a orígenes de datos vectoriales como por ejemplo: archivos shapefiles, base de datos espacial PostGIS o WFS – Web Feature Server. Además es posible acceder a orígenes de datos raster como son: ArcGrid, GeoTiff, Gtopo30, ImageMosaic o WordImage. En el caso de otros orígenes de datos se tiene WMS – Web Map Service. Cada una de estos orígenes cuenta con parámetros específicos para crear las diversas conexiones de datos.

1

2

3 4

5

6

68

Para el caso particular de este documento se utilizó una conexión a orígenes de datos vectoriales, localizados en la base de datos PostGIS 2.1, como puede apreciarse en la figura 46. Para configurar esta conexión se debe en primer término seleccionar el espacio de trabajo llamado salesianos, se establece un nombre para el origen de datos en este caso se denomina dbsalesianos.

Figura 44 Pantalla nuevo origen de datos GeoServer 2.6.2

Fuente: Funcionamiento de GeoServer 2.6.2

Se procede luego a colocar los parámetros de conexión, se coloca el nombre del host, el puerto de conexión, el nombre de la base de datos, el esquema que se utiliza en este caso se ha creado en la base de datos el esquema indexacion, el usuario y contraseña. Se puede además parametrizar el número de conexiones máximas y mínimas que puede aceptar el servidor. También se puede definir el tiempo máximo de desconexión entre otras.

Figura 45 Pantalla de creación de nuevo origen de datos vectoriales en GeoServer 2.6.2

69

Fuente: Funcionamiento de GeoServer 2.6.2

3.1.5.2 Creación de capas

La creación de capas es el centro del manejo de GeoServer 2.6.2. Mediante las capas es posible revisar la información geográfica en un navegador, accediendo directamente a los servicios WMS. Los datos de las capas pueden ser directamente las tablas de una base de datos PostGIS o se puede crear vistas de la base de datos las cuales se convertirán en capas.

Para agregar nuevas capas se debe en primer término seleccionar el espacio de trabajo y luego el nombre de orígenes de datos en el caso de este documento corresponde a salesianos:dbsalesianos. Se despliegan luego todas las tablas de la base de datos y se procede a seleccionar la acción Publicación.

La edición de cada capa permite definir información prioritaria para que la publicación de la misma sea exitosa. En la pestaña Datos, se procede a definir el nombre de la capa,

70

las palabras claves, los vínculos a metadatos, el sistema de referencia de coordenadas, los encuadres y los detalles del Feature Types. El sistema de referencia seleccionado en el caso de este proyecto fue SRS nativo EPSG: 4326. Los datos que se obtiene son este sistema de referencia se puede apreciar en la figura 46.

Figura 46 Pantalla Editar capa, detalle del Sistema de referencia de

coordenadas GeoServer 2.6.2

Fuente: Funcionamiento de GeoServer 2.6.2

En la pestaña Publicación se determina si se utilizará configuración de HTTP, configuración de WFS, configuración WMS o configuración del formato KML. En el caso de este proyecto se seleccionó WMS. Dependiendo de los datos geográficos que mostrará una capa se debe seleccionar el estilo por defecto y se puede además incluir estilos adicionales tal como se visualiza en la figura 47. La explicación de la creación de estilos se puede revisar en el apartado 3.2.3.

Figura 47 Pantalla Editar capa, pestaña Publicación GeoServer 2.6.2

71

Fuente: Funcionamiento de GeoServer 2.6.2

Para este proyecto se crearon tres WMS los cuales devuelven información geográfica desde la base de datos PostGIS 2.1. Las capas creadas se llaman: indexacion.beneficiarios, ubicacionlugares y distanciacasa.

Cada capa puede ser visualizada de forma individual o puede crear grupos de capas. En el último caso se selecciona las capas que se desea mostrar de forma conjunta. Para crear grupos de capas se debe seleccionar la pestaña Grupos de Capas.

3.1.5.3 Pre visualización de capas

En esta pestaña se puede revisar en varios formatos las capas creadas en GeoServer 2.6.2 como se muestra en la figura 49. De forma visual existe la posibilidad de utilizar OpenLayers el cual se levanta en un navegador y cuenta con una funcional por defecto, que incluye: zoom, definir el formato, los estilos, el ancho y alto del mapa, búsqueda por palabra clave, entre otras propiedades. También es posible descargar la capa en formato KML, el cual permite la visualización en un dispositivo móvil. El formato GML14 muestra la capa en un archivo XML15, el cual puede ser descargado. En la figura 50 se muestra la previsualización de la capa ubicacionlugares

Figura 48 Pantalla de previsualización de capas GeoServer 2.6.2

14 GML Geography Markup Language 15 XML eXtensible Markup Language

72

Fuente: Funcionamiento de GeoServer 2.6.2

Como resultado de la creación de WMS sobre GeoServer 2.6.2 se tiene el siguiente link. El cual puede ser utilizado directamente desde un geoportal para acceder a los servicios web de mapas. Es posible cambiar los parámetros que se muestra en el URL. Se tiene el tamaño del mapa, las coordenadas geográficas correspondientes al centro del mapa, el sistema de coordenadas, el formato, entre otras propiedades.

http://localhost:8080/geoserver/salesianos/wms?service=WMS&version=1.1.0&request=GetMap&layers=salesianos%20tipos&styles=&bbox=-80.7481140796914,-4.95990260412577,-76.4754156926283,1.44617822343306&width=641&height=712&srs=EPSG:4326&format=application/openlayers

73

Figura 49 Visualización de la capa ubicacionlugares utilizando OpenLayers

Fuente: Funcionamiento de GeoServer 2.6.2

3.3 Edición de estilos SLD – Styled Layer Descriptor

En GeoServer 2.6.2 es posible crear estilos utilizando un archivo XML donde se almacena la simbología de la capa, este archivo se conoce como Styled Layer Descriptor. Es posible realizar la creación y edición de este archivo directamente en GeoServer 2.6.2 utilizando el menú Datos y luego seleccionar Estilos. Para personalizar los estilos se requiere ingresar un nombre para el estilo y escoger el espacio de trabajo. En la figura 50 se puede visualizar el código fuente del estilo utilizado para mostrar las obras salesianas en un WMS. En este caso se incluyó un icono para simbolizar cada obra. Este icono está ubicado en el directorio que almacena el sitio web de pruebas. Además se determinó el tipo de letra, tamaño y ubicación de las leyendas en el mapa.

74

Figura 50 Pantalla Estilos GeoServer 2.6.2

Fuente: Funcionamiento GeoServer 2.6.2

En el caso de la capa beneficiarios, ya que se muestra información de las áreas de influencia contrastadas contra el número de beneficiarios, se realizó un estilo degrado de forma que se puede visualizar la cantidad de personas beneficiadas con cada obra salesiana. El código generado para establecer las reglas para crea este estilo se muestra a continuación. Y en la figura 52 se muestra la previsualización de la capa beneficiarios donde se aplica el estilo descrito.

<Rule>

<Name>500beneficiario</Name>

<Title>151 a 500</Title>

<ogc:Filter>

<ogc:And>

<ogc:PropertyIsGreaterThanOrEqualTo>

<ogc:PropertyName>numero</ogc:PropertyName>

<ogc:Literal>151</ogc:Literal>

75

</ogc:PropertyIsGreaterThanOrEqualTo>

<ogc:PropertyIsLessThan>

<ogc:PropertyName>numero</ogc:PropertyName>

<ogc:Literal>500</ogc:Literal>

</ogc:PropertyIsLessThan>

</ogc:And>

</ogc:Filter>

<PolygonSymbolizer>

<Fill>

<CssParameter name="fill">#2EFE9A</CssParameter>

</Fill>

</PolygonSymbolizer>

<TextSymbolizer>

<Label>

<ogc:PropertyName>numero</ogc:PropertyName>

</Label>

<Font>

<CssParameter name="font-family">Arial</CssParameter>

<CssParameter name="font-size">11</CssParameter>

<CssParameter name="font-style">normal</CssParameter>

<CssParameter name="font-weight">bold</CssParameter>

</Font>

<Fill>

<CssParameter name="fill">#000000</CssParameter>

</Fill>

</TextSymbolizer>

</Rule>

<Rule>

<Name>501beneficiario</Name>

<Title>501 a 5000</Title>

76

<ogc:Filter>

<ogc:And>

<ogc:PropertyIsGreaterThanOrEqualTo>

<ogc:PropertyName>numero</ogc:PropertyName>

<ogc:Literal>501</ogc:Literal>

</ogc:PropertyIsGreaterThanOrEqualTo>

<ogc:PropertyIsLessThan>

<ogc:PropertyName>numero</ogc:PropertyName>

<ogc:Literal>5000</ogc:Literal>

</ogc:PropertyIsLessThan>

</ogc:And>

</ogc:Filter>

Figura 51 Previsualización de la capa beneficiarios en GeoServer 2.6.2

Fuente: Funcionamiento de Geoserver 2.6.2

77

3.4 Creación del geoportal

El geoportal se desarrolló en HTML5 y se utilizó como IDE de desarrollo Eclipse Java EE IDE for Web Developers Version: Luna Release 4.4.0, el cual ofrece facilidades para la creación de aplicaciones web. La página web utiliza una maquetación en donde se incluye varios div para mostrar el resultado de la interacción entre OpenLayers y los WMS almacenados en GeoServer 2.6.2. Se ha incluido de forma adicional el uso de la librería Bootstrap 3.3.4 y JQuery 1.11.3 para mejorar la apariencia del geoportal.

El código que permite la visualización de los WMS se muestra en el código fuente adjunto. Además se incluyó tres servidores de mapas como son: OpenStreetMap, MapQuest y WaterColor . Esto permite cambiar según la conveniencia la capa base del geoportal.

new ol.layer.Group({

title: 'Overlays',

layers: [

new ol.layer.Tile({

title: 'Salesianos',

source: new ol.source.TileWMS({

url: 'http://localhost:8080/geoserver/salesianos/wms',

params: {'LAYERS': 'distancia,lugares,beneficiarios'},

serverType: 'geoserver'

})

})

]

})

En el código que antecede se ha creado una capa con nombre Salesianos, el URL corresponde a la ubicación de GeoServer 2.6.2 instalado de forma local en el puerto 8080. Además se visualiza tres capas de este WMS: distancia, lugares, beneficiarios. En la figura 52 se muestra el geoportal ejecutándose en un navegador. Se puede observar que se han colocado tres servidores bases: WaterColor, OSM y MapQuest. También se visualiza los WMS con el nombre de Salesianos. Cada una de estas capas se activa y desactiva de acuerdo a la necesidad del usuario.

78

Figura 52 Ejecución del geoportal de pruebas en Eclipse Luna

Fuente: Ejecución en Eclipse Java EE IDE for Web Developers Version: Luna Release 4.4.0

79

4. Pruebas 4.1 Ambiente de Pruebas

Considerando que el geoportal salesiano se encuentra actualmente en producción y levantado en una IP pública, se ha determinado que las consultas establecidas y la implementación de indexación espacial se realicen de forma local con un backup de la base de datos, de forma que no se manipule directamente la base de datos final.

En la tabla 7 se muestra el hardware y software que fue instalado en una máquina local donde se realizaron las pruebas de optimización de la base de datos del geoportal salesiano. Es importante destacar que la versión de PostgreSQL 9.3 y de PostGIS 2.1 permite usar sentencias avanzadas que en la versión PostgreSQL 8.0 y PostGIS 2.0 instaladas en el servidor del ide.ups.edu.ec no funcionan.

El servidor donde se alojará la aplicación del geoportal debe contar con espacio en disco local, espacio en memoria cache para el procesamiento de los mapas y un servidor web. Lo recomendable es que el servidor tenga alto rendimiento y escalabilidad.

Es importante considerar que el ambiente de pruebas permitirá determinar las posibles mejoras que se pueden realizar en el sistema en producción. Sobre todo considerando que la base de datos va a seguir aumentando. Existen varias posibilidades de mejora entre ellas aumentar la memoria principal u organizar los datos de forma que sean eficientes las consultas planteadas. (Samet, Foundations of Multidimensional and Metric Data Structures, 2006)

Tabla 7 Hardware y software ambiente pruebas

Hardware Software Laptop Dell Windows 7 Profesional Service Pack 1

Sistema operativo de 64 bits Intel Core i7-2670QM PostgreSQL 9.3 2.20 GHz PostGIS 2.1 Memoria RAM 8,00 GB GeoServer 2.6.2 Disco Duro 700 GB OpenLayers 3.2.0 Bootstrap 3.3.4 Jquery 1.11.3

Fuente: Elaborado por Patsy Malena Prieto Vélez

Se procedió a instalar y configurar cada una de las herramientas descritas en la tabla 7 en la máquina de pruebas. El geoportal de pruebas utiliza librerías que permiten mejorar la interfaz gráfica y permiten visualizar el mapa en el navegador.

4.2 Evaluación del geoportal de pruebas

Considerando la infraestructura en hardware y software descrita en la tabla 7, se inició las pruebas sobre el geoportal, en primer término evaluando directamente el tiempo de respuesta de las consultas planteadas, posteriormente se evalúo el geoportal de pruebas

80

terminado considerando que la premisa de esta investigación es mejorar sustancialmente las prestaciones del geoportal de la comunidad salesiana.

4.2.1 Evaluación de las consultas creadas en la base de datos PostGIS 2.1

La evaluación de las consultas establecidas se realizó siguiendo el esquema mostrado en la figura 53. Las consultas definidas se pueden revisar en el capítulo 2 de este documento, esas consultas fueron ejecutadas directamente en la herramienta Query Tools de PostgreSQL 9.3.

Las consultas planteadas primero se ejecutaron sin crear índices espaciales y luego se procedió a crear los índices espaciales en la base de datos. Se registró el tiempo en milisegundos que aparece en la herramienta Query Tools y se procedió a realizar varias comparaciones con los resultados obtenidos.

Figura 53 Esquema para evaluación del geoportal

Elaborado por: Patsy Malena Prieto

Los resultados obtenidos en las consultas se muestran en la tabla 8, en la cual se puede visualizar el número de registros que se obtiene al ejecutar la consulta y el tiempo en milisegundos que se tarda el motor de base de datos en generar una respuesta.

Tabla 8 Registro de tiempo en milisegundos de la ejecución de consultas

Descripción No. registros

Consulta sin indexación espacial

milisegundos

Indexación espacial

milisegundos

Tipo indexación espacial utilizada

Ejecutar las consultas en Query Tools

Sin incluir indexación espacial

en PostgreSQL

Crear índices espaciales en PostgreSQL

Registrar el tiempo en

milisegundos

Obtener conclusiones

sobre los resultados

81

Consulta 1

Todos los lugares

70 40 30 GiST

Consulta 2

Promedio distancia

23 60 50 GiST

Consulta 3

Distancia lugar,

beneficiario

132 660 160 KNN

Consulta 4

Lugares con número

beneficiarios y áreas

133 690

450 GiST

Fuente: Herramienta PgAdmin III

Como se aprecia en la tabla anterior existen evidentes variaciones en el tiempo de ejecución de las consultas tan sólo con incluir indexación espacial en la base de datos. Estas variaciones están directamente relacionadas con el tipo de indexación espacial utilizado y el tamaño de los datos.

Se puede verificar que es visible el incremento en la rapidez de ejecución de las consultas cuando existen mayor cantidad de datos, por ejemplo considerando solamente la consulta 3 y consulta 4, cuyos resultados son en conjunto 265 registros. Existe una disminución en el tiempo de respuesta de 740 ms. Mientras que si se compara la consulta 1 y consulta 2 cuyos resultados son 93 registros entre ambas, el tiempo de disminución apenas es de 20 ms.

Lo que conlleva a concluir que la indexación espacial se vuelve mucho más eficiente y visible en los casos en los cuales existe gran cantidad de datos que tienen que ser consultados o actualizados en una base de datos espacial. Ya que este estudio se realizó sobre la base de datos de la comunidad salesiana, con un número de registros pequeño en comparación a bases de datos geoestadísticas, documentales o de censos, las mejoras en los tiempos de respuestas son bastante pequeños.

En la figura 54 se puede observar gráficamente las variaciones en el tiempo de ejecución de cada una de las consultas y se puede apreciar que la disminución en el tiempo de ejecución es evidente con cualquier tipo de indexación espacial utilizado, en el caso de la consulta 3 se ha utilizado indexación con KNN y en la consulta 4 se ha utilizado GiST. Sin embargo en los dos casos debido al alto número de registros en comparación a las otras consultas, se puede verificar que la rapidez en la ejecución es muy notoria.

82

Figura 54 Evaluación de las consultas utilizando indexación espacial y sin indexación espacial

Elaborado por: Patsy Malena Prieto

Al incluir indexación sobre la base de datos DbGeoPortalSalesianoProd en todos los casos de consultas realizadas se demostró que disminuyó el tiempo de respuesta de cada transacción propuesta. En el mejor de los casos disminuyó el tiempo de respuesta en un 76% y en el peor de los casos disminuyó el 17% del tiempo que se tomó en ejecutar las consultas sin incluir índices espaciales. En promedio la disminución de tiempo es del 38%.

Esta disminución recurrente en el tiempo de ejecución de las transacciones demuestra que la indexación espacial debería incluirse como una premisa importante en el diseño e implementación de bases de datos espaciales.

40 60

660 690

30 50

160

450

0

100

200

300

400

500

600

700

800

Todos los lugares Promedio distancia Distancia lugar,beneficiario

Lugares con númerobeneficiarios y áreas

Tie

mp

o e

n m

ilise

gun

do

s

Consultas realizadas en el geoportal de la comunidad salesiana

COMPARACIÓN DE TIEMPOS DE EJECUCIÓN EN MILISEGUNDOS

Consulta sin indexación Indexación espacial

83

Figura 55 Comparación en porcentajes del tiempo de ejecución en milisegundos

Elaborado por: Patsy Malena Prieto

En el caso de las consultas planteadas en este documento el tiempo de ejecución total sin uso de indexación espacial es 1450 ms. Mientras que el tiempo de ejecución total con indexación espacial es 690 ms. Esto corresponde a un 47% más rápido que las transacciones que no tienen indexación espacial. Este incremento se evidenció directamente al ejecutar las consultas planteadas.

Figura 56 Tiempo total de ejecución en milisegundos

Elaborado por: Patsy Malena Prieto

2517

76

35

0

20

40

60

80

Todos los lugares Promedio distancia Distancia lugar,beneficiario

Lugares con númerobeneficiarios y áreas

Tie

mp

o e

n m

ilíse

gun

do

s

COMPARACIÓN EN PORCENTAJES DEL TIEMPO EN MILISEGUNDOS DE DISMINUCIÓN EN LA EJECUCIÓN DE

LAS CONSULTAS

1450

690

0

200

400

600

800

1000

1200

1400

1600

Consulta sin indexación espacial Consultas con indexación espacial

Tiem

po

en

milí

segu

nd

os

Tiempo total de ejecución en milisegundos

84

Para las consultas planteadas en este documento se ha implementado indexación espacial utilizando GiST y KNN. GiST permite crear índices espaciales en las tablas donde exista gran cantidad de información geográfica, de forma que las consultas planteadas puedan utilizar estos índices para aumentar la velocidad de ejecución. Mientras que KNN permite realizar búsquedas de los datos geográficos más cercanos a un punto, línea o polígono establecido. Por tal razón solo la consulta 3 tiene implementada la indexación espacial KNN.

La comparación del tiempo de ejecución entre las consultas GiST y KNN se hizo considerando que sólo la consulta 3 utiliza indexación espacial KNN. Mientras que para las consultas GiST se procedió a sacar un promedio del tiempo de disminución obtenido, los resultados obtenidos se muestran en el gráfico 57. Se puede visualizar en el cuadro estadístico la evidente rapidez de ejecución de los índices espaciales KNN frente a los índices espaciales GiST.

Aunque cada uno de los índices tiene objetivos diferentes al momento de ejecutarse es procedente realizar una verificación entre ellos para determinar cuál ha sido el más eficiente considerando los datos de pruebas y las consultas planteadas.

Figura 57 Porcentaje de disminución del tiempo de ejecución de las consultas considerando el tipo de indexación espacial implementado

Elaborado por: Patsy Malena Prieto

4.2.2 Evaluación del rendimiento de la base de datos con la herramienta pgbench

El motor de base de datos PostgreSQL 9.3 cuenta con una herramienta benchmark que permite realizar un test de eficiencia sobre las bases de datos creadas, utilizando datos

76

26

KNN GiSTPo

rce

nta

je d

ism

inu

ció

n d

el t

iem

po

de

e

jecu

ció

n

Porcentaje de disminución del tiempo de ejecución de las consultas por tipo de indexación

espacial

85

reales o ficticios. Este herramienta es pgbench la cual está incorporada en PostgreSQL 9.3. Para iniciar la evaluación de la base de datos DbGeoPortalSalesianoProd, fue necesario incluir en la variable Path del sistema operativo la ubicación de la herramienta. Luego de lo cual se inició el proceso de prueba ejecutando la sentencia siguiente:

pgbench -U -i DbGeoPortalSalesianoProd

Es posible definir un escenario para realizar la evaluación de la base de datos en este caso se consideró las siguientes premisas:

• El número de clientes concurrentes fue de 50 personas. Se incluye la sentencia –c 50 • El número de transacciones que cada cliente ejecuta es 20. La sentencia

correspondiente es –t 20

Como resultado de la ejecución de este escenario de prueba se obtuvo que la base de datos ejecuta bajo los rangos establecidos las consultas en un tiempo aceptable. Es importante recordar que en el geoportal inicial el acceso concurrente estaba limitado a 5 clientes. Mientras que luego de implementar indexación espacial en la base de datos se tiene que esta soporta 50 personas sin existir bloqueos de procesos o disminución en la eficiencia de las consultas

Con respecto al número de transacciones se consideró que cada cliente ejecuta 20 transacciones de forma paralela, de igual manera los tiempos de respuesta fueron adecuados. Aunque se debe precisar que en el geoportal de pruebas es improbable que un único usuario realice tanta transacciones paralelas.

Figura 58 Monitor del estatus del servidor PostgreSQL 9.3

Fuente: Funcionamiento de PostgreSQL 9.3

86

Además se utilizó la funcionalidad explain analize la cual se ejecuta sobre cada una de las consultas propuestas y permite visualizar el costo estimado de ejecución de la consulta. Primero se muestra el tiempo de ejecución de la primera fila y luego el tiempo total para devolver todas las filas de la consulta. El costo estimado está medido en unidades de página de disco.

En la figura 59 se muestra la ejecución de explain analize sobre la consulta 4. En este caso el resultado fue que se requiere 58.70 para mostrar la primera fila resultado de la consulta y el tiempo total utilizado para evaluar esta consulta es 1582.325 ms.

Figura 59 Ejecución de explain analize en la consulta 4

Fuente: Funcionamiento SQL Query PostgreSQL 9.3

La funcionalidad explain analize permite verificar la ruta que sigue una consulta para su ejecución, de forma que se puede visualizar gráficamente cuales son los cuellos de botella y mejorar la estructura de la sentencia. Gráficamente se muestra un árbol con los distintas condiciones que se han colocado en las consultas, se debe leer este gráfico de abajo hacia arriba.

4.2.3 Evaluación del rendimiento del geoportal de pruebas

Al evaluar el funcionamiento de un sistema de información geográfico se considera el rendimiento y la escalabilidad como los factores que están directamente relacionados para incrementar las prestaciones del geoportal.

Los factores que se han considerado en este estudio y que se han aplicado directamente al geoportal de pruebas en comparación con el geoportal de la comunidad salesiana se muestran en la tabla 9.

87

Tabla 9 Factores para evaluar el rendimiento de un geoportal

Factores Descripción Tasa de transacciones Determina el número de peticiones

que puede soportar el geoportal. (Peters, Building a Gis: system architecture design strategies for managers, 2012)

Tiempo de respuestas de las transacciones

Es el tiempo necesario para ejecutar un servicio.

Tráfico en la red Determinar si existe el suficiente ancho de banda para asegurar que los datos enviados al cliente sean recibidos correctamente.

Utilización de la memoria del servidor Determinar si el servidor cuenta con suficiente memoria física para asegurar que los procesos tengan un rendimiento óptimo

Fuente: (Peters, Building a Gis: system architecture design strategies for managers, 2012)

Para realizar la evaluación propuesta en la tabla 9 se ha utilizado la aplicación Webserver Stress Tool 8, la cual permita evaluar un sitio web terminado al simular situaciones extremas que podría enfrentar por ejemplo: recibir una gran cantidad de usuarios, determinar si el tráfico en la red puede ser soportado por el sitio, establecer la cantidad de memoria que utiliza, entre otras.

Luego de descargar la herramienta e instalarla se procedió a establecer dos escenarios a comparar: el sitio web de pruebas el cual cuenta con la implementación de indexación espacial en su base de datos y el sitio correspondiente al geoportal de la comunidad salesiana el cual se encuentra ubicado en una IP pública.

El ancho de banda permite determinar el máximo número de datos que puede soportar un enlace de comunicación en un momento dado. Hay que considerar como una variable importante el número de usuarios que están accediendo en ese momento al sitio para contar con un dato real.

En el caso de la prueba realizada se consideró diez usuarios concurrentes, quienes realizaban 50 clicks sobre las páginas del sitio web. Con lo cual los resultados obtenidos en el geoportal de la comunidad salesiana se visualizan en la figura 60. En el gráfico se visualizar que el servidor tiene un tamaño máximo de 45 Kbit/s en correspondencia con el cliente que puede recibir solo hasta 30 Kbit/s.

88

Figura 60 Resultados del test ancho de banda del servidor y usuario geoportal comunidad salesiana

Fuente: Webserver Stress Tool 8

En la figura 61 se muestran los resultados obtenidos por el geoportal de pruebas, el cual cuenta con indexación espacial en la base de datos. Los datos enviados por el servidor aumentaron a 180 Kbit/s y en el lado del cliente aumentó a 5000 Kbit/s.

Figura 61 Resultados test ancho banda servidor y usuario geoportal de pruebas

Fuente: Funcionamiento de Webserver Stress Tool 8

89

El siguiente caso de prueba se refiere a la comparación entre peticiones y la transferencia de datos. En el gráfico 62 se muestra los resultados obtenidos por el geoportal de la comunidad salesiana en comparación con la figura 63 donde se visualiza los resultados del geoportal de pruebas.

Figura 62 Resultados de petición y transferencia de datos geoportal comunidad salesiana

Fuente: Funcionamiento Webserver Stress Tool 8

Mientras que el gráfico 62 correspondiente al funcionamiento del geoportal en producción, se tiene que las peticiones enviadas son 10 y la capacidad del ancho de banda es 42 Kbit/s. Esto contrasta con el gráfico 63 donde el servidor en producción también gestiona la respuesta de 10 peticiones con un ancho de banda que fluctúa entre 169 y 188 Kbit/s.

90

Figura 63 Peticiones y transferencia de datos del geoportal de pruebas

Fuente: Funcionamiento de Webserver Stress Tool 8.0

Al establecer casos de prueba sobre los geoportales terminados se incluyen factores adicionales que hacen que la ejecución de las transacciones sea mucho menos eficientes. Hay que considerar por ejemplo el caso típico en el cual el usuario trata de acceder al geoportal desde un café net, donde la conexión y el ancho de banda no es el más rápido. O de aquel usuario que usa su Tablet o dispositivo móvil para cargar un mapa con varias capas de datos, las cuales se conectan también a un servidor de mapas ubicado geográfica en un punto lejano.

Sin embargo como se visualiza en los gráficos adjuntos el deterioro en el tiempo de respuesta no ensombrece los logros alcanzados luego de incluir indexación espacial en la base de datos de prueba.

En la implementación de geoportales uno de los mayores retos es optimizar los recursos de forma que estos sean eficientes a pesar de la gran cantidad de datos que deben mostrar o el número concurrente de usuarios que tengan. En esos casos los desarrolladores y las empresas en general optan por comprar grandes infraestructuras tecnológicas con un costo alto de compra y de implementación, deduciendo que al mejorar el hardware, el sistema de información mejorará notablemente. Sin embargo es importante primero plantear una optimización a nivel de software, donde se considere el código fuente y la base de datos. Muchas de estas mejoras pueden ser tan o incluso más eficientes que una infraestructura costosa. O en su defecto pueden aumentar la productividad del hardware instalado.

91

Conclusiones

• La optimización del geoportal de la comunidad salesiana fue exitoso ya que los tiempos de respuestas mejoraron notablemente. Este mejoramiento se debe en primer lugar al cambio de versiones tanto de la base de datos PostgreSQL y PostGIS, lo cual permitió incluir análisis espacial en las consultas planteadas.

• Otro notable cambio en el geoportal fue mejorar la velocidad de respuesta a las peticiones de los clientes. La carga de los mapas ha sido más eficiente cuando se incluyó indexación espacial en la base de datos. Esto influyó para que la fiabilidad y la estabilidad del portal web aumenten.

• Entender el funcionamiento de las estructuras de indexación espacial PAM y SAM ha exigido un trabajo arduo de investigación en papers y bibliotecas virtuales ya que son fuente de información de primera mano para este tipo de definiciones. Lamentablemente en las bibliotecas físicas no existe información actualizada sobre estos conceptos. En contraparte las bibliotecas virtuales constituyen repositorios de información confiable, actual y con datos precisos que hoy por hoy son el motor de la investigación en los centros de estudios superiores.

• La indexación espacial es un concepto que en términos sencillos involucra crear un índice en una tabla de la base de datos. Estos índices permiten optimizar las transacciones que se realizan en la base de datos, ya que al ejecutar las consultas, el motor de base de datos no tiene que recorrer todas las tablas involucradas en la consulta; sino que utiliza los índices para abreviar estas búsquedas intensivas.

• PostGIS 2.1 ha sido desarrollada de tal manera que es posible crear y utilizar indexación espacial directamente desde la base de datos. Esta indexación espacial incluye el uso de árboles B-tree, R-tree, RD-tree y ltree. La herramienta es tan versátil que la inclusión de estos índices en una base de datos requiere sentencias específicas o construcción de consultas con comandos explícitos. De forma que se agiliza la creación de los índices espaciales y aumenta la eficiencia de la base de datos espacial.

• En el desarrollo del geoportal que incluyó el uso de indexación espacial se utilizó en la mayoría de ocasiones herramientas open source. A nivel de costos esto ha facilitado la creación de este geoportal, ya que no ha sido necesario estar pendiente del pago de licencias y de la imposibilidad de acceder a funcionalidades exclusivas de herramientas propietarias. Con respecto a la facilidad de uso de las herramientas y la eficiencia de las mismas al crear productos intermedios, se evaluaron varias alternativas de herramientas. Seleccionando al final aquellas que brindaban las mayores prestaciones al crear los productos.

92

Recomendaciones

• Es importante contar con el ambiente de pruebas idóneo el cual debe ser igual o similar al ambiente de producción del geoportal, de tal forma que los resultados obtenidos sean confiables y permitan establecer parámetros y procesos adecuados en el servidor de producción. Este ambiente de pruebas debe incluir sobre todo una réplica del software base: sistema operativo, parches, complementos adicionales. Además de contar con el software de aplicaciones el cual debe respetar las versiones y actualizaciones que el servidor de producción tiene instaladas.

• Los procesos de indexación espacial requieren que la base de datos en producción cuente con datos reales y de gran tamaño de forma que las mejoras en la ejecución de las consultas sean significativas. Aunque la indexación espacial mejora los tiempos de respuestas de las transacciones, si los datos son escasos; el tiempo de optimización también será pequeño.

• Se debe contar con el backup de los espacios de trabajo y de los datos de GeoServer 2.6.2, ya que con esa información se puede restaurar los WMS en caso de requerirlo. El servidor de mapas GeoServer 2.6.2 es una herramienta que se al estar expuesta al Internet podría en algún momento sufrir algún ataque externo, por tal razón se recomienda mantener siempre los backups de los espacios de trabajo y los datos. Y por otro lado se recomienda mantener un firewall que mejore la seguridad de este servidor.

• Para establecer un diseño correcto de la base de datos considerando la adición de índices espaciales, se debe contar con información detallada del modelo lógico y físico de la base de datos sumado a los requerimientos de la organización. De forma que sea posible definir con claridad que tablas de la base de datos son candidatas indicadas para incluir indexación espacial.

• Utilizar esquemas en la base de datos Postgresql 9.3 permiten agrupar tablas y vistas relacionadas, especialmente cuando el número de tablas es considerable y es preferible mantener una separación entre las diversas tareas que involucra cada tabla o consulta. En el caso de este documento se utilizó un esquema propio para las nuevas tablas creadas.

93

Glosario de Términos GiST Generalized Search Tree Es un índice especial que permite incluir búsquedas utilizando árboles en la base de datos espacial PostGIS. Fue desarrollado tomando como base los árboles B+tree. GML Geography Markup Language Es un estándar para manejo de datos geográficos propuesto por la OGC. GPS Global Positioning System Es un sistema creado por el Departamento de Defensa de los Estados Unidos. Tiene como finalidad ubicar geográficamente cualquier elemento en el planeta. Esto lo logra mediante la sincronización de 24 satélites. Existen GPS muy sofisticados o aquellos llamados de bolsillo, que pueden colocarse en vehículos o llevarse en la mano para ubicar objetos. GPX GPS eXchange Format Es un formato de archivo que corresponde a los datos generados por los GPS. Permite la transferencia de información geográfica desde los dispositivos GPS a las computadoras. IDE-UPS Infraestructura de datos espaciales de la Universidad Politécnica Salesiana alojada en el URL ide.ups.edu.ec. Este es un sitio web que recoge información sobre las actividades académicas y de investigación desarrolladas como parte del grupo de investigación en infraestructura de datos espaciales y geoportales. Incluye varios geoportales desarrollados por tesistas. KML Keyhole Markup Language Es un lenguaje que permite representar datos geográficos en tres dimensiones. Se basa en XML y tiene similitudes con GML. KNN K Nearest Neighbours La indexación KNN permite determinar las n geometrías más cercanas. Es un componente incluido en PostGIS y permite realizar consultas simplificadas cuando se requiere determinar los vecinos más próximos a una geometría constante dada. OGC Open GeospatialConsortium Es una organización encargada de definir estándares abiertos e interoperables para los sistemas de información geográfica. OSM OpenStreetMap Es un proyecto colaborativo para crear mapas editables por usuarios registrados. La información obtenida en GPS es cargada directamente en el sitio web de OSM y luego puede ser editada por los usuarios. PAMs Point Access methods Los métodos de acceso especial por puntos son aquellos que permiten utilizer índices espaciales para ubicar puntos en una base de datos. PROJ4 Biblioteca de transformación de coordenadas que utiliza PostGIS

94

RUP Rational Unified Process Es una metodología de desarrollo de software. Utilizada en gran medida en la industria para apoyar los procesos de construcción de software con grandes requerimientos y un equipo grande de trabajo. SAMs Spatial Access methods Los métodos de acceso especial SAMs permiten realizar búsquedas en una base de datos espacial de líneas, polígonos o multipolígonos. SQL Structured Query Language Es un lenguaje de acceso a bases de datos relacionales. Permite realizar operaciones sobre la base de datos como: inserciones, actualizaciones, eliminaciones y consultas. URL Uniform Resource Locator Es un estándar utilizado en Internet mediante el cual es posible designar a cada una de las máquinas que acceden a una red. WMS Web MapService Permite la representación de un mapa mediante una imagen digital. XML eXtensible Markup Language Es un lenguaje desarrollado para almacenar datos. De hecho se utiliza como una forma alterna de las bases de datos. Es uno de los lenguajes utilizados con mayor frecuencia en aplicaciones web ya que permite la interoperabilidad entre distintas arquitecturas.

95

Bibliografía

Bibliografía 1. (PSC), P. P. (10 de 2013). Postgis. Obtenido de http://postgis.net

2. Arcos Cañar, C., & Eras Navarrete, G. (2013). Análisis, diseño e implementación del Módulo de visualización y edición de estilos para el geoportal de la comunidad salesiana (Tesis de pregrado). Quito: Universidad Politécnica Salesiana.

3. Brisaboa, N. R., Luaces, M. R., Navarro, G., & Seco, D. (2009). Indexación espacial de puntos empleando wavelet trees. XIV Jornadas de Ingeniería del Software y Bases de Datos, (págs. 225-236). San Sebastián, España.

4. Corral Liria, A. (2002). Algoritmos para el Procesamiento de Consultas Espaciales utilizando R-trees. La consulta de los pares más cercanos y su aplicación en bases de datos espaciales. Almeria.

5. Corti, P., Kraft, T., & Park, B. (2014). PostGIS Cookbook. Birmingham UK: Packt Publishing Ltd.

6. Fazli-Maghsoudi, H., & Momeni, H. (2014). Comparison of Bayesian Networks and Lazy Model Algorithms in Intrusion Detection Systems Based on Data Mining. Journal of World’s Electrical Engineering and Technology, 47-52.

7. Gómez Delgado, M., & Barredo Cano, J. I. (2005). Sistemas de Información Geográfica y evaluación multicriterio en la ordenación del territorio. Madrid: RA-MA Editorial.

8. Guttman, A. (1984). R-Trees: A Dynamic Index Structure for Spatial Searching. ACM Press, 47-57.

9. Hazzard, E. (2011). OpenLayers 2.10. Birmingham: Packt Publishing Ltd.

10. Moreno Jiménez, A. (2008). Sistemas y Análisis de la Información Geográfica. México D.F: Alfaomega Grupo Editorial S.A.

11. Mountain Geoportal. (2014). Obtenido de www.icimod.org

12. Peters, D. (2012). Building a Gis: system architecture design strategies for managers. California: Esri Press.

13. Pinde, F., & Jiulin, S. (2011). Web Gis. California: Esri Press.

14. Samet, H. (1994). Applications of Databases. Springer Berlin Heidelberg.

15. Samet, H. (2006). Foundations of Multidimensional and Metric Data Structures. Morgan Kaufmann.

16. Strobl, C. (2008). Postgis. En S. Shekhar, & H. Xiong, Encyclopedia of GIS (págs. 891-898). Springer.

17. The GiST Indexing Project. (s.f.). Obtenido de : http://gist.cs.berkeley.edu/gist1.html

18. The PostgreSQL Global Development Group. (2014). PostgreSQL. Obtenido de www.posrgresql.org/docs

96

19. Universidad Politécnica Salesiana. (01 de 04 de 2014). Obtenido de www.ups.edu.ec

20. Wikipedia. (s.f.). Obtenido de es.wikipedia.org

97

Anexo 1 Elenco 2014 Familia Salesiana

Casas Salesianas en el Ecuador

• 1. Bomboiza

• 2. Cayambe 1960

• 3. Cuenca - María Auxiliadora 1893

• 4. Cuenca - Yanuncay 1939

• 5. Cumbayá - Noviciado

• 6. Esmeraldas 1994

• 7. Guayaquil - Cristóbal Colón 1911

• 8. Guayaquil - Domingo Savio 1962

• 9. Guayaquil - Casa Don Bosco 2001

• 10. Guayco 1976

• 11. Macas

• 12. Machala 1976

• 13. Manta 1974

• 14. Paute - Uzhupud 1960

• 15. Quito - Casa Inspectorial 1973

• 16. Quito - Casa Don Rúa 2009

• 17. Quito - La Tola 1895

• 18. Quito - El Girón 1938

• 19. Quito - Posnoviciado

• 20. Quito - Prenoviciado 2000

• 21. Quito - La Kennedy 1968

• 22. Riobamba 1926

• 23. Sevilla Don Bosco 1943

• 24. Taisha 1974

• 25. Wasakentsa 1988 Casa Ceferino Namuncurá 2009

• 26. Yaupi - Miasal 1974

• 27. Zumbahua 1976

98

Anexo 2 Obras salesianas en el Ecuador distribuidas por casas 2014

1. Bomboiza 1974 Colegio Etsa

Granja Agropecuaria

ISPEDIBSHA

Parroquia Étnica

Residencia Juvenil

2. Cayambe 1960 Casa Campesina CayambeClínica Maternidad Mitad del MundoOratorio Miguel MagoneParroquia San José - AyoraParroquia San Juan Bautista - OlmedoRadio MensajeTainate HuasiUnidad Educativa Mario Rizzini - Centro Don BoscoUnidad Educativa Domingo SavioColegio Sánchez y CifuentesEscuela San Juan Bosco

3. Cuenca - María Auxiliadora 1893

Parroquia María Auxiliadora

Procura Misiones

Centro Artesanal María Auxiliadora

Centro de Salud de Asociación Damas Salesianas ADS

4. Cuenca - Yanuncay 1939

Parroquia Don Bosco

Unidad Educativa Técnico Salesiano

Oratorio San Francisco de Sales

Colegio a Distancia Mario Rizzini

Oratorio Don Bosco

Fundación Salesiana PACES

5. Cumbayá -Noviciado

Comunidad Salesiana

6. Esmeraldas 1994 Unidad Educativa María Auxiliadora

Colegio Fiscomisional Salesiano de Bachillerato San Rafael

Parroquia María Auxiliadora

7. Guayaquil -Cristóbal Colón 1911

Parroquia María Auxiliadora

Oratorio Miguel Magone

Unidad Educativa Cristóbal Colón

Unidad Educativa Salesiana Fiscomisional Domingo Comín

Unidad Educativa Salesiana Fiscomisional Margarita Bosco

Casa de Espiritualidad de Data

99

8. Guayaquil - Domingo Savio 1962 Unidad Educativa Salesiana Fiscomisional Domingo Savio

Talleres Domingo Savio

Parroquia Domingo Savio

Centro Ocupacional Domingo Savio

9. Guayaquil - Casa Don Bosco 2001 Aspirantado Salesiano

Parroquia El Bastión de María

Centro de Acogida Patio Mi Pana

Centro de Acogida P. Antonio Amador

Centro de Acogida Nuestros Hijos

Centro de Referencia Don Bosco

Centro de Referencia Monte Sinaí

Centro de Referencia Juanito Bosco

Centro de Capacitación Casa Don Bosco

Unidad Educativa P. Antonio Amador

Escuela de Fútbol P. Antonio Amador

Oratorios

10. Guayco 1976

Santuario del Guayco - Guayco

Parroquia Facundo Vela (Guaranda)

Parroquia Simiatug

Parroquia SalinasFundación Familia Salesiana - Salinas

11. MacasParroquia Santuario Purísima de Macas

Unidad Educativa Don Bosco

Instituto Pedagógico Mons. Félix Pintado

Escuela Fiscomisional Dolores Sucre

12. Machala 1976Parroquia Nuestra Señora de la Merced

13. Manta 1974Parroquia Nuestra Señora del RosarioUnidad Educativa San JoséOratorio Salesiano San JoséCasa Salesiana Santa María - Crucita, Los Arenales

14. Paute - Uzhupud 1990 Colegio Agronómico Salesiano

Colegio a Distancia Juan Lunardi

Centro Salesiano de Formación Agropecuaria

100

15. Quito - Casa Inspectorial 1973 Parroquia María Auxiliadora

Centro Médico María AuxiliadoraOratorio María Auxiliadora

16. Quito - Casa Don Rúa 2009

Aspirantado Salesiano

Unidad Educativa Fiscomisional Salesiana San Patricio UESPA

TESPA - Solanda

Administración Central y Centro de Acogida Mi Caleta

Granja Don Bosco Ambato

Centro Casa Don Bosco - Santo Domingo de los Tsáchilas

Centro Casa de Jóvenes - Esmeraldas

Centro Casa Don Bosco - San Lorenzo

17. Quito - La Tola 1895 Unidad Educativa Salesiana Fiscomisional Don Bosco

18. Quito - El Girón 1938

19. Quito -PosNoviciado 1990

Parroquia Cristo Rey

Oratorio Don Bosco

Oratorio Nocturno Cristo Rey

20. Quito -Prenoviciado 2000

Hospedería Campesina La Tola

Residencia Universitaria Intercultural

21. Quito - La Kennedy 1968

Colegio Técnico Don Bosco

Parroquia Don Bosco

Mecánica

Mecanoplast

Oratorio Don Bosco de la Kennedy

Escuela Don Bosco

101

22. Riobamba 1926

Unidad Educativa Salesiana Santo Tomás Apóstol

Oratorio Don Bosco

23. Sevilla Don Bosco 1943

Instituto Tecnológico Fiscomisional Intercultural Bilingüe Salesiano

Parroquia Sevilla

Parroquia Chiguaza

Parroquia Sucúa

Centro Experimental Yuquipa

24. Taisha 1974

Parroquia Étnica Taisha

Parroquia Centro Cultural

Parroquia Tuutin-entsa

25. Wasakentsa 1988 Casa Ceferino Namuncurá 2009

Pastoral VocacionalPastoral EducativaPastoral Parroquial: Parroquia Étnica Achuar 1988Residencia Estudiantil: Etsa NunkuishaPastoral de Promoción Humana y CulturalPastoral de la salud: Presencia Centro de Salud - AsesoríaPastoral de Comunicación SocialPresencia de Hermanas Marianitas: Casa Madre Mercedes

26. Yaupi -Miasal 1974

Parroquia Yaupi

Parroquia Miasal

Colegio Yamaram Tsawá Extensión Educativa

Residencia Estudiantil

27. Zumbahua 1976

Parroquia Zumbahua

Parroquia Guangaje

Zona Pastoral Tigua

Residencia Estudiantil

102

Biografía

Patsy Malena Prieto Vélez nació en Quito – Ecuador hace 39 años. Los estudios de primaria, secundaria, pregrado y postgrado los realizó en su ciudad natal. La primaria la cursó en la Escuela Fiscal Femenina Eugenio Espejo, donde se destacó como primera escolta del Pabellón Nacional. Continuó sus estudios de secundaria en el Colegio La Providencia obteniendo el título de bachiller en Ciencias de Comercio y Administración. Se gradúo de Ingeniera en Sistemas Informáticos y de Computación en 2005 en la Escuela Politécnica Nacional. Durante varios años trabajó en la empresa privada como programadora en JSP, PHP y Visual Studio .Net. Se vinculó a la Universidad Politécnica Salesiana, donde inició como auxiliar de laboratorio y luego como docente en la carrera de Ingeniería de Sistemas. Ella ha sido parte del grupo de investigación en infraestructura de datos espaciales y geoportales desde el 2010. Uno de los proyectos más emblemáticos ha sido el geoportal de la comunidad salesiana. Fue coautora de los artículos científicos: Geoportales en el Ecuador - 2011 y Geo-referenciación y estudio de los órdenes de las clases insecta y collembola en el sendero Quishuar (Área Nacional de Recreación El Boliche) 2013. Actualmente está terminando la presentación del tema de tesis “Optimización del geoportal del IDE-UPS utilizando indexación espacial” la cual le permitirá obtener el título de Magíster en Gestión Informática Empresarial en la Universidad Central del Ecuador.

Entre sus metas a futuro se encuentra obtener un título de doctorado en un área afín a su título de pregrado. Completar su formación académica le permitirá seguir contribuyendo de forma responsable al crecimiento académico del país y principalmente ser un referente de crecimiento personal y profesional para mi familia y estudiantes.