Con ArcGIS 10, Python se ha convertido en el lenguaje de script de facto para ESRI. Mientras lidera software de código abierto como QGIS, GeoServer, PostGIS es compatible con Python. Por lo tanto, se hizo importante conocer / aprender Python para los desarrolladores de SIG y para los usuarios.
¿Alguien puede hacer una lista de tales herramientas / módulos / complementos en Python que son cruciales en SIG?
python
software-recommendations
thelastray
fuente
fuente
arcgisscripting
es un módulo. Ver help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…[tag:python] + [tag:my-software]
búsqueda y se ordenarán a través de las pestañas de votos y preguntas frecuentes. Las respuestas aquí nunca pueden esperar igualar eso.Respuestas:
NumPy : NumPy es el paquete fundamental para la computación científica con Python. Contiene entre otras cosas:
Además de sus usos científicos obvios, NumPy también se puede usar como un contenedor eficiente multidimensional de datos genéricos. Se pueden definir tipos de datos arbitrarios. Esto permite que NumPy se integre sin problemas y rápidamente con una amplia variedad de bases de datos.
SciPy : SciPy (pronunciado "Sigh Pie") es un software de código abierto para matemáticas, ciencias e ingeniería. También es el nombre de una conferencia muy popular sobre programación científica con Python. La biblioteca SciPy depende de NumPy, que proporciona una manipulación de matriz N-dimensional conveniente y rápida. La biblioteca SciPy está diseñada para funcionar con matrices NumPy y proporciona muchas rutinas numéricas fáciles de usar y eficientes, como rutinas para la integración y optimización numéricas. Juntos, se ejecutan en todos los sistemas operativos populares, se instalan rápidamente y son gratuitos. NumPy y SciPy son fáciles de usar, pero lo suficientemente potentes como para depender de algunos de los principales científicos e ingenieros del mundo. Si necesita manipular números en una computadora y mostrar o publicar los resultados, ¡pruebe SciPy!
Shapely : Shapely es un paquete Python con licencia BSD para la manipulación y el análisis de objetos geométricos planos. Se basa en las bibliotecas GEOS (el motor de PostGIS) y JTS (desde las cuales se transfiere GEOS), ampliamente implementadas. Esta dependencia de C se comercializa por la capacidad de ejecutarse con una velocidad increíble. Shapely no se preocupa por los formatos de datos o los sistemas de coordenadas, pero puede integrarse fácilmente con los paquetes que sí lo están.
Enlaces de Python de GDAL : este paquete y extensiones de Python son una serie de herramientas para programar y manipular la Biblioteca de abstracción de datos geoespaciales de GDAL .
fuente
Para responder a mi propia pregunta, acabo de encontrar este módulo de Pythons. Aunque todavía no lo he usado, parece emocionante.
Y
fuente
vaya a Tema :: Científico / Ingeniería :: SIG y tenga todos los módulos de Python para SIG (para trabajar con shapefiles, rásteres, KML, GML, geocodificación GPX, etc.)
Ya se han citado los más importantes, pero también recomiendo a Fiona " Fiona proporciona una interfaz Python mínima y sin complicaciones para la biblioteca de acceso a geodatos más confiable de la comunidad GIS de código abierto y se integra fácilmente con otros paquetes Python GIS como pyproj, Rtree y Shapely " .
y para redes con shapefiles o Esri Feature Class con módulo Networkx Geoprocesamiento de red geométrica : " Por lo que puedo decir, ESRI no ha lanzado ninguna herramienta de geoprocesamiento para su red geométrica " o Alternativas a pgRouting o Python: cómo transformar un shapefile (o clase de entidad ESRI) en una red topológica (gráfico) (en francés)
Utilizo Shapely, Fiona, GDAL / OGR, Pyshp, Networkx y otros en QGIS y GRASS GIS sin problema (y con matplotlib o descartes para gráficos interactivos). A menudo tienen algoritmos más fáciles de usar para el tratamiento.
Algunos de estos módulos también se pueden usar en ArcPy con problemas porque ArcPy usa la versión 1.3 de Numpy, obsoleta (ahora versión 1.6.1 ...) y no puede actualizarla sin romper el módulo ArcPy.
fuente
Para la representación cartográfica de datos SIG:
fuente
Agregando a la lista:
PySAL - "biblioteca multiplataforma de código abierto de funciones de análisis espacial"
disponible en: http://code.google.com/p/pysal/
pyshp: un lector y escritor de archivos de forma de Python en Python puro
disponible en: http://code.google.com/p/pyshp/
Editar:
Alguien me mostró este módulo hoy, puede ser de algún interés para las personas. Muestra de datos de trama y vector SIG para uso en python:
gisdata - http://pypi.python.org/pypi/gisdata/0.3.3
fuente
Utilizo y recomiendo ReportLab Toolkit , la biblioteca PDF de código abierto para crear documentos mediante programación en formato PDF. Como se anuncia en sus páginas, es una solución robusta, flexible, probada en el tiempo y sólida en la industria. Es un software gratuito de código abierto escrito en Python, pero su sintaxis no es la más fácil con la que he tratado :-)
En ArcGIS 10.0 es invaluable para escribir informes en formato PDF desde clases de entidad y tablas, aunque parte de esta funcionalidad puede no ser tan necesaria en 10.1 cuando el acceso a informes PDF desde el escritor de informes ArcGIS esté disponible para ArcPy.
fuente
pdfgen
paquete oplatypus
? Necesito generar informes con jpegs y texto, nada demasiado elegante.En el mundo de Django:
fuente
Aún hay más:
GRASS - Puedes llamar a GRASS con Python.
FMEObjects : si tiene una licencia FME, también tienen un módulo de Python que le permite llamar a algunos de sus geniales transformadores.
fuente
La distribución de paquetes Enthought tiene muchos de los paquetes enumerados anteriormente agrupados en una plataforma cohesiva. Incluso se han asegurado de que se pueda configurar fácilmente para que funcione desde el indicador de Python de ArcGIS y que
arcpy
se pueda usar desde el indicador de Python. Usamos esto en nuestras oficinas. De nuestra wiki interna:La mejor manera de conectar ArcGIS y EPD es instalar ambos y vincularlos utilizando archivos .pth para que Python sys.path incluya los módulos del otro sistema. El archivo "zzEPD.pth" le permite a ArcGIS Python acceder a los módulos EPD, y "zzArcGIS.pth" le permite a EPD Python acceder a arcpy. (El prefijo "zz" está ahí para garantizar que los paquetes "foráneos" sean los últimos en sys.path para evitar conflictos potenciales para los módulos que existen en ambas instalaciones de Python). Si se encuentra con conflictos de ArcGIS, simplemente cambie el nombre del archivo. txt ("zzEPD.pth.txt") y reinicie ArcGIS y ArcGIS ya no "verá" los módulos EPD (no estarán en sys.path).
* zzEPD.pth: colocar en la carpeta \ Python27 \ Desktop10.1 \ lib \ site-packages *
* zzArcGIS.pth: colocar en la carpeta \ Python27 \ epd32 \ lib \ site-packages *
fuente
No es específico para SIG, pero para depurar Python,
IPDB
es sorprendente. https://pypi.python.org/pypi/ipdbPara usarlo, simplemente coloque las siguientes líneas en su código:
Luego, en su shell de Python, puede colocar cualquier código e interactuar con todas las variables en ese estado actual.
fuente