Exposición Python

1,268 views
1,154 views

Published on

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

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,268
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
53
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Exposición Python

  1. 1. <ul><li>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. </li></ul><ul><li>Permite la creación de scripts y de programas complejos. </li></ul><ul><li>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. </li></ul><ul><li>Es multiplataforma. </li></ul><ul><li>Python permite dividir programas en módulos que pueden ser reusados en otros programas escritos en Python u otros lenguajes de programación. </li></ul><ul><li>Python es un lenguaje interpretado, lo cual ahorra tiempo pues no es necesario compilar. </li></ul>
  2. 6. <ul><li>Este lenguaje provee muchas opciones de integración dentro de los SIG. </li></ul><ul><li>capacidades de plataforma cruzada y fácil integración con otros lenguajes como por ejemplo C, C++, FORTRAN y Java. </li></ul><ul><li>Python posee una gran cantidad de librerías y herramientas desarrolladas para el trabajo con datos geográficos e integración SIG. </li></ul><ul><li>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. </li></ul>
  3. 7. <ul><li>Para el trabajo con vectores python posee una librería “open source” llamada Shapelib la cual funciona con shapefiles. </li></ul><ul><li>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. </li></ul><ul><li>GDAL en combinación con Python tiene la facilidad para escribir operaciones de algebra de mapas y generar los resultados en los formatos soportados. </li></ul>
  4. 8. <ul><li>#Import standard library modules </li></ul><ul><li>import win32com.client, sys, os </li></ul><ul><li>#Apoya la comunicación entre Pythom y COM IDispatch </li></ul><ul><li>#COM IDispatch: habilita a los lenguajes interpretativos basados en texto utilizar objetos COM </li></ul><ul><li>#COM posibilita reutilizar módulos y habilita la comunicación entre ellos </li></ul><ul><li>#El modulo Sys permite ingresar información por parte del usuario </li></ul><ul><li>#El modulo OS provee facil acceso a la mayoria de las herramientas fundamentales del sistema operativo </li></ul><ul><li>#Create the Geoprocessor object </li></ul><ul><li>#Objeto donde estan disponibles las herramientas de geoprocesamiento de ArcGis </li></ul><ul><li>GP = win32com.client.Dispatch(&quot;esriGeoprocessing.GpDispatch.1&quot;) </li></ul>
  5. 9. <ul><li>#Set the input workspace </li></ul><ul><li>GP.workspace = sys.argv[1] </li></ul><ul><li>#Set the clip featureclass </li></ul><ul><li>clipFeatures = sys.argv[2] </li></ul><ul><li>#Set the output workspace </li></ul><ul><li>outWorkspace = sys.argv[3] </li></ul><ul><li>#Set the cluster tolerance </li></ul><ul><li>clusterTolerance = sys.argv[4] </li></ul><ul><li>#La sentencia TRY define el comienzo de bloque de código que será manipulado por un manejador de excepciones, Python </li></ul><ul><li>#usa los bloques try/except para manipular errores inesperados durante la ejecución. </li></ul><ul><li>try: </li></ul><ul><li>#Get a list of the featureclasses in the input folder </li></ul><ul><li>fcs = GP.ListFeatureClasses() </li></ul><ul><li>#Loop through the list of feature classes </li></ul><ul><li>fcs.Reset() </li></ul><ul><li>fc = fcs.Next() </li></ul><ul><li>while fc: </li></ul><ul><li>#Validate the new feature class name for the output workspace. </li></ul><ul><li>#ValidateTableName method is used to ensure the output name is valid for the output workspace </li></ul><ul><li>outFeatureClass = outWorkspace + &quot;/&quot; + GP.ValidateTableName(fc,outWorkspace) </li></ul>
  6. 10. <ul><li>#Clip each feature class in the list with the clip feature class. </li></ul><ul><li>#Do not clip the clipFeatures, it may be in the same workspace. </li></ul><ul><li>if str(fc) != str(os.path.split(clipFeatures)[1]): </li></ul><ul><li>GP.Clip(fc, clipFeatures, outFeatureClass, </li></ul><ul><li>clusterTolerance) </li></ul><ul><li>fc = fcs.Next() </li></ul><ul><li>except: </li></ul><ul><li>GP.AddMessage(GP.GetMessages(2)) </li></ul><ul><li>print GP.GetMessages(2) </li></ul>

×