ebeaufay / UltraGlobe

A globe in threejs with OGC WMS imagery, OGC 3dtiles and elevation
GNU General Public License v3.0
161 stars 19 forks source link

Support for i3s web services #1

Closed 305120262 closed 1 year ago

305120262 commented 2 years ago

OGC i3s is wildly used in government agencies, so it's good to support this 3d data source.

ebeaufay commented 2 years ago

Do you have any sample dataset I could use to implement it?

305120262 commented 2 years ago

Here is a sample 3d object data. Just rename the [World_earthquakes_2000_2010.slpk.zip] to World_earthquakes_2000_2010.slpk. World_earthquakes_2000_2010.slpk.zip Also you can find sample integrated mesh data from the following link. https://github.com/Esri/i3s-spec/blob/master/docs/1.8/IntegratedMesh_ReadMe.md

ebeaufay commented 2 years ago

Alright great. I'll post something here when I have a result

ebeaufay commented 2 years ago

Finally had time to work on I3S for threejs a little bit so here's a small update:

https://drive.google.com/file/d/1536ybSYS3LG6I0f_9axOaiipo063ctP6/view?usp=sharing

Only Points and half of the metric types are handled so far but the code will mostly be reusable for other data types.

Performance seems very good. This is the ESRI service I use: https://3dcities.maps.arcgis.com/home/webscene/viewer.html?layers=17b734b164ea47b1802a30ce0eb9c99f

TODO: Fix the coordinate transformation. For styling, use ThreeJS materials directly so very little work to be done. Selection can be hacked quickly with raycasting if needed but a global method for selection through a special render pass would be nice.