나에게, 귀하의 질문에서 알 수 있듯이, 특히 일괄 처리를 자동화하고 반복 가능한 전문가 계산을 만들기 위해 Python을 많이 사용합니다. 저는 프리랜서 GIS 컨설턴트로서 ESRI 라이센스를 감당할 수 없기 때문에 ArcPy를 사용하지 않습니다. GDAL / OGR, Shapely, PostGIS, Numpy 및 SciPy를 많이 사용하지만 내 목록의 모든 항목은 ArcPy로 수행 할 수 있습니다 (그중 일부는 가능합니다). 예를 들면 다음과 같습니다.
- 영국 전역에 대한 영역 통계를 도출하여 먼저 두 가지 데이터 유형의 20km 래스터 타일을 모자이크 처리해야합니다. 래스터에 대해 일부 "수학"을 수행하고 10km 벡터 다각형 타일의 해당 영역을 병합하고 결과의 구역 통계를 계산합니다. 논리 디렉토리 구조의 shapefile로 출력하고 클라이언트의 CD로 굽기 전에 래스터 맵을 작성하고 통계 테이블을 원래 벡터 데이터에 결합합니다.
- 도로 또는 트랙을 따라 100m마다 순차적 가시성 계산을 수행 한 다음 계산 결과를 다시 경로 데이터에서 M 값으로 할당합니다.
- 래스터 및 벡터 데이터 타일을 모자이크 처리 / 병합하여 필요한 영역으로 클리핑 한 다음 독점 (GIS 이외의) 3D 형식으로 변환하여 3D 가로 모델을 작성하는 자동화 된 프로세스. 나는 프리랜서 작업에서 이것을 위해 개발 한 작은 파이썬 라이브러리를 사용합니다.
- 내가 팀에서 작업 한 거대한 프로젝트 중 하나는 ArcPy를 사용하여 배치 프로세스를 만들어 GIS 데이터에서 새로운 컴퓨터 데이터를 절차적인 컴퓨터 게임 자산 생성기에서 사용할 수있는 형식으로 변환하거나 파생시키는 형식으로 만들었습니다. 지오 프로세싱 스크립트는 파이썬으로 작성되고 Django를 통해 실행되는 일괄 처리 '슬레이브 드라이버'에 의해 호출되었습니다.
- 파이썬은 작은 작업, 특히 반복되는 기능 (예 : 기능 처리 별 기능)이있는 경우에도 매우 유용합니다. ArcGIS의 Model Builder는 버전 10에 포함 된 흐름 제어 기능으로 훨씬 개선되었지만 여전히 필요한 제어 기능을 제공 할 수 없거나 ArcPy에서 프로세스를 작성하는 것보다 더 빠르고 쉽습니다. 강제 모델 빌더.
- 나는 스윕 경로 분석을 수행하기 위해 Python에서 도구를 만들었습니다. 병기고.
- Mapnik에서 출력 생성
- ArcGIS가 멀티 스레딩되기 전에 Python을 사용하여 하위 프로세스를 생성 할 수있었습니다. 하위 프로세스는 때때로 ArcMap의 오버 헤드없이 메모리를 어지럽히 지 않고서도 길고 느린 계산 속도를 높일 수있었습니다.
상용 지오 프로세싱의 파이썬은 파이썬이 제공하는 스크립팅의 모든 속도와 간결함과 컴파일 된 C 스타일 코드 처리 속도가 제공하기 때문에 훌륭합니다. 파이썬이 해석되는 동안 대부분 컴파일 된 C 스타일 코드를 호출하기 때문입니다. 파이썬은 많은 순차적 지리 처리 작업을 함께 수행 할 수있는 접착제를 제공하며 위의 목록은 제가 개인적으로 사용하는 것 중 일부에 대한 작은 스냅 샷입니다. 'Good Old Days'에서 Watch 파일을 설정하고 ArcInfo에 명령 줄 입력을 기록한 다음 AML (Arc Macro Language를 기억하는 사람!)을 정리하여 AML과 함께 지리 처리 호출을 재사용 할 수있는 프로세스를 만듭니다. 파이썬이나 C #을 접착제로 사용한다는 점을 제외하면 요즘 그렇게 다르지 않습니다.