<div dir="ltr"><div dir="ltr"><div dir="auto"><div>Thanks for sharing a nice use case for X3D on the web.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">Here is a prototype of such a X3D scene:</div><div dir="auto"><br></div><div dir="auto"><a href="https://beta.observablehq.com/@andreasplesch/sea-level-past-present-and-future">https://beta.observablehq.com/@andreasplesch/sea-level-past-present-and-future</a><br></div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div>Apart from being a X3D browser, x3dom is geared towards integration into the web. Generally, web technologies work well with it. </div><div dir="auto"><br></div><div dir="auto">Andreas</div><div dir="auto"><br></div><div class="gmail_quote" dir="auto"><div dir="ltr">On Fri, Feb 22, 2019, 10:37 PM  <<a href="mailto:x3d-public-request@web3d.org" target="_blank">x3d-public-request@web3d.org</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Date: Thu, 21 Feb 2019 21:12:50 -0700<br>
From: GPU Group <<a href="mailto:gpugroup@gmail.com" rel="noreferrer" target="_blank">gpugroup@gmail.com</a>><br>
To: Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
<br>
Magnus, I think your spherical world with overlapping rectangles and<br>
anchors is great - a great way to do it.<br>
-Doug<br>
<br>
more on geospatial..<br>
<br>
The web3d geospatial has 3 options for coordinate systems:<br>
1. GC geocentric<br>
2. GD geodetic or lat,long<br>
3. UTM<br>
I'm not sure if/how a GeoElelvationGrid would work with GC.<br>
GD and UTM get a little funny around the poles. But lets say you use one of<br>
these. Then for sea level you set heights to 1, and yscale to 0, to get<br>
0=sea_level and scale by 10 to get 10.<br>
Q. when you say you did them on a plane, do you mean mapping plane, and if<br>
so what type of mapping plane ie UTM, stereographic, lambertian conic ...?<br>
One idea is expand the number of mapping planes offered in the geospatial<br>
component, so if you have a nice grid in some non-utm mapping plane, you<br>
don't have to regrid to utm or lat,long.<br>
<br>
On Thu, Feb 21, 2019 at 11:39 AM Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
wrote:<br>
<br>
> Thank you for the feedback, Doug.<br>
><br>
> When I produced the 3D scenes in question, I hadn't gotten into the<br>
> geonodes yet, put dealt with them as general 3D scenes. Since they aim for<br>
> compatibility with a set of videos produced in the plane projection, I<br>
> probably would have decided to use that projection, at least for one<br>
> version, even if I had been familliar with the geonodes.<br>
><br>
> If I was to use GeoElevationGrid, would it work to add sea level as a<br>
> second GeoElevationGrid with some blue tint and all height values set to 0,<br>
> and then scale it with a transform where scale is set to<br>
> [1+SeaLevel/EarthRadiusEquator, 1+SeaLevel/EarthRadiusPoles,<br>
> 1+SeaLevel/EarthRadiusEquator], if using the ellipsoid approximation? If it<br>
> works the way I think, even using the geoid should be OK, since its<br>
> variation is only up to 106 m from the ellipsoid, giving an error of up to<br>
> 106/6371000*65?0.001 m at the maximum realistic sea level rise of 65 m. I'm<br>
> not sure what internal mathematical resolution is used though, since a 1 m<br>
> sea level rise would mean a scale factor of just about 1.00000016, which<br>
> would be problematic with single-precision floats.<br>
><br>
> If I understand your suggestion about linking from a geo world right, I<br>
> think I did something like that already, although "cheating" just using a<br>
> textured sphere and scaled boxes as scene markers:<br>
> <a href="http://sealevelrise.se/en/earth_3d1/map1.html" rel="noreferrer noreferrer" target="_blank">http://sealevelrise.se/en/earth_3d1/map1.html</a> . The overlapping<br>
> semi-transparents mess up some, as with many 3D tools, but the anchor<br>
> principle works and I think should work also with more complex solutions.<br>
><br>
> I admit several of your other questions/suggestions are shooting a bit<br>
> over my head, since I'm no expert in GIS/geodata/geospatial handling, but I<br>
> might get there with time.<br>
><br>
> Best regards,<br>
><br>
> Magnus<br>
><br>
><br>
> 21 feb. 2019 kl. 17:04 skrev GPU Group <<a href="mailto:gpugroup@gmail.com" rel="noreferrer" target="_blank">gpugroup@gmail.com</a>>:<br>
><br>
> I think its awkward and some things are missing from x3d geo nodes.<br>
> Lets say you have an elevationgrid in an arbitrary mapping plane, with<br>
> respect to geoid ie heights measured from sea level.<br>
> There's no node that will take that grid as it is and display it on a<br>
> spherical earth with the proper adjustments for curved ellipsoidal earth,<br>
> including geoid-to-ellipsoidal heights.<br>
> If it was a small grid, it could be positioned with a geoLocation node<br>
><br>
> <a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html#GeoLocation" rel="noreferrer noreferrer" target="_blank">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html#GeoLocation</a><br>
> But what about large areas where an uncorrected grid would be obviously<br>
> wrong? Victoria Island in the Arctic Ocean for example?<br>
> A similar problem if you keep your elevationGrid and use a GeoTransform to<br>
> bring an ellipsoidal earth into your regular scene.<br>
><br>
> You could convert all your grid points to GeoCentric GC coordinates<br>
> offline, and show it as mesh of points in GeoCentric coordinates. But that<br>
> makes it awkward / less sensitive to show sea level rise relative to geoid.<br>
> Normally we convert geoid heights to ellipsoidal heights to render in geo<br>
> space. So a (geoid following) sea would need to be a grid of points<br>
> following the geoid, and (somehow) mathematically scaled.<br>
><br>
> Perhaps on your page listing all of the locations/areas-of-interest, that<br>
> could instead be on a geo world, and each area an approximate rectangle on<br>
> it, with TouchSensor/Anchor. Then when someone clicks on an area, you go to<br>
> your current elevation grid page? Would that work in x3dom?<br>
><br>
> To do it all on one ellipsoid<br>
> A node type that will take your grid in sea-level/geoid relative mapping<br>
> plane coordinates which may not be UTM - may be some other mapping plane<br>
> especially near the poles- and do the appropriate conversion on each grid<br>
> point for rendering and collision/terrain-walking, and do that also with a<br>
> grid for sea level too, and provide a way to animate the sea level height<br>
> around the world and/or locally (animated geoid? Geoid as an exposed field?<br>
> geoid scale factor? special sea level node that includes tide modeling?)<br>
> ... that needs work.<br>
><br>
> Doug Sanden<br>
><br>
><br>
><br>
><br>
> On Wed, Feb 20, 2019 at 4:16 PM Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
> wrote:<br>
><br>
>> Hello Mike,<br>
>><br>
>> Thank you for your positive feedback and for the tip about the<br>
>> GeoElevationGrid. I admit I hadn't gotten that far yet, but will definitely<br>
>> keep it in mind for future 3D mapping projects. For this particular project<br>
>> I probably would have decided to stick with the ElevationGrid even if I had<br>
>> known though, since I then more easily could match it to a set of "flat"<br>
>> videos of the same areas I had already produced and had much of the data<br>
>> conversion done already for that purpose.<br>
>><br>
>> If I understand it right, the GeoElevationGrid can be used both for full<br>
>> sphere and partial sphere (if (xDimension - 1) * xSpacing < 360 or<br>
>> (zDimension - 1) * zSpacing < 180) topography, but will always result in a<br>
>> correct but sometimes impractical spherical projection, also more<br>
>> triangular (or really concentric circle sector) than rectangular towards<br>
>> the poles? Adding a sea level with adjustment should just be a matter of<br>
>> adding a corresponding second GeoElevationGrid with all height values 0 and<br>
>> scaling it by changing an enclosing Transform scale field?<br>
>><br>
>> Best regards,<br>
>><br>
>> Magnus<br>
>><br>
>><br>
>> > 20 feb. 2019 kl. 18:36 skrev Mike McCann <<a href="mailto:mccann@mbari.org" rel="noreferrer" target="_blank">mccann@mbari.org</a>>:<br>
>> ><br>
>> > Hello Magnus,<br>
>> ><br>
>> > This is a very intuitive and informative interactive presentation!<br>
>> ><br>
>> > I agree that X3D/X3DOM is a smoother choice, especially when we have<br>
>> limited time and need to do a lot of data preparation.<br>
>> ><br>
>> > I notice that you use a single ElevationGrid and can understand why, as<br>
>> it?s simpler to integrate the Sea level adjustment component of your<br>
>> application.<br>
>> ><br>
>> > Just a note regarding dealing with geospatial data: X3DOM also has the<br>
>> Geospatial component ? if GeoElevationGrid were used then other data might<br>
>> be more easily added to the scene using latitude, longitude, elevation<br>
>> coordinates, rather than having to first convert to custom coordinates<br>
>> needed for each ElevationGrid.<br>
>> ><br>
>> > -Mike<br>
>> ><br>
>> >> On Feb 20, 2019, at 3:25 AM, Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
>> wrote:<br>
>> >><br>
>> >> I just wanted to say thank you to the community and developers for<br>
>> providing a great, quick and simple tool to get 3D scenes done and<br>
>> published. It took me a week of spare time from completing the first<br>
>> "Hello, X3DOM!" tutorial to having a set of 370 coastal areas around the<br>
>> world in interactive 3D on the web, most of that time required to massage<br>
>> geodata from GEBCO and GeoNames into proper format:<br>
>> <a href="http://sealevelrise.se/en/earth_3d1/" rel="noreferrer noreferrer" target="_blank">http://sealevelrise.se/en/earth_3d1/</a><br>
>> >><br>
>> >> At least initially looking more for a quick tool to get the job done<br>
>> than to really learn all the nuts and bolts of X3D and X3DOM, I've probably<br>
>> made a lot of beginners' mistakes, and I'm sure I'll revisit and improve<br>
>> the project as I learn more, but for now, it's up, working and looking<br>
>> good. Once more, thank you!<br>
>> >><br>
>> >> As a background, I'm not all new to 3D. I wrote my first 2-pass (light<br>
>> and shadow) 3D renderer back in 1981, in BASIC on a micro-computer with a<br>
>> 2.2 MHz 8 bit Z80-processor and 32 KB RAM, taking 2 weeks to render a 332<br>
>> face mesh model (608 tris) in high resolution (2304x1152 px). In 1995-1996,<br>
>> I created my first 3D scenes on the web using VRML, and later worked with<br>
>> software like RayDream Studio, POV-Ray, Carrara and Poser. 2007-2008 I went<br>
>> into virtual worlds like Second Life and OpenSimulator, and contributed<br>
>> some code to OpenSimulator. Lately, I've created some 3D web content using<br>
>> WebGL and ThreeJS, and contributed some to the ThreeJS documentation.<br>
>> >><br>
>> >> I left VRML when the existing viewers went defunct on Macintosh in the<br>
>> late 1990's, leaving it without a properly functioning viewer for a while,<br>
>> and since I didn't hear much about VRML afterwards, I assumed it more or<br>
>> less dead. I'm happy to see I was wrong and that its offspring X3D is still<br>
>> alive and kicking. While e.g. ThreeJS has its charm for some projects, it's<br>
>> overkill for others, and at least for this project, X3D/X3DOM definitely<br>
>> was a smoother choice.<br>
>> >><br>
>> >><br>
>> >> _______________________________________________<br>
>> >> x3d-public mailing list<br>
>> >> <a href="mailto:x3d-public@web3d.org" rel="noreferrer" target="_blank">x3d-public@web3d.org</a><br>
>> >> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > x3d-public mailing list<br>
>> > <a href="mailto:x3d-public@web3d.org" rel="noreferrer" target="_blank">x3d-public@web3d.org</a><br>
>> > <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
>><br>
>><br>
>> _______________________________________________<br>
>> x3d-public mailing list<br>
>> <a href="mailto:x3d-public@web3d.org" rel="noreferrer" target="_blank">x3d-public@web3d.org</a><br>
>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
>><br>
><br>
><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190221/aacfb921/attachment-0001.html" rel="noreferrer noreferrer" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190221/aacfb921/attachment-0001.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" rel="noreferrer" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
<br>
<br>
------------------------------<br>
<br>
End of x3d-public Digest, Vol 119, Issue 66<br>
*******************************************<br>
</blockquote></div></div>
</div></div>