Mit ArcGIS 10 wurde Python zur De-facto-Skriptsprache für ESRI. PostGIS ist führend in Open-Source-Software wie QGIS, GeoServer und unterstützt Python. Daher wurde es wichtig, Python sowohl für GIS-Entwickler als auch für Benutzer zu kennen / zu lernen.
Kann jemand eine Liste solcher Tools / Module / Add-Ins in Python erstellen, die für GIS von entscheidender Bedeutung sind?
python
software-recommendations
letzten Strahls
quelle
quelle
arcgisscripting
ist ein Modul. Siehe help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#//…[tag:python] + [tag:my-software]
Suche gefunden und über die Registerkarten " Stimmen" und " FAQ" sortiert . Die Antworten hier können niemals darauf hoffen, dass sie mit ihnen übereinstimmen.Antworten:
NumPy : NumPy ist das grundlegende Paket für das wissenschaftliche Rechnen mit Python. Es enthält unter anderem:
Neben seiner offensichtlichen wissenschaftlichen Verwendung kann NumPy auch als effizienter multidimensionaler Container für generische Daten verwendet werden. Beliebige Datentypen können definiert werden. Dadurch kann NumPy nahtlos und schnell in eine Vielzahl von Datenbanken integriert werden.
SciPy : SciPy (ausgesprochen "Sigh Pie") ist eine Open-Source-Software für Mathematik, Naturwissenschaften und Ingenieurwissenschaften. Es ist auch der Name einer sehr beliebten Konferenz über wissenschaftliches Programmieren mit Python. Die SciPy-Bibliothek hängt von NumPy abDies ermöglicht eine bequeme und schnelle Manipulation von N-dimensionalen Arrays. Die SciPy-Bibliothek ist für die Verwendung mit NumPy-Arrays konzipiert und bietet viele benutzerfreundliche und effiziente numerische Routinen, z. B. Routinen für die numerische Integration und Optimierung. Zusammen laufen sie auf allen gängigen Betriebssystemen, sind schnell zu installieren und kostenlos. NumPy und SciPy sind einfach zu bedienen, aber leistungsstark genug, um von einigen der weltweit führenden Wissenschaftlern und Ingenieuren abhängig zu sein. Wenn Sie Zahlen auf einem Computer manipulieren und die Ergebnisse anzeigen oder veröffentlichen müssen, probieren Sie SciPy aus!
Shapely : Shapely ist ein BSD-lizenziertes Python-Paket zur Manipulation und Analyse planarer geometrischer Objekte. Es basiert auf den weit verbreiteten Bibliotheken GEOS (die Engine von PostGIS) und JTS (aus denen GEOS portiert wird). Diese C-Abhängigkeit wird gegen die Fähigkeit eingetauscht, mit rasender Geschwindigkeit ausgeführt zu werden. Shapely befasst sich nicht mit Datenformaten oder Koordinatensystemen, sondern kann problemlos in Pakete integriert werden, die
GDAL-Python-Bindungen : Dieses Python-Paket und seine Erweiterungen sind eine Reihe von Tools zum Programmieren und Bearbeiten der GDAL Geospatial Data Abstraction Library.
quelle
Um meine eigene Frage zu beantworten, habe ich gerade dieses Pythons-Modul gefunden. Obwohl ich es noch nicht benutzt habe, sieht es aufregend aus.
Und
quelle
gehe zu Thema :: Wissenschaft / Technik :: GIS und du hast alle Python-Module für GIS (für die Arbeit mit Shapefiles, Rastern, KML, GML, GPX, Geocoding, etc.)
Die wichtigsten wurden bereits erwähnt, aber ich empfehle auch Fiona " Fiona bietet eine minimale, unkomplizierte Python-Oberfläche für die vertrauenswürdigste Geodaten-Zugriffsbibliothek der Open-Source-GIS-Community und lässt sich problemlos in andere Python-GIS-Pakete wie pyproj, Rtree und Shapely integrieren. "
und für die Vernetzung mit Shape - Dateien oder Esri - Feature - Class mit NetworkX Modul geometrischem Netzwerk Geoprocessing : „ Soweit ich das beurteilen kann, ESRI hat noch keine Geoverarbeitungswerkzeuge für ihr geometrisches Netzwerk freigegeben oder“ Alternativen zu pgRouting oder Python: wie eine Shape - Datei zu transformieren (oder Feature Class ESRI) in einem topologischen Netzwerk (Grafik) (auf Französisch)
Ich verwende Shapely, Fiona, GDAL / OGR, Pyshp, Networkx und andere in QGIS und GRASS GIS ohne Probleme (und mit matplotlib oder descartes für interaktive Grafiken). Sie haben oft Algorithmen, die für die Behandlung einfacher zu verwenden sind.
Einige dieser Module können auch in ArcPy mit Problemen verwendet werden, da ArcPy Version 1.3 von Numpy verwendet, die veraltet ist (jetzt Version 1.6.1 ...), und Sie können es nicht aktualisieren, ohne das ArcPy-Modul zu beschädigen.
quelle
Für die kartografische Darstellung von GIS-Daten:
quelle
Hinzufügen zur Liste:
PySAL - "plattformübergreifende Open Source-Bibliothek für räumliche Analysefunktionen"
verfügbar unter: http://code.google.com/p/pysal/
pyshp - ein Python-Shapefile-Reader und -Schreiber in reinem Python
verfügbar unter: http://code.google.com/p/pyshp/
Bearbeiten:
Jemand hat mir dieses Modul heute gezeigt, kann für Leute von Interesse sein. Beispiel-GIS-Vektor- und -Raster-Daten für die Python-Verwendung:
gisdata - http://pypi.python.org/pypi/gisdata/0.3.3
quelle
Ich verwende und empfehle ReportLab Toolkit , die Open Source PDF-Bibliothek zum programmgesteuerten Erstellen von Dokumenten im PDF-Format. Wie auf seinen Seiten angekündigt, handelt es sich um eine robuste, flexible, bewährte und branchenstarke Lösung. Es ist eine kostenlose Open-Source-Software, die in Python geschrieben wurde, aber die Syntax ist nicht die einfachste, mit der ich mich jemals befasst habe :-)
In ArcGIS 10.0 ist es für das Schreiben von Berichten im PDF-Format aus Feature-Classes und Tabellen von unschätzbarem Wert, obwohl einige dieser Funktionen in 10.1 möglicherweise nicht erforderlich sind, wenn ArcPy Zugriff auf PDF-Berichte mit ArcGIS Report Writer erhält.
quelle
pdfgen
Paket oderplatypus
? Ich muss Berichte mit JPEGs und Text erstellen, nichts Besonderes.In der Django-Welt:
quelle
Es gibt noch mehr:
GRASS - Sie können GRASS mit Python aufrufen.
FMEObjects - Wenn Sie eine FME-Lizenz haben, haben sie auch ein Python-Modul, mit dem Sie einige ihrer coolen Transformatoren aufrufen können.
quelle
In der Enthought-Paketverteilung sind viele der oben aufgeführten Pakete zu einer zusammenhängenden Plattform zusammengefasst. Sie haben sogar sichergestellt, dass es problemlos über die Python-Eingabeaufforderung von ArcGIS konfiguriert und über die Python-Eingabeaufforderung
arcpy
verwendet werden kann. Wir nutzen dies in unseren Büros. Aus unserem internen Wiki:Die beste Möglichkeit, ArcGIS und EPD zu verbinden, besteht darin, beide zu installieren und mithilfe von .pth-Dateien zu verknüpfen, sodass der Python-sys.path die Module des anderen Systems enthält. Die Datei "zzEPD.pth" ermöglicht ArcGIS Python den Zugriff auf EPD-Module, und "zzArcGIS.pth" ermöglicht EPD Python den Zugriff auf arcpy. (Mit dem Präfix "zz" wird sichergestellt, dass die "fremden" Pakete zuletzt im sys.path enthalten sind, um mögliche Konflikte bei Modulen zu vermeiden, die in beiden Python-Installationen vorhanden sind.) Wenn Sie auf ArcGIS-Konflikte stoßen, benennen Sie die Datei einfach in um. txt ("zzEPD.pth.txt") und Neustart von ArcGIS. ArcGIS "sieht" EPD-Module nicht mehr (sie befinden sich nicht im sys.path).
* zzEPD.pth - im Ordner \ Python27 \ Desktop10.1 \ lib \ site-packages ablegen *
* zzArcGIS.pth - im Ordner \ Python27 \ epd32 \ lib \ site-packages ablegen *
quelle
Nicht spezifisch für GIS, aber zum Debuggen von Python,
IPDB
ist erstaunlich. https://pypi.python.org/pypi/ipdbFügen Sie dazu einfach die folgenden Zeilen in Ihren Code ein:
Anschließend können Sie in Ihrer Python-Shell einen beliebigen Code einfügen und mit allen Variablen in diesem aktuellen Status interagieren.
quelle