feat: Bring back GDAL and cli create-item #568
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is WIP, PR for visibility, and hopefully early feedback on questionable design choices.
Related to
#442
Description
I am bringing back GDAL because every geospatial library deserves GDAL as a dependency.
I am bringing back changes that were here before. Here is what is new:
stac-gdal
is now a cratestac-gdal::update_item
can update your item'sraster
&proj
extensions from the assetsstac-gdal::ProjectionCalculations
implements GDAL-based bounds calculations inWGS84
forProjection
sstac-gdal
will try to use/vsicurl/
when reading your datasetcreate-item
to create anItem
from ahref
to anAsset
stac::Bbox
can be made from[f64;4]
&[f64;6]
extensions
and has an implementation ofExtensions
traitQuestionable decisions:
extensions
field tostac::Asset
. The field is ignored byserde
. It's not the greatest design, but saves a lot in ergonomics. Alternatively, I can try to implement theExtensions
trait for Asset, but I am unsure aboutextensions_mut()
and how to "mimic" it. As always, I'd appreciate any pointers here.GDAL
feature for theCLI
?Not done yet:
gdal
vsgdal-sys
and which is better)Checklist
Delete any checklist items that do not apply (e.g. if your change is minor, it may not require documentation updates).
cargo fmt
)cargo test