On 08/03/2012 03:55 PM, Andrea Aime wrote:
On Fri, Aug 3, 2012 at 3:09 PM, Niels Charlier <ni...@scitus.be
<mailto:ni...@scitus.be>> wrote:
Hi Andrea,
Thank you for look at it ! Here are some answers to your questions
and concerns:
Looked at the proposal and the patch, a few questions:
* the proposal should tell how are you addressing the dicotomy
between CoordinateReferenceSystem and the SRS string which is
required by the BBOX interface (the CRS might not have a way
to be represented as an SRS)
How is this different than creating a BBOX filter from a non-3D
ReferencedEnvelope. I notice the following method is used:
CRS.toSRS( bounds.getCoordinateReferenceSystem() )
I could do this for ReferencedEnvelope3D 's too.
At the moment, I am not even implementing the getSRS method
because I partially based myself on the FastBBOX implementation
who doesn't either. The method is deprecated anyway.
In any case, this is not an issue that is specific of using a
ReferencedEnvelope3D instead of a ReferencedEnvelope to represent
the bounding box and crs.
What do you think?
That you need to implement that method, otherwise encoding filters in
CQL/XML will be impossible.
Okay, no problem, but is the above suggested solution good for you? This
is how it happens for ReferencedEnvelope3D's.
* About the usage of the CRS to determine if the dimensions
are 3 I have my doubts... the support for 3D CRS is
not very good in GeoTools, I believe the common usage would
be 2d+1 with a 2d crs with 3 ordinates
I am not really sure I know what you mean here.
I think only in the app-schema test code I take the dimensions
from the CRS, but this seems to work fine, it seems to be in line
with the official descriptions of the CRS's. Geoserver does
accepts a third coordinate even when you use for example
EPSG:4283, which is strictly a 2D CRS, but the correct way to do
this is use the newer EPSG:4979 instead which does officially
support 3 coordinates. I think the correct behaviour is used for
testing and proven to past.
Have you tried to do any reprojection, or use compound CRSs, and/or
try to switch from
a compound one to a fully 3d one? Afaik none of these work.
Reprojection in WMS and WFS is bread and butter,
not being able to support it is going to be a serious issue.
I am actually currently working on 3D reprojection atm, but it is a
whole other feature. I am surprised you say this because I though a few
months ago somebody on the list said that 3D reprojection should already
work, and my tests seem to suggest this is in fact the case (with some
minor changes).
In any case, I am not really clear how this is in the way of the changes
I am proposing here.
Or, what is it exactly that you want me to change or improve here in my
proposal or patch?
I can never related to this line of reasoning where "we'll make it
faster later" due to two reasons:
* performance can always be improved, high performance cannot be
retrofitted though, it has to be designed
* temporary solutions have the bad habit of becoming permanent, the
risk of going out and releasing something
that may kill a production system because the funds to "make it
faster" dried up worries me quite a bit
How sure you are that you're going to implement proper encoding of 3D
bboxes at the very least for JDBC
stores (and possibly for shapefiles as well?)
I do need to clarify: I am not saying : we are going to implement
something a bad way now, and make it better later. That would be indeed
a bad line of reasoning. What I am doing here is absolutely *necessary*
work for 3d bbox filters, and there is nothing programmed in a bad
quality there. The post-filter is the first requirement, so it is the
first thing that needs to happen. It it better to have a post-filter
implementation than no implementation at all (There are other things in
geotools that only work with post-filters, functions like concat.) It
cannot possibly hurt anyone to have this feature.
I think we need to take it one step at a time, otherwise I need to
make a patch so big that it is too big to review and if it doesn't get
approved a lot of work is lost. The bounding box will need to be
implemented for every possible dbms differently, and yes it will not be
so easy at all.
I think the post-filter implementation proves that it can work, and lays
the foundations for further development in this direction. But we can't
do and support everything at once.
* I see no support for building a BBOX3D filter by parsing XML
or CQL, which means there is no real way to use it besides
building it programmatically, how is this going to be handled?
I am not sure if I understand you question completely, but is it
possible the above answer apply to this also?
Same concern here, if you cannot parse a 3D bbox how are you going to
make WFS queries possible?
WMS wise, how are you going to deal with the 3D bbox? What about CQL
filtering, or in SLD filtering?
All of these will need some way for 3D bboxes to be parsed and encoded
back
There is no 3d bbox in WMS as of yet, this is only the implementation of
a WFS 3d bbox.
Again, we need to take it one step at a time. But in WFS, the 3d bbox
works as proven in the unit tests included in the patch.
Regards
Niels
------------------------------------------------------------------------------
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/
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel