[x3d-public] Showcase: 3D maps showing sea level change using X3D/X3DOM
Andreas Plesch
andreasplesch at gmail.com
Mon Feb 25 07:48:01 PST 2019
Thanks for sharing a nice use case for X3D on the web.
For a past global sea-level change demonstration I used a much subsampled
DEM for a GeoElevationgrid in geodetic coordinates and a transparent,
constant heights, GeoElevationgrid with matching gridding for the
sea-level. The height attribute value can be dynamically modified using a
slider and a bit of JavaScript via the DOM.
The yScale field is reserved for vertical exaggeration for both grids which
is helpful for visualization of large areas or the globe. It is dynamic as
well.
GeoElevationgrid is really useful for such global or continent scale
datasets along with the other geospatial nodes since the distortions of map
projections can be sidestepped this way.
The geospatial nodes are also useful for direct consumption of lat.long.
located data, or if the effect of the Earth's curvature is considered
important for the scene.
Here is a prototype of such a X3D scene:
https://beta.observablehq.com/@andreasplesch/sea-level-past-present-and-future
It uses a new approach to notebooks and was initially a test of how well
x3dom fits in such a notebook environment. But it could be just as well a
regular web page.
Apart from being a X3D browser, x3dom is geared towards integration into
the web. Generally, web technologies work well with it.
Andreas
On Fri, Feb 22, 2019, 10:37 PM <x3d-public-request at web3d.org wrote:
>
> Date: Thu, 21 Feb 2019 21:12:50 -0700
> From: GPU Group <gpugroup at gmail.com>
> To: Magnus Zeisig <magnus.zeisig at tele2.se>
>
> Magnus, I think your spherical world with overlapping rectangles and
> anchors is great - a great way to do it.
> -Doug
>
> more on geospatial..
>
> The web3d geospatial has 3 options for coordinate systems:
> 1. GC geocentric
> 2. GD geodetic or lat,long
> 3. UTM
> I'm not sure if/how a GeoElelvationGrid would work with GC.
> GD and UTM get a little funny around the poles. But lets say you use one of
> these. Then for sea level you set heights to 1, and yscale to 0, to get
> 0=sea_level and scale by 10 to get 10.
> Q. when you say you did them on a plane, do you mean mapping plane, and if
> so what type of mapping plane ie UTM, stereographic, lambertian conic ...?
> One idea is expand the number of mapping planes offered in the geospatial
> component, so if you have a nice grid in some non-utm mapping plane, you
> don't have to regrid to utm or lat,long.
>
> On Thu, Feb 21, 2019 at 11:39 AM Magnus Zeisig <magnus.zeisig at tele2.se>
> wrote:
>
> > 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
> > 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>
> > 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>:
> >> >
> >> > 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>
> >> 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/
> >> >>
> >> >> 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
> >> >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> >> >
> >> >
> >> > _______________________________________________
> >> > x3d-public mailing list
> >> > x3d-public at web3d.org
> >> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> >>
> >>
> >> _______________________________________________
> >> x3d-public mailing list
> >> x3d-public at 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/aacfb921/attachment-0001.html
> >
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
> ------------------------------
>
> End of x3d-public Digest, Vol 119, Issue 66
> *******************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190225/932f8b31/attachment-0001.html>
More information about the x3d-public
mailing list