Eu gostaria de usar um script Python que não seja baseado no arcpy para fazer coisas como consultar um arquivo shapefile por atributos, criar uma nova camada a partir da seleção e calcular áreas de um polígono e converter polígonos em pontos.
Alguém tem algum exemplo de código do uso de outros módulos ou bibliotecas Python? Eu sou capaz de fazer isso facilmente usando arcpy, mas eu queria explorar outras opções.
python
geoprocessing
sherpas
fonte
fonte
Respostas:
Isso é estranho, como se as pessoas de repente descobrissem o poder do Python (sem o ArcPy, que é apenas um módulo do Python entre outros), veja, por exemplo, a pergunta Visualize o shapefile no Python :
Você pode combinar tudo (Pysal com bem torneado, ...) e misturá-los com os outros módulos científicos.
Assim, para exemplos de scripts Python, procure Pyshp Fiona, ogr, gdal ou shapely em gis.stackexchange ou na internet (muitos exemplos, não apenas em inglês).)
Um deles em francês (os scripts e as figuras são universais!):
- Python: usando camadas de vetor e raster em uma perspectiva geológica, sem o software GIS
em inglês:
- GIS com Python, Shapely e Fiona
e em espanhol
- Determinação de áreas de polígonos irregulares usando as coordenadas dos vértices
em gis.stackexchange
- Perfil de elevação 10 km de cada lado de uma linha
- Atualizando atributos usando o Pyshp
- Como criar um arquivo de forma 3D a partir de uma varredura?
- Script Python para obter diferença de altitude entre dois pontos
- etc
O script apresentado por Aaron pode ser escrito de maneira mais simples com Fiona, que usa apenas dicionários Python:
e se você usar bem torneado além disso:
Existem também dois livros:
Desenvolvimento Geoespacial em Python de Eric Westra.
Aprendendo a Análise Geoespacial com Python de Joel Lawhead
O Python também é usado como uma linguagem de script em outros aplicativos GIS como QGIS (Quantum GIS), GRASS GIS, gvSIG ou OpenJump ou modeladores 3D como Paraview (e Blender também!). E você pode usar a maioria dos módulos geoespaciais em todos esses aplicativos (consulte Visualizando dados do QGIS com o Blender )
fonte
Eu recomendo o site USU Geoprocessing with Python usando o Open Source GIS para você começar. Eles usam principalmente a biblioteca GDAL / OGR ao longo dos exercícios. Instalar o GDAL / OGR pode ser um pouco desafiador, portanto, esta entrada do blog pode ser útil para você: Instalação do GDAL (e OGR) para Python no Windows . Verifique também as alternativas ao uso do Arcpy no GIS.SE.
O seguinte exemplo de script de geoprocessamento de código-fonte aberto (do site USU) é usado para extrair dados de atributos e gravá-los em um arquivo de texto:
fonte
.Destroy
é um nome de método incrível: pVocê pode estar interessado em GDAL / OGR .
GDAL é usado para processar rasters enquanto OGR é usado para vetores. Ambas são bibliotecas de código aberto.
Se você deseja remover alguma dependência do ArcPy, pode imitar alguns recursos lendo as informações em uma matriz e executando seus próprios cálculos em Python puro.
Recentemente, fiz isso selecionando pontos em um polígono, como visto aqui . Ele utiliza o algoritmo de projeção de raios para determinar se um ponto está dentro de um polígono, dadas as coordenadas dos vértices do polígono.
fonte
Eu nunca usei isso pessoalmente, mas outras pessoas no escritório gostam de usar bem torneadas: https://pypi.python.org/pypi/Shapely
fonte