Вы находитесь на странице: 1из 112

ESCUELA DE ELECTRONICA Y TELECOMUNICACIONES

SISTEMA DE CATASTRO TELEFÓNICO PARA PACIFICTEL, MEDIANTE


APLICACIONES SIG

JAVIER ANIBAL GOMEZ RIOS

Previa obtención del título en Ingeniería en


Electrónica y Telecomunicaciones

DIRECTOR: Ing. Héctor Fernando Gómez A.


CO-DIRECTOR: Ing. Pablo Toapanta

08 – 05 – 2008

LOJA
ii

TEMARIO

Introducción…………………………………………………………………………… iii

Capitulo 1- Generalidades y Requisitos………………………………………… 1

1.1 Objetivos………………………………………………………………………. 2

1.1.1 Objetivo General………………………………………………………… 2

1.1.2 Objetivos Específicos…………………………………………………… 2

1.2 Metodología……………………………………………………………………. 3

1.3 Requerimientos………………………………………………………………... 4

Capitulo 2- Desarrollo del Sistema………………………………………………… 5

2.1 Memoria Técnica………………………………………………………………. 6

2.2 Desarrollo del Programa………………………………………………………. 9

2.2.1 Requerimientos del Sistema…………………………………………….. 9

2.2.2 Plataforma de Desarrollo………………………………………………… 9

2.2.3 Recolección de Información……………………………………………... 9

2.2.4 Creación del Programa…………………………………………………… 10

2.2.5 Aporte Técnico……………………………………………………………. 17

Capitulo 3- Conclusiones y Recomendaciones………………………………….. 19

3.1 Conclusiones…………………………………………………………………….. 21

3.2 Recomendaciones………………………………………………………………. 23

Referencias………………………………………………………………………………. 25
iii

Índice de figuras

Figura 2.1: Idea General del Funcionamiento del Programa……………………. 8

Figura 2.2: Contorno y División por Centrales de la ciudad de Loja……………. 12

Figura 2.3: Tabla de atributos, del mapa de Centrales; donde el campo

Shape indica el tipo de línea que conforma dicho mapa…………….13

Figura 2.4: Primera Pantalla del Programa, presentando la ciudad de Loja

y la división por Centrales………………………………………………14

Figura 2.5: Segunda Pantalla del Programa, presentando la División

Distrital de la Central escogida…………………………………………15

Figura 2.6: Tercera Pantalla del Programa, presentando información

de la red del distrito y su ubicación………………………………….. 17

Anexo 1: Oficio de Aceptación y Culminación………………………………………. 26

Anexo 2: Manual Usuario………………………………………………………………. 28

Anexo 3: Manual Programador………………………………………………………… 47

Anexo 4: Mapa Distrital de la Ciudad de Loja………………………………………… 115

Anexo 5: Instalación del Programa……………………………………………………. 117

Anexo 6: Código Fuente – Programa Catastro………………………………………. 119


iv

INTRODUCCION:

El constante y creciente flujo de información dentro de una empresa, generada por la


demanda de los usuarios, crea la necesidad de poseer sistemas de gestión de datos que
ayuden a su correcta manipulación y actualización.

Considerando lo expresado, y teniendo presente que actualmente la información que se


maneja en Pacifictel-Loja (beneficiaria principal del presente proyecto), no posee una
digitalización completa de sus datos, y de su cartografía (planos de las redes telefónicas de
Loja), lo que origina demoras en la consulta. La no digitalización de estos, hace que no se
relacionen dentro de un mismo sistema, y el proceso de consulta se debe realizar por
separado.

Una forma de resolver este inconveniente, es la creación de un Sistema de Catastro


Telefónico; que es el objetivo principal para el desarrollo de este proyecto, el mismo que
permitirá relacionar directamente estas partes digitalizadas (datos y cartografía) en un mismo
sistema, con lo que se logrará una manipulación, actualización y consulta más rápida. Esta
relación entre datos y cartografía, permiten ofrecer al usuario una visualización de la red
telefónica y sus correspondientes datos en el mismo sistema.

De esta forma se podrá mejorar los procesos de consulta, manipulación y de


actualización de la información, convirtiéndose en una sistema de gran aporte para la
institución.
CAPITULO I
GENERALIDADES Y REQUISITOS
2

Una forma capaz de poder manejar información con un nivel alto de


productividad, son los conocidos sistemas de catastro o catastrales, que ayudan a
organizar y presentar toda la información en entornos de fácil manipulación y
comprensión para el usuario, dándole la facilidad de reducir sus tiempos de consulta
e incrementar su tiempo de reacción a un problema. Los sistemas de catastro
gracias a que permiten introducir la información, o datos sobre cartografía digital,
dan la particular ventaja de que se sabe con certeza de que lugar se está
analizando, de donde geográficamente proviene dicha información, y al darnos la
ubicación del lugar se podrá determinar su grado de accesibilidad.

El desarrollo de un Sistema Catastral [1] [2] está relacionado directamente


con los Sistemas de Información Geográfica, gracias a su manejo e interrelación de
la información cartográfica y alfanumérica, y con otros programas que permiten
desarrollar este tipo de programas, los mismos que para este proyecto son:
Microsoft Visual Basic 6.0 [3] [4]: Que es la plataforma principal de programación;
Microsoft Office Access 2007 [5]: Que nos permite realizar la vinculación de las
tablas de datos, y poder obtener nuestra base de datos; Microsoft Office Excel : para
realizar la manipulación de la información y correcciones en la misma; AutoCAD
2007 [6] y ArcView [7]: Para la manipulación cartográfica y de sus correspondientes
datos; MapObjects 2.2 [8]: Para el manejo de la cartografía en Visual Basic.

1.1 OBJETIVOS

1.1.1 Objetivo General


Desarrollo de catastro telefónico distrital de la ciudad de Loja,
aplicado al distrito 50, con ayuda de aplicaciones SIG.

1.1.2 Objetivos Específicos


- Analizar las técnicas de catastro telefónico a nivel mundial.
- Seleccionar la mejor opción para catastro digital entre las
investigadas y/o desarrolladas
- Ingresar datos referentes a la comprobación final de campo del
catastro distrital.
- Obtener un software de tipo abierto para futuras actualizaciones.
3

1.2 METODOLOGIA

Para el correspondiente desarrollo de este tipo de sistemas es conocer el


estado en que se encuentra la información; es decir, si la misma está ligada a la
realidad actual de la zona. Debido a la inmensidad de la información y la poco
actualización de la misma, el programa se desarrollará en base a un distrito, el
mismo que es el Distrito 501, como referente para los demás que conforman la red
general telefónica de Loja, y debido a que estos están en cambios se debe
considerar que el programa sea de tipo abierto; esto representa, que se pueda
introducir posteriormente los distritos restantes con sus datos.

Para el desarrollo del programa de catastro, se basó en el enlace de mapas,


esto significa que se parte de un mapa global de la ciudad, y conforme se avance al
objetivo, este presentará mapas más pequeños, hasta llegar al punto de consulta,
donde se visualizará la información gráfica y literaria (datos del abonado) del distrito.

En el desarrollo del mismo, se considerará otros sistemas similares (de tener


acceso a los mismos), y también se tendrá presente el criterio del personal técnico
de Pacifictel, para ir superando las dificultades y aspecto propio del sistema. Y de
poder acceder a otros sistemas similares, compararemos el presente sistema con
otros para determinar su desempeño.

Con todo esto, se espera tener al final del mismo, un sistema catastral que
ayude al consultor a realizar tareas de investigación, actualización y manipulación de
datos de una forma rápida, donde en un mismo sistema se tenga presente los datos
y la información cartográfica, logrando un manejo eficiente de sus recursos con la
ayuda de un programa que posee información actualizada y visual de las redes
telefónicas de Loja.

NOTA: Debido a que este sistema se basa en el distrito 50 y su información,


se presenta este distrito, adicionando otros para verificar la funcionalidad del
programa. Con respecto a los demás distritos se agregaran en lo posterior, por lo
que el sistema debe ser abierto, como se ha indicado antes.

1
Distrito 50: Es el sector comprendido entre las calles: Al norte con la calle Colón (con anexo hasta la
antigua ubicación de la Superintendencia de Compañía, al sur con la calle Miguel Riofrío, al este con la
Av. Emiliano Ortega y al oeste con la calle José Joaquín de Olmedo)
4

1.3 REQUERIMIENTOS:

- La empresa Pacifictel – Loja, beneficiaria principal del proyecto, planteo como


objetivo del mismo la obtención de un sistema de catastro, que permita el manejo
y visualización de datos tanto a nivel cartográfico e informativo (datos
correspondientes a los abonados), relacionando a ambos en un mismo
programa.

- El programa debe ser accesible al usuario, donde el manejo del mismo no sea
complicado y la consulta a realizar no lleve demasiado tiempo. Esto representa
que la interfaz gráfica del programa debe ser lo más amigable posible con el
usuario.

- A nivel de programación (introducción de datos nuevos o actualización de estos)


debe ser un programa abierto, esto representa que este permita el ingreso de
nuevos datos (introducción de los distritos restantes) o la actualización de los
presentes, de forma sencilla.

- Las herramientas o las opciones, propias del programa, manejarlas a través de


menús, de forma que estas se presenten o se visualicen al llamarlas por este
medio.

- Los datos obtenidos como resultado de una consulta se presentarán una vez
realizada la misma, y no estar siempre a la vista.

- Un objetivo que se introdujo durante el desarrollo del proyecto y no constaba en


un inicio, pero se realizó el esfuerzo para lograrlo, fue el de lograr que el
programa se conecte con la base de datos de los abonados que actualmente
está usando Pacifictel, conocida como SAPE. Pero a pesar de buscar lo
premisos que nos permitan tener acceso a ella, estos no fueron favorables, y no
se logro cumplir con ello.

Estos fueron los referentes principales para lograr obtener el sistema de


catastro en su versión inicial.
CAPÍTULO II
DESARROLLO DEL SISTEMA
6

2.1 MEMORIA TECNICA:

Una vez establecidos los alcances del proyecto, el primer paso realizado fue
el de encontrar información relacionada al tema propuesto, la misma que al validarla
y ver sus aplicaciones, se las consideraría para el desarrollo del mismo o caso
contrario se las descartará.

Dicha información, obtenida del Internet, no fue de gran ayuda debido


principalmente a que los sistemas de catastro son aplicados en su mayoría a
información urbana (bienes inmuebles), es decir, que la información y programas
encontrados estaban más referenciados a estos, con una menor proporción dirigida
para otros tipos, lo que no era una fuente de información concreta, sino solo de
referencia y de poco aporte al proyecto.

Debido a que la fuente inicial de consulta no fue de lo más prometedora, se


busco información en el departamento del SIG (Sistemas de Información Geográfica)
de la UTPL, debido a que este tiene experiencia en estos sistemas, obteniendo más
información que aporte a nuestro proyecto, aclarando de mejor manera nuestros
objetivos. Con la información recolectada y teniendo una idea básica de estos
sistemas catastrales, se consulto al personal técnico de Pacifictel sobre ideas de
cómo llevar y desarrollar el proyecto, ya que este es el beneficiario principal.

De estas reuniones se extraía información vital para el sistema, ya que se


establecía los parámetros e información requeridos en el programa. Dentro de estas
reuniones se acordó que este se lo realizara con un distrito base, como se ha
indicado antes, por la gran información presente. El objetivo de estas reuniones era
las de observar el progreso del mismo y presentar ideas que aporten al desarrollo de
este, es decir, esto servía para ir puliendo el programa conforme se vaya
avanzando.

Dentro de estas reuniones, se propuso por parte de la gente de Pacifictel,


conectar este programa para que las consultas se realicen a la base de datos del
SAPE (este es el sistema de consulta actual de la empresa para buscar información
referente a un abonado), lo mismo que no está considerado dentro de los objetivos
iniciales de este proyecto. A pesar de ello se trato de realizar este paso, pero la
información para realizarlo está en la central de Pacifictel en Guayaquil, y los
7

permisos necesarios para trabajar en ello, debían ser autorizados por los
encargados del sistema en la central. Para lograr esto se realizaron las propuestas y
se realizo el envió de los oficios requeridos para obtener la información y permisos
requeridos, lo mismo que incluyó un viaje a Guayaquil para conversar con la gente
encargada del sistema, para presentar nuestro proyecto y solicitar la ayuda
correspondiente. Pero lamentablemente no se tuvo una respuesta inmediata y
positiva a nuestra solicitud, todo esto conllevo la inversión de mucho tiempo sin
resultados halagadores, influyendo totalmente a que no se cumpla con esta parte.

A pesar de las consultas y presentaciones del programa en Pacifictel,


desearon que el programa que se estaba realizando, ya en su etapa final, fuese de
otra forma diferente, esta sugerencia se presentó en las últimas reuniones
mantenidas, donde el tiempo límite se terminaba, por lo que se dio una extensión del
mismo para logar desarrollar el nuevo programa con las peticiones del personal de
Pacifictel. El cambio de programa, requería de un desarrollo totalmente diferente; es
decir, la programación es diferente al que se tenía, debido a que la interfaz cambia
por completo, aunque durante el desarrollo del mismo se pudo incorporar cosas del
programa anterior al nuevo.

Este programa (final) tiene la característica principal de que se maneja a


través de mapas enlazados; indicado antes, lo mismo que representa partir de un
mapa general o completo de toda el área al que se hace referencia, para este
proyecto el mapa general es el contorno del límite urbano de la ciudad de Loja,
realizando una división por centrales, las mismas son: Central Norte, Central Centro
y Central Sur. Dependiendo del lugar de consulta se escogerá uno de estos centros,
donde la pantalla de visualización se presentará dicho centro, con su
correspondiente división distrital. Con esta división se puede escoger un
determinado distrito, presentándose este en la pantalla con su información, donde
este es la parte pequeña del enlace, aquí se realizará la visualización de la red
perteneciente al distrito, hacer consulta de los abonados y poder observar la
ubicación de las cajas de distribución en el mapa, tomando como referencia a que
caja de distribución pertenecen y poder llegar a la información de un abonado o
conocer el nivel de saturación de la caja.

Esto es una idea general de cómo se manejará el programa o como está


constituido el mismo, para un mejor detalle se presenta la siguiente figura 2.1.
8

1 2 3

Mapa General de Loja Selección de un Centro Presentación distrital y


con su división por centros elección de un distrito
4

Presentación del distrito escogido


con su información y opción de buscar

Figura 2.1: Idea General del Funcionamiento del Programa


Fuente: Sistema de Catastro Pacifictel-Loja: Autor
9

2.2 Desarrollo del Programa.

Manteniendo presente los objetivos y el alcance del presente proyecto se


empezó a desarrollar el mismo, teniendo presente las sugerencias del personal de
Pacifictel.

2.2.1 Requerimientos del Sistema.

El sistema debe ser capaz de presentar tanto la parte cartográfica y de datos


del distrito 50 (distrito base) en el mismo sistema, dando la opción de poder cargar
en el futuro los distritos restantes y su información.

La información a presentar debe ser: Numero de Central, Teléfono, Abonado


(cliente), Dirección, Armario, Regleta, Par Primario, Estado, Caja, Par Secundario; la
misma que debe estar relacionada con su correspondiente caja de distribución. Esto
debido a que la consulta está basado o referenciado a las cajas de distribución de la
red.

2.2.2 Plataforma de Desarrollo

La plataforma de desarrollo y ejecución del programa principalmente es el


Microsoft Visual Basic 6.0, siendo apoyado por otros programas como: Microsoft
Access, AutoCAD, ArcView, MapObjects 2.2 y Microsoft Excel.

2.2.3 Recolección de Información

Lo importante de los sistemas catastrales es que la información que esta


contiene sea actualizada o lo más cercano a la realidad presente, por este motivo es
necesario que los datos que se manejen sean correctos.

Con esta referencia se consiguió una mapa de la ciudad de Loja, muy


cercana a su realidad actual, lo que ayudará a tener una mejor visión de la realidad
de la cuidad, ya que permite contemplar las nuevas expansiones urbanísticas de
cuidad, lo que ayudará a introducir las nuevas redes y sus datos.
10

La información acerca de los datos de la red, la configuración de la red


distrital, la división distrital y por centrales telefónicas de la cuidad fue provista por el
personal de técnico de Pacifictel-Loja, por lo que estos datos son de confianza.

2.2.4 Creación del Programa

Una vez obtenida la información respectiva, y manteniendo presente los


alcances y requerimientos del mismo, se empezó a trabajar en el mismo.

Debido a la forma y apariencia que deseamos darle al programa es necesario


trabajar en primera instancia, con la parte cartográfica; esto representa manipular la
parte gráfica de forma que obtengamos los mapas de acuerdo a como lo vamos a
utilizar en el programa.

Dicha manipulación, la realizamos con el programa AutoCAD ya que el mapa


que se tiene de la ciudad de Loja fue creado en este. Con la ayuda de las
herramientas propias de este programa, se extrae lo que vamos a emplear en el
programa. El mapa que se tiene no posee las divisiones tanto a nivel de Centrales1,
como a nivel de Distritos2. Por ello es necesario digitalizarlas en nuestro mapa, a
través del uso de las herramientas de dibujo del AutoCAD.

Realizado este proceso, extraemos la parte del contorno (limite urbano) de la


ciudad de Loja, con su respectiva división por Centrales, esto debido a que es el
primer mapa que se presentará al ejecutar el programa y será el primer punto de
referencia para llegar a nuestro objeto de consulta. De igual forma se extrae, cada
Central con su respetiva división Distrital y por último se realiza la separación de
cada distrito, se debe tener presente que al realizar esta parte, se elimine
necesariamente lo que no va a ser útil.

Pero en esta parte se presenta un problema, debido a que la extensión en


que se graban en AutoCAD (*.dwg) no es compatible con los formatos que se
manejan en el Visual Basic y no va a ser posible visualizarlos o utilizarlos. Para
resolver este inconveniente, se debió salvarlos con una extensión de tipo libre

2
Central: Se entiende como central, a la división principal que se hace de la cuidad Loja, en base a la
creación de sus redes telefónicas principales, por ello se tiene la Central Norte, Central Centro y
Central Sur.
3
Distrito: Se entiende por distrito, al área que contiene una red telefónica secundaria, como es el caso
del Distrito 50, donde el mismo está dentro o pertenece a una Central.
11

(*.dxf); es decir, que permita abrir estos archivos en otro programa y nos ayude a
solucionar este problema de incompatibilidad. Este tipo de extensión está contenido
en el AutoCAD

Para ello utilizamos el ArcView, que nos servirá para cambiar de extensión y
manipular las tablas de atributos3 de cada mapa, lo que nos permitirá crear un nexo
que garantice la compatibilidad con el Visual Basic. Con esto, debemos cambiar
nuevamente de extensión para que estos se los pueda leer, logrando hacer este
cambio con la opción del ArcView llamada “Convertir a Shapefile” (Convert to
Shapefile), creándose los nuevos archivos, incluido la tabla de atributos, con la
extensión *.shp, propia de este programa, de esta forma podemos resolver esta
parte, permitiendo visualizarlos en el Visual Basic.

No es necesario tener todos los mapas que vamos a utilizar, ya que se los
puede ir creando de acuerdo a las necesidades o como se va avanzando; es decir,
que no es preciso tener esta parte para desarrollar lo demás, lo mejor es ir
avanzando conforme los requerimientos se presenten para evitar repeticiones.

Con esta parte completa o ya conociendo como realizarlo, lo siguiente es


comenzar a armar el programa, con la ayuda de las herramientas propias del Visual
Basic 6.0, que es nuestra plataforma de desarrollo.

Para empezar a trabajar es necesario tener presente que se tengan


activadas las Referencias que se van a emplear; esto significa, activar programas
secundarios propios de este, que ayudan a realizar otras actividades que facilitan la
programación y manejo de la información, como la manipular los datos cartográficos
necesarios. Como necesitamos manejar mapas debemos tener instalado y activado
la herramienta Mapa (Map), esto se lo logra al instalar el MapObjects 2.2 y tenerla
activa, la misma que también permite realizar la programación y visualización de los
mapas.

Estas Referencias, empleadas en el presente proyecto son: Visual Basic for


Applications, Visual Basic runtime objects and procedures, OLE Automation,
Microsoft ActiveX Data Objects 2.5 Library, Microsoft Data Binding Collection y

3
Tabla de Atributos: Es una hoja, tipo Excel, donde se presentan las características o datos que
contiene un mapa, dichos datos están organizados en secciones denominados Campos. Este tiene una
extensión *.dbf, generada en el ArcView.
12

Microsoft Data Formatting Object Library 6.0 (SP4), a pesar de que algunas se
activan al instalar el Visual Basic, otros no lo hacen y por lo tanto es necesario
verificar, para evitar problemas al momento de programar o ejecutar el programa.

Realizado este proceso, se agrega o se crea el icono de Mapa; , en el


Cuadro de herramientas, el mismo que nos permite crear un espacio para la
correspondiente visualización de o de los mapas a emplear y acceder a su
programación.

La programación empezó teniendo presente que se debe partir de un mapa


general, que contenga nuestra área de referencia, por lo que se necesitó aquí la
sección del contorno y la división por centrales de la ciudad de Loja; figura 2.2, el
mismo que será la puerta para acceder al resto de los mapas.

Central Norte

Central Sur
Central Centro

Figura 2.2: Contorno y División por Centrales de la ciudad de Loja


Fuente: Autor

Para lograr que cada parte de este mapa se enlace con su correspondiente
información; es decir, que al escoger una determinada central, esté presente en otra
pantalla sus datos o contenido, para ello es necesario que cada parte que conforma
este mapa, haya sido dibujado como polígono y de esta forma poder enlazar los
mapas sin dificultades. Pero este detalle, por la falta de conocimiento, se convirtió en
un problema a resolver, porque al pasar la cartografía de AutoCAD a ArcView se
tenía que las líneas que lo conformaban, no eran del tipo que necesitamos y por lo
tanto no se logrará establecer el enlace entre mapas. Estos datos característicos se
los puede observar en la tabla de atributos del mapa; figura 2.3.
13

Tipo de Línea no necesaria

Tipo de Línea necesaria

Figura 2.3: Tabla de atributos, del mapa de Centrales; donde el campo Shape indica el tipo de línea que
conforma dicho mapa.
Fuente: Autor

Para conseguir esta característica, se debe digitalizar nuevamente el mapa


con el tipo de línea poligonal (Polygon [9]) y salvarlo con los cambios realizados,
resolviendo el problema generado, debido a esto es la diferencia entre ambas tablas
siendo del mismo mapa. Pero este crea un nuevo conflicto, porque todos los demás
mapas presentan la misma falla y no es conveniente digitalizarlos a todos de nuevo,
por el tiempo que esto requiere.

Como la digitalización completa necesitaba de la inversión de mucho tiempo,


no sería una solución eficiente, para solucionar esto, se empleo el código de tal
forma que soportara un tipo de Shape diferente, como es del tipo polilínea (Polyline
[9]), que es el shape contenido en la cartografía restante. Con esto podemos enlazar
mapas de estas características, y nos evitamos el tedioso y largo proceso de una
nueva digitalización.

La primera parte se puede dejar con el shape de tipo polígono, sin afectar
para nada la ejecución y eficiencia del programa, y con el resto se puede trabajar
como esta.

Con esto resuelto, es necesario introducir herramientas que ayuden al


usuario a movilizarse o que le permitan acceder a las opciones del programa. Dentro
de estas opciones de apoyo, una de las principales es la herramienta de zoom, que
permite realizar acercamientos del mapa, permitiendo tener una mejor visualización
del mismo o de su contenido. Para crear esta función, se utilizó una herramienta del
14

Visual, denominado Option Button; , que nos permite crear el ícono para activarlo
y su correspondiente espacio de programación. Otra función necesaria, es la que
permita, al usuario, poder seleccionar un área determinada del mapa. Esto se lo
logra con la ayuda de la misma herramienta, empleada para la creación del zoom,
pero la programación de esta será otra. Con el uso de esta herramienta, podemos
utilizar al ratón (mouse) para que cumpla tareas diferentes, facilitando la movilidad
dentro del programa.

Como la opción de zoom, nos permite realizar solo acercamientos, es


esencial la creación de una aplicación que permita presentar el mapa
completamente, a esta se la ha denominado full extent. Para la creación de la misma

se empleo la herramienta Command Button; , con el que se creó su espacio de


programación y su ícono correspondiente, con lo que se logra presentar nuevamente
el mapa completo, luego de realizar acercamientos en el mismo. El manejo de estas
herramientas y su correspondiente activación se detallan mejor, en el manual de
usuario.

Esto es lo que se observa en la pantalla “División por Distritos”; figura 2.4, la


misma que permitirá conectarse con las partes restantes. En donde podemos
realizar las funciones de zoom, pan y de selección de distritos, guiándonos a la
pantalla de “División de Consulta Distrital”.

Figura 2.4: Primera Pantalla del Programa, presentando la ciudad de Loja y la división por Centrales.
Fuente: Autor
15

Tomando como base lo realizado en la primera parte, se continúo con la


programación. Para ello se debió crear un enlace entre cada central, del primer
mapa, con su respectivo plano distrital, logrando de esta forma poder acceder a la
segunda pantalla; figura 2.5. Pero se debe tener presente que los mapas
empleados aquí son de características diferentes al primero; por lo expuesto
anteriormente, lo que el código para ello fue otro.

División Distrital Centro División Distrital Sur

División Distrital Norte

Figura 2.5: Segunda Pantalla del Programa, presentando la División Distrital de la Central escogida.
Fuente: Sistema de Catastro Pacifictel-Loja: Autor

Las opciones brindadas al usuario son las expresadas anteriormente, con la


diferencia de que se agrega una opción de búsqueda de distritos; es decir, con este
buscador podemos visualizar la ubicación de cualquier distrito, de la central
escogida.

Obtenida la segunda pantalla, que nos da la opción de escoger e ingresar a


cada distrito, y poder observar su información, se crea una tercera pantalla.
16

Por ser una aplicación en donde los mapas se enlazan hasta llegar a la parte
más pequeña, y aquí esa parte es llegar a la información que contiene cada distrito,
se debe relacionar cada uno de estos (que se observan en la segunda pantalla del
programa), con su respectiva información.

En esta sección, se presenta la información propia que contiene cada distrito.


Dicha información es de carácter cartográfico (referencias urbanas, como las calles),
y de carácter textual (datos acerca de los abonados). La parte cartográfica se la
maneja o se la relaciona de similar forma, que lo realizado con los mapas de la
segunda pantalla, este plano se caracteriza por presentar la red telefónica
secundaria del distrito escogido, la referencia urbana y la posición de las cajas de
distribución telefónicas de la red. Estas cajas son la referencia para efectuar las
búsquedas requeridas de información.

Esta tercera pantalla; figura 2.6, presenta las opciones de búsqueda, a nivel
de número telefónico, a nivel de nombre del abonado y de dirección. Esto requiere
de la creación de una base de datos con información de la cartografía y de los datos
correspondientes. Para la creación de la base de datos, es necesario primero
organizar dichos datos con la ayuda del Microsoft Excel y guardarlos bajo la
extensión del Excel 2003, para poder importarlos al Microsoft Access y crear nuestra
base de datos. En el Access se crea una nueva base importando la información que
vamos a utilizar, ello implica que la información contenida como una hoja de Excel
se la importa con la ayuda de la herramienta Información Externa (External Data) y
se escoge la opción de Importar Archivo de Excel, y de esta forma vinculamos el
archivo que tiene la información de los abonados; a la que llamamos DT, con sus
campos de referencia: Central, Teléfono, Cliente (Abonado), Dirección, Armario,
Regleta, Par Primario, Estado, Caja y Par Secundario; los mismo que ayudan a
determinar las características y condiciones en que se encuentra la red. En cambio,
la información cartográfica se la importa de otro modo debido a la extensión que
presentan. A estas se las importa con un formato denominado dBASE File, que
trabaja con la extensión *.dbf; es decir, estamos importando la tabla de atributos del
mapa, para vincularla y que se pueda presentar en la pantalla, de esta forma
presentamos en el mismo sistema o lugar la parte gráfica y su correspondiente
información.
17

Figura 2.6: Tercera Pantalla del Programa, presentando información de la red del distrito y su ubicación.
Fuente: Autor

Con esto se tiene un Sistema de Catastro abierto, que presenta la


información requerida por el personal de Pacifictel y su aceptación (Anexo1), y se
tiene en el mismo sistema los dos tipos de información (gráfica y textual). Donde el
programa se maneja o se ejecuta a través del enlace de mapas, siendo este un
requerimiento del personal de Pacifictel, lo que originó el cambio de programa y la
creación de este.

NOTA: Se debe aclarar que este es un sistema en su primera versión, lo que


expresa que no es un versión final y en lo posterior se podrá ir mejorándolo,
cambiando características del mismo o agregándole nuevas que mejoren su
eficiencia.

2.2.5 Aporte Técnico

Los Sistemas de Catastro, por su información actualizada, ayudan a tener un


mejor manejo de los datos, y al estar estos relacionados cartográficamente
contribuyen notablemente dentro de una empresa, porque son sistemas que brindan
la posibilidad de realizar consultas rápidas, actualizadas y presentan una
visualización del sector, logrando así disminuir los tiempos de consulta.

Por tener información actual y de rápido acceso, se logra tener una idea de la
realidad o condiciones en que se encuentra una red determinada y poder concluir si
18

está en condiciones de soportar o no más abonados. Dar información a los usuarios


sobre líneas disponibles, para nuevos números o para traslados de líneas
existentes, entre otro tipo de información.

Con la ayuda de este sistema se puede buscar datos propios de una red,
para este caso del Distrito 50, los mismos que dan información de las condiciones en
que esta se encuentra y cuáles son sus posibilidades de expansión, que es una de
las principales informaciones que necesita el usuario para satisfacer las necesidades
de los clientes.

Por medio del uso de este programa podemos llegar a saber la información
técnica de los abonados; es decir, conocer datos que indican a que Central, Caja de
distribución, Par primario y Par secundario está conectado dicho abonado, y cuál es
su ubicación dentro del distrito, permitiendo determinar su accesibilidad. Este
programa nos da también información del estado de las líneas (libres; L, ocupadas;
O, dañadas; D, reubicadas; R, mantenimiento; M) con lo cual podemos concluir si
hay espacio en la red para nuevas asignaciones de números o no es el caso y si
toca realizar cambios más profundos en la red para satisfacer las demandas de los
clientes y abonados. Con la ayuda de la visualización cartográfica se puede observar
la ubicación de las cajas y constatar si estas pueden abarcar nuevos abonados, ya
que por la posición de estas se determina si se puede dar o no una nueva línea
telefónica, o poder realizar una reubicación de esta.

Para que este sistema sea usado eficientemente y sin fallas, se debe tener
siempre presente que la información sea lo más actualizada y lo más cerca a la
realidad, como ya se ha expresado.
CAPITULO III

CONCLUSIONES Y RECOMENDACIONES
20

Manteniendo presente los requerimientos expresados al inicio, y bajo la tutela


del personal de Pacifictel, con respecto al aporte de ideas para este proyecto,
sirviendo como guía del mismo, se logró obtener un programa que cumple con las
demandas presentadas.

Al final de este proceso, se consiguió un programa con una interfaz gráfica


amigable para el usuario y de una programación fácil para la introducción de los
nuevos datos o su correspondiente actualización, que fue una de las demandas por
parte de Pacifictel.

El programa permite el manejo y la visualización de datos cartográficos con


su correspondiente información, haciendo que la búsqueda referente a un abonado o
caja dentro de un distrito sea rápida, logrando determinar su ubicación dentro de la
cartografía, contenida en este. Así, se logra relacionar en un mismo sistema o
programa, la parte informativa y gráfica a un nivel digital, permitiendo tener un
manejo, manipulación, actualización y movilidad de los datos es forma más rápida,
sencilla y fácil.

Se desarrolló un sistema catastral, con la ayuda de aplicaciones SIG, que


permite una consulta rápida y confiable de los datos que conforma la red secundaria
del distrito 50 de la ciudad de Loja, y de otros (Distrito 52, Distrito 59, Distrito 64,
Distrito 65) con la finalidad de testear el programa, relacionando la información
textual con la gráfica, donde los mapas están enlazados y permite la introducción de
más datos.

En general, el programa de Sistema de Catastro Telefónico para Pacifictel


cumple con todos los objetivos planteados, siendo un programa abierto para el
ingreso de los datos, y también permite la creación de nuevas aplicaciones para el
mismo, ya que el código fuente que lo conforma no es complicado y permite
manipularlo con facilidad, con lo cual se lo irá mejorando con la ayuda de las futuras
herramientas de programación o con la introducción de nuevas funciones, ya que
este está en su primera versión y se lo podrá ir mejorando.
21

Alcanzados los objetivos y bajo la aprobación del personal de Pacifictel, se


puede concluir con el desarrollo del Sistema de Catastro para Pacifictel en su
primera etapa.

3.1 CONCLUSIONES:

- La creación de Sistemas Catastrales permite al usuario tener una poderosa

herramienta de consulta, no solo para ver datos en forma textual, sino que

permite presentarlo y visualizarlos gráficamente.

- El trabajar con programas que permitan la utilización de varios formatos,

ayuda a tener un mejor desenvolvimiento, ya que la información la podemos

ejecutar desde varias plataformas y no será necesario tener una específica.

- Los programas de diseño, como AutoCAD y ArcView, nos permiten manipular

y trabajar con nuestros mapas, de una forma sencilla y efectiva para poder

realizar los cambios necesarios y visualizar el resultado final.

- Debido al progreso de los programas de diseño y programación, la utilización

de estos es más fácil actualmente de lo que era antes, esto principalmente

por que las interfaces gráficas han mejorado o son una nueva forma de

trabajar, lo que la relación con el usuario se hace más confiable y efectiva.

- Al manejar una base de datos externa, por medio de MapObjects se logro

que programas desarrollados en Visual Basic 6.0, como nuestro caso, sean

livianos, con lo que se gana un procesamiento mucho más rápido y se puede

tener una compilación rápida del programa.

- AutoCAD es una herramienta que nos permite manipular cartografía digital,

de acuerdo a nuestras necesidades, en donde podemos alterar o visualizar

las propiedades de un plano a través de su interface gráfica y botones o

comandos que facilitan nuestro trabajo.


22

- ArcView es un programa que permite trabajar especialmente con cartografía

digital, o con información SIG, permite trabajar con tablas, cuyos datos están

tabulados, creando una relación entre la parte textual y gráfica del mapa y

nos permite relacionar tablas por medio de sus datos comunes.

- ArcView tiene la opción de realizar la correspondiente conversión de formato,

para que archivos externos trabajen bajo el formato nativo de ArcView.

- El desarrollo de este proyecto, permitió introducirse al manejo de nuevos

programas, conceptos, en especial a lo relacionado a información SIG, que

han ayudado al cumplimiento de este proyecto y poder relacionar la parte

telefónica con la informática.

- El desarrollo de este software brindará a la empresa Pacifictel-Loja de una

herramienta amigable, para la consulta y administración de sus redes

telefónicas y de los abonados que las conforman, de una forma digital y

actualizada, lo que asegura la confiabilidad de los datos.

- El empleo de este tipo de software de programación, nos permite trabajar con

la información en varias partes y relacionarla de forma diferente, aplicándola

para desarrollar diferentes aplicaciones.

- La posibilidad de enlazar estos programas, nos permite crear diferentes

aplicaciones, con datos similares o diferentes que al final se complementan,

logrando un software catastral telefónico de tipo general.

- La información en estado digital, permite tener una actualización mucho más

rápida, una mayor durabilidad y escaso deterioro de los datos.

- Los Sistemas Catastrales permiten que la información tenga una mayor

movilidad, mejor presentación, ocupan poco espacio, una mejor

manipulación, brindan una mejor seguridad para los datos (acceso restringido
23

o total), entre otras, que hacen que estos sean de agrado y uso en muchas

áreas profesionales.

- El presente sistema tiene la ventaja de ser un programa de tipo abierto, no

solo en lo referente al ingreso o actualización de datos distritales, sino que

permite la creación de nuevas aplicaciones que lo mejorarán a futuro.

- Este sistema es el resultado final, al que se ha llegado después de una serie

de cambios y pruebas, efectuadas en Pacifictel-Loja, el mismo que sufrió

modificaciones a lo largo de su desarrollo, por las recomendaciones y

necesidades del personal de esta empresa, lo que originó la extensión de

tiempo para llegar a su culminación.

3.2 RECOMENDACIONES:

- Utilizar las extensiones adecuadas para realizar las correspondientes

importaciones de información.

- Tener siempre respaldos de la información, para poder sustentar una posible

pérdida total o parcial de la información.

- Tener siempre activas las extensiones necesarias en ArcView, para poder

trabajar sin retrasos o inconvenientes por la falta de estos, y de no tener

dichas extensiones se deberá descargarlas, para continuar con el trabajo.

- Trabajar en el formato nativo de ArcView, para que las actividades que se

tengan que realizar se guarden en los formatos propios del programa, y de

no ser el caso realizar la correspondiente conversión a formato “shape”.

- Para este tipo de aplicaciones, como son los sistemas de catastro, es

indispensable trabajar con cartografía actualizada o más cercana a la

realidad, con la que se cuenta. Esto para evitar datos erróneos, que

ocasionarán información inapropiada.


24

- Los datos (dirección y caja) referentes a las líneas que pertenecen a una red

deben estar completos, sin importar si estos están asignados a un abonado o

no, con la finalidad de tener una mejor referencia de la ubicación de los

mismos, para poder determinar su uso.

- Para futuras versiones del programa, sería conveniente trabajar bajo

software libre, lo que permitirá trabajar con programas de libre distribución y

evitar el pago de las licencias por el uso de dichos programas.


25

REFERENCIA BIBLIOGRAFICA

[1] Dirección Nacional de Catastro, Uruguay, ¿Qué es el Catastro?,


http://www.catastro.gub.uy/?cat=5
[2] Lincoln Intitute of Line Policy; Catastros en America Latina: Logros y problemas sin
resolver (Land Lines Article), ¿Qué es un Catastro?,
http://www.lincolninst.edu/pubs/PubDetail.aspx?pubid=951
[3] Visual Basic; http://www.monografias.com/trabajos10/visual/visual.shtml.
[4] Universidad de Navarra, Aprenda Visual Basic 6.0: Como si estuviera en primero,
http://www1.ceit.es/asignaturas/Informat1/ayudainf/aprendainf/VisualBasic6/vbasic60
.pdf
[5] Microsoft Office Access 2007, Practical Learning Series; Los Registros de una
Tabla,http://translate.google.com.ec/translate?hl=es&langpair=en|es&u=http://www.y
evol.com/en/access2007/index.htm&prev=/translate_s%3Fhl%3Des%26q%3DMicros
oft%2Baccess%2B2007%26tq%3Dmicrosoft%2Baccess%2B2007%26sl%3Des%26tl
%3Den
[6] AutoCAD; http://es.wikipedia.org/wiki/AutoCAD
[7] Geólogos del Mundo-Asturias; Introducción a ArcView 3.2,
http://www.xeologosdelmundu.org/files/Tallerintrocucci%C3%B3nalusodeARCVIEW3
.pdf.
[8] La Ciencia y el Hombre; ¿Qué son los Sistemas de Información Geográfica?,
MapObject, Septiembre – Diciembre 2005,
http://www.uv.mx/cienciahombre/revistae/vol18num3/articulos/informacion%20geogr
afica/index.htm
[9] ESRI Support Center (foro), y colocando en el buscador “dibujar polígonos o
polilíneas con MapObjects2.2”,
http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=205
00
ANEXO 1
OFICIO DE ACEPTACION Y CULMINACION
ANEXO 2
MANUAL USUARIO
29

TEMARIO

I. Introducción…………………………………………………………………….. 32

II. Manejo del Programa………………………………………………………….. 33

a. Usando el “Busca Calles”……………………………………………… 34

b. Uso Normal del Programa…………………………………………….. 37

Primer Paso: Escoger Central………………………………………… 39

Segundo Paso: Escoger Distrito………………………………………. 39

Tercer Paso: Consulta de Datos………………………………………. 43

Índice de figuras

Figura 1: Primera pantalla “División por Centrales”………………………….. 33

Figura 2: Buscador de Calles……………………………………………………34

Figura 3: Visualizar y Escoger desde las calles ingresadas…………………..35

Figura 4: Buscar calles Principales y/o Secundarias…………………………..35

Figura 5: Resultado favorables de la búsqueda………………………………..36

Figura 6: Resultado negativo, por mal ingreso de información……………….37

Figura 7: Secuencia de Mapas Enlazados………………………………………38

Figura 8: Primera pantalla “División por Centrales”…………………………….39

Figura 9: Segunda Pantalla del Programa, presentando la División………….40


Distrital de la Central escogida.

Figura 10: Segunda pantalla “División por Distritos”……………………………41

Figura 11: Selección de un distrito………………………………………………...42


30

Figura 12: Pantalla de “División de Consulta Distrital”,


visualizando los Buscadores, la Tabla de datos y el mapa
del distrito con su red, calles y cajas……………………………………………...45
31

MANUAL DE USUARIO
SISTEMA DE CATASTRO TELEFONICO PARA PACIFICTEL
32

I. INTRODUCCION

El Sistema de Catastro Telefónico desarrollado para Pacifictel, es una herramienta


creada para ayudar a realizar las consultas sobre datos de abonados y su ubicación dentro del
casco urbano de la ciudad de Loja, este sistema tiene como objetivo facilitar dicho proceso de
consulta integrando en un mismo sistema la información de los abonados y la información
cartográfica donde se detalla la red secundaria de cada distrito y su correspondiente
distribución de las cajas de distribución.

El programa está conformado por una serie de pantallas, en donde cada una de estas
presenta información ya sea de tipo cartográfico o textual (datos de abonados o cajas de
distribución), con ciertas herramientas que permitirán tanto la navegación por las pantallas
como aquellas que nos permitirán realizar consultas en ellas.

El funcionamiento del mismo está basado en un proceso llamado de mapas enlazados,


esto representa, que se parte de un mapa global y conforme se va escogiendo dentro de estos,
se va ingresando a mapas más precisos conforme se vaya realizando las consultas.

Dentro de este programa se tiene un buscador principal de calles, con el cual podemos
relacionar las calles principales y secundarias, y de este modo conseguir la ubicación (central y
distrito) a la que pertenece, facilitando la búsqueda. Con los demás buscadores, presentes en
el programa, se puede realizar consultas a nivel de número telefónico, por cajas de distribución
o por campos (cliente, dirección, regleta, caja, armario, teléfono, central, estado), obteniendo de
este modo los principales campos de consulta.

A pesar de que algunas opciones o herramientas ofrecidas al usuario para su uso, están
siempre visibles en la pantalla, algunas de estas se las llama a través de los menús o con la
ayuda de una combinación de las teclas del teclado.

El manejo del programa no representa una gran dificultad, ya que la interfaz gráfica del
mismo es amigable para el usuario, pero como es un programa nuevo es necesario el manual
de usuario, esto para responder a cualquier consulta por parte de él, hasta que su
adiestramiento o conocimiento del programa no lo requiera.
33

II. MANEJO DEL PROGRAMA:

Una vez que el programa se ha instalado, se crea un icono en el escritorio de la


máquina (de haber escogido esta opción al momento de la instalación) y en el menú principal,
con el nombre de “Sistema de Catastro para Pacifictel”.

Sea cualquier modo de ingresar al programa la primera pantalla al ejecutarse el mismo,


será la pantalla de “División por Centrales”; fig. 1. Donde se aprecia la división del casco
urbano de la ciudad de Loja por centrales, las misma que se las denomina: Central Norte,
Central Centro y Central Sur, claramente identificables.

Figura 1: Primera pantalla “División por Centrales”

Fuente: Sistema de Catastro Pacifictel-Loja: Autor


34

En este punto, el usuario podrá hacer uso del “Busca Calles”, para tener una referencia
de la ubicación de las calles; es decir, saber en qué Central y Distrito están dichas calles. O la
otra opción es dirigirse al distrito deseado, siguiendo el proceso de mapas enlazados.

a. USANDO EL “BUSCA CALLES”

Una vez ingresado en el programa y estando en la primera pantalla, se puede activar el


buscador denominado “Ubicación de Calles”; fig. 2. Este buscador se activa a través de la
opción del menú llamada “Busca Calles”, ubicada en la opción de “Herramienta” presente en la
barra de menús o por medio de la tecla F11.

Calle a buscar

Calles ingresadas

Figura 2: Buscador de Calles

Fuente: Sistema de Catastro Pacifictel-Loja: Autor

Por medio de esta herramienta se puede buscar calles, sean estas principales o
secundarias, y poder determinar la ubicación de estas. Este está dividido en calles Principales y
calles Secundarias, una pantalla de texto para ingresar la calle a buscar (principal o
secundaria), un botón para activar la búsqueda y otro que nos permite recuperar las calles
ingresadas luego de realizar una búsqueda.

Para ver las calles ingresadas, sean principales o secundarias; fig. 3, lo que se hace es
colocar el puntero sobre el botón de activación; y con un clic se presentan las calles
35

ingresadas, y para escoger, se coloca el puntero sobre una de ellas, resaltándose, y con un clic
se escoge y se coloca en el visor respectivo, este proceso es igual para las calles principales y
secundarias. Escogido las calles a buscar nos valemos del botón “Buscar” para realizar la
consulta.

Figura 3: Visualizar y Escoger desde las calles ingresadas

Fuente: Sistema de Catastro Pacifictel-Loja

Pero, si se complica el encontrar una calle directamente, o de la forma anterior, lo mejor


es utilizar la sección de búsqueda de calles (figura 2), donde se escribe la calle deseada
(nombre completo o parte de este); fig. 4, y al hacer clic en el botón , se presentará una lista
más simplifica que la original (una o más), facilitando encontrar una calle y al igual que en la
parte anterior se escoge la calle (principal y secundaria) y procedemos a ocupar el botón de
búsqueda para hacer la consulta.

Figura 4: Buscar calles Principales y/o Secundarias

Fuente: Sistema de Catastro Pacifictel-Loja: Autor


36

Se debe tener presente que las calles están divididas en principales y secundarias, y al
momento de hacer la consulta hay que tener presente este antecedente, para que al buscar el
resultado sea el deseado; es decir, buscar calles principales en su sección y secundarias en su
respectiva sección para evitar los errores.

Si al momento de realizar una búsqueda o colocar un nombre para lo mismo, y no es lo


que se desea, se debe emplear el botón de “Recuperar Calles” para que se cargue
nuevamente la lista de calles ingresadas y poder realizar una nueva consulta. Esto se debe
realizar antes de efectuar una nueva búsqueda.

Una vez que se ha encontrado o escogido las calles a ubicar, se emplea el botón de
“Buscar”, en este momento el programa relaciona la información brindada y en base a nuestra
base este nos brindara una respuesta positiva o negativa. Si las calles ingresadas están
correctas se presentará una cuadro; fig. 5, indicando la Central y Distrito al que están
relacionadas las calles ingresadas, de no ser el caso se visualizará un cuadro; fig. 6, como
respuesta negativa, donde al aceptar, se deberá hacer correctamente esta introducción de
información.

Figura 5: Resultado favorables de la búsqueda

Fuente: Sistema de Catastro Pacifictel-Loja: Autor


37

Figura 6: Resultado negativo, por mal ingreso de información

Fuente: Sistema de Catastro Pacifictel-Loja: Autor

Si el ingreso de información es correcto y se tiene un resultado favorable (figura 5), se


tiene la información de la ubicación y aparte se pregunta si el usuario desea ir al distrito
directamente. De ser favorable la respuesta, el programa va directamente a la pantalla de
“División de Consulta Distrital” (tercera pantalla), explicada en lo posterior.

De obtener una respuesta negativa, el programa no se orientará a ninguna parte,


permaneciendo con la pantalla de “Ubicación de Calles”, para hacer otra búsqueda o escoger
ingresar a una Central.

b. USO NORMAL DEL PROGRAMA

Para esta parte, el usuario no dependerá del “Busca Calles” y llegará al distrito deseado
por medio del enlace de mapas, como se lo resume a continuación; fig. 7.
38

1 2 3

Mapa General de Loja Selección de un Centro Presentación distrital y

con su división por centros elección de un distrito

Presentación del distrito escogido

con su información y opción de buscar


Figura 7: Secuencia de Mapas Enlazados

Fuente: Sistema de Catastro Pacifictel-Loja: Autor


39

PRIMER PASO: ESCOGER CENTRAL

En la pantalla de inicio se presenta la zona urbana de Loja, dividida por centrales,


donde aquí se escoge uno de ellos; fig. 8.

Figura 8: Primera pantalla “División por Centrales”

Fuente: Sistema de Catastro Pacifictel-Loja: Autor

SEGUNDO PASO: ESCOGER DISTRITO

Para llegar al distrito requerido, se debe escoger en la pantalla inicial “División por
Centrales”, una de las centrales: Norte, Centro o Sur, haciendo clic sobre los nombres de
los mismos, presentando la segunda pantalla “División por Distritos”; fig. 9, de la central
correspondiente.
40

División Distrital Centro División Distrital Sur

División Distrital Norte

Figura 9: Segunda Pantalla del Programa, presentando la División Distrital de la Central escogida.

Fuente: Sistema de Catastro Pacifictel-Loja: Autor

Dentro de esta pantalla se presenta la central con su división distrital, y con ciertas
herramientas que ayudan al usuario a guiarse dentro de este. En la barra de menú, se tiene
la opción denominada “Opciones”, donde este presenta otras funciones de ayuda como:
Autoetiquetar, Full extent y Salir. A estas se las activa desde esta parte o con la ayuda de
las teclas junto a estas. Y también presenta otras, visibles directamente en la pantalla; fig.
10.
41

Figura 10: Segunda pantalla “División por Distritos”

Fuente: Sistema de Catastro Pacifictel-Loja

Al abrirse esta pantalla, se presenta el mapa distrital y las herramientas ubicadas a


la derecha, pero los distritos no están etiquetados. Para lograr esto se puede usar la opción
de “Autoetiquetar” desde la barra de menú o emplear las teclas ctrl + a y se etiqueta

directamente, al hacer esto aparece una ventana de texto, la misma que al hacer clic en ,
se presenta una lista de los distritos de esta central, que al escoger uno de ellos se
presentará en ambas ventanas de texto, y al hacer clic en la ventana de texto superior y
luego sobre el mapa, se podrá ver la ubicación del mismo ya que este titilará por unos
segundos.

Para llegar a este, de ser el caso se puede usar la opción de “zoom/pan”, donde al
estar esta activa, podremos usar el botón izquierdo del ratón (mouse) para hacer
42

acercamientos, presionándolo y moviéndolo, y la tecla de en medio (scroll) para hacer “pan”


(moverse) cada vez que se lo tenga presionado.

Se puede escribir el nombre del distrito a buscar, en la ventana de texto superior, de


la misma manera en que se auto etiquetan; es decir, se debe escribir Distrito*** (***, los
dos primeros representan el número y el otro la letra designada a un distrito), esto de no
desear usar la otra forma.

Si se ha realizado acercamientos y se desea visualizar todo el mapa se puede usar


la opción de “Full extent” desde el menú o con las teclas ctrl + F, y así se presentará el
mapa completo.

Para escoger una distrito, se debe activar la opción de “Escoger distrito” y colocar el
puntero cercano a una línea del contorno del distrito, para ello es recomendable hacer
acercamientos del distrito, para tener el contorno bien claro y poder escoger sin problemas.
Cuando se acerca el puntero sobre los distritos, se presentará el nombre de los mismos
para mayor referencia; fig. 11.

Figura 11: Selección de un distrito

Fuente: Sistema de Catastro Pacifictel-Loja


43

TERCER PASO: CONSULTA DE DATOS

Una vez encontrado y escogido el distrito deseado, el programa abre una nueva
ventana, la tercera pantalla y última; fig. 11. En esta pantalla, se presenta al distrito
escogido con su red y división urbana, se tiene la barra de menús con las opciones
principales de: Opciones, Herramientas y Buscadores. Dentro de “Opciones”, se tiene las
funciones de: Observar todos los datos, Presentar Calles, Presentan Cajas y Salir. En la
opción de “Herramientas” se tiene: Zoom, Pan y Full extent. Con “Buscadores” se tiene las
opciones de consulta de: Buscar por campos, Buscar por teléfono y Buscar por cajas.

Las opciones mencionadas se activan desde el menú o con las teclas indicadas a un
lado de estas.

Antes de empezar a trabajar o realizar una consulta, se deberá presentar las calles y
luego las cajas, caso contrario no se las puede realizar, y no se hará ninguna búsqueda.
Para presentar las calles se lo hace desde el menú o con las teclas ctrl + C y luego las
cajas, igual desde el menú o con ctrl + B, de no ser de este modo se presentará un cuadro
de texto expresando que primero se debe presentar las calles. Realizado esto, se podrá
consultar sin mayores problemas

Las opciones de zoom se las activa desde el menú, con las teclas ctrl + Z o
directamente presionando la tecla izquierda del ratón, para hacer acercamientos. La opción
pan, desde el menú, con las teclas ctrl + P presionando la tecla central del ratón o
directamente con el botón derecho del mismo. Si al realizar un zoom o pan se pierde los
nombres de las calles y cajas, se debe volver a activarlas.

La función de “Observar todos los datos” permite observar todos los datos de los
abonados que están en dicho distrito, esto se lo activa por el menú o con las teclas ctrl + O.
44

La opción de “Buscar por cajas” permite visualizar los datos contenidos dentro de
una caja de distribución y al hacer doble clic a un lado de este comenzará a titilar, indicando
su posición, y el mapa se centra en referencia a la búsqueda. Luego de esto se presentan
los datos de la caja en la parte inferior. Al presentarse los datos la ventana del buscador
desaparece y se queda visible la ventana con los datos buscados; fig. 11.

La opción de “Buscar por teléfono”, activada desde el menú o con las teclas ctrl + T,
permite buscar a través del número telefónico, donde al activar la búsqueda titilará la caja
donde está ubicado y al final se presentan los datos requeridos. Sucediendo que al
presentarse los datos la ventana respectiva del buscador se quita; fig. 11.

En cambio al usar el “Buscador por campos”; fig. 11, activado desde el menú o con
la ayuda de las teclas ctrl + M, permite buscar por los campos de: Central, Cliente,
Dirección, Teléfono, Armario, Regleta, Estado y Caja. A pesar de que se pueda escoger
consultar por Par Primario y Par Secundario, este no está activado ya que no es relevante
para nuestros propósitos, y no se recomienda hacerlo. Activada esta opción el manejo es

sencillo, se presiona en el botón y se visualiza los campos, al escoger uno de ellos


(excepto, par primario y secundario), se presenta en las ventanas de texto, activándose así
la opción escogida. Y en la tercera ventana de texto se coloca la correspondiente
información de acuerdo al campo escogido. Si la opción es buscar por dirección, se escribe
solo una calle, sin su intersección.

Al igual que los anteriores al efectuar una búsqueda, la parte de donde proviene la
información titilará y se presentará luego. Si esta búsqueda representa la visualización de
varias opciones, se visualizará una ventana que nos indicará si deseamos seguir con la
búsqueda o detenerla. Si se continua, aparecerán las demás datos, preguntándonos si
deseamos seguir, hasta que se termine la búsqueda, pero de ser lo contrario esta se
detiene, desaparece la ventana respectiva y esta visible la ventana de datos.
45

La ventana de datos que se presenta con este tipo de búsqueda, solo deja ver dos
campos, el del campo de base de la búsqueda y del campo de la caja a la que pertenece.
Lo que no sucede con los otros buscadores. Pero al tener la referencia de la caja ya se
podrá presentar los datos con todos los campos.

La tabla donde se presentan los datos, como resultado de las búsquedas realizadas,
se puede cerrar con la ayuda del botón denominado “Cerrar tabla” y de ese modo no estará
todo el tiempo visible; fig. 12.

Figura 12: Pantalla de “División de Consulta Distrital”, visualizando los Buscadores, la Tabla de datos y el
mapa del distrito con su red, calles y cajas

Fuente: Sistema de Catastro Pacifictel-Loja

Para salir del programa se lo puede hacer desde el menú, con la opción salir o con
la ayuda de las teclas ctrl + S, saliendo de todo el programa. Si lo que se desea es salir de
una pantalla, se la cierra desde la parte superior derecha.
46

En conclusión, con la ayuda de este manual, el usuario tendrá las pautas necesarias
para poder usar este programa o interactuar con el mismo, en sus inicios, hasta que el uso
de este se le sea familiar.
ANEXO 3
MANUAL PROGRAMADOR
48

TEMARIO

I. Introducción……………………………………………………………………....52

II. Ingreso de Datos al Programa…………………………………………………...53

a. Creación de la Base de Datos…………………………………………………...53

b. Programación de los Datos en el Programa……………………………………55


49

MANUAL DE PROGRAMADOR
SISTEMA DE CATASTRO TELEFÓNICO PARA PACIFICTEL
50

I. INTRODUCCIÓN

Para logar que el Sistema de Catastro Telefónico para Pacifictel, sea un


programa completo, es necesario introducir los datos referentes a todos los distritos
que actualmente constituyen la base telefónica de la ciudad de Loja.

Debido a que el programa será manejado por personal, ajeno a la creación


del mismo, es necesario dar las pautas de ayuda para que ellas puedan ingresar o
modificar los datos propios del sistema.

Con este manual, se brindan las pautas de ingreso de datos, desde un punto
mínimo (la extracción del distrito) hasta llegar a su visualización y uso en el
programa.

En conclusión, el presente manual tiene como fin, ayudar al programador o


personal encargado del mismo, de una forma capaz de no complicar su tarea,
explicando el uso de los programas usados para lograr nuestros objetivos.
51

II. INGRESO DE DATOS AL PROGRAMA

Con la información creada, tanto en el AutoCAD como en el ArcView, se


tiene que crear la base de datos de los abonados del distrito a crear. Esta base es la
proporcionada directamente del SAPE, y lo que se hace es pasarla al formato de
Excel y corregir las fallas de esta. Esto representa, tener los datos escritos de la
forma en que se los va a llamar. A estos archivos se los denomina “DT***- DT50”,
guardándolos en la carpeta principal del programa “Pacifictel”, con la extensión del
Excel ’97 y no con la del Excel 2007, ubicada en el disco “C:”.

En esta parte se crean los archivos denominados “asignación-distrito-norte1,


asignación-distrito-centro1 y asignación-distrito-sur1”. Estos sirven para poder
etiquetar los distritos, cuando se ejecute el programa (segunda pantalla).

Esta parte constituye la información textual del programa, donde la


codificación del mismo permite su manipulación y presentación conforme a nuestros
requerimientos. En cambio, la parte gráfica es creada en el ArcView, con la ayuda
del AutoCAD, expresa anteriormente.

Obtenida, ambos tipos de información, lo que nos toca es crear la base de


datos para el programa. Para ello, nos valemos del Microsoft Access 2007.

a. CREACIÓN DE LA BASE DE DATOS

Para esta sección, se tener presente que la información es de dos tipos,


la de Excel y la proveniente del ArcView, lo que conlleva que para
importarlas desde su lugar de origen será diferente.

Dentro del Access se crea una base de datos, la misma que se la llama
“Base”, para este propósito. En esta se introducirá o se vinculará los
datos necesarios para presentar y visualizar la información de cada
distrito.

Para la información desde Excel, el procedimiento es el siguiente:


52

- Abierto el Access, y creada nuestra base de datos, se comienza a


importar la información desde el Excel. Para ello, escogemos la opción
“External Data (Datos Externos)” desde el menú, presentándose una
serie de opciones nuevas. Aquí se escoge la opción llama Excel, activada
esta función, se presenta una pantalla llamada “Get External Data
(Obtener Datos Externos)”; fig. 4.1. En esta se escoge la última opción, la
cual nos permitirá crear un enlace con la información desde Excel.

Figura 4.1: Llamar a la información desde el Excel

Fuente: Microsoft Access 2007

- Hecho esto, se va al “Browse (Buscar)” y de allí se tiene una nueva


pantalla que nos permitirá buscar la ubicación de los archivos que
deseamos vincular a la base, por lo general estos estarán en la carpeta
C:/Pacifictel.

- Encontrados los archivos deseados de Excel, se los escoge y el


programa presenta unas opciones posteriores, para la presentación de
los datos y al último nos pide que lo etiquetemos. Este nombre debe ser
igual al usado en el código fuente para hacer la llamada correspondiente,
por ejemplo: DT50.
53

- Se acepta y este se presenta en la parte izquierda de la pantalla, con


un icono de Excel, indicando de qué tipo es la información.

- Este procedimiento, se realiza para todo tipo de información que se


quiera vincular desde o con la extensión de Excel.

Para la información generada en el ArcView:

- Como la extensión es diferente al Excel, el procedimiento para


vincular esta información es un poco diferente, ya que esta extensión es
de tipo *.dbf. Para importar estos datos se escoge la opción llamada
“More”, dentro del menú “Datos Externos”, aquí se presenta un sub menú
de opciones de importación, donde se escoge la opción “dBASE File”, y
se presenta una ventana similar al de la fig. 59, con la diferencia de que
esta es para información de tipo dBASE.

- El procedimiento restante, es similar al anterior y al aceptar este se


cargará en la parte izquierda, pero con un icono diferente.

Estos datos vinculados se los puede abrir, para visualizarlos o


modificarlos, desde el mismo Access o desde el Excel. Lo recomendable
es hacerlo desde el Excel, en especial para las modificaciones y la parte
gráfica se lo puede hacer desde el ArcView. Cualquier cambio efectuado
en un lado o en el otro se reflejará directamente en los datos del Access,
sin la necesidad de volver a vincularlos.

b. PROGRAMACIÓN DE LOS DATOS EN EL PROGRAMA

Obtenida la información hasta este punto, toca ahora relacionarla con el


programa; es decir, escribir el código que permite llamar a la base de
datos creada. Como es un programa abierto, la inclusión de esta parte se
convertirá en una repetición para cada distrito.
54

Lo que conlleva a copiar el código varias veces, pero especificando a que


distrito pertenece. Esto se lo realiza de la siguiente forma:

Se abre el código fuente del programa, teniendo activas las Referencias y


Componentes necesarias para el trabajo. Tanto las Referencias y los
Componentes están dentro del menú “Proyecto”. Las Referencias son:
Visual Basic for Applications, Visual Basic Runtime Objects and
Procedures, Visual Basic Objects and Procedures, OLE Automation,
Microsoft ActiveX Data Objects 2.5 Library, Microsoft Data Binding
Collection y Microsoft Data Formatting Objects Library 6.0 (SP4). Los
Componentes son: ESRI MapObjects 2.2, Microsoft ADO Data Control
6.0 (OLEDB), Microsoft Common Dialog Control 6.0, Microsoft DataGrid
Control 6.0 (OLEDB) y Microsoft Windows Common Control 6.0 (SP6).

Activadas estas, se puede proseguir con la programación. En el


“Explorador de proyectos” se escoge el proyecto “Distrital (buscador.frm)”
y se abre el código del mismo. En este se tiene que introducir el código
para hacer las llamadas respectivas.

Abierto este proyecto, nos ubicamos en cada sección en que se presente


un mensaje “aquí ubicar el resto de distrito”. Se copia el código
ubicado sobre este y se lo pega después del mismo, cambiando las
partes en las que se nombra el distrito anterior por el nuevo.

Al inicio se tiene que poner el código que permite hacer consultas por
número telefónico y se debe cambiar las partes resaltadas por el nombre
del distrito nuevo.

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT50 where telefono = " + Text2.Text
Adodc2.Refresh
End If
55

Luego se tiene el código que permite realizar consultas, dependiendo del


campo se ha escogido, igual al anterior cambias lo resaltado.

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh
End If

Toca ahora ingresar la parte que permite, buscar las cajas dentro de un
distrito, a través del buscador por campo. Cambiar lo resaltado.

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select " + Text3.Text + ",caja from DT50"
Adodc2.Refresh
End If

Ahora se agrega el código correspondiente a la presentación de las


cajas, para cada distrito.

If Map1.Layers.Count > 1 Then

If Trim(vDistritosm) = "Dis50" Then


Set gds = dc.FindGeoDataset("cajasd50")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh
End If
Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

Se ingresa el código que permite hacer la consulta por medio del


buscador por cajas.

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT50 where caja = " + "'" + DataGrid1.Text + "'"
Adodc2.Refresh
End If
56

Luego se debe colocar el código que permite visualizar el distrito


escogido, con su distribución urbana y red.

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh

Adodc1.RecordSource = " select caja from cajasd50"


Adodc1.Refresh

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = False
Map1.Refresh

pann = False

For i = 0 To Adodc2.Recordset.Fields.Count - 1
Combo1.AddItem Adodc2.Recordset.Fields(i).Name
Next i
End If

A continuación se coloca la parte de código, que permite presentar los


datos completos de un distrito.

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh
End If

Se coloca la parte correspondiente al etiquetador y visualizador de las


cajas del distrito escogido. Esta repetición es por la forma de llamar a la
función.

If Map1.Layers.Count > 1 Then


If Trim(vDistritosm) = "Dis50" Then
Set gds = dc.FindGeoDataset("cajasd50")
Set mlyr.GeoDataset = gds
57

mlyr.Symbol.Color = moRed
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh

Set registro = Map1.Layers(0).Records


iii = 0
While Not registro.EOF
Set puntocalles(iii) = registro.Fields("shape").Value
Set puntocalles(iii) = registro.Fields("shape").Value

nombrecalles(iii) = registro.Fields("caja")
nombrecalles(iii) = registro.Fields("caja")

registro.MoveNext
iii = iii + 1
Wend
dibujar = True
Map1.Refresh
End If

Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

Y también, la parte correspondiente al presentador de las calles.

If Trim(vDistritosm) = "Dis50" Then


Set gds = dc.FindGeoDataset("callesd50")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moGreen
Map1.Layers.Add mlyr
Map1.Refresh

Set registro = Map1.Layers(0).Records


ii = 0
While Not registro.EOF
Set puntocallescalles(ii) = registro.Fields("shape").Value
Set puntocallescalles(ii) = registro.Fields("shape").Value

nombrecallescalles(ii) = registro.Fields("calles")

nombrecallescalles(ii) = registro.Fields("calles")
registro.MoveNext
ii = ii + 1
Wend
58

dibujar = True
Map1.Refresh

End If

Una vez realizado todo el proceso indicado, se podrá trabajar con un nuevo
distrito, presentando tanto su parte gráfica y textual, permitiendo consultar y
observar la ubicación de donde provienen dichos datos. Este proceso es para cada
distrito nuevo a ingresar.

El momento, en que se crean los archivos pertenecientes a cada distrito,


estos se los debe guardar el la capeta Pacifictel, debido a que la información que el
programa lee la extrae desde esa dirección.
ANEXO 4

MAPA DISTRITAL DE LA CIUDAD DE LOJA


60
ANEXO 5

INSTALACIÓN DEL PROGRAMA


62

PRIMER PASO:

Para la instalación del programa en la máquina (computadora) donde se lo ejecutará, se


toma como primer paso la instalación del programa de Visual Basic 6.0; este se lo encuentra en
el CD anexado, esto con la finalidad de que al ejecutar el programa de catastro, se puedan
ejecutar correctamente sus funciones.

Para ello, se copia la carpeta de Visual Studio 6.0 en la máquina, preferentemente en el


disco C: en la carpeta de “Archivos de Programa (Program File)”.

Una vez realizado esto, se abre esta carpeta y se escoge el icono con el nombre
“acmboot”, haciendo doble clic en este se empezará a instalar el programa, con la clave: 330-
9865824, vista en el archivo ID Producto de esta carpeta. De allí se siguen los pasos hasta que
se complete la instalación.

Realizado lo anterior, se instala el MapObject2.2; contenido en el CD anexado. Se


guarda la carpeta es la sección de Archivos de Programa, dentro de esta se escoge el icono
“Mo22Setup”, que permite comenzar la instalación, siguiendo los pasos requeridos.

SEGUNDO PASO:

Realizado la instalación de los programas anteriores, lo que toca ahora es la instalación


del programa de Catastro.

Se toma la carpeta con el nombre “Sistema Catastro Pacifictel” y si se desea se lo


guarda en la máquina o se lo ejecuta desde el CD, al hacer esto se empezará a instalar el
programa, el cual instalará automáticamente la carpeta “Pacifictel” en la unidad C: con todos los
elementos requeridos para ser ejecutado.

Una vez completada la instalación, se podrá ejecutar y trabajar con el programa. Para
llamarlo, se lo hace desde un icono colocado en el Escritorio (Desktop), o desde la barra de
menú inicial.
ANEXO 6

CODIGO FUENTE – PROGRAMA CATASTRO


64

PRIMERA PANTALLA: DIVISIÓN POR CENTRALES

Option Explicit
Dim g_poly As New MapObjects2.Polygon
Dim g_line As New MapObjects2.Line
Dim g_o1Poly As New MapObjects2.Polygon
Dim g_o2Poly As New MapObjects2.Polygon
Private strsLabels As New MapObjects2.Strings
Private lnsLabels As New VBA.Collection
Dim dc As New MapObjects2.DataConnection
Dim lyr As New MapObjects2.MapLayer
Dim closestLine As MapObjects2.Polygon
Dim closestLineLabel As String
Dim tsym As New MapObjects2.TextSymbol
Dim shp As MapObjects2.Point

Private Sub Command1_Click()

Dim outColl As New VBA.Collection

' Split the selected polygon with the tracked line


'Set outColl = SplitPolyWithLine(g_poly, g_line)
If Not outColl.Count = 0 Then
Set g_o1Poly = outColl(1)
Set g_o2Poly = outColl(2)
Else
Set g_o1Poly = Nothing
Set g_o2Poly = Nothing
End If

' Flash the new polys...


If Not g_o1Poly.Area = 0 Then
Map1.FlashShape g_o1Poly, 3
Map1.FlashShape g_o2Poly, 3
End If

Set g_line = Nothing


Map1.Refresh

End Sub

'Private Sub Command2_Click()


'Set Map1.Extent = Map1.FullExtent
'End Sub
65

Private Sub Command3_Click()


vDistritos = "themeds"
Distritos.Caption = "Distrito Sur"
Distritos.Show 1

End Sub

Private Sub Command4_Click()


vDistritos = "Distritos-centro1"
Distritos.Caption = "Distrito-Centro"
Distritos.Show 1
End Sub

Private Sub Command5_Click()


vDistritos = "Distritos-norte1"
Distritos.Caption = "Distrito Norte"
Distritos.Show 1
End Sub

'Private Sub Command6_Click()


'On Error Resume Next
'Dim pos As Integer
'Dim encontrado As Boolean

'encontrado = False
'Adodc1.RecordSource = "select * from DT50"
'Adodc1.Refresh

'While Not Adodc1.Recordset.EOF And Not encontrado


'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)
'If pos > 0 Then
'MsgBox "La central es : Centro"
'MsgBox "El distrito es: 50"
'encontrado = True
'End If
'Adodc1.Recordset.MoveNext
'Wend

'If Not encontrado Then

'Adodc1.RecordSource = "select * from DT52"


'Adodc1.Refresh

'While Not Adodc1.Recordset.EOF And Not encontrado


66

'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)


'If pos > 0 Then
'MsgBox "La central es : Centro"
'MsgBox "El distrito es: 52"
'encontrado = True
'End If
'Adodc1.Recordset.MoveNext
'Wend
'End If

'If Not encontrado Then

'Adodc1.RecordSource = "select * from DT59"


'Adodc1.Refresh
'While Not Adodc1.Recordset.EOF And Not encontrado

'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)


'If pos > 0 Then
'MsgBox "La central es : Sur"
'MsgBox "El distrito es: 59"
'encontrado = True
'End If

'Adodc1.Recordset.MoveNext
'Wend

'End If

'If Not encontrado Then

'Adodc1.RecordSource = "select * from DT64"


'Adodc1.Refresh
'While Not Adodc1.Recordset.EOF And Not encontrado

'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)


'If pos > 0 Then
'MsgBox "La central es : Sur"
'MsgBox "El distrito es: 64"
'encontrado = True
'End If

'Adodc1.Recordset.MoveNext
'Wend

'End If
67

'aqui adicionar el resto de codigo


'End Sub

Private Sub Form_Load()

On Error Resume Next


dc.Database = "c:\pacifictel\"
Set lyr.GeoDataset = dc.FindGeoDataset("poligonos")
lyr.Symbol.Color = moLightYellow
Map1.Layers.Add lyr

Set g_o1Poly = Nothing


Set g_o2Poly = Nothing

End Sub

Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)

Dim lsym As New MapObjects2.Symbol


Dim op1sym As New MapObjects2.Symbol
Dim op2sym As New MapObjects2.Symbol
Dim psym As New MapObjects2.Symbol

lsym.SymbolType = moLineSymbol
lsym.Color = moBlack
op1sym.SymbolType = moFillSymbol
op1sym.Color = moDarkGreen
op1sym.Style = moGrayFill
op2sym.SymbolType = moFillSymbol
op2sym.Color = moMagenta
op2sym.Style = moGrayFill
psym.SymbolType = moFillSymbol
psym.Color = moGreen

If Not g_poly Is Nothing Then


Map1.DrawShape g_poly, psym
End If

If Not g_o1Poly Is Nothing Then


68

Map1.DrawShape g_o1Poly, op1sym


Map1.DrawShape g_o2Poly, op2sym
'Set g_line = Nothing
End If

If Not g_line Is Nothing Then


Map1.DrawShape g_line, lsym
End If

End Sub

Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

'If Option4 Then


Dim pt As New MapObjects2.Point
Set pt = Map1.ToMapPoint(X, Y)
Dim recs As MapObjects2.Recordset
Set recs = Map1.Layers(0).SearchShape(pt, moPointInPolygon, "")
If Not recs.EOF Then
Set g_poly = recs.Fields("Shape").Value
Label1.Caption = recs.Fields("Centrales").Value
If Label1.Caption = "Central Sur" Then
vDistritos = "themeds"
Distritos.Caption = "Distrito Sur"
Distritos.Show 1
End If
If Label1.Caption = "Central Norte" Then
vDistritos = "Distritos-norte1"
Distritos.Caption = "Distrito Norte"
Distritos.Show 1
End If
If Label1.Caption = "Central Centro" Then
vDistritos = "Distritos-centro1"
Distritos.Caption = "Distrito Centro"
Distritos.Show 1
End If

Else
MsgBox "Seleccione Central"
End If
Map1.Refresh
' Exit Sub
'End If
69

If Option1 Then
'Set g_poly = Map1.TrackPolygon
Else
'Set g_line = Map1.TrackLine
Set g_o1Poly = Nothing
Set g_o2Poly = Nothing
End If
Map1.Refresh
End Sub

Private Sub Map1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


Dim ptClicked As New MapObjects2.Point
Set ptClicked = Map1.ToMapPoint(X, Y)
Dim tol As Double
tol = 1 * Screen.TwipsPerPixelX
tol = Map1.ToMapDistance(tol)
Dim selRecs As MapObjects2.Recordset
Set selRecs = Map1.Layers(0).SearchByDistance _
(ptClicked, tol, "")

If selRecs.Count > 0 Then


'Find the closest line to the click.
Dim i As Integer
Dim thisLine As MapObjects2.Polygon
Dim closestDist, thisDist As Double
closestDist = 999999999
Do While Not selRecs.EOF
Set thisLine = selRecs.Fields("shape").Value
thisDist = thisLine.DistanceTo(ptClicked)
If thisDist < closestDist Then
closestDist = thisDist
Dim gaa As Double

Set closestLine = thisLine


Map1.ToolTipText = selRecs.Fields("Centrales").Value
End If
selRecs.MoveNext
Loop
End If
End Sub

Private Sub mBuscarCalles_Click()


On Error Resume Next
Dim pos As Integer
Dim encontrado As Boolean
70

'encontrado = False
'Adodc1.RecordSource = "select * from DT50"
' Adodc1.Refresh

'While Not Adodc1.Recordset.EOF And Not encontrado


'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)
'If pos > 0 Then
' MsgBox "La central es : Centro"
' MsgBox "El distrito es: 50"
' encontrado = True
'End If
'Adodc1.Recordset.MoveNext
'Wend

'If Not encontrado Then

'Adodc1.RecordSource = "select * from DT52"


' Adodc1.Refresh

'While Not Adodc1.Recordset.EOF And Not encontrado

'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)


'If pos > 0 Then
' MsgBox "La central es : Centro"
' MsgBox "El distrito es: 52"
' encontrado = True
'End If
'Adodc1.Recordset.MoveNext
'Wend
'End If

'If Not encontrado Then

'Adodc1.RecordSource = "select * from DT59"


' Adodc1.Refresh
'While Not Adodc1.Recordset.EOF And Not encontrado

'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)


'If pos > 0 Then
' MsgBox "La central es : Sur"
' MsgBox "El distrito es: 59"
' encontrado = True
'End If

'Adodc1.Recordset.MoveNext
71

'Wend

' End If

'If Not encontrado Then

'Adodc1.RecordSource = "select * from DT64"


' Adodc1.Refresh
'While Not Adodc1.Recordset.EOF And Not encontrado

'pos = InStr(1, UCase(Trim(Adodc1.Recordset.Fields("direccion"))), UCase(Trim(Text3.Text)), vbTextCompare)


'If pos > 0 Then
' MsgBox "La central es : Sur"
' MsgBox "El distrito es: 64"
' encontrado = True
'End If

'Adodc1.Recordset.MoveNext
'Wend

'End If

Buscacalles.Show 1
End Sub

Private Sub mSalir_Click()


End
End Sub

BUSCA CALLES

Private Sub BBuscar_Click()


Adodc3.RecordSource = " Select * from direcciones"
Adodc3.Refresh
Adodc3.RecordSource = " Select distrito,central from direcciones where trim(principales) = '" & Trim(Combo1.Text) &
"' and trim(secundarias) = '" & Trim(Combo2.Text) & "'"
Adodc3.Refresh

If Adodc3.Recordset.RecordCount > 0 Then


a = MsgBox(" El distrito es: " & Adodc3.Recordset.Fields("distrito") & " ; La Central es : " &
Adodc3.Recordset.Fields("Central") & " ; Quiere ir al distrito? ", vbYesNo)
If a = vbYes Then
vDistritosm = Adodc3.Recordset.Fields("distrito")
Unload Me
Distrital.Show 1
End If
72

Else
MsgBox " No existen resultados para la busqueda"
End If

End Sub

Private Sub Command1_Click()

On Error Resume Next


Combo1.Clear
Adodc2.RecordSource = " select principales from direcciones"
Adodc2.Refresh

Adodc2.Recordset.MoveFirst
While Not Adodc2.Recordset.EOF
encontrado = False
For i = 0 To Combo1.ListCount
If Combo1.List(i) = Adodc2.Recordset.Fields("principales") Then
encontrado = True
i = Combo1.ListCount
End If
Next i

If Not encontrado Or Combo1.ListCount = 0 Then


Combo1.AddItem Adodc2.Recordset.Fields("Principales")
End If

Adodc2.Recordset.MoveNext
Wend

Combo2.Clear

Adodc3.RecordSource = " select secundarias from direcciones"


Adodc3.Refresh
Adodc3.Recordset.MoveFirst
While Not Adodc3.Recordset.EOF
encontrado = False
For i = 0 To Combo2.ListCount
If Combo2.List(i) = Adodc3.Recordset.Fields("secundarias") Then
encontrado = True
i = Combo2.ListCount
End If
73

Next i

If Not encontrado Or Combo2.ListCount = 0 Then


Combo2.AddItem Adodc3.Recordset.Fields("secundarias")
End If

Adodc3.Recordset.MoveNext
Wend

End Sub

Private Sub Form_Load()


On Error Resume Next
Dim encontrado As Boolean

Adodc2.Recordset.MoveFirst
While Not Adodc2.Recordset.EOF
encontrado = False
For i = 0 To Combo1.ListCount
If Combo1.List(i) = Adodc2.Recordset.Fields("principales") Then
encontrado = True
i = Combo1.ListCount
End If
Next i

If Not encontrado Or Combo1.ListCount = 0 Then


Combo1.AddItem Adodc2.Recordset.Fields("Principales")
End If

Adodc2.Recordset.MoveNext
Wend

Adodc3.Recordset.MoveFirst
While Not Adodc3.Recordset.EOF
encontrado = False
For i = 0 To Combo2.ListCount
If Combo2.List(i) = Adodc3.Recordset.Fields("secundarias") Then
encontrado = True
i = Combo2.ListCount
End If
Next i
74

If Not encontrado Or Combo2.ListCount = 0 Then


Combo2.AddItem Adodc3.Recordset.Fields("secundarias")
End If

Adodc3.Recordset.MoveNext
Wend

End Sub

Private Sub Text1_LostFocus()


Dim pos, i, j As Integer
Dim arreglo(10000) As String
j=0
For i = 0 To Combo1.ListCount - 1
pos = InStr(1, UCase(Trim(Combo1.List(i))), UCase(Trim(Text1.Text)), vbTextCompare)
If pos > 0 Then
j=j+1
arreglo(j) = Combo1.List(i)
End If
Next i

Combo1.Clear
For i = 1 To j
Combo1.AddItem arreglo(i)
Next i
Buscacalles.Refresh
BBuscar.Refresh
Command1.Refresh
Text1.Refresh
Text2.Refresh

End Sub

Private Sub Text2_LostFocus()


Dim pos, i, j As Integer
Dim arreglo(10000) As String
j=0
For i = 0 To Combo2.ListCount - 1
pos = InStr(1, UCase(Trim(Combo2.List(i))), UCase(Trim(Text2.Text)), vbTextCompare)
If pos > 0 Then
j=j+1
arreglo(j) = Combo2.List(i)
End If
Next i
75

Combo2.Clear
For i = 1 To j
Combo2.AddItem arreglo(i)
Next i
Buscacalles.Refresh
BBuscar.Refresh
Command1.Refresh
Text1.Refresh
Text2.Refresh

End Sub

SEGUNDA PANTALLA: DIVISIÓN POR DISTRITOS

Option Explicit
Dim closestLine As MapObjects2.Line
Dim closestLineLabel As String
Dim tsym As New MapObjects2.TextSymbol
Dim shp As MapObjects2.Point
Dim arreglolinea(100) As MapObjects2.Line
Dim etiquetas(100) As String
Dim i As Integer
Dim dibujar As Boolean

Private Sub Combo1_Click()


Text2 = Combo1.Text
End Sub

Private Sub Command1_Click()

Dim dc As New MapObjects2.DataConnection


Dim gds As MapObjects2.GeoDataset
Dim mlyr As New MapObjects2.MapLayer
'dc.Database = App.Path
'dc.Database = "C:\Program Files\ESRI\MapObjects2\Samples\data\Redlands"
dc.Database = "C:\pacifictel\"

dc.Connect
'Set gds = dc.FindGeoDataset("redlands")
Set gds = dc.FindGeoDataset(vDistritos)

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
76

Map1.Layers.Add mlyr

End Sub

Private Sub Form_Load()

Dim fnt As New StdFont


fnt.Name = "Alba"
fnt.Size = 12
tsym.Color = moWhite
Set tsym.Font = fnt
Command1.Caption = "Cargar capa"
Option1.Caption = "Pan/Zoom "
Option2.Caption = "Escoger distrito"
Option1.Value = True
Label1.Caption = "Tolerancia de búsqueda: 3"

dibujar = False
HScroll1.Min = 1
HScroll1.Max = 30
HScroll1.Value = 3

Dim dc As New MapObjects2.DataConnection


Dim gds As MapObjects2.GeoDataset
Dim mlyr As New MapObjects2.MapLayer
'dc.Database = App.Path
'dc.Database = "C:\Program Files\ESRI\MapObjects2\Samples\data\Redlands"
dc.Database = "C:\pacifictel\"

dc.Connect
'Set gds = dc.FindGeoDataset("redlands")
Set gds = dc.FindGeoDataset(vDistritos)

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr

End Sub

Private Sub HScroll1_Change()

Label1.Caption = "Tolerancia de búsqueda y selección: " & HScroll1.Value


77

End Sub

Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)


Dim j As Integer
For j = 0 To i
Label2.Caption = tsym.Rotation
Set closestLine = arreglolinea(j)
closestLineLabel = etiquetas(j)
If Not closestLine Is Nothing And dibujar Then
Map1.DrawText closestLineLabel, closestLine, tsym
Combo1.AddItem closestLineLabel
End If
Next j
End Sub

Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

'If the check box is checked, then the mouse


'down location will search for the closest
'line, and label it with the street name.
'
'If the check box is not checked, then the
'mouse down will turn into a pan/zoom tool

If Option2 Then
Dim ptClicked As New MapObjects2.Point
Set ptClicked = Map1.ToMapPoint(X, Y)
Dim tol As Double
'Make the search tolerance to be
'whatever the map units equivalent
'is for 3 pixels, regardless of the
'current scale/extent.
tol = HScroll1.Value * Screen.TwipsPerPixelX
tol = Map1.ToMapDistance(tol)
Dim selRecs As MapObjects2.Recordset
Set selRecs = Map1.Layers(0).SearchByDistance _
(ptClicked, tol, "")

If selRecs.Count > 0 Then


'Find the closest line to the click.
Dim i As Integer
Dim thisLine As MapObjects2.Line
Dim closestDist, thisDist As Double
closestDist = 999999999
78

Do While Not selRecs.EOF


Set thisLine = selRecs.Fields("shape").Value
thisDist = thisLine.DistanceTo(ptClicked)
If thisDist < closestDist Then
closestDist = thisDist
Dim gaa As Double
gaa = thisLine.Length
Set closestLine = thisLine
' closestLineLabel = selRecs.Fields("Name").Value
closestLineLabel = selRecs.Fields("Distrito").Value

If Trim(vDistritos) = "themeds" Then


Adodc1.RecordSource = "select * from sur"
Adodc1.Refresh
Adodc1.RecordSource = "select * from sur where numero = " + Str(selRecs.Fields("Numero").Value)
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
vDistritosm = Adodc1.Recordset.Fields("distrito")
Else
MsgBox " No se encontro el distrito"
End If
End If

If Trim(vDistritos) = "Distritos-centro1" Then


Adodc1.RecordSource = "select * from centro"
Adodc1.Refresh
Adodc1.RecordSource = "select * from centro where numero = " + Str(selRecs.Fields("Numero").Value)
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
vDistritosm = Trim(Adodc1.Recordset.Fields("distrito"))
Else
MsgBox " No se encontro el distrito"
End If
End If
If Trim(vDistritos) = "Distritos-norte1" Then
Adodc1.RecordSource = "select * from norte"
Adodc1.Refresh
Adodc1.RecordSource = "select * from norte where numero = " + Str(selRecs.Fields("Numero").Value)
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
vDistritosm = Adodc1.Recordset.Fields("distrito")
Else
MsgBox " No se encontro el distrito"
End If
End If
Distrital.Show 1
End If
79

selRecs.MoveNext
Loop
Map1.Refresh
Else 'if there were no selected records
Set closestLine = Nothing
Map1.Refresh
End If

Else 'be a pan/zoom tool


If Shift = 0 Then
If Button = 1 Then
Set Map1.Extent = Map1.TrackRectangle
dibujar = True
Else
Map1.Pan
End If
Else
If Button = 1 Then
Dim rect As New MapObjects2.Rectangle
Set rect = Map1.Extent
rect.ScaleRectangle (1.2)
Set Map1.Extent = rect
Else
Set Map1.Extent = Map1.FullExtent
End If
End If
End If

End Sub

Private Sub Map1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim ptClicked As New MapObjects2.Point


Set ptClicked = Map1.ToMapPoint(X, Y)
Dim tol As Double
tol = HScroll1.Value * Screen.TwipsPerPixelX
tol = Map1.ToMapDistance(tol)
Dim selRecs As MapObjects2.Recordset
Set selRecs = Map1.Layers(0).SearchByDistance _
(ptClicked, tol, "")

If selRecs.Count > 0 Then


'Find the closest line to the click.
Dim i As Integer
Dim thisLine As MapObjects2.Line
Dim closestDist, thisDist As Double
closestDist = 999999999
80

Do While Not selRecs.EOF


Set thisLine = selRecs.Fields("shape").Value
thisDist = thisLine.DistanceTo(ptClicked)
If thisDist < closestDist Then
closestDist = thisDist
Dim gaa As Double
gaa = thisLine.Length
Set closestLine = thisLine
Map1.ToolTipText = selRecs.Fields("Distrito").Value
End If
selRecs.MoveNext
Loop
End If
End Sub

Private Sub mAutoetiquetar_Click()

Dim thisLine As MapObjects2.Line

Dim selRecs As MapObjects2.Recordset

Set selRecs = Map1.Layers(0).Records


i=0
While Not selRecs.EOF
Set arreglolinea(i) = selRecs.Fields("shape").Value
etiquetas(i) = selRecs.Fields("Distrito").Value
selRecs.MoveNext
i=i+1
Wend

dibujar = True
Map1.Refresh
dibujar = False
Combo1.Visible = True
End Sub

Private Sub mSalir_Click()


End
End Sub

Private Sub Normal_Click()


Set Map1.Extent = Map1.FullExtent
81

End Sub

Private Sub Text2_Validate(Cancel As Boolean)


Dim exp As String
exp = "Distrito = '" & Trim(Text2.Text) & "'"
' perform the search
Dim recs As MapObjects2.Recordset
Set recs = Map1.Layers(0).SearchExpression(exp)
' show the results, if any

If Not recs.EOF Then

Dim shp As Object


Set shp = recs.Fields("Shape").Value

'Set rect = shp.Extent


'rect.ScaleRectangle 2
'Set Map1.Extent = rect ' zoom to the state

Map1.FlashShape shp, 10 ' flash the state


Else
MsgBox "No existen resultados"
End If
End Sub

TERCERA PANTALLA: DIVISIÓN DE CONSULTA DISTRITAL

Dim borrar As Boolean


Dim vzoomm As Boolean
Dim closestLine As MapObjects2.Point
Dim closestLineLabel As String
Dim tsym As New MapObjects2.TextSymbol
Dim tsym1 As New MapObjects2.TextSymbol
Dim dibujar As Boolean
Dim puntocalles(100) As MapObjects2.Point
Dim nombrecalles(100) As String
Dim puntocallescalles(100) As MapObjects2.Point
Dim nombrecallescalles(100) As String
Dim ii As Integer
Dim iii As Integer
Dim pann As Boolean
82

'Dim turisticos As Boolean


'Dim fnt As New StdFont

Private Sub Bcajas_Click()


Label1.Visible = True
DataGrid1.Visible = True
End Sub

Private Sub Bcampos_Click()


Text5.Visible = True
Text3.Visible = True
Frame1.Visible = True
Command5.Visible = True
End Sub

Private Sub Btelefono_Click()


Command4.Visible = True
Label2.Visible = True
Text2.Visible = True
End Sub

'Private Sub Buscarxcajas_Click()


'Label1.Visible = True
'DataGrid1.Visible = True
'End Sub

Private Sub Combo1_Click()


Text3.Text = Combo1.Text
End Sub

Private Sub Command1_Click()


'
'Show the common dialog to select a File.
'
With CommonDialog1
.CancelError = True
.Filter = "ESRI Shapefiles (*.shp)|*.shp"
On Error Resume Next
.ShowOpen
If Err.Number = cdlCancel Then
Exit Sub
End If
On Error GoTo 0
End With
'
' Check that there is a FileName.
'
83

If Len(CommonDialog1.FileName) = 0 Then Exit Sub

Dim layer As MapObjects2.MapLayer

Set layer = New MapObjects2.MapLayer


'
' Set the File property.
'
layer.File = CommonDialog1.FileName
'
' Check that the layer is Valid.
'
If layer.Valid Then
With layer.Symbol
.Color = moDarkGreen
End With
'
'Check that the layer has added to the Layers collection
'correctly, otherwise report failure.
'
If Not Map1.Layers.Add(layer) Then
MsgBox "Error adding MapLayer " & layer.Name
End If

End If

End Sub

Private Sub Command2_Click()


Map1.MousePointer = moZoomOut
vzoomm = True
dibujar = True
End Sub

'Private Sub Command3_Click()


'borrar = True
'MsgBox "Por favor seleccione la caja a borrar"
'End Sub

Private Sub Command4_Click()


Dim exp As String
On Error Resume Next

'*************************************************************************************

If Trim(vDistritosm) = "Dis50" Then


84

Adodc2.RecordSource = "select * from DT50"


Adodc2.Refresh
Adodc2.RecordSource = "select * from DT50 where telefono = " + Text2.Text
Adodc2.Refresh
End If

'***************************************************************************************

If Trim(vDistritosm) = "Dis59" Then


Adodc2.RecordSource = "select * from DT59"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT59 where telefono = " + Text2.Text
Adodc2.Refresh
End If

'***************************************************************************************

If Trim(vDistritosm) = "Dis52" Then


Adodc2.RecordSource = "select * from DT52"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT52 where telefono = " + Text2.Text
Adodc2.Refresh
End If

'*******************************************************************************************

If Trim(vDistritosm) = "Dis64" Then


Adodc2.RecordSource = "select * from DT64"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT64 where telefono = " + Text2.Text
Adodc2.Refresh
End If

'*******************************************************************************************

If Trim(vDistritosm) = "Dis65" Then


Adodc2.RecordSource = "select * from DT65"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT65 where telefono = " + Text2.Text
Adodc2.Refresh
End If

'*******************************************************************************************

'aqui ubicar el resto de distritos

If Adodc2.Recordset.RecordCount > 0 Then


85

exp = "CAJA = '" & Adodc2.Recordset.Fields("caja") & "'"


' perform the search
Dim recs As MapObjects2.Recordset
Set recs = Map1.Layers(0).SearchExpression(exp)
' show the results, if any
If Not recs.EOF Then

Dim shp As Object


Set shp = recs.Fields("Shape").Value

'Set rect = shp.Extent


'rect.ScaleRectangle 2
'Set Map1.Extent = rect ' zoom to the state
Map1.Refresh ' force redraw of the map
Map1.FlashShape shp, 10 ' flash the state
End If
Else
MsgBox "no hay resultados de la consulta"
End If

Command4.Visible = False
Label2.Visible = False
Text2.Visible = False
DataGrid2.Visible = True
Command9.Visible = True

End Sub

Private Sub Command5_Click()


On Error Resume Next
Dim exp As String
Dim pos As Integer
Dim fin As Boolean
fin = False

'******************************************************************************

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh
End If

'**********************************************************************************

If Trim(vDistritosm) = "Dis59" Then


Adodc2.RecordSource = "select * from DT59"
Adodc2.Refresh
86

End If

'**********************************************************************************

If Trim(vDistritosm) = "Dis52" Then


Adodc2.RecordSource = "select * from DT52"
Adodc2.Refresh
End If

'*************************************************************************************

If Trim(vDistritosm) = "Dis64" Then


Adodc2.RecordSource = "select * from DT64"
Adodc2.Refresh
End If

'***************************************************************************************

If Trim(vDistritosm) = "Dis65" Then


Adodc2.RecordSource = "select * from DT65"
Adodc2.Refresh
End If

'***************************************************************************************

'aqui ubicar el resto de distritos

If Map1.Layers.Count > 1 Then

'**************************************************************************************

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select " + Text3.Text + ",caja from DT50"
Adodc2.Refresh
End If

'*********************************************************************************************

If Trim(vDistritosm) = "Dis59" Then


Adodc2.RecordSource = "select " + Text3.Text + ",caja from DT59"
Adodc2.Refresh
End If

'********************************************************************************************

If Trim(vDistritosm) = "Dis52" Then


87

Adodc2.RecordSource = "select " + Text3.Text + ",caja from DT52"


Adodc2.Refresh
End If

'*****************************************************************************************

If Trim(vDistritosm) = "Dis64" Then


Adodc2.RecordSource = "select " + Text3.Text + ",caja from DT64"
Adodc2.Refresh
End If

'********************************************************************************************

If Trim(vDistritosm) = "Dis65" Then


Adodc2.RecordSource = "select " + Text3.Text + ",caja from DT65"
Adodc2.Refresh
End If

'*********************************************************************************************

'aqui ubicar el resto de distritos

'Adodc2.RecordSource = "select * from DT50 where " & Text3.Text & " = " + "'" & Text5.Text & "'"
''Adodc2.Refresh
Adodc2.Recordset.MoveFirst

While Not Adodc2.Recordset.EOF And Not fin

pos = InStr(1, UCase(Trim(Adodc2.Recordset.Fields(Text3.Text))), UCase(Trim(Text5.Text)), vbTextCompare)

If pos > 0 Then


exp = "CAJA = '" & Adodc2.Recordset.Fields("caja") & "'"
' perform the search
Dim recs As MapObjects2.Recordset
Set recs = Map1.Layers(0).SearchExpression(exp)
' show the results, if any
If Not recs.EOF Then

Dim shp As Object


Set shp = recs.Fields("Shape").Value

DataGrid2.Visible = True
Command9.Visible = True
88

'Set rect = shp.Extent


'rect.ScaleRectangle 2
'Set Map1.Extent = rect ' zoom to the state
'Map1.Refresh ' force redraw of the map
Map1.FlashShape shp, 10 ' flash the state
resp = MsgBox("Desea detener la búsqueda?", vbYesNo, "Busqueda")

If resp = 6 Then
fin = True
End If

End If

End If
Adodc2.Recordset.MoveNext
Wend
Else
MsgBox ("No existen los datos suficientes para la búsqueda")
End If

Text5.Visible = False
Text3.Visible = False
Frame1.Visible = False
Command5.Visible = False

End Sub

Private Sub Command6_Click()


dibujar = True
Set Map1.Extent = Map1.FullExtent
End Sub

Private Sub Command7_Click()


Dim dc As New MapObjects2.DataConnection
Dim gds As MapObjects2.GeoDataset
Dim mlyr As New MapObjects2.MapLayer
dc.Database = "C:\pacifictel\"

'*******************************************************************************

If Map1.Layers.Count > 1 Then

If Trim(vDistritosm) = "Dis50" Then


Set gds = dc.FindGeoDataset("cajasd50")
Set mlyr.GeoDataset = gds
89

mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh
End If
Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'**************************************************************************************

If Map1.Layers.Count > 1 Then

If Trim(vDistritosm) = "Dis59" Then


Set gds = dc.FindGeoDataset("cajasd59")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh
End If
Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'*******************************************************************************************

If Map1.Layers.Count > 1 Then

If Trim(vDistritosm) = "Dis52" Then


Set gds = dc.FindGeoDataset("cajasd52")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh
End If
Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'**********************************************************************************************

If Map1.Layers.Count > 1 Then

If Trim(vDistritosm) = "Dis64" Then


Set gds = dc.FindGeoDataset("cajasd64")
90

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh
End If
Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'**************************************************************************************************

If Map1.Layers.Count > 1 Then

If Trim(vDistritosm) = "Dis65" Then


Set gds = dc.FindGeoDataset("cajasd65")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh
End If
Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'**************************************************************************************************

'aqui ubicar el resto de distritos

End Sub

Private Sub Command8_Click()


dibujar = True
pann = True
End Sub

Private Sub Command9_Click()


DataGrid2.Visible = False
Command9.Visible = False
End Sub

Private Sub DataGrid1_DblClick()

' build a search expression


Dim exp As String
exp = "CAJA = '" & DataGrid1.Text & "'"
91

' perform the search


Dim recs As MapObjects2.Recordset
Set recs = Map1.Layers(0).SearchExpression(exp)
' show the results, if any
If Not recs.EOF Then
Set shp = recs.Fields("Shape").Value
Map1.FlashShape shp, 10 ' flash the state
Map1.CenterAt shp.X, shp.Y
Map1.FlashShape shp, 20 ' flash the state
dibujar = True

If Not borrar Then

'*************************************************************************************************

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT50 where caja = " + "'" + DataGrid1.Text + "'"
Adodc2.Refresh
End If

'****************************************************************************************************

If Trim(vDistritosm) = "Dis59" Then


Adodc2.RecordSource = "select * from DT59"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT59 where caja = " + "'" + DataGrid1.Text + "'"
Adodc2.Refresh
End If

'*********************************************************************************************************

If Trim(vDistritosm) = "Dis52" Then


Adodc2.RecordSource = "select * from DT52"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT52 where caja = " + "'" + DataGrid1.Text + "'"
Adodc2.Refresh
End If

'**************************************************************************************************************

If Trim(vDistritosm) = "Dis64" Then


Adodc2.RecordSource = "select * from DT64"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT64 where caja = " + "'" + DataGrid1.Text + "'"
92

Adodc2.Refresh
End If

'********************************************************************************************************

If Trim(vDistritosm) = "Dis65" Then


Adodc2.RecordSource = "select * from DT65"
Adodc2.Refresh
Adodc2.RecordSource = "select * from DT65 where caja = " + "'" + DataGrid1.Text + "'"
Adodc2.Refresh
End If

'*************************************************************************************************************

'aqui ubicar el resto de distritos

End If
End If

Label1.Visible = False
DataGrid1.Visible = False
DataGrid2.Visible = True
Command9.Visible = True
End Sub

Private Sub Form_Load()


'Map1.Extent = Map1.FullExtent
Dim dc As New MapObjects2.DataConnection
Dim gds As MapObjects2.GeoDataset
Dim mlyr As New MapObjects2.MapLayer

Dim fnt As New StdFont


fnt.Name = "Alba"
fnt.Size = 12
tsym.Color = moWhite
Set tsym.Font = fnt

ii = 0
iii = 0

dibujar = False
dc.Database = "C:\pacifictel\"

dc.Connect
93

Set gds = dc.FindGeoDataset(vDistritosm)

Me.Caption = Me.Caption + ": " + vDistritosm

Combo1.Clear

'*************************************************************************************

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh

Adodc1.RecordSource = " select caja from cajasd50"


Adodc1.Refresh

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = False
Map1.Refresh

pann = False

For i = 0 To Adodc2.Recordset.Fields.Count - 1
Combo1.AddItem Adodc2.Recordset.Fields(i).Name
Next i
End If

'*****************************************************************************************

If Trim(vDistritosm) = "Dis59" Then


Adodc2.RecordSource = "select * from DT59"
Adodc2.Refresh

Adodc1.RecordSource = " select caja from cajasd59"


Adodc1.Refresh

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = False
Map1.Refresh
94

pann = False

For i = 0 To Adodc2.Recordset.Fields.Count - 1
Combo1.AddItem Adodc2.Recordset.Fields(i).Name
Next i

End If

'************************************************************************************************

If Trim(vDistritosm) = "Dis52" Then


Adodc2.RecordSource = "select * from DT52"
Adodc2.Refresh

Adodc1.RecordSource = "select caja from cajasd52"


Adodc1.Refresh

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = False
Map1.Refresh

pann = False

For i = 0 To Adodc2.Recordset.Fields.Count - 1
Combo1.AddItem Adodc2.Recordset.Fields(i).Name
Next i

End If

'*************************************************************************************************

If Trim(vDistritosm) = "Dis64" Then


Adodc2.RecordSource = "select * from DT64"
Adodc2.Refresh

Adodc1.RecordSource = " select caja from cajasd64"


Adodc1.Refresh

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = False
Map1.Refresh
95

pann = False

For i = 0 To Adodc2.Recordset.Fields.Count - 1
Combo1.AddItem Adodc2.Recordset.Fields(i).Name
Next i

End If

'*****************************************************************************************************

If Trim(vDistritosm) = "Dis65" Then


Adodc2.RecordSource = "select * from DT65"
Adodc2.Refresh

Adodc1.RecordSource = " select caja from cajasd65"


Adodc1.Refresh

Set mlyr.GeoDataset = gds


mlyr.Symbol.Color = moBlue
Map1.Layers.Add mlyr
dibujar = False
Map1.Refresh

pann = False

For i = 0 To Adodc2.Recordset.Fields.Count - 1
Combo1.AddItem Adodc2.Recordset.Fields(i).Name
Next i

End If

'*******************************************************************************************************

'aqui ubicar el resto de distritos

DataGrid1.Refresh

vzoomm = False

'turisticos = False
DataGrid2.Visible = False
Command9.Visible = False
End Sub
96

Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)


Dim j As Integer

If dibujar Then
'fnt.Name = "Arial"
'fnt.Size = 12
tsym.Color = moWhite
tsym1.Color = moRed

'Set tsym1.Font = fnt

For j = 0 To ii - 1
Map1.DrawText nombrecallescalles(j), puntocallescalles(j), tsym

Next j

For j = 0 To iii - 1
Map1.DrawText nombrecalles(j), puntocalles(j), tsym1
Next j

dibujar = False
End If

'If turisticos Then

'fnt.Name = "ESRI Transportation & Civic"


'fnt.Size = 50
'tsym.Color = moWhite
'Set tsym.Font = fnt
'For j = 0 To ii - 1
'Map1.DrawText nombrecalles(j), puntocalles(j), tsym
'Next j
'turisticos = False

'fnt.Name = "Arial"
'fnt.Size = 12
'tsym.Color = moWhite
'Set tsym.Font = fnt

'End If

End Sub

Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim p As Point
97

Dim recs As MapObjects2.Recordset


Dim shp As MapObjects2.Point

Map1.MousePointer = moArrow
Set p = Map1.ToMapPoint(X, Y)

If Map1.Layers.Count > 2 Then


If Button = vbLeftButton Then

Else

Set recs = Map1.Layers(0).Records


Set shp = Map1.ToMapPoint(X, Y)

'With recs
'.AddNew
'.Fields("Shape").Value = p
'.Fields("CAJA").Value = DataGrid1.Text
'.Fields("ID").Value = "0"
'.Update
'.StopEditing
'Map1.Layers(0).BuildIndex True
'Map1.Refresh
'End With

End If

End If

If vzoomm Or Button = 1 Then


Set Map1.Extent = Map1.TrackRectangle
vzoomm = False
Map1.MousePointer = moDefault
End If

If pann Or Button = 2 Then


pann = False
dibujar = True
Map1.Pan
Map1.MousePointer = moPan
End If
98

End Sub

Private Sub Map1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Map1.Layers.Count > 1 Then


Dim ptClicked As New MapObjects2.Point

Set ptClicked = Map1.ToMapPoint(X, Y)


Dim tol As Double
tol = 4 * Screen.TwipsPerPixelX
tol = Map1.ToMapDistance(tol)
Dim selRecs As MapObjects2.Recordset
Set selRecs = Map1.Layers(0).SearchByDistance _
(ptClicked, tol, "")

If selRecs.Count > 0 And Map1.Layers.Count = 3 Then


'Find the closest line to the click.
Dim i As Integer
Dim thisLine As MapObjects2.Point
Dim closestDist, thisDist As Double
closestDist = 999999999
Do While Not selRecs.EOF
Set thisLine = selRecs.Fields("shape").Value
thisDist = thisLine.DistanceTo(ptClicked)
If thisDist < closestDist Then
closestDist = thisDist
Dim gaa As Double

Set closestLine = thisLine


Map1.ToolTipText = selRecs.Fields("Caja").Value
End If
selRecs.MoveNext
Loop
End If
End If
End Sub

'Private Sub mBuscarxcajas_Click()


'Label1.Visible = False
'DataGrid1.Visible = False
'End Sub
99

'Private Sub mespacio_Click()


'Dim dc As New MapObjects2.DataConnection
'Dim gds As MapObjects2.GeoDataset
'Dim mlyr As New MapObjects2.MapLayer
'dc.Database = "C:\pacifictel\"
'If Trim(vDistritosm) = "Dis50" Then
'Set gds = dc.FindGeoDataset("refd50")
'Set mlyr.GeoDataset = gds
'mlyr.Symbol.Color = moGreen
'Map1.Layers.Add mlyr

'fnt.Name = "ESRI Transportation & Civic"


'fnt.Size = 12
'tsym.Color = moWhite
'Set tsym.Font = fnt

'Set registro = Map1.Layers(0).Records


'ii = 0
'While Not registro.EOF
'Set puntocalles(ii) = registro.Fields("shape").Value
'nombrecalles(ii) = registro.Fields("identidad")
'registro.MoveNext
'ii = ii + 1
'Wend
'turisticos = True
'Map1.Refresh

'End If

'fnt.Name = "Arial"
'fnt.Size = 12
'tsym.Color = moWhite
'Set tsym.Font = fnt

'End Sub

Private Sub mFullExtend_Click()


dibujar = True
Set Map1.Extent = Map1.FullExtent
'turisticos = True
End Sub

Private Sub mObservar_Click()


100

If Trim(vDistritosm) = "Dis50" Then


Adodc2.RecordSource = "select * from DT50"
Adodc2.Refresh
End If

If Trim(vDistritosm) = "Dis59" Then


Adodc2.RecordSource = "select * from DT59"
Adodc2.Refresh
End If

If Trim(vDistritosm) = "Dis52" Then


Adodc2.RecordSource = "select * from DT52"
Adodc2.Refresh
End If

If Trim(vDistritosm) = "Dis64" Then


Adodc2.RecordSource = "select * from DT64"
Adodc2.Refresh
End If

If Trim(vDistritosm) = "Dis65" Then


Adodc2.RecordSource = "select * from DT65"
Adodc2.Refresh
End If

'aqui ubicar el resto de distritos

DataGrid2.Visible = True
Command9.Visible = True

End Sub

Private Sub mPan_Click()


dibujar = True
pann = True
'turisticos = True
End Sub

Private Sub mPresentarCajas_Click()


Dim dc As New MapObjects2.DataConnection
Dim gds As MapObjects2.GeoDataset
Dim mlyr As New MapObjects2.MapLayer
Dim registro As MapObjects2.Recordset
'Dim ii As Integer

dc.Database = "C:\pacifictel\"
101

'turisticos = False
If Map1.Layers.Count > 1 Then
If Trim(vDistritosm) = "Dis50" Then
Set gds = dc.FindGeoDataset("cajasd50")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moRed
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh

Set registro = Map1.Layers(0).Records


iii = 0
While Not registro.EOF
Set puntocalles(iii) = registro.Fields("shape").Value
Set puntocalles(iii) = registro.Fields("shape").Value

nombrecalles(iii) = registro.Fields("caja")
nombrecalles(iii) = registro.Fields("caja")

registro.MoveNext
iii = iii + 1
Wend
dibujar = True
Map1.Refresh
End If

Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'**********************************************************

If Map1.Layers.Count > 1 Then


If Trim(vDistritosm) = "Dis59" Then
Set gds = dc.FindGeoDataset("cajasd59")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moRed
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh

Set registro = Map1.Layers(0).Records


iii = 0
While Not registro.EOF
Set puntocalles(iii) = registro.Fields("shape").Value
102

Set puntocalles(iii) = registro.Fields("shape").Value

nombrecalles(iii) = registro.Fields("caja")
nombrecalles(iii) = registro.Fields("caja")

registro.MoveNext
iii = iii + 1
Wend
dibujar = True
Map1.Refresh

End If

Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'************************************************************

If Map1.Layers.Count > 1 Then


If Trim(vDistritosm) = "Dis52" Then
Set gds = dc.FindGeoDataset("cajasd52")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moRed
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh

Set registro = Map1.Layers(0).Records


iii = 0
While Not registro.EOF
Set puntocalles(iii) = registro.Fields("shape").Value
Set puntocalles(iii) = registro.Fields("shape").Value

nombrecalles(iii) = registro.Fields("caja")
nombrecalles(iii) = registro.Fields("caja")

registro.MoveNext
iii = iii + 1
Wend
dibujar = True
Map1.Refresh
End If

Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If
103

'******************************************************************

If Map1.Layers.Count > 1 Then


If Trim(vDistritosm) = "Dis64" Then
Set gds = dc.FindGeoDataset("cajasd64")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moRed
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh

Set registro = Map1.Layers(0).Records


iii = 0
While Not registro.EOF
Set puntocalles(iii) = registro.Fields("shape").Value
Set puntocalles(iii) = registro.Fields("shape").Value

nombrecalles(iii) = registro.Fields("caja")
nombrecalles(iii) = registro.Fields("caja")

registro.MoveNext
iii = iii + 1
Wend
dibujar = True
Map1.Refresh
End If

Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'***********************************************************************

If Map1.Layers.Count > 1 Then


If Trim(vDistritosm) = "Dis65" Then
Set gds = dc.FindGeoDataset("cajasd65")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moRed
Map1.Layers.Add mlyr
dibujar = True
Map1.Refresh

Set registro = Map1.Layers(0).Records


iii = 0
While Not registro.EOF
Set puntocalles(iii) = registro.Fields("shape").Value
104

Set puntocalles(iii) = registro.Fields("shape").Value


nombrecalles(iii) = registro.Fields("caja")
nombrecalles(iii) = registro.Fields("caja")

registro.MoveNext
iii = iii + 1
Wend
dibujar = True
Map1.Refresh
End If

Else
MsgBox "Es necesario adicionar las calles, vaya a opciones"
End If

'***************************************************************************

'aqui ubicar el resto de distritos

End Sub

Private Sub mPresentarCalles_Click()


Dim dc As New MapObjects2.DataConnection
Dim gds As MapObjects2.GeoDataset
Dim mlyr As New MapObjects2.MapLayer
Dim registro As MapObjects2.Recordset

dc.Database = "C:\pacifictel\"

'*******************************************************************************
If Trim(vDistritosm) = "Dis50" Then
Set gds = dc.FindGeoDataset("callesd50")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moGreen
Map1.Layers.Add mlyr
Map1.Refresh

Set registro = Map1.Layers(0).Records


ii = 0
While Not registro.EOF
Set puntocallescalles(ii) = registro.Fields("shape").Value
Set puntocallescalles(ii) = registro.Fields("shape").Value

nombrecallescalles(ii) = registro.Fields("calles")

nombrecallescalles(ii) = registro.Fields("calles")
105

registro.MoveNext
ii = ii + 1
Wend
dibujar = True
Map1.Refresh

End If

'*************************************************************************************
If Trim(vDistritosm) = "Dis59" Then
Set gds = dc.FindGeoDataset("callesd59")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moGreen
Map1.Layers.Add mlyr
Map1.Refresh

Set registro = Map1.Layers(0).Records


ii = 0
While Not registro.EOF
Set puntocallescalles(ii) = registro.Fields("shape").Value
Set puntocallescalles(ii) = registro.Fields("shape").Value

nombrecallescalles(ii) = registro.Fields("calles")

nombrecallescalles(ii) = registro.Fields("calles")
registro.MoveNext
ii = ii + 1
Wend
dibujar = True
Map1.Refresh

End If

'***************************************************************************************
If Trim(vDistritosm) = "Dis52" Then
Set gds = dc.FindGeoDataset("callesd52")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moGreen
Map1.Layers.Add mlyr
Map1.Refresh

Set registro = Map1.Layers(0).Records


ii = 0
While Not registro.EOF
Set puntocallescalles(ii) = registro.Fields("shape").Value
Set puntocallescalles(ii) = registro.Fields("shape").Value
106

nombrecallescalles(ii) = registro.Fields("calles")

nombrecallescalles(ii) = registro.Fields("calles")
registro.MoveNext
ii = ii + 1
Wend
dibujar = True
Map1.Refresh

End If

'*******************************************************************************************
If Trim(vDistritosm) = "Dis64" Then
Set gds = dc.FindGeoDataset("callesd64")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moGreen
Map1.Layers.Add mlyr
Map1.Refresh

Set registro = Map1.Layers(0).Records


ii = 0
While Not registro.EOF
Set puntocallescalles(ii) = registro.Fields("shape").Value
Set puntocallescalles(ii) = registro.Fields("shape").Value

nombrecallescalles(ii) = registro.Fields("calles")

nombrecallescalles(ii) = registro.Fields("calles")
registro.MoveNext
ii = ii + 1
Wend
dibujar = True
Map1.Refresh

End If

'***********************************************************************************************
If Trim(vDistritosm) = "Dis65" Then
Set gds = dc.FindGeoDataset("callesd65")
Set mlyr.GeoDataset = gds
mlyr.Symbol.Color = moGreen
Map1.Layers.Add mlyr
Map1.Refresh

Set registro = Map1.Layers(0).Records


ii = 0
While Not registro.EOF
107

Set puntocallescalles(ii) = registro.Fields("shape").Value


Set puntocallescalles(ii) = registro.Fields("shape").Value

nombrecallescalles(ii) = registro.Fields("calles")

nombrecallescalles(ii) = registro.Fields("calles")
registro.MoveNext
ii = ii + 1
Wend
dibujar = True
Map1.Refresh

End If

'If Trim(vDistritosm) = "Dis59" Then


'Set gds = dc.FindGeoDataset("callesd59")
' Set mlyr.GeoDataset = gds
'mlyr.Symbol.Color = moGreen
'Map1.Layers.Add mlyr
'Map1.Refresh

'Set registro = Map1.Layers(0).Records


'ii = 0
'While Not registro.EOF
'Set puntocalles(ii) = registro.Fields("shape").Value
' nombrecalles(ii) = registro.Fields("calles")
' registro.MoveNext
' ii = ii + 1
'Wend
'dibujar = True
'Map1.Refresh

'End If

'If Trim(vDistritosm) = "Dis52" Then


'Set gds = dc.FindGeoDataset("callesd52")
'Set mlyr.GeoDataset = gds
'mlyr.Symbol.Color = moGreen
'Map1.Layers.Add mlyr
'Map1.Refresh

'Set registro = Map1.Layers(0).Records


'ii = 0
'While Not registro.EOF
'Set puntocalles(ii) = registro.Fields("shape").Value
' nombrecalles(ii) = registro.Fields("calles")
' registro.MoveNext
108

' ii = ii + 1
'Wend
'dibujar = True
'Map1.Refresh

'End If

'If Trim(vDistritosm) = "Dis64" Then


'Set gds = dc.FindGeoDataset("callesd64")
' Set mlyr.GeoDataset = gds
'mlyr.Symbol.Color = moGreen
'Map1.Layers.Add mlyr
'Map1.Refresh

'Set registro = Map1.Layers(0).Records


'iii = 0
'While Not registro.EOF
'Set puntocalles(iii) = registro.Fields("shape").Value
' nombrecalles(iii) = registro.Fields("calles")
' registro.MoveNext
' iii = iii + 1
'Wend
'dibujar = True
'Map1.Refresh
'End If

'If Trim(vDistritosm) = "Dis65" Then


'Set gds = dc.FindGeoDataset("callesd65")
' Set mlyr.GeoDataset = gds
'mlyr.Symbol.Color = moGreen
'Map1.Layers.Add mlyr
'Map1.Refresh

'Set registro = Map1.Layers(0).Records


'iii = 0
'While Not registro.EOF
'Set puntocalles(iii) = registro.Fields("shape").Value
' nombrecalles(iii) = registro.Fields("calles")
' registro.MoveNext
' iii = iii + 1
'Wend
'dibujar = True
'Map1.Refresh
'End If

'turisticos = True
109

' colocar aqui el resto de distritos


End Sub

Private Sub mSalir_Click()


End
End Sub

Private Sub mZoom_Click()


Map1.MousePointer = moZoomOut
vzoomm = True
dibujar = True
'turisticos = True
End Sub

'Private Sub vRemover_Click()


'Dim dc As New MapObjects2.DataConnection
'Dim gds As MapObjects2.GeoDataset
'Dim mlyr As New MapObjects2.MapLayer
'dc.Database = "C:\pacifictel\"
'Set gds = dc.FindGeoDataset(vDistritosm)

'Map1.Layers.Clear

'Set mlyr.GeoDataset = gds


'mlyr.Symbol.Color = moBlue
'Map1.Layers.Add mlyr
'dibujar = False
'Map1.Refresh
'End Sub
Private Sub Text2_Change()

End Sub

Вам также может понравиться