[GeoWeb3DContest] GML + SSR

Information and updates on Web3D's Rotterdam city data competition geoweb3dcontest at web3d.org
Mon Mar 16 13:32:35 PDT 2015


One idea for GML is to use it as a format for transmitting data that might normally be in a GIS database - the so called attribute tables. Once transmitted, it would be put back into geometry files and database attribute tables.

If trying to use Web3d -vrml or x3d- to render, one idea is to put ID into the metadata for the web3d node. Then when searching for relationships, the ID for a picked item would be used to search GIS-like database attribute tables. This might allow skipping some or all of the cityGML-specific format -instead using X3D+database to implement/realize the goemetry and relationships.

Another options is a 2 or 3 or 4 layer system:  database, GML server, Web3d server, and client with a chain of communications between the layers.
-Doug

>
> The thing to work out, and make public, would be the web-service 'dialog' between client and server, such as how to ask for an overview LOD0 map of the area to get started, then how to tell the server the client's new viewpoint pose: 3 rotations and 3 translations, and ask for a screenshot rendering. Or pose + xy click point, and ask for information on the item clicked.
> - then any compatible client could work with any compatible server
> -Doug
> more..
> I worked out an SSR for virtual reality recently, for freewrl, and the client and C web server glue code are checked into freewrl as 'MIT or equivalent' license, meaning 'have fun'.
>
> I was able to display a bit of rotterdam in vrml, using libcitygml's citygml2vrml.exe converter, followed by Chisel's CONDENSE> Create DEF/USE (otherwise vivaty/freewrl run out of memory re-mallocing textures), then wrapping the result in a Transform with -ve UTM / 3TM coordinates of an Point, so as to get the view frustum within near/far range of the geometry (vs being at the earths equator with the default viewpoint, and not being able to see the neatherlands).
>
> Then freewrl renders slow - 1.2 FPS. And that's just for one subdivision of Rotterdam, mostly due to what I would call 'heavy textures' 1024x1024x4 textures. But I do see 3D buildings.
>
> I got Aristoteles to run a bit, but it showed no textures, rendered 'zingers' -lines from each piece of geometry to a few arbirary points - and was hard to navigate and 'enjoy'.
>
> I tried building an SVN copy of Aristoteles but it doesn't build right out of the gate. Many of these GML software projects were abandoned about 5 years ago. I suspect GML was pushed by geography professors and a few cities trying to break ESRI stranglehold. That's hard, because most cities don't mind ESRI, have healthy budgets for ESRI licenses, and have no interest in anything unconventional/free. The general public doesn't need/want detailed GIS relationships. So who needs GML is the remaining question.
> Esri black box server-side rendering of rotterdam:
> http://www.esri.com/software/cityengine/industries/rotterdam
>
> When I look at google maps, and remember back to MS virtual earth, they used server-side rendering. What's changed: with webgl now readily available, it should be possible to adjust viewpoint pose more freely in 3D, including horizontal street views.
>
> In freewrl's web3d SSR, I do a 2-step dialog with the server: first I send where the client navigated to. Then the server does collision and gravity adjustments to that pose, and sends it back. Then when the client gets the adjusted pose, it asks for a snapshot in the second step. The server renders the snapshot and sends it back, and the client pastes it over the navigation grid.
>
>
>
>
>
>>
>> One idea is to use server-side rendering (SSR) in the following way:
>> - render GML LOD0, or 1 on the client side in real time, during navigation
>> - one the viewpoint is pointed where you want it, lift the mousebutton/touch. The client then sends the viewpoint pose to the server. The server renders that viewpoint using LOD3 or 4, and sends back an overlay image.
>> - you can then click on the overlay image, The client sends viewpoint, and point of clicking, back to the server
>> - the server constructs a pickray and picks the LOD3,4 geometry, gets the IDs, looks up info in a database and sends back to the client.
>>
>> Benefit: client stays 'light', and server does all the heavy work.
>> - client needs a bit of webgl for rendering LOD0 and/or 1, and for navigating
>>
>> -Doug

 		 	   		  


More information about the GeoWeb3DContest mailing list