Comments (3)
I understand why you would want WhiteboxTools to use GDAL in the backend for raster/vector IO. However, using these bindings would require the user to install GDAL ahead of time. One of the design goals of the WhiteboxTools project is to have a stand-alone executable that does not rely on other libraries, and is therefore very easy for users to install and use. Now this design has certain compromises built into it. One of them is that we will necessarily never support as wide a range of file formats as GDAL does. Another one is that I have to write custom encoders and decoders for each format that we do support. Believe me, I get no joy in writing a GeoTIFF reader/writer and all that know me know my disdain for the seemingly infinite flexibility of the file format. However, unless I'm willing to give up on the idea of a single contained executable, this is what I need to do. Would I rather spend my time writing novel and interesting geospatial analysis tools than writing a reader for the LAS format? You bet I would. Would I rather spend the time completing a vector buffering tool for WhiteboxTools than trying to get the GeoTIFF reader to understand some obscure compression format that a user has all of their data stored in? Yes I would. But until there is a Rust library equivalent to GDAL that would allow me to statically link these capabilities into WhiteboxTools, I'm afraid that I need to go it alone and re-write the functionality. I'm sorry if that's not the reply that you were hoping for. If there is some critical file format, that you think is widely used in the industry and that is relatively open in its description (i.e. a specification exists) then let me know and I can try to incorporate it.
from whitebox-tools.
@jblindsay , completely understand your design decisions. I didn't see any mention of GDAL bindings so I figured I'd just ask. Great set of tools and awesome work with the Rust implementation!
from whitebox-tools.
@mccarthyryanc Yes, I was aware of the Rust bindings to GDAL and had in the inception of the project thought about using them but ultimately decided that the need for a stand-alone application was more inline with the project goals. Anyhow, thank you for raising the issue again. Do consider voicing an opinion if you think that there are vital file formats that are currently unsupported or if you have troubles with reading/writing any of the currently support formats. For example, one user recently reported an issue with reading their GeoTIFF data that led to an important improvement in WhiteboxTools. I wouldn't have been able to make this improvement had they not reported it, so I do value these contributions.
from whitebox-tools.
Related Issues (20)
- Compress raster default value incorrectly labelled? HOT 2
- Error reading LAZ file HOT 1
- Isochrone along direction map of watershed HOT 2
- ListUniqueValuesRaster HOT 3
- Wrong results of DirectDecorrelationStretch
- Bug with IndividualTreeDetection detecting trees very close together HOT 5
- ClipLidarToPolygon is modifying retained point data HOT 1
- Geomorphons - edge effects and difficulties in geographic coordinates
- WhiteboxWorkflows: kernel dies if file not found
- whitebox.Runner() urllib.error.URLError: <urlopen error unknown url type: https> HOT 1
- whitebox_tools 'Unrecognized tool name NormalizeLidar' HOT 16
- Whitebox-Worflows: Erroneous results when using raster files in NAD83 projection HOT 1
- DTM outputs have a shift between tiles HOT 3
- lidar_digital_surface_model extent changed HOT 1
- Feature Requests: lidar_digital_surface_model HOT 2
- FlowAccumulationFullWorkflow gracefully exits without writing all 3 results
- documentation of PercentElevRange
- [feature request] add option to use D-infinity pointer grid in ElevationAboveStream
- "extract_by_attribute" tool missing from "whitebox_tools.py" (?) HOT 3
- TimeInDayLight - error when calculating local almanac
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from whitebox-tools.