Saya telah bekerja pada pustaka geoproses sumber terbuka yang disebut WhiteboxTools yang dapat digunakan sebagai pengganti ArcPy dalam banyak aplikasi. Saat ini ada hampir 300 alat yang tersedia untuk memproses data raster, vektor, dan LiDAR (LAS), meskipun rencananya adalah untuk mem- porting semua 400+ alat yang tersedia di Whitebox GAT . Meskipun alat dikembangkan menggunakan bahasa pemrograman Rust (untuk efisiensi), setiap alat dapat dipanggil dari Python, seperti dalam contoh berikut:
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')
Informasi lebih rinci dapat ditemukan di manual pengguna WhiteboxTools . Perpustakaan itu berdiri sendiri dan tidak memiliki dependensi lain. Anda hanya perlu mengunduh file kecil (<5Mb) yang ada di sini . File unduhan berisi exe WhiteboxTools, skrip whitebox_tools.py , yang menyediakan API Python untuk pustaka (diimpor pada baris teratas skrip di atas), dan manual pengguna. Ada juga GUI tkinter yang sangat mendasar (wb_runner.py) untuk berinteraksi dengan perpustakaan.
Lisensi MIT yang permisif dimaksudkan untuk memungkinkan WhiteboxTools diintegrasikan sebagai back-end dengan GIS open-source lainnya; Alexander Bruy telah mengembangkan plugin QGIS untuk back-end WhiteboxTools. Anda juga dapat mencampur dan mencocokkan alat dari WhiteboxTools dan ArcPy dalam satu skrip yang diperlukan. Perpustakaan masih agak eksperimental, dikembangkan dari University of Guelph Geomorfometri dan Hydrogeomatics Research Group , dan saat ini rilis pra-1.0, yang harus diperhitungkan dalam penggunaan.