[Geoserver-devel] W3DS Implementation up and running

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 :slight_smile:

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

// 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

// 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

####################
### 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

// 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

// 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

###################
### 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

// 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

// 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

// 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

// 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

##################################
### 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

// 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

************************************************************************************

--
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
skype: nabocudnosor

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.com7…> 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 :slight_smile:

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

// 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

// 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

####################

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

// 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

// 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

###################

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

// 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

// 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

// 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

// 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

##################################

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

// 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





Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
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@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

Hi Justin,

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.

Regards,

Jorge Rocha/Nuno Oliveira

Em 29-03-2012 06:03, Justin Deoliveira escreveu:

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 :slight_smile:

    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&gt;

    // 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&gt;

    // 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&gt;

    ####################
    ### 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&gt;

    // 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&gt;

    // 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&gt;

    ###################
    ### 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&gt;

    // 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&gt;

    // 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&gt;

    // 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&gt;

    // 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&gt;

    ##################################
    ### 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&gt;

    // 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&gt;

    ************************************************************************************

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

--
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
skype: nabocudnosor

Hi Jorge,

On Thu, Mar 29, 2012 at 2:18 PM, Jorge Gustavo Rocha <jgr@anonymised.com> wrote:

Hi Justin,

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.

Great. Let me know if you have any questions. With the revision info you created i was able to generate a diff so should be straight forward to extract that and apply it to a branch in github.

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.

Yeah, we haven’t exactly advertised that they are the recommended way to do this sort of development so understandable why you missed them. But they do seem to be the place where most core devs do major development.

Regards,

Jorge Rocha/Nuno Oliveira

Em 29-03-2012 06:03, Justin Deoliveira escreveu:

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](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 :slight_smile:

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](mailto:Geoserver-devel@anonymised.comeforge.net)

https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.


Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
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@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

Hi all,

dear Jorge, I am pretty impressed from your efforts with the 3d / X3D stuff. I just wanted to point to the 52North 3D community.

http://52north.org/communities/3d-community/

They just recently started to establish a similar project derived from an implementation of the "Hochschule Bochum", a university for applied science in Bochum, Germany. It is called Triturus, there is a white paper somewhere.

http://52north.org/images/stories/52n/communities/3D/triturus%20white%20paper.pdf

Source code is not yet available, and the mailing list is not very active yet. But I wanted to contact the project leader anyways, because I am searching for an geospatial X3D implementation for hydro/geological application for a studies/research project in the next weeks. And rather than reinventing the wheel, there might be now two open source X3D/x3dom/HTML5 software projects gaining momentum, that's fantastic.

I would appreciate to hear/see more from yours :slight_smile:

Cheers,
Alex

Am 31.03.2012 05:23, schrieb Justin Deoliveira:

Hi Jorge,

On Thu, Mar 29, 2012 at 2:18 PM, Jorge Gustavo Rocha <jgr@anonymised.com
<mailto:jgr@anonymised.com>> wrote:

    Hi Justin,

    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.

Great. Let me know if you have any questions. With the revision info you
created i was able to generate a diff so should be straight forward to
extract that and apply it to a branch in github.

    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.

Yeah, we haven't exactly advertised that they are the recommended way to
do this sort of development so understandable why you missed them. But
they do seem to be the place where most core devs do major development.

    Regards,

    Jorge Rocha/Nuno Oliveira

    Em 29-03-2012 06:03, Justin Deoliveira escreveu:
     > 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>
     > <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 :slight_smile:
     >
     > 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > ####################
     > ### 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > ###################
     > ### 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
     > ##################################
     > ### 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&gt;
     >
    <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&gt;&gt;
     >
     > // 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&gt;
     >
    <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&gt;&gt;
     >
    ************************************************************************************
     >
    ************************************************************************************
     >
    ************************************************************************************
     >
     > --
     > Jorge Gustavo Rocha
     > Departamento de Informática
     > Universidade do Minho
     > 4710-057 Braga
     > Tel: +351 253604480 <tel:%2B351%20253604480> <tel:%2B351%20253604480>
     > Fax: +351 253604471 <tel:%2B351%20253604471> <tel:%2B351%20253604471>
     > Móvel: +351 910333888 <tel:%2B351%20910333888>
    <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>
     > <mailto: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.
     >

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

------------------------------------------------------------------------------
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
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Hi Alex,

Thank you for your interest. Thank you also for the pointer to the 52 North initiative regarding 3D. There are more initiatives like Triturus, and many more will come, we hope.

Some years ago (10 years ago...) was hard to believe that GIS applications could run on the web. Now everybody uses sophisticated web mapping applications on the web, with editing capabilities, with many concurrent users, etc.

Now, since WebGL is supported in HTML5, we will see much more 3D webgis running on the web. If 3D games with realistic rendering are been developed for HTML5, I can ensure that 3D webgis will also run smoothly on the web.

To enable 3D webgis applications, we need a full featured W3DS. We only have nice and smoothly web mapping applications on the web, because we have WMS servers.

So, we will continue to develop and improve the W3DS server. We are also implementing a 3D client library in JavaScript, inspired by OpenLayers (right now only the basic things are implemented, like create 3D scene, add layer, get 3D data using GetScene and GetTile, and a few things more). We hope that some virtual globes (webgl globes) will support our W3DS service as a data source.

All this long discourse serves to stress that we want to focus on the development and support of 3D web applications.

If you want to develop your hydro and geological application over the web, we can help you, either preparing the 3D data to be served by the W3DS, and by helping you to develop a (simple) web client. If you rather need sophisticated 3D analysis and so on, it might be better to use some kind of desktop software, since that functionalities are not being supported (yet).

Regards,

Jorge Gustavo

Em 30-03-2012 23:52, Alexander Kmoch escreveu:

Hi all,

dear Jorge, I am pretty impressed from your efforts with the 3d / X3D
stuff. I just wanted to point to the 52North 3D community.

http://52north.org/communities/3d-community/

They just recently started to establish a similar project derived from
an implementation of the "Hochschule Bochum", a university for applied
science in Bochum, Germany. It is called Triturus, there is a white
paper somewhere.

http://52north.org/images/stories/52n/communities/3D/triturus%20white%20paper.pdf

Source code is not yet available, and the mailing list is not very
active yet. But I wanted to contact the project leader anyways, because
I am searching for an geospatial X3D implementation for hydro/geological
application for a studies/research project in the next weeks. And rather
than reinventing the wheel, there might be now two open source
X3D/x3dom/HTML5 software projects gaining momentum, that's fantastic.

I would appreciate to hear/see more from yours :slight_smile:

Cheers,
Alex

Am 31.03.2012 05:23, schrieb Justin Deoliveira:

Hi Jorge,

On Thu, Mar 29, 2012 at 2:18 PM, Jorge Gustavo Rocha<jgr@anonymised.com
<mailto:jgr@anonymised.com>> wrote:

     Hi Justin,

     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.

Great. Let me know if you have any questions. With the revision info you
created i was able to generate a diff so should be straight forward to
extract that and apply it to a branch in github.

     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.

Yeah, we haven't exactly advertised that they are the recommended way to
do this sort of development so understandable why you missed them. But
they do seem to be the place where most core devs do major development.

     Regards,

     Jorge Rocha/Nuno Oliveira

     Em 29-03-2012 06:03, Justin Deoliveira escreveu:
      > 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>
      > <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 :slight_smile:
      >
      > 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > ####################
      > ### 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > ###################
      > ### 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
      > ##################################
      > ### 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&gt;
      >
     <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&gt;&gt;
      >
      > // 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&gt;
      >
     <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&gt;&gt;
      >
     ************************************************************************************
      >
     ************************************************************************************
      >
     ************************************************************************************
      >
      > --
      > Jorge Gustavo Rocha
      > Departamento de Informática
      > Universidade do Minho
      > 4710-057 Braga
      > Tel: +351 253604480<tel:%2B351%20253604480> <tel:%2B351%20253604480>
      > Fax: +351 253604471<tel:%2B351%20253604471> <tel:%2B351%20253604471>
      > Móvel: +351 910333888<tel:%2B351%20910333888>
     <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>
      > <mailto: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.
      >

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

------------------------------------------------------------------------------
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
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

------------------------------------------------------------------------------
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
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
skype: nabocudnosor

Hi,

Follows in anexe two patchs, one to integrate W3DS as a community module in GeoServer and another to GeoTools who permits the acess of 3D data from a PostGIS data base. Related to the acess of 3D data in GeoTools maybe it exists a better way to do this, any idea is welcome.

The github repositorys we are using to develop our W3DS are:

Any suggestions are very welcome.

Regards,

Nuno Oliveira

Le 2 avril 2012 12:07, Jorge Gustavo Rocha <jgr@anonymised.com> a écrit :

Hi Alex,

Thank you for your interest. Thank you also for the pointer to the 52
North initiative regarding 3D. There are more initiatives like Triturus,
and many more will come, we hope.

Some years ago (10 years ago…) was hard to believe that GIS
applications could run on the web. Now everybody uses sophisticated web
mapping applications on the web, with editing capabilities, with many
concurrent users, etc.

Now, since WebGL is supported in HTML5, we will see much more 3D webgis
running on the web. If 3D games with realistic rendering are been
developed for HTML5, I can ensure that 3D webgis will also run smoothly
on the web.

To enable 3D webgis applications, we need a full featured W3DS. We only
have nice and smoothly web mapping applications on the web, because we
have WMS servers.

So, we will continue to develop and improve the W3DS server. We are also
implementing a 3D client library in JavaScript, inspired by OpenLayers
(right now only the basic things are implemented, like create 3D scene,
add layer, get 3D data using GetScene and GetTile, and a few things
more). We hope that some virtual globes (webgl globes) will support our
W3DS service as a data source.

All this long discourse serves to stress that we want to focus on the
development and support of 3D web applications.

If you want to develop your hydro and geological application over the
web, we can help you, either preparing the 3D data to be served by the
W3DS, and by helping you to develop a (simple) web client. If you rather
need sophisticated 3D analysis and so on, it might be better to use some
kind of desktop software, since that functionalities are not being
supported (yet).

Regards,

Jorge Gustavo

Em 30-03-2012 23:52, Alexander Kmoch escreveu:

Hi all,

dear Jorge, I am pretty impressed from your efforts with the 3d / X3D
stuff. I just wanted to point to the 52North 3D community.

http://52north.org/communities/3d-community/

They just recently started to establish a similar project derived from
an implementation of the “Hochschule Bochum”, a university for applied
science in Bochum, Germany. It is called Triturus, there is a white
paper somewhere.

http://52north.org/images/stories/52n/communities/3D/triturus%20white%20paper.pdf

Source code is not yet available, and the mailing list is not very
active yet. But I wanted to contact the project leader anyways, because
I am searching for an geospatial X3D implementation for hydro/geological
application for a studies/research project in the next weeks. And rather
than reinventing the wheel, there might be now two open source
X3D/x3dom/HTML5 software projects gaining momentum, that’s fantastic.

I would appreciate to hear/see more from yours :slight_smile:

Cheers,
Alex

Am 31.03.2012 05:23, schrieb Justin Deoliveira:

Hi Jorge,

On Thu, Mar 29, 2012 at 2:18 PM, Jorge Gustavo Rocha<jgr@anonymised.com
mailto:[jgr@anonymised.com](mailto:jgr@anonymised.com)> wrote:

Hi Justin,

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.

Great. Let me know if you have any questions. With the revision info you
created i was able to generate a diff so should be straight forward to
extract that and apply it to a branch in github.

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.

Yeah, we haven’t exactly advertised that they are the recommended way to
do this sort of development so understandable why you missed them. But
they do seem to be the place where most core devs do major development.

Regards,

Jorge Rocha/Nuno Oliveira

Em 29-03-2012 06:03, Justin Deoliveira escreveu:

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.commailto:[jgr@anonymised.com](mailto:jgr@anonymised.com)
<mailto:jgr@anonymised.commailto:[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 :slight_smile:

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>

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

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

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

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

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

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

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

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

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

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

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

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

<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 253604480tel:%2B351%20253604480 tel:%2B351%20253604480
Fax: +351 253604471tel:%2B351%20253604471 tel:%2B351%20253604471
Móvel: +351 910333888tel:%2B351%20910333888
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](mailto:Geoserver-devel@anonymised.comceforge.net)
<mailto:Geoserver-devel@lists.sourceforge.net
mailto:[Geoserver-devel@lists.sourceforge.net](mailto:Geoserver-devel@anonymised.comceforge.net)>
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.


Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480tel:%2B351%20253604480
Fax: +351 253604471tel:%2B351%20253604471
Móvel: +351 910333888tel:%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](mailto:Geoserver-devel@anonymised.comceforge.net)
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.


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
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


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
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480

Fax: +351 253604471
Móvel: +351 910333888

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@anonymised.comsts.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/geoserver-devel

(attachments)

0001-Add-W3DS-community-module.patch (330 KB)
0001-Change-some-methods-to-permit-obtain-3D-data-from-a-.patch (3.52 KB)

On Thu, Apr 19, 2012 at 7:01 AM, Nuno Miguel Carvalho Oliveira <
nmco51845@anonymised.com> wrote:

Hi,

Follows in anexe two patchs, one to integrate W3DS as a community module
in GeoServer and another to GeoTools who permits the acess of 3D data from
a PostGIS data base. Related to the acess of 3D data in GeoTools maybe it
exists a better way to do this, any idea is welcome.

Hi,
let's start discussing the Geotools patch, since it's really short.
The patch is almost correct, but it's mis-using the hints somehow.

Hints are used in the query as a way to tell the store that we'd
like the returned objects to have some particular property, such as being
built with a particular geometry factory, or being flat (2D).
The geometry column user data is instead used to carry some extra info
that describes it, such as the fact the column is a "geography" instead of a
"geometry".

Query hints are created per request and can vary over time, for example
WMS will always ask for 2D geometries, whilst W3DS or WFS won't.
Geometry descriptor attributes instead are structural, once set they
describe
something about the geometry column "forever".

As such you should not mix them, otherwise one request can force the
geometry to be 2d by attaching the hint and the next request looking for
3d data won't get it (because the hint is already in place).
To do what you want is better to extend the encodeGeometryColumn in
SQLDialect to take also the Hints as a parameter: it is an API break that
I believe we can take on trunk (Justin, thoughts?).

The other thing that's missing is a test.
The JDBC testing framework is shared between all the databases and is
setup so that there is a base abstract class which needs to be subclasses
and return a "test setup" object that knows how to setup the expected
spatial tables with the DDL specific of that particular database.
You can extend JDBC3DTest and JDBC3DTestSetup, which are
now implemented only for Oracle and DB2, and create an implementation
for PostGIS.

I'll try to have a look at the W3DS community module too, but as long as
it's a
community module you don't really need to pass any review.
One thing is important tough, in order for GeoServer to include your module
in the future you, or the company/authority/adminstration that employs you
have to sign and send a "copyright assignment" contract that gives
Openplans,
the no-profit managing GeoServer, rights on the source code that you
created.
This is necessary to keep the ownership in one place and defend GeoServer in
court should a license violation arise.

Cheers
Andrea

--
-------------------------------------------------------
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

-------------------------------------------------------

Hi,

(Sorry for the late reply, i had a very very busy week).

First, thank you for your very complete answer.
I create a new patch based on your advices (in annex).
Basically to read 3D coordinates from a PostGIS data
base we need to put a hint in the query:

Hints hints = query.getHints();
hints.put(Hints.FEATURE_2D, Boolean.FALSE);
query.setHints(hints);

This hint will remove ‘ST_Force_2D’ from the final querry
and set the encode to ‘ST_AsEWKB’ instead of ‘ST_AsBinary’.

I run the tests and all works fine (PostGIS3DTest).

To resume what i have changed:

  • SQLDialect.java and PostGISDialect.java: I extend the
    ‘encodeGeometryColumn’ function to take also the ‘Hints’
    as a parameter.
  • JDBCDataStore.java: I give the ‘Hints’ as a parameter
    to the ‘encodeGeometryColumn’ function.
  • PostGIS3DTest and PostGIS3DTestSetup: I add 3D tests
    to PostGIS.

Any suggestions are very welcome.

Regards,

Nuno Oliveira

2012/4/21 Andrea Aime <andrea.aime@anonymised.com>

(attachments)

patch_postgis3d.diff (61.4 KB)

···

On Thu, Apr 19, 2012 at 7:01 AM, Nuno Miguel Carvalho Oliveira <nmco51845@anonymised.com> wrote:

Hi,

Follows in anexe two patchs, one to integrate W3DS as a community module in GeoServer and another to GeoTools who permits the acess of 3D data from a PostGIS data base. Related to the acess of 3D data in GeoTools maybe it exists a better way to do this, any idea is welcome.

Hi,
let’s start discussing the Geotools patch, since it’s really short.
The patch is almost correct, but it’s mis-using the hints somehow.

Hints are used in the query as a way to tell the store that we’d
like the returned objects to have some particular property, such as being
built with a particular geometry factory, or being flat (2D).
The geometry column user data is instead used to carry some extra info
that describes it, such as the fact the column is a “geography” instead of a
“geometry”.

Query hints are created per request and can vary over time, for example
WMS will always ask for 2D geometries, whilst W3DS or WFS won’t.
Geometry descriptor attributes instead are structural, once set they describe
something about the geometry column “forever”.

As such you should not mix them, otherwise one request can force the
geometry to be 2d by attaching the hint and the next request looking for
3d data won’t get it (because the hint is already in place).
To do what you want is better to extend the encodeGeometryColumn in
SQLDialect to take also the Hints as a parameter: it is an API break that
I believe we can take on trunk (Justin, thoughts?).

The other thing that’s missing is a test.
The JDBC testing framework is shared between all the databases and is
setup so that there is a base abstract class which needs to be subclasses
and return a “test setup” object that knows how to setup the expected
spatial tables with the DDL specific of that particular database.
You can extend JDBC3DTest and JDBC3DTestSetup, which are
now implemented only for Oracle and DB2, and create an implementation
for PostGIS.

I’ll try to have a look at the W3DS community module too, but as long as it’s a
community module you don’t really need to pass any review.
One thing is important tough, in order for GeoServer to include your module
in the future you, or the company/authority/adminstration that employs you
have to sign and send a “copyright assignment” contract that gives Openplans,
the no-profit managing GeoServer, rights on the source code that you created.
This is necessary to keep the ownership in one place and defend GeoServer in
court should a license violation arise.

Cheers
Andrea

Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf


Hi Nuno,

The changes make sense, unfortunately the patch still has issues. The patch contains largely formatting changes. Looks like spaces were converted to tabs at some point. This unfortunately makes it nearly impossible to figure out what actually changed in that class. Seems to be mostly the PostGISDialect class, but also the test classes contain misformatting in terms of tabs vs spaces.

Not sure what IDE you are using but if you are using eclipse there are existing formatting templates that will help with this. See this for more details.

http://docs.geotools.org/latest/developer/conventions/code/style.html

Again, to reiterate, for any patches that are proposed it is imperative that they only contain relevant changes, and no formatting changes.

-Justin

···

On Thu, Apr 19, 2012 at 7:01 AM, Nuno Miguel Carvalho Oliveira <nmco51845@anonymised.com> wrote:

Hi,

Follows in anexe two patchs, one to integrate W3DS as a community module in GeoServer and another to GeoTools who permits the acess of 3D data from a PostGIS data base. Related to the acess of 3D data in GeoTools maybe it exists a better way to do this, any idea is welcome.

Hi,
let’s start discussing the Geotools patch, since it’s really short.
The patch is almost correct, but it’s mis-using the hints somehow.

Hints are used in the query as a way to tell the store that we’d
like the returned objects to have some particular property, such as being
built with a particular geometry factory, or being flat (2D).
The geometry column user data is instead used to carry some extra info
that describes it, such as the fact the column is a “geography” instead of a
“geometry”.

Query hints are created per request and can vary over time, for example
WMS will always ask for 2D geometries, whilst W3DS or WFS won’t.
Geometry descriptor attributes instead are structural, once set they describe
something about the geometry column “forever”.

As such you should not mix them, otherwise one request can force the
geometry to be 2d by attaching the hint and the next request looking for
3d data won’t get it (because the hint is already in place).
To do what you want is better to extend the encodeGeometryColumn in
SQLDialect to take also the Hints as a parameter: it is an API break that
I believe we can take on trunk (Justin, thoughts?).

The other thing that’s missing is a test.
The JDBC testing framework is shared between all the databases and is
setup so that there is a base abstract class which needs to be subclasses
and return a “test setup” object that knows how to setup the expected
spatial tables with the DDL specific of that particular database.
You can extend JDBC3DTest and JDBC3DTestSetup, which are
now implemented only for Oracle and DB2, and create an implementation
for PostGIS.

I’ll try to have a look at the W3DS community module too, but as long as it’s a
community module you don’t really need to pass any review.
One thing is important tough, in order for GeoServer to include your module
in the future you, or the company/authority/adminstration that employs you
have to sign and send a “copyright assignment” contract that gives Openplans,
the no-profit managing GeoServer, rights on the source code that you created.
This is necessary to keep the ownership in one place and defend GeoServer in
court should a license violation arise.

Cheers
Andrea

Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf


Hi Justin,

I’m really sorry about the patch i haven’t seen the formatting trick (sorry for the waste of time).
I send in annex two patchs one who makes the changes in the existing classes and another to add the PostGIS 3D tests.

I hope i did it well this time.

Regards,

Nuno Oliveira

2012/5/3 Justin Deoliveira <jdeolive@anonymised.com>

(attachments)

patch_postgis3d.diff (4.69 KB)
pact_postgis3d_tests.diff (6.74 KB)

···

On Thu, Apr 19, 2012 at 7:01 AM, Nuno Miguel Carvalho Oliveira <nmco51845@anonymised.com> wrote:

Hi,

Follows in anexe two patchs, one to integrate W3DS as a community module in GeoServer and another to GeoTools who permits the acess of 3D data from a PostGIS data base. Related to the acess of 3D data in GeoTools maybe it exists a better way to do this, any idea is welcome.

Hi,
let’s start discussing the Geotools patch, since it’s really short.
The patch is almost correct, but it’s mis-using the hints somehow.

Hints are used in the query as a way to tell the store that we’d
like the returned objects to have some particular property, such as being
built with a particular geometry factory, or being flat (2D).
The geometry column user data is instead used to carry some extra info
that describes it, such as the fact the column is a “geography” instead of a
“geometry”.

Query hints are created per request and can vary over time, for example
WMS will always ask for 2D geometries, whilst W3DS or WFS won’t.
Geometry descriptor attributes instead are structural, once set they describe
something about the geometry column “forever”.

As such you should not mix them, otherwise one request can force the
geometry to be 2d by attaching the hint and the next request looking for
3d data won’t get it (because the hint is already in place).
To do what you want is better to extend the encodeGeometryColumn in
SQLDialect to take also the Hints as a parameter: it is an API break that
I believe we can take on trunk (Justin, thoughts?).

The other thing that’s missing is a test.
The JDBC testing framework is shared between all the databases and is
setup so that there is a base abstract class which needs to be subclasses
and return a “test setup” object that knows how to setup the expected
spatial tables with the DDL specific of that particular database.
You can extend JDBC3DTest and JDBC3DTestSetup, which are
now implemented only for Oracle and DB2, and create an implementation
for PostGIS.

I’ll try to have a look at the W3DS community module too, but as long as it’s a
community module you don’t really need to pass any review.
One thing is important tough, in order for GeoServer to include your module
in the future you, or the company/authority/adminstration that employs you
have to sign and send a “copyright assignment” contract that gives Openplans,
the no-profit managing GeoServer, rights on the source code that you created.
This is necessary to keep the ownership in one place and defend GeoServer in
court should a license violation arise.

Cheers
Andrea

Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf


Hi Nuno,

No problem about the misformatting, it is a very common thing for people contributing initial patches. The new patch looks much nicer, thanks!

So, its looking good for the most part. Although it looks like 3d is only respected if the 2d hint is specified to be false. I think it should be respected if the 2d hint is false, or the 2d hint is not specified at all.

Also one thing is that we need to deprecate the old SQLDialect.encodeColumnName method, and probably have the implementation call through to the new one.

As for the test i think it looks good, although with the behavior i mentioned above about interpreting the 2d hint it should no longer be necessary to override any of hte test methods in Postgis3D test.

-Justin

···

On Thu, Apr 19, 2012 at 7:01 AM, Nuno Miguel Carvalho Oliveira <nmco51845@anonymised.com> wrote:

Hi,

Follows in anexe two patchs, one to integrate W3DS as a community module in GeoServer and another to GeoTools who permits the acess of 3D data from a PostGIS data base. Related to the acess of 3D data in GeoTools maybe it exists a better way to do this, any idea is welcome.

Hi,
let’s start discussing the Geotools patch, since it’s really short.
The patch is almost correct, but it’s mis-using the hints somehow.

Hints are used in the query as a way to tell the store that we’d
like the returned objects to have some particular property, such as being
built with a particular geometry factory, or being flat (2D).
The geometry column user data is instead used to carry some extra info
that describes it, such as the fact the column is a “geography” instead of a
“geometry”.

Query hints are created per request and can vary over time, for example
WMS will always ask for 2D geometries, whilst W3DS or WFS won’t.
Geometry descriptor attributes instead are structural, once set they describe
something about the geometry column “forever”.

As such you should not mix them, otherwise one request can force the
geometry to be 2d by attaching the hint and the next request looking for
3d data won’t get it (because the hint is already in place).
To do what you want is better to extend the encodeGeometryColumn in
SQLDialect to take also the Hints as a parameter: it is an API break that
I believe we can take on trunk (Justin, thoughts?).

The other thing that’s missing is a test.
The JDBC testing framework is shared between all the databases and is
setup so that there is a base abstract class which needs to be subclasses
and return a “test setup” object that knows how to setup the expected
spatial tables with the DDL specific of that particular database.
You can extend JDBC3DTest and JDBC3DTestSetup, which are
now implemented only for Oracle and DB2, and create an implementation
for PostGIS.

I’ll try to have a look at the W3DS community module too, but as long as it’s a
community module you don’t really need to pass any review.
One thing is important tough, in order for GeoServer to include your module
in the future you, or the company/authority/adminstration that employs you
have to sign and send a “copyright assignment” contract that gives Openplans,
the no-profit managing GeoServer, rights on the source code that you created.
This is necessary to keep the ownership in one place and defend GeoServer in
court should a license violation arise.

Cheers
Andrea

Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf


On Fri, May 4, 2012 at 12:44 AM, Justin Deoliveira <jdeolive@anonymised.com> wrote:

Hi Nuno,

No problem about the misformatting, it is a very common thing for people contributing initial patches. The new patch looks much nicer, thanks!

So, its looking good for the most part. Although it looks like 3d is only respected if the 2d hint is specified to be false. I think it should be respected if the 2d hint is false, or the 2d hint is not specified at all.

Also one thing is that we need to deprecate the old SQLDialect.encodeColumnName method, and probably have the implementation call through to the new one.

As for the test i think it looks good, although with the behavior i mentioned above about interpreting the 2d hint it should no longer be necessary to override any of hte test methods in Postgis3D test.

Hum,
the original intended behavior for the hint was to return 3D geometries any time the hint was not explicitly
set, that’s how we got 3d geometries in GML and KML output even if those do not explicitly set any hints,
while on the other side the renderer manually forces the hint in.

Do you know of other code paths, besides the renderer, that would break when facing 3D data?

Cheers
Andrea


Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

Hi Justin, Andrea, Nuno,

Regarding the FEATURE_2D hint:

1) The default behavior of any reader should be to return the data as it is stored. If the data is 3D, 3D data is returned. If the data is 2D, 2D data is returned, for every kind of data store.

2) The FEATURE_2D hint should be used to change this default behavior. So, if FEATURE_2D is set (FEATURE_2D exists and FEATURE_2D=True), then 2D data should be returned.

3) If FEATURE_2D is not defined or FEATURE_2D=False, the the default behavior apply, ie return data as it is stored.

4) I think we should find out if there is any code breaking if PostGIS data is returned in 3D, when no Hint is defined. If the code is breaking, we should fixed it, so the behavior is always the same for every kind of data store: if no FEATURE_2D hint is defined, data is returned "as is".

So, IMHO the encodeGeometryColumn should also return 3D data for PostGIS data sources, even when the FEATURE_2D hint is not defined.

Comments are welcome, because I might be forgetting some other implications.

Jorge

Em 04-05-2012 13:03, Andrea Aime escreveu:

On Fri, May 4, 2012 at 12:44 AM, Justin Deoliveira <jdeolive@anonymised.com
<mailto:jdeolive@anonymised.com>> wrote:

    Hi Nuno,

    No problem about the misformatting, it is a very common thing for
    people contributing initial patches. The new patch looks much nicer,
    thanks!

    So, its looking good for the most part. Although it looks like 3d is
    only respected if the 2d hint is specified to be false. I think it
    should be respected if the 2d hint is false, or the 2d hint is not
    specified at all.

    Also one thing is that we need to deprecate the old
    SQLDialect.encodeColumnName method, and probably have the
    implementation call through to the new one.

    As for the test i think it looks good, although with the behavior i
    mentioned above about interpreting the 2d hint it should no longer
    be necessary to override any of hte test methods in Postgis3D test.

Hum,
the original intended behavior for the hint was to return 3D geometries
any time the hint was not explicitly
set, that's how we got 3d geometries in GML and KML output even if those
do not explicitly set any hints,
while on the other side the renderer manually forces the hint in.

Do you know of other code paths, besides the renderer, that would break
when facing 3D data?

Cheers
Andrea

--
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
skype: nabocudnosor

On Fri, May 4, 2012 at 5:03 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, May 4, 2012 at 12:44 AM, Justin Deoliveira <jdeolive@anonymised.com> wrote:

Hi Nuno,

No problem about the misformatting, it is a very common thing for people contributing initial patches. The new patch looks much nicer, thanks!

So, its looking good for the most part. Although it looks like 3d is only respected if the 2d hint is specified to be false. I think it should be respected if the 2d hint is false, or the 2d hint is not specified at all.

Also one thing is that we need to deprecate the old SQLDialect.encodeColumnName method, and probably have the implementation call through to the new one.

As for the test i think it looks good, although with the behavior i mentioned above about interpreting the 2d hint it should no longer be necessary to override any of hte test methods in Postgis3D test.

Hum,
the original intended behavior for the hint was to return 3D geometries any time the hint was not explicitly
set, that’s how we got 3d geometries in GML and KML output even if those do not explicitly set any hints,
while on the other side the renderer manually forces the hint in.

Sorry, i am not sure if you are saying my reasoning is in error? I think we are saying the same thing? My interpretation is:

//no hint → 3D
hints.put(FEATURE_2D, false) → 3D
hints.put(FEATURE_2D, true) → 2D

Do you know of other code paths, besides the renderer, that would break when facing 3D data?

Hmmm… can’t think of any. Martin is currently looking at the wfs pipeline, gml 2/3 and geojson and it seems they just happily will drop/ignore the third coordinate if its there.

Cheers

Andrea

Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

On Fri, May 4, 2012 at 5:13 PM, Justin Deoliveira <jdeolive@anonymised.com> wrote:

Hum,

the original intended behavior for the hint was to return 3D geometries any time the hint was not explicitly
set, that’s how we got 3d geometries in GML and KML output even if those do not explicitly set any hints,
while on the other side the renderer manually forces the hint in.

Sorry, i am not sure if you are saying my reasoning is in error? I think we are saying the same thing? My interpretation is:

//no hint → 3D
hints.put(FEATURE_2D, false) → 3D
hints.put(FEATURE_2D, true) → 2D

Ah ok, then we are on the same page, must have misread your previous mail

Do you know of other code paths, besides the renderer, that would break when facing 3D data?

Hmmm… can’t think of any. Martin is currently looking at the wfs pipeline, gml 2/3 and geojson and it seems they just happily will drop/ignore the third coordinate if its there.

Cool

Cheers
Andrea


Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

Hi,

I send two new patches which implements what have been discussed in the previous mails.

Resume:

Type = geography → 2D, because ST_AsEWKB don’t support geographic type.
(http://postgis.refractions.net/documentation/manual-svn/ST_AsEWKB.html)

No hint → 3D
hints.put(FEATURE_2D, false) → 3D
hints.put(FEATURE_2D, true) → 2D

Regards,

Nuno Oliveira

2012/5/4 Andrea Aime <andrea.aime@anonymised.com>

On Fri, May 4, 2012 at 5:13 PM, Justin Deoliveira <jdeolive@anonymised.com> wrote:

Hum,

the original intended behavior for the hint was to return 3D geometries any time the hint was not explicitly
set, that’s how we got 3d geometries in GML and KML output even if those do not explicitly set any hints,
while on the other side the renderer manually forces the hint in.

Sorry, i am not sure if you are saying my reasoning is in error? I think we are saying the same thing? My interpretation is:

//no hint → 3D
hints.put(FEATURE_2D, false) → 3D
hints.put(FEATURE_2D, true) → 2D

Ah ok, then we are on the same page, must have misread your previous mail

Do you know of other code paths, besides the renderer, that would break when facing 3D data?

Hmmm… can’t think of any. Martin is currently looking at the wfs pipeline, gml 2/3 and geojson and it seems they just happily will drop/ignore the third coordinate if its there.

Cool

Cheers

Andrea


Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

(attachments)

patch_postgis3d.diff (4.82 KB)
pact_postgis3d_tests.diff (5.84 KB)

Thanks for cleaning up the patch Nuno. I have created a jira issue for this and attached a version of the patch cleaned up somewhat (mostly cleaning up the tab vs spaces formatting).

http://jira.codehaus.org/browse/GEOT-4129

Let’s have discussion continue there.

-Justin

On Mon, May 7, 2012 at 11:21 AM, Nuno Miguel Carvalho Oliveira <nmco51845@anonymised.com> wrote:

Hi,

I send two new patches which implements what have been discussed in the previous mails.

Resume:

Type = geography → 2D, because ST_AsEWKB don’t support geographic type.
(http://postgis.refractions.net/documentation/manual-svn/ST_AsEWKB.html)

No hint → 3D
hints.put(FEATURE_2D, false) → 3D
hints.put(FEATURE_2D, true) → 2D

Regards,

Nuno Oliveira

2012/5/4 Andrea Aime <andrea.aime@anonymised.com>

On Fri, May 4, 2012 at 5:13 PM, Justin Deoliveira <jdeolive@anonymised.com> wrote:

Hum,

the original intended behavior for the hint was to return 3D geometries any time the hint was not explicitly
set, that’s how we got 3d geometries in GML and KML output even if those do not explicitly set any hints,
while on the other side the renderer manually forces the hint in.

Sorry, i am not sure if you are saying my reasoning is in error? I think we are saying the same thing? My interpretation is:

//no hint → 3D
hints.put(FEATURE_2D, false) → 3D
hints.put(FEATURE_2D, true) → 2D

Ah ok, then we are on the same page, must have misread your previous mail

Do you know of other code paths, besides the renderer, that would break when facing 3D data?

Hmmm… can’t think of any. Martin is currently looking at the wfs pipeline, gml 2/3 and geojson and it seems they just happily will drop/ignore the third coordinate if its there.

Cool

Cheers

Andrea


Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

Hi,

I am currently working on displaying terrain data for W3DS.

Your website, http://3dwebgis.di.uminho.pt/geoserver3D/web/, is really
helpful and I appreciate that you open it to public.

I am wondering how you can generate the postgis-data for DEM-Tiles.

I have raster data for DTM/DSM and can convert it to TIN data using ArcGIS.
Then how can I generate the tiles that you're using for W3DS?

Thank you in advance!
Kim.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/W3DS-Implementation-up-and-running-tp4665127p5023124.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.

Hi,

2012/12/14 hideaway <hideaway@anonymised.com622…>

Hi,

I am currently working on displaying terrain data for W3DS.

Your website, http://3dwebgis.di.uminho.pt/geoserver3D/web/, is really
helpful and I appreciate that you open it to public.

Thanks.

I am wondering how you can generate the postgis-data for DEM-Tiles.

I have raster data for DTM/DSM and can convert it to TIN data using ArcGIS.
Then how can I generate the tiles that you’re using for W3DS?

I made an extension to GDAL to do that. The extension is based on the CGAL library and use delaunay
triangulation to produce the terrain mesh. The extension support multiling etc …

At this time i am more worried about make W3DS become a community module of Geoserver, but i will also
make a post on GDAL mailling list and try to make the extension become suported on GDAL.

You can also check this link http://osgearth.org/, is not the same philosophy of W3DS but can be helpful.

Best regards,

Nuno Oliveira

Thank you in advance!
Kim.


View this message in context: http://osgeo-org.1560.n6.nabble.com/W3DS-Implementation-up-and-running-tp4665127p5023124.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.


LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel