trabajo emi

44
GEOINFORMATICA I. INTRODUCCION El Sistema de Información Geográfica (SIG) es un conjunto de herramientas, software, Hardware y procedimientos que le permiten a una institución, empresa o grupo social Colectar, almacenar y utilizar información georeferenciada en su proceso de toma de decisiones. EL SIG está transformando la percepción estática y en algunos casos "ilustrativa" que se ha tenido de los mapas durante los últimos 800 años en la historia de la Humanidad. A través de su utilización en múltiples disciplinas, el SIG ha influenciado nuevas aproximaciones tanto teóricas como prácticas para resolver los conflictos derivados de la utilización de recursos naturales en un ambiente socio-político y físico cada vez más complejo. Según los conocedores la primera etapa en el desarrollo de los SIG correspondió al período 1960- 1975, caracterizada por un desarrollo basado en la iniciativa de individuos y sus pequeños grupos de trabajo. Durante esta fase el uso de computadoras en el área de la cartografía estuvo dirigida a automatizar procedimientos (Ej. producción de mapas digitales) y en menor grado al análisis espacial. Programas tales como SYMAP, GRID, IMGRID Y GEOMAP fueron diseñados para procesar datos en formato reticular. La segunda fase se extiende desde los primeros años de la década de los 70s hasta los inicios de la década de los 80s. Esta época se caracterizó por la duplicación de esfuerzos entre equipos de trabajo y la utilización de la tecnología en aplicaciones a nivel 1

Upload: arnold-osmar-coronado

Post on 06-Aug-2015

34 views

Category:

Documents


0 download

DESCRIPTION

relacionado a geoinformatica

TRANSCRIPT

Page 1: trabajo emi

GEOINFORMATICA

I. INTRODUCCION

El Sistema de Información Geográfica (SIG) es un conjunto de herramientas, software,

Hardware y procedimientos que le permiten a una institución, empresa o grupo social

Colectar, almacenar y utilizar información georeferenciada en su proceso de toma de

decisiones. EL SIG está transformando la percepción estática y en algunos casos

"ilustrativa" que se ha tenido de los mapas durante los últimos 800 años en la historia

de la Humanidad. A través de su utilización en múltiples disciplinas, el SIG ha

influenciado nuevas aproximaciones tanto teóricas como prácticas para resolver los

conflictos derivados de la utilización de recursos naturales en un ambiente socio-

político y físico cada vez más complejo. Según los conocedores la primera etapa en el

desarrollo de los SIG correspondió al período 1960-1975, caracterizada por un

desarrollo basado en la iniciativa de individuos y sus pequeños grupos de trabajo.

Durante esta fase el uso de computadoras en el área de la cartografía estuvo dirigida a

automatizar procedimientos (Ej. producción de mapas digitales) y en menor grado al

análisis espacial. Programas tales como SYMAP, GRID, IMGRID Y GEOMAP fueron

diseñados para procesar datos en formato reticular. La segunda fase se extiende

desde los primeros años de la década de los 70s hasta los inicios de la década de los

80s. Esta época se caracterizó por la duplicación de esfuerzos entre equipos de trabajo

y la utilización de la tecnología en aplicaciones a nivel experimental en agencias

gubernamentales. La tercera fase, caracterizada por el dominio de aplicaciones

comerciales, va desde los inicios de la década de los 80s hasta el final de dicha

década. La cuarta y actual fase está dominada por la presencia de múltiples usuarios

de la tecnología, diversas compañías que compiten entre sí por la supremacía en el

mercado y el desarrollo de estándares que permitan el desarrollo de sistemas abiertos. 

Siendo el ArcMap es un software de Sistema de Información Geográfico (SIG) creado

por ESRI para mapeo digital podemos en esta visualizar y ver asociaciones en la

información geográfica y modelos a direntes escalas, también permite la creación de

mapas que llevan implícito mensajes o resultados de análisis geográficos, además

puede ser utilizado para entender las relaciones existentes en información espacial

1

Page 2: trabajo emi

geográfica, para la toma de decisiones y finalmente, la presentación de resultados en

forma profesional de mapas, gráficos, tablas, etc. hace que ArcMap puede ser utilizado

para publicaciones de artículos y material científico.

La utilización de las herramientas que presenta el Arcmap para poder apreciar los

elementos de una imagen, asi como el análisis de los shapefiles creados como son los

puntos, líneas y polígonos, del mismo modo tener acceso a la información de los

mismos previamente establecida en las bases de datos.

Además se muestra la utilidad de las barras de herramientas, asi como de la facilidad

de personalizar la misma de acuerdo a necesidades del usuario para lo cual mediante

el empleo y creación de nuevos botónes y herramientas se puede agregar al mapa

varias nuevas acciones y utilidades como el caso del calculo de áreas, y distintas

utilidades afines a nuestro campo de estudio.

I. OBJETIVOS

1. Objetivo general

Editar información espacial y sus atributos mediante la alteración o

personalización de las herramientas que presentan el ArcGIS como lo es en

este caso el ArcMap y del mismo modo los mapas terminados se puedan

guardar, imprimir, exportar y ubicar en otros documentos o usos permitiendo

visualizar sus datos como cartas, informes, con volumen , con gráficos e

imágenes

2. Objetivos específicos

Trabajar con datos geoespaciales para poder así analizar la

informacióndentro de una base de datos q será creada de una zona.

Producir datos como mapas, gráficos e información de acuerdo a las

distintas propiedades.(cálculos de las áreas mediante la personalización y

alteración de las herramientas q se presentan)

Indicar los distintos elementos que se presenta en una zona mediante la

unión de los distintos vínculos personalizados.

2

Page 3: trabajo emi

II. SOFTWARE

El ArcGIS es un software GIS para visualizar, crear, manipular y gestionar

información geográfica, estos corresponden a lugares, direcciones, posiciones en

terreno, áreas urbanas y rurales; regiones y cualquier tipo de ubicaciones en

terrenos determinados. Esta información es trabajada de manera sistémica, lo que

representa una diferencia sustancial a lo relacionado al trabajo con información

planos y mapas, permitiéndonos explorar, ver y analizar los datos según

parámetros, relaciones y tendencias que presenta nuestra información, teniendo

como resultado nuevas capas de información, mapas y nuevas bases de datos,

además esta compuesta por ArcView, ArcEditor, o ArcInfo, las cuales son

totalmente configuradas por el software

IV. TEORIA

Dentro de la elaboración de datos en la observación de un campo de una serie de

puntos que luego permitirá en el trabajo de gabinete la obtención de unas

coordenadas para hacer una representación gráfica de una zona, conocer su

geometría, conocer su altimetría y calcular una superficie, una longitud, un desnivel.

Para llegar a obtener las coordenadas de un punto, es necesario apoyarse en otros

previamente conocidos. Los errores de éstos se van a transmitir a los detalles

tomados desde ellos, y por eso debe establecerse una metodología de trabajo de

manera que se tengan comprobaciones de la bondad de las medidas.

En cuanto al sistema de coordenadas utilizado, puede ser un sistema general

(coordenadas U.T.M. por ejemplo) o en un sistema local. Para trabajos oficiales e

importantes es muy común el empleo de coordenadas generales. Los puntos de los

que se parte son vértices geodésicos que constituyen la red de puntos con

coordenadas U.T.M. distribuidos por todo el territorio nacional. Para levantamientos

pequeños, como pueden ser trabajos de deslinde, medidas de superficies... es más

común el uso de coordenadas locales.

3

Page 4: trabajo emi

Los metodostopograficos son diversos sistemas de proceder para en función de los

trabajos de campo y gabinete tener una toma de datos correctos. Consiste en

estacionar un instrumento en un punto conocido, hacer estación, de la cual tenemos

coordenadas (x,y,z) conocidas por lo que mediante ángulos y distancias tomo los

datos. Si sólo se hace planimetría se necesitan x,y; altimetría z; taquimetría x,y,z.

a) Métodos planimétricos

Tienen por objeto estudiar las normas y procedimientos para efectuar la

planimetría de un terreno; se basan en la medida de ángulos (acimutales) y

distancias en horizontal.

En planimetría los métodos son:

a. Radiación: permite relacionar todos los puntos del terreno con un punto

de coordenadas conocidas.

b. Poligonal o itinerario: Permite relacionar puntos de estación o itinerario

c. Triangulación: Permite relacionar puntos a mayores distancias

d. Redes : Primero se hace una red de triángulos no muy grandes donde se

tienen una serie de vértices (red de triangulación o trigonométrica),

después se hace una segunda red que marcaría la poligonal (red

topográfica o de poligonación) y finalmente una tercera red que sirve para

tomar los datos (red de relleno). Así se consiguen los errores mínimos y

se aproximan las coordenadas a la forma de trabajo haciendo una

triangulación con menor número de errores y con las menos estaciones

posibles.

4

Page 5: trabajo emi

Si se quiere levantar un plano de una amplía zona con la red trigonométrica, se fijan

unos puntos y se calculan sus coordenadas en forma de triángulos.

Se miden todos los ángulos de los triángulos y con un lado se tendrán todos los

datos, es decir con métodos angulares y una medida se podrá dar valores xy a

todos los demás triángulos.

Los triángulos tienen lados grandes ya que sirven para cubrir la mayor parte del

terreno. El problema es que habrá mayor error cuanto mayor sea el número de

triángulos. La red topográfica se observa con los métodos de poligonal. Una vez

conocidas las coordenadas de los vértices de los triángulos se formarán polígonos

en la zona teniendo los puntos con suscoordenadas xy.

La altimetría tiene por objeto estudiar cotas, altitudes y desniveles. En altimetría los

métodos son:

a) Nivelación barométrica: Son los menos precisos pero los

métodos más rápidos.

b) Nivelación trigonométrica: Permite ver la diferencia de altitud en

función de medidas angulares.

5

Page 6: trabajo emi

c) Nivelación geométrica: Permite ver la diferencia de altitud en

función de visuales horizontales

Una clasificación de los métodos topográficos en función del instrumental empleado

es la siguiente:

Métodos basados en medidas angulares:

o Triangulación.

o Intersecciones (directa e inversa).

Métodos basados en la medida de ángulos y distancias.

6

Page 7: trabajo emi

Calculo de Superficie

CAD

V. PROCEDIMIENTOS

1. Para agregar un shapefile a un mapa:

a) Iniciar ArcMap.

b) Abrir un proyecto existente o crear uno nuevo (.mxd) 

c) Click Tools y Click Customize.

d) Click el COMMANDSTAB.

e) Click la flecha de guardar en y elegir el combo box y hacer Click en

el documento mapa en el cual será guardado el nuevo comando.

f) Elegir la categoría y Click [UIControls].

7

Page 8: trabajo emi

g) Click New UIControl.

h) Click para seleccionar UIButtonControl como el UIControlType.

i) Click Create.

j) Click y arrastrar el nuevo Project.UIButtonControl1 en la lista de

comandos y colocarlo en cualquier barra de herramientas

k) Click Close.

l) Click derecho en la nueva posición del botón y Click View Source. 

a. Esto abre el Visual Basic Editor.

m) En esta ventana de código, Click en la fleche Procedure Box drop-

down situada a la derecha superior de la ventana y elegir Click. 

a. Esto genera la accion del código que se crea

n) A continuación se escribe el código para realizar esta acción (entre

Private Sub UIButtonControl1_Click() y End Sub). 

o) En el comando Set pWorkSpace =

pWorkspaceFactory.OpenFromFile("C:\Source", 0), se puede cambiar la

ubicación de los elementos a elección.

p) En la línea del comando, Set pClass =

pWorkSpace.OpenFeatureClass("USStates"), podemos cambiar el

nombre del elemento que deseamos abrir o mostrar.

q) Cerrar el Visual Basic Editor.

r) Click en el nuevo botón del ArcMap para agregar el elemento al mapa.

2. Para añadir elementos al mapa como una flecha dirigida al norte y la

leyenda de símbolos.

a) Iniciar ArcMap.

8

Page 9: trabajo emi

b) Abrir un mapa existente o añadir Layers a uno nuevo.

c) Click Tools, elegir Macros, entoncesClick en Visual Basic Editor.

a. Esto abre el editor de Visual Basic

d) Click para expander el proyecto (<YourProject>.mxd) en el explorador

de proyectos.

e) Click derecho en Project (<YourProject>.mxd), para insertar, entonces

hacer Click en Module.

a. Un nuevo modulo es agreagado al proyecto en la carpeta del

mismo y el Modulo 1 es abierto

b. Escribir el código determinado en la ventana del modulo 1.

f) Minimizar o cerrar el Visual Basic Editor.

g) Elegir la Vista en modo Layout View.

h) En el ArcMap, Click Tools, señalar el Macros, luego hacer Click en

Macros.

i) En elcuadro de dialogo de Macros dialog box, hacer Click en la flecha

y hacer Click en el proyecto..

j) En la lista debajo del cuadro de texto del nombre del Macro, hacer Click

Module1.AddMapSurrounds.

k) Click Run.

3. Calcular el área de los polígonos seleccionados

a) Iniciar ArcMap.

b) Abrir un mapa existente o agregar elementos a uno nuevo.

c) Click Tools y Click Customize.

9

Page 10: trabajo emi

d) Click en el Commandstab.

e) Click en la fleche de abajo para guardar en el combo box y hacer Click

en el documento en el cual se desea guardar el nuevo comando.

f) Elegir entre la lista de categorías y hacer Click en [UIControls].

g) Click New UIControl.

h) Click para elegir el ButtonControl como el UIControlType.

i) Click Create.

j) Click y arrastrar el nuevo Project.UIButtonControl1 en la lista de

comandos y arrastrarlo en cualquier lugar de las barras de herramientas.

k) Click Close.

l) Click derecho en el botón creado y luego Click View Source.

a. Esto abre el Visual Basic Editor.

m) En esta ventana, Click en el Procedure Box drop-flecha hacia abajo y

elegir Click.

a. Esto agrega la acción del código en el botón creado

n) Escribir el código (entre Private Sub UIButtonControl1_Click() y End

Sub):

o) Cerrar el Visual Basic Editor.

p) Elegir un polígono en el ArcMap.

a. Se puede realizar esto de distintas maneras

q) Click en el nuevo botón para calcular el área.

4. Corregir la escritura del texto en los elementos del ArcMap

10

Page 11: trabajo emi

a) Iniciar ArcMap.

b) Abrir un mapa existente o agregar elementos a uno nuevo.

c) Agregar algún texto al Arcmap

d) Click Tools y Click Customize.

e) Click en el Commandstab.

f) Click en la fleche de abajo para guardar en el combo box y hacer Click

en el documento en el cual se desea guardar el nuevo comando.

g) Elegir en la lista de categorías y hacer Click [UIControls].

h) Click New UIControl.

i) Click para elegir UIButtonControl como el UIControlType.

j) Click Create.

k) Click y arrastrar el nuevo Project.UIButtonControl1 en la lista de

comandos y arrastrarlo en cualquier lugar de las barras de herramientas.

l) Click Close.

m) Click derecho en el botón creado y luego Click View Source.

a. Esto abre el Visual Basic Editor.

n) En el Visual Basic Editor, Click Tools y Click References.

o) Elegir entre las referencias disponibles y marcar Microsoft Word 9.0

Object Library.

p) Click OK.

q) En esta ventana, Click en el Procedure Box drop-flecha hacia abajo y

elegir Click .

11

Page 12: trabajo emi

a. Esto agrega la acción del código en el botón creado

r) Escribir el código (entre Private Sub UIButtonControl1_Click() y End

Sub):

s) Cerrar el Visual Basic Editor.

t) En el ArcMap, usar Selecttool para elegir una parte de texto.

u) Click en el nuevo botón paracomenzar la corrección de ortografía.

5. Contar los elementos dentro de un área

a) Iniciar ArcMap.

b) Abrir un mapa existente o agregar elementos a uno nuevo.

c) Click Tools y Click Customize.

d) Click en el Commandstab.

e) Click en la fleche de abajo para guardar en el combo box y hacer Click

en el documento en el cual se desea guardar el nuevo comando.

f) Elegir entre la lista de categorías y hacer Click en [UIControls].

g) Click New UIControl.

h) Click para elegir el ButtonControl como el UIControlType.

i) Click Create.

j) Click y arrastrar el nuevo Project.UIButtonControl1 en la lista de

comandos y arrastrarlo en cualquier lugar de las barras de herramientas.

k) Click Close.

l) Click derecho en el botón creado y luego Click View Source.

12

Page 13: trabajo emi

i. Esto abre el Visual Basic Editor..

m) En esta ventana, Click en el Procedure Box drop-flecha hacia abajo y

elegir MouseDown.

n) Esto agrega la acción del código en el botón creado

o) Escribir el código (entre Private Sub UIToolControl1_MouseDown(ByVal

button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long) y

End Sub):

p) Cerrar el Visual Basic Editor.

q) Click en el botón en el ArcMap, y luego seleccionar el área en la cual se

contaran los elementos.

6. Mostrar la ubicación del puntero del mouse en grados decimales.

a) Iniciar ArcMap.

b) Abrir un mapa existente o agregar elementos a uno nuevo.

c) Click Tools y Click Customize.

d) Click en el Commandstab.

e) Click en la fleche de abajo para guardar en el combo box y hacer Click

en el documento en el cual se desea guardar el nuevo comando .

f) Elegir entre la lista de categorias y hacer Click en [UIControls].

g) Click New UIControl.

h) Click para elegir el ButtonControl como el UIControlType.

i) Click Create y Edit.

j) Escribir el códigodeterminado.

k) Cerrar la ventana del VBA.

l) Ubicar el botón en cualquier barra de herramientas

7. Exportar la ventana que se esta viendo

a) Iniciar ArcMap.

b) Abrir un mapa existente o agregar elementos a uno nuevo.

c) Click Tools y Click Customize.

13

Page 14: trabajo emi

d) Click en el Commandstab.

e) Click en la fleche de abajo para guardar en el combo box y hacer Click

en el documento en el cual se desea guardar el nuevo comando.

f) Elegir entre la lista de categorías y hacer Click en [UIControls].

g) Click New UIControl.

h) Click para elegir el ButtonControl como el UIControlType.

i) Click Create.

j) Click y arrastrar el nuevo Project.UIButtonControl1 en la lista de

comandos y arrastrarlo en cualquier lugar de las barras de herramientas.

k) Click Close.

l) Click derecho en el botón creado y luego Click View Source.

a. Esto abre el Visual Basic Editor.

m) En la ventana del código elegir la acciónClick.

n) Escribir el código determinado (entre Private Sub

UIButtonControl1_Click() y End Sub):

o) Cerrar el Visual Basic Editor.

p) En el Arcmap hacer Click en el nuevo botón.

8. Agregar un mensaje a un determinado control.

a) Si se agrega un botón a una barra de herramientas hacer Click derecho

en el mismo y Click en View Source. Esto se aplica para un

UIButtonControl o un UIToolControl.

b) Luegoescribir el códigodeterminado

c) Cerrar el Visual Basic Editor.

9. Agregar un nombre de herramienta a un control.

a) Si se agrega un botón a una barra de herramientas hacer Click derecho

en el mismo y Click en View Source. Esto se aplica para un

UIButtonControl o un UIToolControl.

b) Luego escribir el código determinado.

c) Cerrar el Visual Basic Editor.

14

Page 15: trabajo emi

10.Mostrar el valor de la celda del raster en la barra de estado

d) Iniciar ArcMap.

e) Abrir un mapa existente o agregar elementos a uno nuevo.

f) Click Tools y Click Customize.

g) Click en el Commandstab.

h) Click en la fleche de abajo para guardar en el combo box y hacer Click

en el documento en el cual se desea guardar el nuevo comando .

i) Elegir entre la lista de categorías y hacer Click en [UIControls].

j) Click New UIControl.

k) Click para elegir el ButtonControl como el UIControlType.

l) Click Create.

m) Click y arrastrar el nuevo Project.UIButtonControl1 en la lista de

comandos y arrastrarlo en cualquier lugar de las barras de herramientas.

n) Click Close.

o) Click derecho en el botón creado y luego Click View Source.

a. Esto abre el Visual Basic Editor.

p) En la ventana del código elegir la acción como MouseMove.

a. Esto añade la acción del código al botón creado.

q) Escribir el códigodeterminado (entre Private Sub

UIToolControl1_MouseMove(ByVal button As Long, ByVal shift As Long,

ByVal x As Long, ByVal y As Long) y End Sub):

r) Cerrar el Visual Basic Editor.

15

Page 16: trabajo emi

s) Click en el nuevo botón del ArcMap y empezar a mover el puntero del

mouse.

VI. MANUAL DE USUARIO

Para comenzar con el presente trabajo deberá abrir el proyecto .mxd una vez

iniciado el ArcMap.

Entonces se cargara la imagen y todos los shapefiles del mismo, en los cuales el

usuario podrá acceder a toda la información de los mismos así como a las bases

del datos empleando las herramientas que el programa Arcgis pone a disposición.

En las barras de herramientas podrá observar una barra personalizada en la cual se

encuentran los botónes diseñados previamente los cuales tienen las siguientes

funciones.

Botón para agregar un shapefile a un mapa

Este botón permite agregar elementos o shapefiles al mapa asi mismo se puede

agregar un formulario o una ventana que permita agregar otros elementos o

formularios, esto de acuerdo a las necesidades previstas por el usuario.

Botón para añadir elementos al mapa como una flecha dirigida al norte y la

leyenda de símbolos.

Permite una vez terminado el proyecto al realizar la impresión del mapa, poder apreciar

una orientación del mismo mediante una flecha que apunta al norte, asi como poder

apreciar la leyenda de símbolos.

Botón para calcular el área de los polígonos seleccionados.

Cuando se selecciona uno o mas polígonos previamente creados mediante este botón

se puede calcular el área de los mismos de manera directa. Esta herramienta es de

bastante utilidad para calcular el área de los distintos predios de un manzano en un

área urbana.

Botón para corregir la escrirura del texto en los elementos del ArcMap

Cuando se ingresa textos en el mapa como ser referencias, nombres o cualquier

especificación esta herramienta permita la corrección ortográfica de manera mas

rápida y sencilla del mismo modo como si se tratara de un documento de Word.

16

Page 17: trabajo emi

Botón para contar los elementos dentro de un área

Al seleccionar un determinado sector o área en nuestro mapa esta herramienta permite

determinar cuantos elementos se encuentran en el mismo, asi se traten de puntos,

líneas o polígonos aparecerá una ventana emergente que indicara el numero de los

mismos.

Botón mostrar la ubicación del puntero del mouse en grados decimales.

Al hacer Click sobre este botón al desplazar el puntero del mouse se mostrara en la

parte inferior de la ventana del Arcmap los grados decimales con respecto al sistema

de referencia en el cual se este trabajando.

Botón para mostrar el valor de la celda del raster en la barra de estado

Al hacer Click en este botón al desplazar el puntero del mouse se mostrara en la parte

inferior de la ventana del Arcmap el valor raster del elemento sobre el cual se

encuentra el puntero.

Botón para exportar la ventana que se esta viendo.

Este botón de gran utilidad permitirá al usuario exportar a una ubicación determinada la

imagen del mapa que se aprecia en ese momento reduciendo los pasos con respecto a

si se hiciera lo mismo desde el menú de guardar la imagen.

Botón para calcular un área por el método de las coordenadas.

Esta herramienta muestra un cuadro donde se debe introducir el numero de lados del

polígono para posteriormente mostrar un cuadro donde se introducirán las

coordenadas X, Y de los vértices del polígono y así posteriormente realizar el calculo y

mostrar el área del mismo.

VII. CONCLUSIONES

Aplicadas lapersonalización podemos después de programar o construir los procesos

personalizados en la barra de herramientas del ArcGIS, de acuerdo a las necesidades

del usuario teniendo una visión simple y ligera de las ventajas y empleo de las distintas

herramientas del ArcMap

Asi mismo se realizo el análisis de Datos que se presentan en la digitalización de un

manzano, y la información del mismo en una base de datos en la cual se especifican

los predios, los códigos y el área de los mismos.

17

Page 18: trabajo emi

Se crearon distintas herramientas de análisis e interpretación de datos en una barra de

herramientas personalizada además de especificar su utilidad y los pasos y el código

con el cual se crearon las mismas.

VIII. BIBLIOGRAFIA

• Topografía Tema_10_Teoria.pdf

• Manual del ArcGis 9.3, ArcMap 9.3 ArcInfo

• http://www.esri.es/es/formacion/catalogo-de-cursos/programacion-de-arcgis-

desktop-con-add-ins/

• Manual de Visual Basic 10

• itzamna.bnct.ipn.mx:8080/.../875_2006_ESIA-ZAC_MAESTRIA_sa

18

Page 19: trabajo emi

ANEXOS

PARA AGREGAR UN SHAPEFILE A UN MAPA:

Dim pWorkspaceFactory As IWorkspaceFactory

Set pWorkspaceFactory = New ShapefileWorkspaceFactory

Dim pWorkSpace As IFeatureWorkspace

'Change C:\Source to the source location of the shapefile you wish to add

Set pWorkSpace = pWorkspaceFactory.OpenFromFile("C:\Source", 0)

Dim pClass As IFeatureClass

'Change USStates to the name of the shapefile you wish to add

Set pClass = pWorkSpace.OpenFeatureClass("USStates")

Dim pLayer As IFeatureLayer

Set pLayer = New FeatureLayer

Set pLayer.FeatureClass = pClass

pLayer.Name = pClass.AliasName

19

Page 20: trabajo emi

Dim pMxDoc As IMxDocument

Set pMxDoc = ThisDocument

pMxDoc.AddLayerpLayer

pMxDoc.ActiveView.PartialRefreshesriViewGeography, pLayer, Nothing

PARA AÑADIR ELEMENTOS AL MAPA COMO UNA FLECHA DIRIGIDA AL NORTE Y

LA LEYENDA DE SÍMBOLOS.

Public Sub AddMapSurrounds()

Dim pMxDoc As IMxDocument

Dim pActiveView As IActiveView

Dim pEnv As IEnvelope

Dim pID As New UID

Dim pMapSurround As IMapSurround

Dim pMarkerNorthArrow As IMarkerNorthArrow

Dim pCharacterMarkerSymbol As ICharacterMarkerSymbol

Set pMxDoc = Application.Document

Set pActiveView = pMxDoc.PageLayout

Set pEnv = New Envelope

'Add a north arrow

20

Page 21: trabajo emi

pEnv.PutCoords 0.2, 0.2, 1, 1

pID.Value = "esriCore.MarkerNorthArrow"

Set pMapSurround = CreateSurround(pID, pEnv, "North Arrow", pMxDoc.FocusMap,

pMxDoc.PageLayout)

'Change out the default north arrow

Set pMarkerNorthArrow = pMapSurround 'QI

Set pCharacterMarkerSymbol = pMarkerNorthArrow.MarkerSymbol 'clones the symbol

pCharacterMarkerSymbol.CharacterIndex = 200 'change the symbol

pMarkerNorthArrow.MarkerSymbol = pCharacterMarkerSymbol 'set it back

'Add a legend

'In this case just use the default legend

pEnv.PutCoords 7.5, 0.2, 8.5, 4

pID.Value = "esriCore.Legend"

Set pMapSurround = CreateSurround(pID, pEnv, "Legend", pMxDoc.FocusMap,

pMxDoc.PageLayout)

'Refresh the graphics

pActiveView.PartialRefreshesriViewGraphics, Nothing, Nothing

End Sub

Private Function CreateSurround(pID As UID, pEnv As IEnvelope, strName As String, _

21

Page 22: trabajo emi

pMap As IMap, pPageLayout As IPageLayout) As IMapSurround

Dim pGraphicsContainer As IGraphicsContainer

Dim pActiveView As IActiveView

Dim pMapSurroundFrame As IMapSurroundFrame

Dim pMapSurround As IMapSurround

Dim pMapFrame As IMapFrame

Dim pElement As IElement

'MapSurrounds are held in a MapSurroundFrame

'MapSurroundFrames are related to MapFrames

'MapFrames hold Maps

Set pGraphicsContainer = pPageLayout

Set pMapFrame = pGraphicsContainer.FindFrame(pMap)

Set pMapSurroundFrame = pMapFrame.CreateSurroundFrame(pID, Nothing)

pMapSurroundFrame.MapSurround.Name = strName

'Set the geometry of the MapSurroundFrame to give it a location

'Activate it and add it to the PageLayout's graphics container

Set pElement = pMapSurroundFrame

Set pActiveView = pPageLayout

pElement.Geometry = pEnv

22

Page 23: trabajo emi

pElement.ActivatepActiveView.ScreenDisplay

pGraphicsContainer.AddElementpElement, 0

Set CreateSurround = pMapSurroundFrame.MapSurround

End Function

CALCULAR EL ÁREA DE LOS POLÍGONOS SELECCIONADOS

Dim pMxDoc As IMxDocument

Set pMxDoc = ThisDocument

Dim pUID As New UID

pUID = "{E156D7E5-22AF-11D3-9F99-00C04F6BC78E}" 'IGeoFeatureLayer IID

Dim pEnumLayer As IEnumLayer

Set pEnumLayer = pMxDoc.FocusMap.Layers(pUID, True)

pEnumLayer.Reset

Dim pFeatureLayer As IFeatureLayer

Dim pFeatureSelection As IFeatureSelection

Dim pFeatureCursor As IFeatureCursor

Dim pFeature As IFeature

Dim pArea As IArea

Dim dTotalArea As Double

23

Page 24: trabajo emi

Set pFeatureLayer = pEnumLayer.Next

Do Until (pFeatureLayerIs Nothing)

If (pFeatureLayer.FeatureClass.ShapeType = esriGeometryPolygon) Then

Set pFeatureSelection = pFeatureLayer

If (pFeatureSelection.SelectionSet.Count<> 0) Then

pFeatureSelection.SelectionSet.Search Nothing, True, pFeatureCursor

Set pFeature = pFeatureCursor.NextFeature

Do Until (pFeatureIs Nothing)

Set pArea = pFeature.Shape

dTotalArea = dTotalArea + pArea.Area

Set pFeature = pFeatureCursor.NextFeature

Loop

End If

End If

Set pFeatureLayer = pEnumLayer.Next

Loop

MsgBox "Total Area for selected polygon features = " &CStr(dTotalArea)

CORREGIR LA ESCRIRURA DEL TEXTO EN LOS ELEMENTOS DEL ARCMAP

24

Page 25: trabajo emi

Dim pDoc As IMxDocument

Set pDoc = ThisDocument

Dim pGC As IGraphicsContainerSelect

If pDoc.ActiveViewIspDoc.PageLayout Then

Set pGC = pDoc.PageLayout

Else

Set pGC = pDoc.FocusMap

End If

Dim pTE As ITextElement

'Hard coded, check the first selected element

Set pTE = pGC.SelectedElement(0)

Dim sz As String

sz = pTE.Text

Dim wdApp As Word.Application

Dim wdDoc As Document

Set wdApp = New Word.Application

Set wdDoc = wdApp.Documents.Add

wdApp.Selection.Text = sz

wdApp.Dialogs(wdDialogToolsSpellingAndGrammar).Show

' if Cancel button is Clicked, there will be one character

25

Page 26: trabajo emi

If Len(wdApp.Selection.Text) > 1 Then

pTE.Text = wdApp.Selection.Text

Else

wdApp.Quit

Set wdApp = Nothing

Exit Sub

End If

wdDoc.ClosewdDoNotSaveChanges

wdApp.Quit

Set wdApp = Nothing

pDoc.ActiveView.Refresh

CONTAR LOS ELEMENTOS DENTRO DE UN ÁREA

Dim pMxDoc As IMxDocument

Set pMxDoc = ThisDocument

Dim pEnv As IEnvelope

Dim pRubber As IRubberBand

Set pRubber = New RubberEnvelope

Dim pActiveView As IActiveView

26

Page 27: trabajo emi

Set pActiveView = pMxDoc.FocusMap

Set pEnv = pRubber.TrackNew(pActiveView.ScreenDisplay, Nothing)

Dim pSpatialFilter As ISpatialFilter

Set pSpatialFilter = New SpatialFilter

Set pSpatialFilter.Geometry = pEnv

pSpatialFilter.SpatialRel = esriSpatialRelIntersects

Dim lPoints As Long, lPolylines As Long, lPolygons As Long

Dim pLayer As IFeatureLayer

Dim pFeatureCursor As IFeatureCursor

Dim pFeature As IFeature

Dim i As Long

For i = 0 TopMxDoc.FocusMap.LayerCount - 1

If (TypeOfpMxDoc.FocusMap.Layer(i) Is IGeoFeatureLayer) Then

Set pLayer = pMxDoc.FocusMap.Layer(i)

pSpatialFilter.GeometryField = pLayer.FeatureClass.ShapeFieldName

Set pFeatureCursor = pLayer.Search(pSpatialFilter, True)

Set pFeature = pFeatureCursor.NextFeature

Do Until (pFeatureIs Nothing)

Select Case pFeature.Shape.GeometryType

27

Page 28: trabajo emi

Case esriGeometryPoint

lPoints = lPoints + 1

Case esriGeometryPolyline

lPolylines = lPolylines + 1

Case esriGeometryPolygon

lPolygons = lPolygons + 1

End Select

Set pFeature = pFeatureCursor.NextFeature

Loop

End If

Next i

MsgBox "Features Found:" &vbCrLf&lPoints&" Points " &vbCrLf& _

lPolylines& " Polylines " &vbCrLf&lPolygons& " Polygons "

MOSTRAR LA UBICACIÓN DEL PUNTERO DEL MOUSE EN GRADOS DECIMALES.

Dim pMxDoc As IMxDocument

Dim pPoint As IPoint

Dim pClone As IClone

Dim pGeometry As IGeometry

Dim pSpatialRefFactory As ISpatialReferenceFactory

Dim pSpatialRef As ISpatialReference

Dim pGeographicCoordSys As IGeographicCoordinateSystem

28

Page 29: trabajo emi

'Get the point where the user Clicked

Set pMxDoc = Application.Document

If pMxDoc.CurrentLocation.IsEmpty Then Exit Sub

'Clone the point because we don't want to alter

'the actual document's current location point

Set pClone = pMxDoc.CurrentLocation

Set pPoint = pClone.Clone

Set pGeometry = pPoint 'QI

'Create a new geographic coordinate system to use in the conversion

Set pSpatialRefFactory = New SpatialReferenceEnvironment

Set pGeographicCoordSys =

pSpatialRefFactory.CreateGeographicCoordinateSystem(esriSRGeoCS_NAD1983)

Set pSpatialRef = pGeographicCoordSys 'QI

pSpatialRef.SetFalseOriginAndUnits -180, -90, 1000000

pGeometry.ProjectpSpatialRef

MsgBoxpPoint.x& ", " &pPoint.y, , "Decimal Degrees"

End Sub

MOSTRAR EL VALOR DE LA CELDA DEL RASTER EN LA BARRA DE ESTADO

29

Page 30: trabajo emi

Dim pMxDoc As IMxDocument

Set pMxDoc = ThisDocument

Dim pActiveView As IActiveView

Set pActiveView = pMxDoc.FocusMap

Dim pPoint As IPoint

Set pPoint = pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y)

Dim pBlockSize As IPnt

Set pBlockSize = New DblPnt

pBlockSize.SetCoords 1#, 1#

Dim pLayer As IRasterLayer

Dim pPixelBlock As IPixelBlock 'number of bands

Dim vValue As Variant

Dim i As Long, j As Long

Dim sPixelVals As String

sPixelVals = "No Raster"

Dim pRasterProps As IRasterProps

Dim dXSize As Double, dYSize As Double

Dim pPixel As IPnt

Set pPixel = New DblPnt

30

Page 31: trabajo emi

For i = 0 TopMxDoc.FocusMap.LayerCount - 1

If (TypeOfpMxDoc.FocusMap.Layer(i) Is IRasterLayer) Then

Set pLayer = pMxDoc.FocusMap.Layer(i) 'if a raster layer then set it

Set pPixelBlock = pLayer.Raster.CreatePixelBlock(pBlockSize)

Set pRasterProps = pLayer.Raster

dXSize = pRasterProps.Extent.XMax - pRasterProps.Extent.XMin

dYSize = pRasterProps.Extent.YMax - pRasterProps.Extent.YMin

dXSize = dXSize / pRasterProps.Width

dYSize = dYSize / pRasterProps.Height

pPixel.x = (pPoint.x - pRasterProps.Extent.XMin) / dXSize

pPixel.y = (pRasterProps.Extent.YMax - pPoint.y) / dYSize

pLayer.Raster.ReadpPixel, pPixelBlock

For j = 0 TopPixelBlock.Planes - 1

If (sPixelVals = "No Raster") Then

sPixelVals = "("

Else

sPixelVals = sPixelVals& ", "

End If

31

Page 32: trabajo emi

vValue = pPixelBlock.GetVal(j, 0, 0)

sPixelVals = sPixelVals&CStr(vValue)

Next j

If (sPixelVals<> "No Raster") Then sPixelVals = sPixelVals& ")"

ThisDocument.Parent.StatusBar.Message(0) = "Raster value = " &sPixelVals

Exit For

End If

Next i

EXPORTAR LA VENTANA QUE SE ESTA VIENDO

Dim pMxDoc As IMxDocument

Dim pActiveView As IActiveView

Dim pExport As IExport

Dim pPixelBoundsEnv As IEnvelope

Dim exportRECTAstagRECT

Dim iOutputResolution As Integer

Dim iScreenResolution As Integer

Dim hDC As Long

Set pMxDoc = ThisDocument

Set pActiveView = pMxDoc.ActiveView

Set pExport = New ExportJPEG

32

Page 33: trabajo emi

pExport.ExportFileName = "C:\ExportMap." &Right(pExport.Filter, 3)

iScreenResolution = 96 'default screen resolution is usually 96dpi

iOutputResolution = 96

pExport.Resolution = iOutputResolution

With exportRECT

.Left = 0

.Top = 0

.Right = pActiveView.ExportFrame.Right * (iOutputResolution / iScreenResolution)

.bottom = pActiveView.ExportFrame.bottom * (iOutputResolution / iScreenResolution)

End With

Set pPixelBoundsEnv = New Envelope

pPixelBoundsEnv.PutCoordsexportRECT.Left, exportRECT.Top, exportRECT.Right,

exportRECT.bottom

pExport.PixelBounds = pPixelBoundsEnv

hDC = pExport.StartExporting

pActiveView.OutputhDC, pExport.Resolution, exportRECT, Nothing, Nothing

pExport.FinishExporting

pExport.Cleanup

AGREGAR UN MENSAJE A UN DETERMINADO CONTROL.

33

Page 34: trabajo emi

UIButtonControl1_Message = "This is a message"

UIToolControl_Message = "This is a message"

UIComboBoxControl_Message = "This is a message"Or

UIEditBoxControl_Message = "This is a message"

AGREGAR UN NOMBRE DE HERRAMIENTA A UN CONTROL.

UIButtonControl1_ToolTip = "New Tool Tip"

UIToolControl_ToolTip = "New Tool Tip"Or

UIComboBoxControl_ToolTip = "New Tool Tip"

UIEditBoxControl_ToolTip = "New Tool Tip"

34