मैं एक पर काम कर रहा है खुला स्रोत geoprocessing पुस्तकालय बुलाया WhiteboxTools कि कई अनुप्रयोगों में ArcPy के स्थान पर इस्तेमाल किया जा सकता। वर्तमान में रैस्टर, वेक्टर और LiDAR (LAS) डेटा को संसाधित करने के लिए लगभग 300 उपकरण उपलब्ध हैं , हालाँकि यह योजना अंततः व्हाइटबॉक्स GAT में उपलब्ध सभी 400 से अधिक टूल को पोर्ट करना है । हालाँकि, उपकरण रस्ट प्रोग्रामिंग भाषा (दक्षता के लिए) का उपयोग करके विकसित किए गए हैं, प्रत्येक उपकरण पायथन से कॉल करने योग्य है, जैसा कि निम्नलिखित उदाहरण में है:
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')
अधिक विस्तृत जानकारी व्हाइटबॉक्सटॉल्स उपयोगकर्ता पुस्तिका में प्रदान की जा सकती है । पुस्तकालय स्टैंड-अलोन है और इसमें कोई अन्य निर्भरता नहीं है। आपको यहां स्थित छोटी (<5Mb) फ़ाइल डाउनलोड करने की आवश्यकता है । डाउनलोड फ़ाइल में WhiteboxTools exe, whitebox_tools.py स्क्रिप्ट शामिल है, जो लाइब्रेरी के लिए पायथन एपीआई (उपरोक्त स्क्रिप्ट की शीर्ष पंक्ति पर आयात), और उपयोगकर्ता पुस्तिका प्रदान करता है। लाइब्रेरी के साथ इंटरफेस करने के लिए एक बहुत ही बुनियादी टेंकर जीयूआई (wb_runner.py) भी है।
अनुमत एमआईटी लाइसेंस का उद्देश्य व्हाइटबॉक्सटूल को अन्य ओपन-सोर्स जीआईएस के साथ बैक-एंड के रूप में एकीकृत करने की अनुमति देना है; अलेक्जेंडर ब्रू ने व्हाइटबॉक्सटस बैक-एंड के लिए क्यूजीआईएस प्लगइन विकसित किया है । आप आवश्यकतानुसार व्हाइटबॉक्सटूल और आर्कपी से टूल और मिक्सिंग भी कर सकते हैं। लाइब्रेरी अभी भी कुछ प्रायोगिक है, जो गुलेफ के जियोमॉर्फोमेट्री और हाइड्रोजोमैटिक्स रिसर्च ग्रुप के विश्वविद्यालय से बाहर विकसित की गई है , और वर्तमान में पूर्व 1.0 रिलीज है, जिसे उपयोग में लिया जाना चाहिए।