exposición python

11
• Es un lenguaje de programación (open source) creado por Guido Van Rossum, fácil de aprender y que no requiere ser un programador para poderlo utilizar. •Permite la creación de scripts y de programas complejos. •Es un lenguaje de muy alto nivel y ofrece muchos tipos de datos y el chequeo de errores es mucho más sencillo que con otros lenguajes de programación. •Es multiplataforma. •Python permite dividir programas en módulos que pueden ser reusados en otros programas escritos en Python u otros lenguajes de programación. •Python es un lenguaje interpretado, lo cual ahorra

Upload: davidare

Post on 18-Dec-2014

984 views

Category:

Business


4 download

DESCRIPTION

Breve descripción y ejemplos de la integración de Python en los SIG.

TRANSCRIPT

Page 1: Exposición Python

• Es un lenguaje de programación (open source) creado por Guido Van Rossum, fácil de aprender y que no requiere ser un programador para poderlo utilizar.

•Permite la creación de scripts y de programas complejos.

•Es un lenguaje de muy alto nivel y ofrece muchos tipos de datos y el chequeo de errores es mucho más sencillo que con otros lenguajes de programación.

•Es multiplataforma.

•Python permite dividir programas en módulos que pueden ser reusados en otros programas escritos en Python u otros lenguajes de programación.

•Python es un lenguaje interpretado, lo cual ahorra tiempo pues no es necesario compilar.

Page 2: Exposición Python
Page 3: Exposición Python
Page 4: Exposición Python
Page 5: Exposición Python
Page 6: Exposición Python

Este lenguaje provee muchas opciones de integración dentro de los SIG.

capacidades de plataforma cruzada y fácil integración con otros lenguajes como por ejemplo C, C++, FORTRAN y Java.

Python posee una gran cantidad de librerías y herramientas desarrolladas para el trabajo con datos geográficos e integración SIG.

Permite la manipulación de shapefiles y formatos raster, así como labores más sofisticadas como la interoperabilidad con ArcSDE, bases de datos y servicios SIG Web.

Page 7: Exposición Python

Para el trabajo con vectores python posee una librería “open source” llamada Shapelib la cual funciona con shapefiles.

Para el trabajo con elementos raster integra la librería (open source) GDAL que permite trabajar con diversos formatos como ArcInfo grids, JPEG 2000, BSP, United States Geological Survey digital elevation model, entre otros.

GDAL en combinación con Python tiene la facilidad para escribir operaciones de algebra de mapas y generar los resultados en los formatos soportados.

Page 8: Exposición Python

#Import standard library modules

import win32com.client, sys, os

#Apoya la comunicación entre Pythom y COM IDispatch

#COM IDispatch: habilita a los lenguajes interpretativos basados en texto utilizar objetos COM

#COM posibilita reutilizar módulos y habilita la comunicación entre ellos

#El modulo Sys permite ingresar información por parte del usuario

#El modulo OS provee facil acceso a la mayoria de las herramientas fundamentales del sistema operativo

#Create the Geoprocessor object

#Objeto donde estan disponibles las herramientas de geoprocesamiento de ArcGis

GP = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1")

Page 9: Exposición Python

#Set the input workspaceGP.workspace = sys.argv[1]#Set the clip featureclassclipFeatures = sys.argv[2]#Set the output workspaceoutWorkspace = sys.argv[3]#Set the cluster toleranceclusterTolerance = sys.argv[4]

#La sentencia TRY define el comienzo de bloque de código que será manipulado por un manejador de excepciones, Python

#usa los bloques try/except para manipular errores inesperados durante la ejecución.

try: #Get a list of the featureclasses in the input folder fcs = GP.ListFeatureClasses()

#Loop through the list of feature classes fcs.Reset() fc = fcs.Next() while fc: #Validate the new feature class name for the output workspace. #ValidateTableName method is used to ensure the output name is valid for

the output workspace outFeatureClass = outWorkspace + "/" +

GP.ValidateTableName(fc,outWorkspace)

Page 10: Exposición Python

#Clip each feature class in the list with the clip feature class.

#Do not clip the clipFeatures, it may be in the same workspace.

if str(fc) != str(os.path.split(clipFeatures)[1]):

GP.Clip(fc, clipFeatures, outFeatureClass,

clusterTolerance)

fc = fcs.Next()

except:

GP.AddMessage(GP.GetMessages(2))

print GP.GetMessages(2)

Page 11: Exposición Python