Thanks for the valuable feedback.
I'm sorry for not send the proper diffs, etc, but we knew that the integration process was just about to start, and now we have time to carefully integrate the code properly. We will start by creating a community module.
I didn't knew that the github repositories were trusted mirrors. That's good. We will use git. But, if we feel lost, we'll come back for help.
Hi Jorge,
First off I have to say, very very impressive! Very exciting stuff and I
think i can speak for everyone when i say we are very happy to see this
work being contributed.
That said, not having proper diffs for the work will certainly make it
hard to review the work. Based on the revision info you included i was
able to generate a diff but didn't analyze it too closely.
I would like to see us work toward making it into an actual community
module. I would start by reviewing our current policies and practices
from the developer guide.
http://docs.geoserver.org/latest/en/developer/policies/index.html
In particular the geoserver process for extensions and community modules.
http://docs.geoserver.org/latest/en/developer/policies/community-modules.html
Without having looked at the code here are some thoughts about getting
this work integrated into geoserver. First would be at the geoserver
level. It would be good to structure the w3ds module as a community
module to start. The idea is that the community space allows for
development of a new feature without disruption of the main code base.
Once the code meets some requirements such as test coverage, stability,
etc... we can look at making it a supported extension, or adding it as a
core service module. All the requirements for which listed in the
community module doc above.
Second would be getting the core changes made to geotools and geoserver
in. These sort of will need to be evaluated on a case by case basis. If
you could describe the changes required that would be a good place to
start. And as mentioned a proper diff would make it much easier.
Finally, while we maintain our sources officially in subversion, many of
the core geoserver/geotools dev have been using github for this type of
major development. We main two github repos that are essentially mirrors
of what is in subversion.
https://github.com/geoserver/geoserver
https://github.com/geotools/geotools
I am not sure how familiar you are with git but i encourage you to look
at forking both of those repos and doing development there (on a
branch). I would be happy to help you getting up to speed with this.
Looking forward to collaborating on this. Very cool stuff!
-Justin
On Wed, Mar 28, 2012 at 10:07 AM, Jorge Gustavo Rocha <jgr@anonymised.com
<mailto:jgr@anonymised.com>> wrote:
Hi Geoservers,
1. We have been working on an implementation of a W3DS server on top of
Geoserver. We used the draft specification 0.4.0. It's only a draft, but
we think that a working open source implementation can improve the draft
and it might became a standard. The major motivation for this work is
the HTML5 support in modern browsers, supporting X3D scenes (using the
x3dom library). As far as we know, there are no other open source
implementations of this service. We presented this service last week, in
the Jornadas SIG Libre, in Girona.
2. All code was written on top of:
Build Information
Version
2.2-SNAPSHOT
Subversion Revision
16244
Build Date
28-Mar-2012 12:54
GeoTools Version
8-SNAPSHOT (rev 37918)
3. Basically, we:
3.1 Registered another service (W3DS), implemented the operations
GetCapabilities, GetScene, GetTile and GetFeatureInfo (not finished).
3.2 Updated Geotools to read 3D data from PostGIS
3.3 Updated Geotools to support 3D styles
3.4 Updates the web interface accordingly (in several places; we needed
some specific options when publishing another 3D layer, beyond the
'data' and 'publish' tabs on the interface)
3.5 X3D is now supported as output. We also added a HTML5+X3D to enable
direct preview on the browser (it's really nice to see the 3D data on
browsers supporting WebGL)
4. We have the .war available, and the sources as well, from:
http://3dwebgis.di.uminho.pt/sources/
We didn't create diffs from the sources. We just created a tgz file from
the maven project, to allow people to read it, if necessary.
5. We also have some videos of the 3D data returned, available at:
http://3dwebgis.di.uminho.pt/videos/
6. We have a W3DS server up and running. Several requests[1] are at the
end of the message, for testing. The result can be seen in WebGL
compatible browsers (ie Firefox and Chrome). If the scene is not shown,
try to force with 'Show all'.
6.1 Administration access to this server is available (just use the
default geoserver admin password).
7. We have some more time and resources to continue this project, and we
would like to integrate this W3DS service in the GeoServer trunk.
8. Questions:
8.1 Should W3DS be integrated in the truck? Or should it be an
extension?
8.2 What is the best way to share and integrate the code developed for
X3D? By opening several tickets?
9. Now that the service is running, we will start the documentation
today
Any suggestions are very welcome.
Regards,
Jorge Gustavo Rocha/Nuno Oliveira
[1] Demo requests:
DEMO GEOSERVER3D
###################
### Level Lines ###
###################
// WMS 2D Visulization
http://3dwebgis.di.uminho.pt/geoserver3D/geoserver3D/wms?service=WMS&version=1.1.0&request=GetMap&layers=geoserver3D:level_lines&styles=&bbox=-17.207,32.834,-17.19,32.843&width=623&height=330&srs=EPSG:4326&format=application/openlayers
<http://3dwebgis.di.uminho.pt/geoserver3D/geoserver3D/wms?service=WMS&version=1.1.0&request=GetMap&layers=geoserver3D:level_lines&styles=&bbox=-17.207,32.834,-17.19,32.843&width=623&height=330&srs=EPSG:4326&format=application/openlayers>
// W3DS 3D Visualization
http://3dwebgis.di.uminho.pt/geoserver3D/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&format=text/html&crs=EPSG:4326&layers=geoserver3D:level_lines&boundingbox=-17.207,32.834,-17.19,32.843
<http://3dwebgis.di.uminho.pt/geoserver3D/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&format=text/html&crs=EPSG:4326&layers=geoserver3D:level_lines&boundingbox=-17.207,32.834,-17.19,32.843>
// 3D Style: type of level line
http://3dwebgis.di.uminho.pt/geoserver3D/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&format=text/html&crs=EPSG:4326&layers=geoserver3D:level_lines&boundingbox=-17.207,32.834,-17.19,32.843&styles=ll_by_type
<http://3dwebgis.di.uminho.pt/geoserver3D/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&format=text/html&crs=EPSG:4326&layers=geoserver3D:level_lines&boundingbox=-17.207,32.834,-17.19,32.843&styles=ll_by_type>
####################
### Buildings 3D ###
####################
// Simple 3D Buildings
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=buildings_3d&boundingbox=-8.301200,41.437741,-8.294815,41.444161
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=buildings_3d&boundingbox=-8.301200,41.437741,-8.294815,41.444161>
// 3D Style: type of buildings
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=buildings_3d&boundingbox=-8.301200,41.437741,-8.294815,41.444161&styles=buildings_by_type
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=buildings_3d&boundingbox=-8.301200,41.437741,-8.294815,41.444161&styles=buildings_by_type>
// Request EPSG:27492
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:27492&format=text/html&layers=buildings_3d&boundingbox=-13969,196602,-13434,197314&styles=buildings_by_type
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:27492&format=text/html&layers=buildings_3d&boundingbox=-13969,196602,-13434,197314&styles=buildings_by_type>
###################
### Terrain 3D ####
###################
// Simple tile of a tiled terrain
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetTile&CRS=EPSG:27492&FORMAT=text/html&LAYER=dem_tiled_3d&TILELEVEL=0&TILEROW=5&TILECOL=7
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetTile&CRS=EPSG:27492&FORMAT=text/html&LAYER=dem_tiled_3d&TILELEVEL=0&TILEROW=5&TILECOL=7>
// The same with a WMS texture (Style 3D)
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetTile&CRS=EPSG:27492&FORMAT=text/html&LAYER=dem_tiled_3d&TILELEVEL=0&TILEROW=5&TILECOL=7&style=dem_texture_igp
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetTile&CRS=EPSG:27492&FORMAT=text/html&LAYER=dem_tiled_3d&TILELEVEL=0&TILEROW=5&TILECOL=7&style=dem_texture_igp>
// The same with a texture from OSM (Style 3D)
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetTile&CRS=EPSG:27492&FORMAT=text/html&LAYER=dem_tiled_3d&TILELEVEL=0&TILEROW=5&TILECOL=7&style=dem_texture_osm
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetTile&CRS=EPSG:27492&FORMAT=text/html&LAYER=dem_tiled_3d&TILELEVEL=0&TILEROW=5&TILECOL=7&style=dem_texture_osm>
// Some tiles with a WMS texture from IGP (Style 3D)
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:27492&format=text/html&layers=dem_3d&boundingbox=-17135.129401,197749.891232,-15187.612882,199067.775334&styles=dem_texture_igp
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:27492&format=text/html&layers=dem_3d&boundingbox=-17135.129401,197749.891232,-15187.612882,199067.775334&styles=dem_texture_igp>
// Some tiles with a texture from OSM (Style 3D)
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:27492&format=text/html&layers=dem_3d&boundingbox=-17135.129401,197749.891232,-15187.612882,199067.775334&styles=dem_texture_osm
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:27492&format=text/html&layers=dem_3d&boundingbox=-17135.129401,197749.891232,-15187.612882,199067.775334&styles=dem_texture_osm>
##################################
### Terrain 3D + 3D Buildings ####
##################################
// 3D Buildings with a 3D style (textures from a WMS)
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=dem_3d,buildings_3d&boundingbox=-8.339114,41.448015,-8.315843,41.459920&styles=dem_texture_igp,buildings_by_type
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=dem_3d,buildings_3d&boundingbox=-8.339114,41.448015,-8.315843,41.459920&styles=dem_texture_igp,buildings_by_type>
// 3D Buildings with a 3D style (textures from a OSM)
http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=buildings_3d,dem_3d&boundingbox=-8.301200,41.437741,-8.294815,41.444161&styles=buildings_by_type,dem_texture_osm
<http://3dwebgis.di.uminho.pt/cgi-bin/proxy.cgi?url=http://3dwebgis.di.uminho.pt/geoserver3D/w3ds?version=0.4&service=w3ds&request=GetScene&crs=EPSG:4326&format=text/html&layers=buildings_3d,dem_3d&boundingbox=-8.301200,41.437741,-8.294815,41.444161&styles=buildings_by_type,dem_texture_osm>
************************************************************************************
--
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480 <tel:%2B351%20253604480>
Fax: +351 253604471 <tel:%2B351%20253604471>
Móvel: +351 910333888 <tel:%2B351%20910333888>
skype: nabocudnosor
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
<mailto:Geoserver-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.