Dzięki ArcGIS 10 Python stał się de facto językiem skryptowym dla ESRI. Podczas gdy wiodące oprogramowanie typu open source, takie jak QGIS, GeoServer, PostGIS, wszystkie obsługuje Python. Dlatego stało się ważne, aby znać / uczyć się języka Python dla programistów GIS oraz użytkowników.
Czy ktoś może zrobić listę takich narzędzi / modułów / dodatków w Pythonie, które są kluczowe w GIS?
python
software-recommendations
therayray
źródło
źródło
arcgisscripting
jest modułem. Zobacz help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…[tag:python] + [tag:my-software]
poszukiwania i sortowane za pomocą głosów i faq zakładkach. Odpowiedzi tutaj nigdy nie mogą liczyć na to, że będą do tego pasować.Odpowiedzi:
NumPy : NumPy to podstawowy pakiet do naukowego przetwarzania danych w języku Python. Zawiera między innymi:
Oprócz oczywistych zastosowań naukowych NumPy może być również wykorzystywany jako wydajny wielowymiarowy pojemnik danych ogólnych. Można zdefiniować arbitralne typy danych. Pozwala to NumPy na płynną i szybką integrację z szeroką gamą baz danych.
SciPy : SciPy (wymawiane „Sigh Pie”) to oprogramowanie typu open source dla matematyki, nauki i inżynierii. Jest to także nazwa bardzo popularnej konferencji poświęconej programowaniu naukowemu w języku Python. Biblioteka SciPy zależy od NumPy, który zapewnia wygodną i szybką manipulację macierzą N-wymiarową. Biblioteka SciPy została zbudowana do pracy z tablicami NumPy i zapewnia wiele przyjaznych dla użytkownika i wydajnych procedur numerycznych, takich jak procedury integracji numerycznej i optymalizacji. Razem działają na wszystkich popularnych systemach operacyjnych, są szybkie w instalacji i są bezpłatne. NumPy i SciPy są łatwe w użyciu, ale wystarczająco mocne, aby mogły na nich polegać niektórzy z wiodących naukowców i inżynierów na świecie. Jeśli chcesz manipulować liczbami na komputerze i wyświetlać lub publikować wyniki, wypróbuj SciPy!
Shapely : Shapely to licencjonowany przez BSD pakiet Pythona do manipulacji i analizy płaskich obiektów geometrycznych. Opiera się on na szeroko rozpowszechnionych bibliotekach GEOS (silnik PostGIS) i JTS (z których port jest GEOS). Ta zależność C jest wymieniana za zdolność wykonywania z niesamowitą prędkością. Shapely nie zajmuje się formatami danych ani układami współrzędnych, ale może być łatwo zintegrowany z takimi pakietami.
Powiązania GDAL Python : Ten pakiet i rozszerzenia Pythona są szeregiem narzędzi do programowania i manipulowania biblioteką GDAL Geospatial Data Abstraction Library.
źródło
Aby odpowiedzieć na moje pytanie, właśnie znalazłem ten moduł Python. Chociaż jeszcze go nie użyłem, wygląda ekscytująco.
I
źródło
przejdź do tematu :: Nauka / Inżynieria :: GIS i masz wszystkie moduły Pythona dla GIS (do pracy z plikami kształtów, rastrami, geokodowaniem KML, GML, GPX itp.)
Najważniejsze zostały już cytowane, ale polecam również Fionę „ Fiona zapewnia minimalny, nieskomplikowany interfejs Python do najbardziej zaufanej biblioteki dostępu do geodanych GIS społeczności open source i łatwo integruje się z innymi pakietami GIS Python, takimi jak pyproj, Rtree i Shapely ”.
oraz do tworzenia sieci z plikami kształtów lub Esri Feature Class z modułem Networkx Geoinformacja sieciowa geoprzetwarzanie : „ O ile mogę stwierdzić, ESRI nie wydało żadnych narzędzi geoprzetwarzania dla swojej sieci geometrycznej ” lub Alternatywy dla pgRouting lub Python: jak przekształcić plik kształtu (lub klasa obiektów ESRI) w sieci topologicznej (wykres) (w języku francuskim)
Używam Shapely, Fiona, GDAL / OGR, Pyshp, Networkx i innych w QGIS i GRASS GIS bez problemu (oraz z matplotlib lub desartartes do interaktywnego tworzenia wykresów). Często mają algorytmy łatwiejsze w leczeniu.
Niektóre z tych modułów mogą być również używane w ArcPy z problemami, ponieważ ArcPy używa wersji 1.3 Numpy, przestarzałej (teraz wersja 1.6.1 ...) i nie można jej zaktualizować bez zerwania modułu ArcPy.
źródło
W przypadku kartograficznego renderowania danych GIS:
źródło
Dodawanie do listy:
PySAL - „wieloplatformowa biblioteka open source funkcji analizy przestrzennej”
dostępny na: http://code.google.com/p/pysal/
pyshp - czytnik plików shapefile w Pythonie i program do pisania w czystym pythonie
dostępny na: http://code.google.com/p/pyshp/
Edytować:
Ktoś pokazał mi ten moduł dzisiaj, może zainteresować ludzi. Przykładowe dane wektorowe i rastrowe GIS do użycia w Pythonie:
gisdata - http://pypi.python.org/pypi/gisdata/0.3.3
źródło
Używam i polecam ReportLab Toolkit , bibliotekę Open Source PDF do programowego tworzenia dokumentów w formacie PDF. Jak reklamowano na jego stronach, jest to solidne, elastyczne, sprawdzone i sprawdzone w branży rozwiązanie. To darmowe oprogramowanie typu open source napisane w języku Python, ale jego składnia nie jest najłatwiejsza, z jaką kiedykolwiek miałem do czynienia :-)
W ArcGIS 10.0 jest on nieoceniony przy pisaniu raportów w formacie PDF z klas elementów i tabel, chociaż niektóre z tych funkcji mogą nie być tak konieczne o 10.1, kiedy dostęp do raportów PDF z programu do zapisywania raportów ArcGIS stanie się dostępny dla ArcPy.
źródło
pdfgen
pakietu czyplatypus
? Muszę generować raporty z plikami JPEG i tekstem, nic nadzwyczajnego.W świecie Django:
źródło
Jest jeszcze więcej:
GRASS - możesz wywoływać GRASS za pomocą Pythona.
FMEObjects - Jeśli masz licencję FME, mają one również moduł python, który pozwala na wywołanie niektórych z ich fajnych transformatorów.
źródło
W pakiecie Enthought Package Distribution znajduje się wiele pakietów wymienionych powyżej, tworzących spójną platformę. Zapewnili nawet, że można go łatwo skonfigurować do pracy z poziomu python ArcGIS i że
arcpy
można go używać z poziomu python python. Używamy tego w naszych biurach. Z naszej wewnętrznej wiki:Najlepszym sposobem połączenia ArcGIS i EPD jest zainstalowanie obu i połączenie ich przy użyciu plików .pth, aby sys.path w Pythonie zawiera moduły drugiego systemu. Plik „zzEPD.pth” umożliwia ArcGIS Pythonowi dostęp do modułów EPD, a „zzArcGIS.pth” umożliwia dostęp do Arcpy Pythona EPD. (Prefiks „zz” ma na celu zapewnienie, że „obce” pakiety są ostatnie w sys.path, aby uniknąć potencjalnych konfliktów dla modułów istniejących w obu instalacjach Pythona.) Jeśli napotkasz konflikty ArcGIS, po prostu zmień nazwę pliku na. txt („zzEPD.pth.txt”) i ponownie uruchom ArcGIS, a ArcGIS nie będzie już „widzieć” modułów EPD (nie będzie ich w sys.path).
* zzEPD.pth - miejsce w folderze \ Python27 \ Desktop10.1 \ lib \ site-packages *
* zzArcGIS.pth - miejsce w folderze \ Python27 \ epd32 \ lib \ site-packages *
źródło
Niespecyficzne dla GIS, ale do debugowania Pythona
IPDB
jest niesamowite. https://pypi.python.org/pypi/ipdbAby go użyć, po prostu umieść następujące wiersze w kodzie:
Następnie w powłoce Pythona możesz upuścić dowolny fragment kodu i wchodzić w interakcje ze wszystkimi zmiennymi w tym bieżącym stanie.
źródło