On Fri, Apr 20, 2012 at 3:00 PM, Dustin Parker <[email protected]>wrote:
> Hi list,
>
> Trying to get 3D coordinates out of the GeoServer WFS. We're using
> GeoServer 2.1.3. What I've learned:
>
> * Geographic 3D CRSes aren't supported yet because they can't be encoded
> in WKT. They can't be encoded in WKT because there's only one spot for a
> unit of measure in the syntax, whereas a Geographic 3D CRS can have two
> different units (e.g. degrees and meters).
>
> * Because of this, EPSG:4979, the CRS used in the systems we interact
> with, isn't supported.
>
> * GeoServer/GeoTools support EPSG:4327 (how?), but that appears to be in
> DMS instead of degrees.
>
>
Yeah, a large number of CRSs in the EPSG database use the DMS unit instead
of decimal degrees.
I've been tempted to just go and make DMS be convertable 1:1 to decimal
deegrees, but
haven't been doing that since it may have consequences and side effect that
I cannot predict.
It would require some investigation and testing.
> * Using PostGIS, GeoServer can answer WFS 1.0 queries with 3D coordinates
> if EPSG:4327 is chosen.
>
> * GeoServer encounters this error when trying to answer WFS 1.1 queries:
>
> java.lang.ClassCastException: org.geotools.referencing.**
> operation.transform.**ProjectiveTransform cannot be cast to
> org.opengis.referencing.**operation.MathTransform2D
> at org.geotools.data.crs.**ReprojectFeatureIterator.<**init>(**
> ReprojectFeatureIterator.java:**80)
>
> * ...but if you add srsname=EPSG:4327, GeoServer gives the following
> somewhat funny answer:
>
> <gml:Point srsDimension="3" srsName="http://www.opengis.**
> net/gml/srs/epsg.xml#4327 <http://www.opengis.net/gml/srs/epsg.xml#4327>
> "><**gml:pos>0.0 0.0</gml:pos></gml:Point>
>
> So my questions are:
>
> 1. What's the current state of 3D coordinate support?
>
>
A 3D supporting path was opened years ago for the specific use case of
generating KML with extrusion
and 3d lines. The GML2 support was added to prove that path too, but it
works only on that encoder,
the GML3 uses a different code path that was not opened for 3D data support.
(the contract sponsoring that work explicictly required only KML support).
> 2. If it's supported, how do I do it correctly? If it's not there yet, is
> there any way I can hack it? I can provide patches if need be.
>
>
Not really supported. Modifications are needed starting from the
referencing subsystem and from there
into data reading, data manipulation up in the OGC services, and encoding.
> 3. Is there a CRS with lat/lon in degrees and height above ellipsoid in
> meters that GeoServer supports out of the box?
Not that I know of.
Opening up a larger 3D supporting code path is not a trivial amount of
work, we have basically been waiting
for someone to sponsor enough working days to investigate the issue, find
the parts that need to be modified,
and get that done, so far it has not happened.
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-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users