Skip to content

Visualise cogs geoparquet#35

Closed
willjnz wants to merge 224 commits intomainfrom
visualise-cogs-geoparquet
Closed

Visualise cogs geoparquet#35
willjnz wants to merge 224 commits intomainfrom
visualise-cogs-geoparquet

Conversation

@willjnz
Copy link
Copy Markdown
Collaborator

@willjnz willjnz commented Jan 22, 2026

Parquet is working. This means that we can also visualise STAC-Geoparquet.
COGs will work once we configure our S3 CORS settings to allow our app to access.

On the backend we will need to write parquet (and STAC-parquet) files with Arrow encoding for geo column.

@willjnz
Copy link
Copy Markdown
Collaborator Author

willjnz commented Jan 29, 2026

On load, the STAC-Geoparquet for mangroves is loaded:

Screenshot 2026-01-29 at 3 02 41 pm

This dataset has just been changed to have geoarrow encoding for the geometry column. This will need to be done in the pipeline, but is a small do-able change.

On click of a feature, the mangrove asset COG is loaded:

Screenshot 2026-01-29 at 3 52 20 pm

To get this to work I had to change the COG:

  • Reproject from 4326 to UTM zone CRS. I have tried 2 projected CRSs (32732, 3857) which both worked, and 2 geographic CRSs (4326, 4269) which both didn't work.
  • Stack single band into 3 bands of the same data. This library expects an RGB COG. This means we have a lot of redundant data.

These changes would be significant to make to the pipeline and storage of COGs. Maybe we would have to have a version of each COG just for visualisation.

@willjnz
Copy link
Copy Markdown
Collaborator Author

willjnz commented Jan 29, 2026

@nf-s @alexgleith could you please let me know what you think of the above comment?

Basically I have a working version, but it would require changing COGs significantly (CRS and duplicating bands). I can spend more time to find a less bad approach. Just want your thoughts in the meantime thanks!

@willjnz
Copy link
Copy Markdown
Collaborator Author

willjnz commented Jan 30, 2026

Awesome news! Kyle and the other maintainers are about to release single-band COG support:
developmentseed/deck.gl-raster#175
developmentseed/deck.gl-raster#179

Then we won't need to duplicate our single bands to 3 bands for storage 😄

Also I just resolved the CRS issue so all COGs can be vizualised regardless of their CRS! 5015709

The only change required in the pipeline is to ensure that Parquet and STAC-Geoparquet files use GeoArrow encoding for their geometry columns.

@willjnz
Copy link
Copy Markdown
Collaborator Author

willjnz commented Jan 30, 2026

@alexgleith
Copy link
Copy Markdown
Collaborator

Awesome!

Copy link
Copy Markdown
Collaborator

@nf-s nf-s left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! This is looking amazing.

I've added a few comments, but please let me know you'd prefer me to hold off on the code review as this is still WIP

At some point we should replace the existing map component with @deck.gl/react. Can you please also put the dataset run component at the top (above the cards) and round the edges (you can use the rounded-lg tailwind class) - to match how the map appears in the geometries and product output page

@willjnz
Copy link
Copy Markdown
Collaborator Author

willjnz commented Feb 2, 2026

We have 5 datasets so far. 3 are STAC-Geoparquet (GMW, ACE, DEP Seagrass), and 2 are Parquet (ACA Reef, VIDA Buildings). The GMW V4 STAC-Geoparquet file is 177KB.

The STAC-Geoparquet ones are great for this visualisation we have developed here. Their parquet features are light enough to load in the browser.

On the other hand, the parquet datasets (ACA Reef and VIDA Buildings) are large and unsuitable to be loaded into the browser. The reef parquet file is 500MB. This should be written as PMTiles for effective vizualisation. The VIDA Buildings is even larger, but is provided as PMTiles from Source Coop although we will need to see if this 235GB file can be loaded.

Base automatically changed from derived-indicators to main February 4, 2026 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants