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

GPU Group gpugroup at gmail.com
Thu Feb 21 20:12:50 PST 2019


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.html>


More information about the x3d-public mailing list