trabajo emi
DESCRIPTION
relacionado a geoinformaticaTRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
'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
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
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
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
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
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