Chciałbym użyć skryptu w języku Python, który nie jest oparty na arcpy, do wykonywania zadań takich jak wyszukiwanie pliku kształtu według atrybutów, tworzenie nowej warstwy z zaznaczenia oraz obliczanie obszarów wielokąta i konwertowanie wielokątów na punkty.
Czy ktoś ma jakieś przykłady użycia innych modułów lub bibliotek Python? Jestem w stanie to zrobić z łatwością za pomocą arcpy, ale chciałem zbadać inne opcje.
python
geoprocessing
Sherpas
źródło
źródło
Odpowiedzi:
To dziwne, jakby ludzie nagle odkryli moc Pythona (bez ArcPy, który jest tylko jednym z modułów Pythona), zobacz na przykład pytanie Wizualizuj plik kształtów w Pythonie :
Możesz połączyć wszystkie (Pysal z foremnym, ...) i mieszać je z innymi modułami naukowymi.
Tak więc dla przykładów skryptu Python wyszukaj Pyshp Fiona, ogr, gdal lub shapely w gis.stackexchange lub w Internecie (wiele przykładów, nie tylko w języku angielskim).)
Jeden z nich w języku francuskim (skrypty i liczby są uniwersalne!):
- Python: Korzystanie z warstw wektorowych i rastrowych w perspektywie geologicznej, bez oprogramowania GIS
i inne w języku angielskim:
- GIS z Python, Shapely i Fiona
oraz w języku hiszpańskim
- Określanie obszarów nieregularnych wielokątów za pomocą współrzędnych wierzchołków
w gis.stackexchange
- Profil wysokości 10 km po każdej stronie linii
- Aktualizowanie atrybutów za pomocą Pyshp
- Jak utworzyć plik kształtu 3D z rastra?
- Skrypt Python do uzyskiwania różnicy wysokości między dwoma punktami
- itp
Skrypt zaprezentowany przez Aarona można napisać prościej za pomocą Fiony, która używa tylko słowników Python:
a jeśli dodatkowo używasz zgrabnie:
Istnieją również dwie książki:
Python Geospatial Development of Eric Westra.
Nauka analizy geoprzestrzennej z Pythonem Joela Lawhead'a
Python jest również używany jako język skryptowy w innych aplikacjach GIS, takich jak QGIS (Quantum GIS), GRASS GIS, gvSIG lub OpenJump lub modelerach 3D, takich jak Paraview (i Blender również!). I możesz używać większości modułów geoprzestrzennych we wszystkich tych aplikacjach (zobacz Wizualizacja danych QGIS za pomocą Blendera )
źródło
Gorąco polecam stronę USU Geoprocessing with Python using Open Source GIS, aby zacząć. Używają przede wszystkim biblioteki GDAL / OGR podczas ćwiczeń. Instalacja GDAL / OGR może być trudnym wyzwaniem, więc ten wpis na blogu może być dla Ciebie pomocny: Instalowanie GDAL (i OGR) dla Pythona w systemie Windows . Sprawdź także alternatywy dla korzystania z Arcpy na GIS.SE.
Poniższy przykład skryptu geoprzetwarzania typu open source (z witryny USU) służy do wyodrębnienia danych atrybutów i zapisania ich w pliku tekstowym:
źródło
.Destroy
to niesamowita nazwa metody: pMożesz być zainteresowany GDAL / OGR .
GDAL służy do przetwarzania rastrów, podczas gdy OGR jest używany do wektorów. Obie są bibliotekami typu open source.
Jeśli chcesz usunąć pewną zależność od ArcPy, możesz naśladować niektóre możliwości, odczytując informacje do tablicy i uruchamiając własne obliczenia w czystym języku Python.
Ostatnio zrobiłem to, wybierając punkty w wielokącie, jak widać tutaj . Wykorzystuje algorytm odlewania promieniowego, aby ustalić, czy punkt leży w wielokącie, biorąc pod uwagę współrzędne wierzchołków wielokąta.
źródło
Nigdy nie korzystałem z tego osobiście, ale inni w biurze lubią używać foremnie: https://pypi.python.org/pypi/Shapely
źródło