On Thu, Apr 19, 2012 at 7:01 AM, Nuno Miguel Carvalho Oliveira <
[email protected]> 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
-------------------------------------------------------
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel