Open-EO / Open-EO/openeo-python-driver

Support data URIs in `load_url` to support process graphs with embedded geoparquet, ...

Open
#280 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
12
Forks
8
Avg merge
6d 3h
Merged PRs (30d)
4

Description

This came up recently a couple of times: the need to specify geometry in a certain CRS (e.g. UTM), without having to worry about reprojections of lon-lat GeoJSON.

At the moment we support that with load_url and an externally hosted (for example) GeoParquet file. It's however cumbersome to have that file hosted publicly over HTTP(s), compared to GeoJSON which can be embedded directly in the process graph.

I created https://github.com/Open-EO/openeo-processes/issues/498 to extend to scope of load_url to also support data URI, which would be a simple standardized way to embed binary data in a process graph. For example

  "lu": {
    "process_id": "load_url",
    "arguments": {
      "url": "data:application/vnd.apache.parquet;base64,UEFSMRUEFRAVFEwVAhUAEgAACBwqAAAAAAAAABUAFRIVFiwVAhUQFQYVBhwYCCoAAAAAAAAAGAgqAAAAAAAAABYAKAgqAAAAAAAAABgIKgAAAAAAAAAAAAAJIAIA...",  

It should be fairly straightforward to add support for this in our vector cube loading logic

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the load_url entry point into the vector cube loading logic. Review openeo-processes issue #498 for the data URI scope and use the embedded GeoParquet example as the target case. Done means load_url accepts data URI values for embedded binary data in a process graph.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.