[x3d-public] Showcase: 3D maps showing sea level change using X3D/X3DOM

Magnus Zeisig magnus.zeisig at tele2.se
Thu Feb 21 10:39:36 PST 2019


Thank you for the feedback, Doug.

When I produced the 3D scenes in question, I hadn't gotten into the geonodes yet, put dealt with them as general 3D scenes. Since they aim for compatibility with a set of videos produced in the plane projection, I probably would have decided to use that projection, at least for one version, even if I had been familliar with the geonodes.

If I was to use GeoElevationGrid, would it work to add sea level as a second GeoElevationGrid with some blue tint and all height values set to 0, and then scale it with a transform where scale is set to [1+SeaLevel/EarthRadiusEquator, 1+SeaLevel/EarthRadiusPoles, 1+SeaLevel/EarthRadiusEquator], if using the ellipsoid approximation? If it works the way I think, even using the geoid should be OK, since its variation is only up to 106 m from the ellipsoid, giving an error of up to 106/6371000*65≈0.001 m at the maximum realistic sea level rise of 65 m. I'm not sure what internal mathematical resolution is used though, since a 1 m sea level rise would mean a scale factor of just about 1.00000016, which would be problematic with single-precision floats.

If I understand your suggestion about linking from a geo world right, I think I did something like that already, although "cheating" just using a textured sphere and scaled boxes as scene markers: http://sealevelrise.se/en/earth_3d1/map1.html . The overlapping semi-transparents mess up some, as with many 3D tools, but the anchor principle works and I think should work also with more complex solutions.

I admit several of your other questions/suggestions are shooting a bit over my head, since I'm no expert in GIS/geodata/geospatial handling, but I might get there with time.

Best regards,

Magnus


> 21 feb. 2019 kl. 17:04 skrev GPU Group <gpugroup at gmail.com>:
> 
> I think its awkward and some things are missing from x3d geo nodes.
> Lets say you have an elevationgrid in an arbitrary mapping plane, with respect to geoid ie heights measured from sea level.
> There's no node that will take that grid as it is and display it on a spherical earth with the proper adjustments for curved ellipsoidal earth, including geoid-to-ellipsoidal heights. 
> If it was a small grid, it could be positioned with a geoLocation node
> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html#GeoLocation <http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html#GeoLocation>
> But what about large areas where an uncorrected grid would be obviously wrong? Victoria Island in the Arctic Ocean for example?
> A similar problem if you keep your elevationGrid and use a GeoTransform to bring an ellipsoidal earth into your regular scene.
> 
> You could convert all your grid points to GeoCentric GC coordinates offline, and show it as mesh of points in GeoCentric coordinates. But that makes it awkward / less sensitive to show sea level rise relative to geoid. Normally we convert geoid heights to ellipsoidal heights to render in geo space. So a (geoid following) sea would need to be a grid of points following the geoid, and (somehow) mathematically scaled. 
> 
> Perhaps on your page listing all of the locations/areas-of-interest, that could instead be on a geo world, and each area an approximate rectangle on it, with TouchSensor/Anchor. Then when someone clicks on an area, you go to your current elevation grid page? Would that work in x3dom?
> 
> To do it all on one ellipsoid
> A node type that will take your grid in sea-level/geoid relative mapping plane coordinates which may not be UTM - may be some other mapping plane especially near the poles- and do the appropriate conversion on each grid point for rendering and collision/terrain-walking, and do that also with a grid for sea level too, and provide a way to animate the sea level height around the world and/or locally (animated geoid? Geoid as an exposed field? geoid scale factor? special sea level node that includes tide modeling?) ... that needs work.
> 
> Doug Sanden
> 
> 
> 
> 
> On Wed, Feb 20, 2019 at 4:16 PM Magnus Zeisig <magnus.zeisig at tele2.se <mailto:magnus.zeisig at tele2.se>> wrote:
> Hello Mike,
> 
> Thank you for your positive feedback and for the tip about the GeoElevationGrid. I admit I hadn't gotten that far yet, but will definitely keep it in mind for future 3D mapping projects. For this particular project I probably would have decided to stick with the ElevationGrid even if I had known though, since I then more easily could match it to a set of "flat" videos of the same areas I had already produced and had much of the data conversion done already for that purpose.
> 
> If I understand it right, the GeoElevationGrid can be used both for full sphere and partial sphere (if (xDimension - 1) * xSpacing < 360 or (zDimension - 1) * zSpacing < 180) topography, but will always result in a correct but sometimes impractical spherical projection, also more triangular (or really concentric circle sector) than rectangular towards the poles? Adding a sea level with adjustment should just be a matter of adding a corresponding second GeoElevationGrid with all height values 0 and scaling it by changing an enclosing Transform scale field?
> 
> Best regards,
> 
> Magnus
> 
> 
> > 20 feb. 2019 kl. 18:36 skrev Mike McCann <mccann at mbari.org <mailto:mccann at mbari.org>>:
> > 
> > Hello Magnus,
> > 
> > This is a very intuitive and informative interactive presentation!
> > 
> > I agree that X3D/X3DOM is a smoother choice, especially when we have limited time and need to do a lot of data preparation.
> > 
> > I notice that you use a single ElevationGrid and can understand why, as it’s simpler to integrate the Sea level adjustment component of your application. 
> > 
> > Just a note regarding dealing with geospatial data: X3DOM also has the Geospatial component – if GeoElevationGrid were used then other data might be more easily added to the scene using latitude, longitude, elevation coordinates, rather than having to first convert to custom coordinates needed for each ElevationGrid. 
> > 
> > -Mike
> > 
> >> On Feb 20, 2019, at 3:25 AM, Magnus Zeisig <magnus.zeisig at tele2.se <mailto:magnus.zeisig at tele2.se>> wrote:
> >> 
> >> I just wanted to say thank you to the community and developers for providing a great, quick and simple tool to get 3D scenes done and published. It took me a week of spare time from completing the first "Hello, X3DOM!" tutorial to having a set of 370 coastal areas around the world in interactive 3D on the web, most of that time required to massage geodata from GEBCO and GeoNames into proper format: http://sealevelrise.se/en/earth_3d1/ <http://sealevelrise.se/en/earth_3d1/>
> >> 
> >> At least initially looking more for a quick tool to get the job done than to really learn all the nuts and bolts of X3D and X3DOM, I've probably made a lot of beginners' mistakes, and I'm sure I'll revisit and improve the project as I learn more, but for now, it's up, working and looking good. Once more, thank you!
> >> 
> >> As a background, I'm not all new to 3D. I wrote my first 2-pass (light and shadow) 3D renderer back in 1981, in BASIC on a micro-computer with a 2.2 MHz 8 bit Z80-processor and 32 KB RAM, taking 2 weeks to render a 332 face mesh model (608 tris) in high resolution (2304x1152 px). In 1995-1996, I created my first 3D scenes on the web using VRML, and later worked with software like RayDream Studio, POV-Ray, Carrara and Poser. 2007-2008 I went into virtual worlds like Second Life and OpenSimulator, and contributed some code to OpenSimulator. Lately, I've created some 3D web content using WebGL and ThreeJS, and contributed some to the ThreeJS documentation.
> >> 
> >> I left VRML when the existing viewers went defunct on Macintosh in the late 1990's, leaving it without a properly functioning viewer for a while, and since I didn't hear much about VRML afterwards, I assumed it more or less dead. I'm happy to see I was wrong and that its offspring X3D is still alive and kicking. While e.g. ThreeJS has its charm for some projects, it's overkill for others, and at least for this project, X3D/X3DOM definitely was a smoother choice.
> >> 
> >> 
> >> _______________________________________________
> >> x3d-public mailing list
> >> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
> > 
> > 
> > _______________________________________________
> > x3d-public mailing list
> > x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
> 
> 
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190221/768c72dd/attachment-0001.html>


More information about the x3d-public mailing list