나는 작업 한 오픈 소스 지오 프로세싱 라이브러리라는 WhiteboxTools 많은 응용 프로그램에 ArcPy 대신 사용할 수 있습니다. 현재 래스터, 벡터 및 LiDAR (LAS) 데이터를 처리하기 위해 거의 300 개의 툴을 사용할 수 있지만, 결국 Whitebox GAT 에서 사용할 수있는 400 개 이상의 툴을 모두 포팅 할 계획입니다 . 도구는 Rust 프로그래밍 언어 (효율성)를 사용하여 개발되었지만 다음 예제와 같이 Python에서 각 도구를 호출 할 수 있습니다.
from whitebox_tools import WhiteboxTools
wbt = WhiteboxTools()
# Set the working directory. This is the path to the folder containing the data,
# i.e. files sent to tools as input/output parameters. You don't need to set
# the working directory if you specify full path names as tool parameters.
wbt.work_dir = "/path/to/data/"
# The most convenient way to run a tool is to use its associated method, e.g.:
wbt.elev_percentile("DEM.tif", "output.tif", 15, 15)
# You may also provide an optional custom callback for processing output from the
# tool. If you don't provide a callback, and verbose is set to True, tool output
# will simply be printed to the standard output.
def my_callback(value):
if user_selected_cancel_btn: # Assumes a 'Cancel' button on a GUI
print('Cancelling operation...')
wbt.cancel_op = True
else:
print(value)
wbt.breach_depressions('DEM.flt', 'DEM_breached.flt', callback=my_callback)
# List all available tools in WhiteboxTools
print(wbt.list_tools())
# Lists tools with 'lidar' or 'LAS' in tool name or description.
print(wbt.list_tools(['lidar', 'LAS']))
# Print the help for a specific tool.
print(wbt.tool_help("ElevPercentile"))
# Want to read the source code for a tool?
# 'view_code' opens a browser and navigates to a tool's
# source code in the WhiteboxTools GitHub repository
wbt.view_code('watershed')
더 자세한 정보는 WhiteboxTools 사용자 매뉴얼 에서 제공됩니다 . 라이브러리는 독립형이며 다른 종속성이 없습니다. 여기에 있는 작은 (<5Mb) 파일을 다운로드하기 만하면 됩니다 . 다운로드 파일에는 WhiteboxTools exe, whitebox_tools.py 스크립트 가 포함되어 있으며이 스크립트는 라이브러리에 대한 Python API (위 스크립트의 맨 위 행에서 가져옴) 및 사용자 매뉴얼을 제공합니다. 라이브러리와의 인터페이스를위한 매우 기본적인 tkinter GUI (wb_runner.py)도 있습니다.
허용되는 MIT 라이센스는 WhiteboxTools를 다른 오픈 소스 GIS와 백엔드로 통합 할 수 있도록하기위한 것입니다. Alexander Bruy는 WhiteboxTools 백엔드 용 QGIS 플러그인 을 개발했습니다 . 필요에 따라 WhiteboxTools 및 ArcPy의 도구를 단일 스크립트로 혼합하고 일치시킬 수도 있습니다. 이 라이브러리는 다소 실험적이며 Guelph 대학교의 Geomorphometry and Hydrogeomatics Research Group 에서 개발되었으며 현재 1.0 버전 이전이며 사용시 고려해야합니다.