ArcPy'nin yerine birçok uygulamada kullanılabilecek WhiteboxTools adlı açık kaynaklı bir coğrafi işlem kitaplığı üzerinde çalışıyorum . Şu anda , raster, vektör ve LiDAR (LAS) verilerinin işlenmesi için yaklaşık 300 araç bulunmaktadır , bununla birlikte, plan sonunda Whitebox GAT'ta mevcut olan 400+ aracın tümünü kapsayacaktır . Her ne kadar takımlar Pas programlama dili kullanılarak (verim için) geliştirilmiş olsa da, her araç aşağıdaki örnekte olduğu gibi Python'dan çağrılabilir:
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')
Daha fazla bilgiyi WhiteboxTools kullanım kılavuzunda bulabilirsiniz . Kütüphane bağımsızdır ve başka bir bağımlılığı yoktur. Burada bulunan küçük (<5Mb) dosyayı indirmeniz yeterlidir . İndirme dosyası, WhiteboxTools exe, kütüphane için Python API'sini (yukarıdaki betiğin en üst satırında içe aktarılır) sağlayan whitebox_tools.py betiğini ve kullanım kılavuzunu içerir. Kütüphane ile etkileşime girmek için çok temel bir hazırlayıcı GUI (wb_runner.py) de vardır.
İzin verilen MIT lisansı, WhiteboxTools'un diğer açık kaynaklı GIS ile arka uç olarak entegre edilmesine izin vermek için tasarlanmıştır; Alexander Bruy, WhiteboxTools arka ucu için bir QGIS eklentisi geliştirdi . Ayrıca, WhiteboxTools ve ArcPy'den araçları tek bir komut dosyasında gerektiği gibi karıştırabilir ve eşleştirebilirsiniz. Kütüphane halen biraz deneyseldir, Guelph Üniversitesi Jeomorfometrisi ve Hidrojeomatik Araştırma Grubu'ndan geliştirilmiştir ve şu anda kullanımda göz önünde bulundurulması gereken 1.0 öncesi yayındır.