Git Product home page Git Product logo

netcdf_to_gltf_converter's People

Contributors

priscavdsluis avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

netcdf_to_gltf_converter's Issues

To take earth curvature into account in Cesium: add support to transform z-coordinates (variable values) to a different CRS: WGS84 - ellipsoidal height

It should be possible to transform our z-coordinates to another coordinate system, e.g. WGS84.
Why: The curvature of the earth is not taken into account in many of our source (netCDF) data while Cesium does project on a curved surface. Converting the z-values to an ellipsoidal height should take care of that.

TODO

  • Add an extra configuration to the config file: crs_transformation (when making it generic for all the coordinates incl, x,y,z or z_crs_transformation for only transforming the z-coordinates.
  • Document the new configuration in the user manual

Note that #83 should first be implemented before this.

Make it possible for a user to specify the way x/y-coordinates are shifted

Currently we shift the x- and y-coordinates by substracting the minimal x and y value, respectively, such that the smallest coordinate will be shifted to 0,0.
This setting is enabled when "shift_coordinates": true in the configuration file.

We want to make it possible that the user can specify the x and y shift in the configuration file (assuming the target coordinate system if specified).

  • No validation is current needed for the input.
  • Add settings to the configuration file
    • Make "shift_coordinates" setting optional
    • Optional values: min or settings per x/y:
	"shift_coordinates": "min",

or

	"shift_coordinates": 
	{
		"shift_x": 12000,
		"shift_y": 99,
	},	
  • Update the documentation in the README.md

Add color to mesh animation

High water depth: darker blue
Lower water depth: lighter blue
Water depth 0: transparent

Since most/all glTF viewers do not support color animation, would it be possible to create a mesh for each time step, and apply morphtargets to hide/unhide them?

Support workflow for correctly matching the data with a Cesium context

The workflow consists of the following:

  1. The user picks a WGS84 x,y, z coordinate (on Google maps for example). The point is the zone of interest.
  2. Internally these points are converted to the coordinate system of the original model (e.g. Amersfoort / RD New + NAP height)
  3. All the xyz-coordinates are shifted (subtracted) with the x-value, y-value and z-value of the point from step 2.

Config example:

	"shift_coordinates": {			--- optional
		"crs_transformation": {      --- optional
			"source_epsg": 7415,
			"target_epsg": 4979
		},
		"shift_x": 51.3,		
		"shift_y": 3.4,
		"shift_z": 40
	},

Improve config file

  • Get variable by name, not by standard name
  • Use "use_threshold", don't use threshold object.

Add a reader for NetCDF

The provided NetCDF should be able to be read by the converter.
For now it should be able to read:

  • The 2D mesh: vertices, faces, edges
  • Variables such as the water depth: x, y, z

Make a glTF with WGS84 coordinates

  • Model output should be converted to WGS84
  • Coordinates need to be shifted to a specific point of the Westernscheld e.g. x=3.984524, y=51.410069 (these coordinates should become the reference point (0,0).

Needs issues #71 and #75

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.