Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPIKE: 3D visualisation for solvis/geojson fault surfaces #43

Closed
chrisbc opened this issue Aug 8, 2024 · 2 comments
Closed

SPIKE: 3D visualisation for solvis/geojson fault surfaces #43

chrisbc opened this issue Aug 8, 2024 · 2 comments
Assignees

Comments

@chrisbc
Copy link
Member

chrisbc commented Aug 8, 2024

We want web-browser visualiation of fault surfaces that will improve the user experience relative to our current 2D leaflet based rupture map explorer:

Features sought:

  • environments: standalone HTML, Jupyter notebooks, React (for Weka/Kororaa)
  • can do everything that Rupture Explorer does:
    • set initial user viewport, zoom etc
    • full-screen option
    • stepping through ruptures in sequence
    • user zoom, pan etc
    • map layer/tiles for flexible surface details
    • multiple geojson layers (fault surface + rupture)
    • click in feature for more info
    • add widget (plots etc)
  • plus 3D

Try:

things to consider:

  • is licensing compatible with GNS NSHM needs
  • independence from proprietary backend server/services
  • ease of use
  • compatability with existing stack
  • customisation
@chrisbc chrisbc changed the title SPIKE: frmo 3D visualisation for solvis fault surfaces SPIKE: 3D visualisation for solvis/geojson fault surfaces Aug 8, 2024
@chrisbc chrisbc assigned chrisbc and unassigned chrisbc Aug 8, 2024
@voj voj self-assigned this Aug 8, 2024
@voj
Copy link
Collaborator

voj commented Aug 19, 2024

Investigated:

  • MapLibre/Mapbox
  • CesiumJs
  • ArcGIS

All libraries fulfill most requirements.

  • MapLibre is an open source fork of MapBox. I did not investigate this in-depth because there's no built-in GeoJSON layer, and this needs to be implemented in three.js.
  • CesiumJS has support for underground rendering, ticks all the boxes. Active community support, Cesium team are actively answering questions in forum. Once I implemented a workaround for navigation, it worked well. Can handle large GeoJSON datasets. There is support for displaying property data in a pop-up. All custom pop-ups will need to be hand-written. It is no problem to overlay HTML.
  • ArcGIS ticks all the boxes. Beautiful underground navigation. We were informed that we can use this for all use-cases considered. Has trouble rendering larger GeoJSON datasets, and is quite inflexible in displaying them (colour, properties popup, etc). While the API is generally very well though out and the documentation is great, this library could not handle the RSQSim patch geometry well enough.

There are demos for CesiumJS and ArcGIS: GNS-Science/solvis-jupyterlab#1

@voj
Copy link
Collaborator

voj commented Sep 9, 2024

We decided to go with CesiumJS. We will create a new repo for a Juptyer Notebook widget to consolidate the work from the spike.

@voj voj closed this as completed Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants