답변:
사용할 도구 세트를 결정하기 전에 사용자가 목표를 명확하게 정의해야한다고 생각합니다. ModelBuilder와 Python 스크립팅은 다양한 작업에서 탁월합니다. 몇 가지 생각 :
간단한 텍스트 조작은 Python에서 매우 쉽고 ModelBuilder에서는 매우 어렵거나 불가능합니다.
예를 들어 파일 이름 목록의 이름을 "m_2010_naip_2310345_nw.img"에서 "2310345nw.img"로 바꾸려면 os.path
모듈을 사용하여 Python으로 쉽게 수행 할 수 있습니다 .
반면에 :
ArcGIS 제한 내에서만 작업하는 경우 수행 할 접근 방식을 결정할 때 고려해야 할 몇 가지 사항이 있습니다.
이러한 고려 사항이 주어지면 :
개인적으로 사용하기에 "더 나은"것에 대한 답은 없지만, 장기적으로 취업 가능성을 찾고 있다면, 파이썬을 배우면 사전 프로그래밍 된 도구를 사용하는 방법 만 아는 사람들과 차별화 될 것입니다. ModelBuilder 사용 방법 만 알면됩니다. 또한 Python for ArcGIS (ArcPy)의 범위를 벗어나 다른 비 독점 및 오픈 소스 GIS 라이브러리뿐만 아니라 많은 비 GIS 라이브러리 (예 : 데이터베이스)를 사용하여 훨씬 더 많은 작업과 프로젝트를 자동화 할 수 있습니다. , 이미지 조작, 통계 등).
Model Builder는 훌륭하고 배우기 쉬운 비주얼 프로그래밍 언어이며 일반적으로 GIS 프로그래밍에 대한 좋은 입장입니다. 그러나 파이썬은 더 많은 일을 할 수 있습니다.
비 ESRI GIS 라이브러리의 통합이 그 예입니다. 거의 모든 오픈 소스 GIS는 파이썬을 통해서도 다룰 수 있습니다 (예 : GRASS , Sextante , QGIS , SAGA ). ArcView 라이센스 만 있기 때문에 이것은 많은 도움이되었습니다. 따라서 ArcGIS에서 특정 지오 프로세싱 도구를 사용할 수 없을 때마다 오픈 소스 GIS에서 사용할 수있는 다른 옵션을 찾습니다. 그런 다음이 OpenSource-tools를 가져 와서 더 큰 파이썬 스크립트로 ArcGIS 도구와 결합하거나 더 작은 파이썬 스크립트를 통해 ModelBuilder에 통합하십시오.
다른 회원들이 더 많은 이점을 낼 수 있다고 확신합니다.
Python 및 ArcGIS를 사용하면 ArcGIS에 이미 포함 된 기능 외에도 Python의 전체 기능이 제공됩니다. 이러한 종류의 힘과 유연성이 필요한 경우 원하는 바에 따라 다릅니다. 또한 Python과 같은 프로그래밍 언어를 알고 실제로 활용하려면 시간이 걸립니다. 이 투자 가치가 있다면 당신에게 달려 있습니다. 그러나 심각한 데이터 처리를 위해서는 실제 스크립팅 언어가 무기고에 매우 유용합니다.
ModelBuilder가 놓칠 수있는 기능을 제외하고보다 근본적인 논의도 있습니다. 일반적으로 스크립트는 복잡한 워크 플로우를 작성하는 데 훨씬 적합합니다. 코드는 위에서 아래로 처리되며 복잡한 작업은 예를 들어 기능을 사용하여 더 작은 하위 작업으로 세분 될 수 있습니다. 또는 물체. 모델 빌더와 같은 그래픽 도구는 큰 스파게티가되는 경향이 있습니다.
나는 파이썬 스크립트를 만드는 것에 부분적입니다. 적어도 상자는 상자에 선을 연결하는 것보다 혼란스럽게하는 것보다 코드를 작성하는 것이 더 재미 있습니다.
Python 스크립팅의 가장 큰 장점은 편리한 시간에 스크립트가 실행되도록 예약 할 수 있다는 것입니다. 완료하는 데 시간이 걸리거나 정규 업무 시간 이외의 시간에 실행해야하는 스크립트가있는 경우 매우 편리합니다. 여기 에서 스크립트를 예약하는 방법의 예를 볼 수 있습니다 .
@Aaron에서 언급했듯이 Python 스크립트에서 루핑을 쉽게 설정할 수 있습니다.
Python 스크립팅으로 설정하는 경우 Model Builder를 사용하여 모델을 작성하여 Python 스크립트로 내보낼 수 있습니다. 스크립트에서 여러 도구를 사용하는 방법을 이해하는 데 어려움이있는 경우 때때로이 작업을 수행합니다. 스크립트를 작성하는 방법을 이해하는 데 도움이 될 수 있습니다.