<div dir="ltr">Date: Sat, 19 Dec 2015 02:55:17 +0100<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: Clement IGONET <<a href="mailto:clement@igonet.fr">clement@igonet.fr</a>><br>
<br>
For those who could be interested, I've coded a little converter<br>
focused on Open Street Map buildings.<br>
This converts OSM data to GeoJSON and then, to X3D JSON.<br>
Source code here:<br>
<a href="https://git.framasoft.org/pizaninja/OpenEarthView/tree/master/osm2x3d" rel="noreferrer" target="_blank">https://git.framasoft.org/pizaninja/OpenEarthView/tree/master/osm2x3d</a><br>
also available as npm package: osm2x3d</blockquote><div><br></div><div>Hey, this looks great. I was wondering if it would be possible to use x3d GeoCoordinates in the x3d output but after looking into the code I realized that it is hard to use those with 2d geometries. So this leads to a more general x3d question:<br><br></div><div>While there is a Coordinate SFNode for 3d geometries, there is not an equivalent 2DCoordinate SFNode for 2d geometries. Instead Polyline2D, Polypoint2D and TriangleSet2D use MFVec2f fields such as linesegments, point [should be plural?] and vertices to specify 2d coordinates.<br><br></div><div>If instead a 2DCoordinate SFNode would used, there could also be an equivalent Geo2DCoordinate. The Y=0 equivalent would 0 elevation (eg. the third component would be zero).<br><br></div><div>The cross-section of the Extrusion node is related. How do you deal with a building foot print given in geographic coordinates that you would like to extrude vertically ? This is the typical KML, GeoJSON, OSM setup.<br><br></div><div>Currently one has to produce local coordinates for the cross-section (foot print) of the building first, then use Extrusion and GeoLocation. <br></div><div><br>Is it necessary to have a GeoExtrusion node ?<br><br></div><div>On the other hand it is not too hard to programmatically construct a IndexedFaceSet with the necessary connectivity between the vertices to produce an extrusion.<br><br></div><div>And instead of the 2D geometries one could use the 3d equivalents: LineSet, PointSet and TriangleSet.<br><br></div><div>So I guess it comes to down to a question of design and convenience.<br><br></div><div>-Andreas<br></div><div><br><br></div></div></div></div>