Au Scope 3 D Geological Models Portal http

  • Slides: 20
Download presentation
Au. Scope 3 D Geological Models Portal http: //geomodels. auscope. org Vincent Fazio |

Au. Scope 3 D Geological Models Portal http: //geomodels. auscope. org Vincent Fazio | 4 th October 2019 Australia’s National Science Agency

What is it? • A website that enables users to explore geological models in

What is it? • A website that enables users to explore geological models in 3 D • Models are sourced from sets of GOCAD Object files • Knits together geological data and images from various online sources • It is currently a ‘work in progress’ • Open source • FAIR data principles (Findable, Accessible, Interoperable, and Reusable) (http: //wilkinsonlab. info/node/FAIR) • Part of the Au. Scope’s AVRE (Au. Scope Virtual Research Environment) program (https: //www. auscope. org. au/programs) • Found as an app in “Au. Scope App Store” (http: //avre. auscope. org/store)

Part 1: The Front End

Part 1: The Front End

Front End Technology Stack Three. JS (https: //threejs. org) itowns (http: //www. itowns-project. org/)

Front End Technology Stack Three. JS (https: //threejs. org) itowns (http: //www. itowns-project. org/) Angular (https: //angular. io/)

Front End Features • Demonstration mode • Rotates the model using Three. JS animation

Front End Features • Demonstration mode • Rotates the model using Three. JS animation frames • 3 D virtual sphere view controller • If the mouse is moved within the bounds of the sphere the object is rotated as if you are spinning a virtual sphere/trackball • If the mouse is outside the sphere the model is rotated in the screen plane • This has the advantage that it can rotate the object around all three axes without needing to use the keyboard or extra mouse keys. • ‘itowns’ javascript library is used to display model in consistent CRS (coordinate reference system) • OCG WMS layers can also displayed via ‘itowns’ OGC (https: //www. opengeospatial. org/)

Virtual Sphere View Controller • Convert mouse co-ordinates to co -ordinates on a 3

Virtual Sphere View Controller • Convert mouse co-ordinates to co -ordinates on a 3 D sphere, knowing the radius of the sphere. • This gives us the start and the end vector. • The rotational axis for the model is the cross product of start vector and end vector

Sidebar Controls Sidebar controls tour There are controls for: • • • Transparency Height

Sidebar Controls Sidebar controls tour There are controls for: • • • Transparency Height offset Height scale Other functions: Highlight model part under mouse pointer • Zoom to model part • Hide/reveal model part or groups of model parts •

NVCL Boreholes • From National Virtual Core Library • Displays borehole data in 3

NVCL Boreholes • From National Virtual Core Library • Displays borehole data in 3 D • Uses information taken from: • OGC WFS (Web Feature Service) hosted by geological surveys of each state/territory • NVCL (National Virtual Core Library) services • Displays boreholes in colours according to mineral type • Can display a popup with detailed information about the selected point • Links to Metadata, Au. Scope Portal and WFS service

Links • Australian Stratigraphic Units Database (ASUD) • Au. Scope Portal • State/Territory Geological

Links • Australian Stratigraphic Units Database (ASUD) • Au. Scope Portal • State/Territory Geological Survey WFS services ASUD (https: //asud. ga. gov. au/) (http: //portal. auscope. org. au)

Displays Volume Data • Data points are shown as X, Y, Z slices •

Displays Volume Data • Data points are shown as X, Y, Z slices • Various types of data can be displayed, e. g. floating point as greyscale, integers displayed in colour using a colour table • 3 sliders to control X, Y, Z slice positions • Different properties can be overlaid and transparency controlled for each • Double click on a point to get its label and a data value

How does volume viewer work? • Downloads all volume data in compressed binary format

How does volume viewer work? • Downloads all volume data in compressed binary format • Each slice is represented as a double-sided image plane in Three. JS • As each slice is moved the image plane is reloaded with volume data from browser memory • Uses Three. JS ability to create wireframe models to draw the white lines surrounding the volume

Drag and drop GOCAD surface file

Drag and drop GOCAD surface file

Part 2: The Back End

Part 2: The Back End

Back End Functions • Static files for the models and Angular UI are served

Back End Functions • Static files for the models and Angular UI are served using Apache web server • Boreholes and borehole data are created in real time via a python WSGI server: • GLTF files of NVCL boreholes via OGC 3 DPS • Borehole information via OGC WFS • WSGI service backed by SQLITE database • Drag and drop conversion also supported by WSGI service using ‘pyassimp’ library

Converting GOCAD files to 3 D model files • Written in Python • Command

Converting GOCAD files to 3 D model files • Written in Python • Command line scripts: • Convert GOCAD OBJECT files (TS, GP, PL, VS, VO) to COLLADA files • COLLADA files are converted to GLTF via ‘collada 2 gltf’ library • Volumes converted to GZIP • Where possible, large files are converted to PNG because of the limits of Web. GL in browser GLTF (https: //www. khronos. org/gltf/) COLLADA (https: //www. khronos. org/collada/)

Creating and converting GLTF files in real-time • Uses Python WSGI interface • Only

Creating and converting GLTF files in real-time • Uses Python WSGI interface • Only works for smaller files (less than a few hundred k. B) • Uses ‘pyassimp’ to create the GLTF files for boreholes and the drag and drop feature

Back End Technology Stack • OWSLib (https: //github. com/geopython/OWSLib) • pyassimp (https: //github. com/assimp/tree/master/port/Py.

Back End Technology Stack • OWSLib (https: //github. com/geopython/OWSLib) • pyassimp (https: //github. com/assimp/tree/master/port/Py. Assimp) • SQLAlchemy (https: //www. sqlalchemy. org/) • pyproj (https: //github. com/jswhit/pyproj) • Pillow (https: //github. com/python-pillow/Pillow) • pycollada (https: //github. com/pycollada) • numpy (http: //www. numpy. org/) • diskcache (http: //www. grantjenks. com/docs/diskcache/) • collada 2 gltf (https: //github. com/Khronos. Group/COLLADA 2 GLTF)

Future There an enormous number of things that could be done: Small things: •

Future There an enormous number of things that could be done: Small things: • Ability to convert more types of GOCAD object file (WELL & SGRID) • User can download selected parts of a model as a 3 D coordinate file • Many more user interface tools • Convert and display more models from various sources Big things: • Integrate more sources of geological and geographic data • Display all aspects of information model (extension to Geo. Sci. ML) • 3 D tiles for large scale models

Where’s the source code? Front End: https: //github. com/Au. Scope/geomodelportal Back End: https: //github.

Where’s the source code? Front End: https: //github. com/Au. Scope/geomodelportal Back End: https: //github. com/Au. Scope/geomodel-2 -3 dweb

Acknowledgements: Au. Scope Ltd (https: //www. auscope. org. au/) Thank you Mineral Resources Vincent

Acknowledgements: Au. Scope Ltd (https: //www. auscope. org. au/) Thank you Mineral Resources Vincent Fazio Senior Engineer +61 3 9545 8780 vincent. fazio@csiro. au Numerous colleagues at CSIRO Geoscience Australia (https: //ga. gov. au) State and territory geological surveys (see geomodels website for more information) Paradigm Academic Software Program (http: //www. pdgm. com/affiliations/academi c-software-programs/) for SKUA/GOCAD software Australia’s National Science Agency