Skip to content

AuScope/geomodel-2-3dweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pdm-managed Test Status Coverage Status

AuScope Geomodels Portal back-end

Generates 3D web versions of geological models primarily for AuScope Geomodels website (https://geomodels.auscope.org.au)

The source code for the front-end of AuScope Geomodels is here

Development

To configure

  1. Install Python v3.9 or higher (https://www.python.org/)
  2. Install PDM (https://pdm.fming.dev/latest/) and jq (https://jqlang.github.io/jq/)

NB: pyassimp requires the assimp shared library which may need to be compiled and installed separately

  1. Clone and compile collada2gltf (https://github.com/KhronosGroup/COLLADA2GLTF)
  2. Set 'COLLADA2GLTF_BIN' environment variable to point to the path where 'COLLADA2GLTF-bin' resides, e.g.
export COLLADA2GLTF_BIN=/home/fred/github/COLLADA2GLTF/build/
  1. Clone this repository (i.e. geomodel-2-3dweb)
  2. 'pdm install' will install the python library dependencies 'eval $(pdm venv activate)' will start a Python env, 'deactivate' to exit

To convert some GOCAD files to GLTF or COLLADA (*.ts, *.pl, small *.vs, *.wl) NetCDF4 (large .vs), GZIP (.vo, *.sg). *.gp files can also be converted.

Run conv_webasset.py. You must give it either the directory where the GOCAD files reside, or a GOCAD file plus a conversion parameter file. This README explains the format of the conversion parameter file.

e.g.

./conv_webasset.py gocad.ts config.json

where config.json looks like this:

{
    "ModelProperties": {
        "crs": "EPSG:28352",
        "name": "Any Name",
        "modelUrlPath": "path",
        "init_cam_dist": 0.0,
        "proj4_defn": "+proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
    },
    "GroupStructure": {}
}

Use the '-g' flag to generate COLLADA files

Converting GOCAD models for use in geomodelportal website

batch_proc.py is a simple batch script used to convert the GOCAD models for the website.

Building a borehole database

make_boreholes.py is a script to create a database of NVCL borehole objects to display within the model. See this README for more information.

Release Procedure

  1. Tag with "PORTAL_RELEASE_YYYYMMDD" annotated tag
git tag -a PORTAL_RELEASE_20241223 -m "December 2024 Release"
git push --tags origin master
  1. The 'release_backend.yml' action will create a release at this tag
  2. Once step 2 is complete, run the 'release_models.yml' action inputting the tag name
  3. The 'release_models.yml' will build all the model files and insert them into the release

Code Documentation

Autogenerated Source Code Documentation is available here

Please see README file for documentation generation details.

Acknowledgements

Funding provided by AuScope Pty Ltd

SKUA/GOCAD software from the Paradigm Academic Software Program was used to view some types of GOCAD object files and produce sample GOCAD OBJECT files used for testing

Citation

Please cite as:

Fazio, Vincent; Woodcock, Robert (2024): AuScope 3D Geological Models Portal. v1. CSIRO. Service Collection. http://hdl.handle.net/102.100.100/609085?index=1