Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox range checking before database query.

2015-03-16 Thread Rahkonen Jukka (MML)
Hi,


The bounds in the table metadata do not have a direct connection with index 
bounds. They are inserted by hand or automatically by ogr2ogr or other 
utilities.  DIMINFO puts the maximum extents for the index, though, and it is 
impossible to insert new features which fall outside these bounds. Therefore we 
use always in DIMINFO such bounds which cover whole Finland and a little bit 
extra so that is an unusable metadata for reducing spatial extents of queries 
in our case. We put more realistic bounds into layer metadata with Geoserver 
but that would not be accessible for Geotools.


Jody has written 5 years ago that the correct place to look is sdo_root_mbr of 
the rtree index 
http://lists.refractions.net/pipermail/udig-users/2010-August/001049.html

However, in this 7 years old thread 
https://community.oracle.com/thread/626377?start=0&tstart=0 it is said that 
accessing the bounds directly from Oracle should be very fast:

"For fastest speed, if you are getting the mbr of an entire layer, use 
sdo_tune.extent_of, which does use the top level MBR values stored in the index 
to very quickly give you the extent of the layer. For projected data this has 
been the case for some time. For geodetic data the reading of the index 
metadata might be new for 11g."


Is the Oracle bug that started this discussion just in that sdo_tune.extent_of 
does not work with some Oracle versions?


-Jukka Rahkonen-


Jody Garnett  wrote:

> I think the index is constructed with the bounds from the table metadata.

I expect the data store can cache anything it wants. Check the bounds 
implementation to see if is based on the index or metadata configuration.
On Mon, Mar 16, 2015 at 5:44 PM  wrote:
Jody,

Thanks for your input.

Do you know how we could get index bounds at this level?

Lingbo

From: Jody Garnett 
[mailto:jody.garn...@gmail.com]
Sent: Tuesday, 17 March 2015 8:49 AM
To: Jiang, Lingbo (Digital, Marsfield)
Cc: Andrea Aime; Tey, Victor (Mineral Resources, Kensington); 
geoserver-devel@lists.sourceforge.net

Subject: Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox 
range checking before database query.

Hey Lingbo, I am a geotools lead (like Andrea) and I would be happy to help.

The reason to catch it there (other than it being the right thing to do) is 
that it will fix more than just the WMS GetMap case. WMS GetFeatureInfo and WFS 
GetFeatures would also be affected after all.

The GeoTools project is built with maven (much like GeoServer), the classes you 
are looking for are in JDBCDataStore:

* https://github.com/geotools/geotools/tree/master/modules/library/jdbc

In particular there is an 
OracleDialect
 and 
OracleFilterToSQL
 where we construct all the oracle specific SQL queries:

* 
https://github.com/geotools/geotools/tree/master/modules/plugin/jdbc/jdbc-oracle

The code of interest in OracleFilterToSQL goes like this:

if(filter instanceof Beyond || filter instanceof DWithin)
doSDODistance(filter, e1, e2, extraData);
else if(filter instanceof BBOX && looseBBOXEnabled) {
doSDOFilter(filter, e1, e2, extraData);
} else
doSDORelate(filter, e1, e2, swapped, extraData);

So you will want to look carefully at the doSDORelate and doSDOFilter methods.

I notice there is already a method here that does something like what you want, 
perhaps you just have a bug to fix in the following code.

Expression clipToWorld(BinarySpatialOperator filter, Expression e) {
if (e instanceof Literal) {
Geometry eval = e.evaluate(filter, Geometry.class);
// Oracle cannot deal with filters using geometries that span 
beyond the whole world
// in case the
if (dialect != null && isCurrentGeometryGeodetic() &&
!WORLD.contains(eval.getEnvelopeInternal())) {
Geometry result = eval.intersection(JTS.toGeometry(WORLD));

if (result != null && !result.isEmpty()) {
if(result instanceof GeometryCollection) {
result = distillSameTypeGeometries((GeometryCollection) 
result, eval);
}
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
e = ff.literal( result );
}
}
}
return e;
}

You may need to change this code to clip against your index bounds rather than 
"WORLD".


I agree with you that we could do it on oracle datastore level in geotools 
providing other DB has no need at all. 

Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox range checking before database query.

2015-03-16 Thread Andrea Aime
If you look at the OracleDialect class, it's already caching some
information related to SRSs, I guess it would be a good place
to do the bbox caching.
I'm wondering if we should also do version checks, like, you said this is
happening only on a specific version of Oracle,
or at least add a parameter to drive these extra bbox checks at the factory
level, so that not all users would have to
go though the extra work.

Cheers
Andrea


On Tue, Mar 17, 2015 at 2:30 AM, Jody Garnett 
wrote:

> I think the index is constructed with the bounds from the table metadata.
>
> I expect the data store can cache anything it wants. Check the bounds
> implementation to see if is based on the index or metadata configuration.
>
> On Mon, Mar 16, 2015 at 5:44 PM  wrote:
>
>>  Jody,
>>
>>
>>
>> Thanks for your input.
>>
>>
>>
>> Do you know how we could get index bounds at this level?
>>
>>
>>
>> Lingbo
>>
>>
>>
>> *From:* Jody Garnett [mailto:jody.garn...@gmail.com]
>>
>> *Sent:* Tuesday, 17 March 2015 8:49 AM
>>
>> *To:* Jiang, Lingbo (Digital, Marsfield)
>>
>> *Cc:* Andrea Aime; Tey, Victor (Mineral Resources, Kensington);
>> geoserver-devel@lists.sourceforge.net
>>
>>
>> *Subject:* Re: [Geoserver-devel] Propose to add an option for
>> latLongBoundingBox range checking before database query.
>>
>>
>>
>> Hey Lingbo, I am a geotools lead (like Andrea) and I would be happy to
>> help.
>>
>>
>>
>> The reason to catch it there (other than it being the right thing to do)
>> is that it will fix more than just the WMS GetMap case. WMS GetFeatureInfo
>> and WFS GetFeatures would also be affected after all.
>>
>>
>>
>> The GeoTools project is built with maven (much like GeoServer), the
>> classes you are looking for are in JDBCDataStore:
>>
>>
>>
>> * https://github.com/geotools/geotools/tree/master/modules/library/jdbc
>>
>>
>>
>> In particular there is an OracleDialect
>> 
>> and OracleFilterToSQL
>> 
>> where we construct all the oracle specific SQL queries:
>>
>>
>>
>> *
>> https://github.com/geotools/geotools/tree/master/modules/plugin/jdbc/jdbc-oracle
>>
>>
>>
>> The code of interest in OracleFilterToSQL goes like this:
>>
>>
>>
>> if(filter instanceof Beyond || filter instanceof DWithin)
>>
>> doSDODistance(filter, e1, e2, extraData);
>>
>> else if(filter instanceof BBOX && looseBBOXEnabled) {
>>
>> doSDOFilter(filter, e1, e2, extraData);
>>
>> } else
>>
>> doSDORelate(filter, e1, e2, swapped, extraData);
>>
>>
>>
>> So you will want to look carefully at the doSDORelate and doSDOFilter
>> methods.
>>
>>
>>
>> I notice there is already a method here that does something like what you
>> want, perhaps you just have a bug to fix in the following code.
>>
>>
>>
>> Expression clipToWorld(BinarySpatialOperator filter, Expression e) {
>>
>> if (e instanceof Literal) {
>>
>> Geometry eval = e.evaluate(filter, Geometry.class);
>>
>> // Oracle cannot deal with filters using geometries that span
>> beyond the whole world
>>
>> // in case the
>>
>> if (dialect != null && isCurrentGeometryGeodetic() &&
>>
>> !WORLD.contains(eval.getEnvelopeInternal())) {
>>
>> Geometry result =
>> eval.intersection(JTS.toGeometry(WORLD));
>>
>>
>>
>> if (result != null && !result.isEmpty()) {
>>
>> if(result instanceof GeometryCollection) {
>>
>> result =
>> distillSameTypeGeometries((GeometryCollection) result, eval);
>>
>> }
>>
>> FilterFactory2 ff =
>> CommonFactoryFinder.getFilterFactory2();
>>
>> e = ff.literal( result );
>>
>> }
>>
>> }
>>
>> }
>>
>> return e;
>>
>> }
>>
>>
>>
>> You may need to change this code to clip against your index bounds rather
>> than "WORLD".
>>
>>
>>
>>
>>
>>  I agree with you that we could do it on oracle datastore level in
>> geotools providing other DB has no need at all. It could fix our oracle
>> problem only without affecting others . with your expertise, could you help
>> to pinpoint where we may have good access with dataset BBOX and query BBOX
>> together in Geotools .
>>
>>
>>
>> Lingbo
>>
>>
>>
>> *From:* andrea.a...@gmail.com [mailto:andrea.a...@gmail.com
>> ] *On Behalf Of *Andrea Aime
>> *Sent:* Thursday, 12 March 2015 8:12 AM
>> *To:* Tey, Victor (Mineral Resources, Kensington)
>> *Cc:* Geoserver-devel; Jiang, Lingbo (Digital, Marsfield)
>> *Subject:* Re: [Geoserver-devel] Propose to add an option for
>> latLongBoundingBox range checking before database query.
>>
>>
>>
>> On Wed, Mar 11, 2

Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox range checking before database query.

2015-03-16 Thread Jody Garnett
I think the index is constructed with the bounds from the table metadata.

I expect the data store can cache anything it wants. Check the bounds
implementation to see if is based on the index or metadata configuration.
On Mon, Mar 16, 2015 at 5:44 PM  wrote:

>  Jody,
>
>
>
> Thanks for your input.
>
>
>
> Do you know how we could get index bounds at this level?
>
>
>
> Lingbo
>
>
>
> *From:* Jody Garnett [mailto:jody.garn...@gmail.com]
>
> *Sent:* Tuesday, 17 March 2015 8:49 AM
>
> *To:* Jiang, Lingbo (Digital, Marsfield)
>
> *Cc:* Andrea Aime; Tey, Victor (Mineral Resources, Kensington);
> geoserver-devel@lists.sourceforge.net
>
>
> *Subject:* Re: [Geoserver-devel] Propose to add an option for
> latLongBoundingBox range checking before database query.
>
>
>
> Hey Lingbo, I am a geotools lead (like Andrea) and I would be happy to
> help.
>
>
>
> The reason to catch it there (other than it being the right thing to do)
> is that it will fix more than just the WMS GetMap case. WMS GetFeatureInfo
> and WFS GetFeatures would also be affected after all.
>
>
>
> The GeoTools project is built with maven (much like GeoServer), the
> classes you are looking for are in JDBCDataStore:
>
>
>
> * https://github.com/geotools/geotools/tree/master/modules/library/jdbc
>
>
>
> In particular there is an OracleDialect
> 
> and OracleFilterToSQL
> 
> where we construct all the oracle specific SQL queries:
>
>
>
> *
> https://github.com/geotools/geotools/tree/master/modules/plugin/jdbc/jdbc-oracle
>
>
>
> The code of interest in OracleFilterToSQL goes like this:
>
>
>
> if(filter instanceof Beyond || filter instanceof DWithin)
>
> doSDODistance(filter, e1, e2, extraData);
>
> else if(filter instanceof BBOX && looseBBOXEnabled) {
>
> doSDOFilter(filter, e1, e2, extraData);
>
> } else
>
> doSDORelate(filter, e1, e2, swapped, extraData);
>
>
>
> So you will want to look carefully at the doSDORelate and doSDOFilter
> methods.
>
>
>
> I notice there is already a method here that does something like what you
> want, perhaps you just have a bug to fix in the following code.
>
>
>
> Expression clipToWorld(BinarySpatialOperator filter, Expression e) {
>
> if (e instanceof Literal) {
>
> Geometry eval = e.evaluate(filter, Geometry.class);
>
> // Oracle cannot deal with filters using geometries that span
> beyond the whole world
>
> // in case the
>
> if (dialect != null && isCurrentGeometryGeodetic() &&
>
> !WORLD.contains(eval.getEnvelopeInternal())) {
>
> Geometry result = eval.intersection(JTS.toGeometry(WORLD));
>
>
>
> if (result != null && !result.isEmpty()) {
>
> if(result instanceof GeometryCollection) {
>
> result =
> distillSameTypeGeometries((GeometryCollection) result, eval);
>
> }
>
> FilterFactory2 ff =
> CommonFactoryFinder.getFilterFactory2();
>
> e = ff.literal( result );
>
> }
>
> }
>
> }
>
> return e;
>
> }
>
>
>
> You may need to change this code to clip against your index bounds rather
> than "WORLD".
>
>
>
>
>
>  I agree with you that we could do it on oracle datastore level in
> geotools providing other DB has no need at all. It could fix our oracle
> problem only without affecting others . with your expertise, could you help
> to pinpoint where we may have good access with dataset BBOX and query BBOX
> together in Geotools .
>
>
>
> Lingbo
>
>
>
> *From:* andrea.a...@gmail.com [mailto:andrea.a...@gmail.com
> ] *On Behalf Of *Andrea Aime
> *Sent:* Thursday, 12 March 2015 8:12 AM
> *To:* Tey, Victor (Mineral Resources, Kensington)
> *Cc:* Geoserver-devel; Jiang, Lingbo (Digital, Marsfield)
> *Subject:* Re: [Geoserver-devel] Propose to add an option for
> latLongBoundingBox range checking before database query.
>
>
>
> On Wed, Mar 11, 2015 at 6:11 AM,  wrote:
>
> Hi Andrea,
>
>
>
> It seem like there might be some confusion with the different oracle
> issues floating around. The oracle version(
> https://jira.codehaus.org/browse/GEOT-4912 ) issue has nothing to do with
> the patch Lingbo is suggesting on implementing. However to clear up the
> confusion, I have advised Lingbo to create appropriate Jira task and submit
> a proposal instead so that the issue can be discussed accordingly around
> the proposal instead.
>
>
>
> Yes, indeed that ticket has nothing to do with it (actually I don't
> understand why you're bringing it up? Maybe you wanted to link a different
> ticket?)
>
> But earlier in t

Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox range checking before database query.

2015-03-16 Thread Lingbo.Jiang
Jody,

Thanks for your input.

Do you know how we could get index bounds at this level?

Lingbo

From: Jody Garnett [mailto:jody.garn...@gmail.com]
Sent: Tuesday, 17 March 2015 8:49 AM
To: Jiang, Lingbo (Digital, Marsfield)
Cc: Andrea Aime; Tey, Victor (Mineral Resources, Kensington); 
geoserver-devel@lists.sourceforge.net
Subject: Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox 
range checking before database query.

Hey Lingbo, I am a geotools lead (like Andrea) and I would be happy to help.

The reason to catch it there (other than it being the right thing to do) is 
that it will fix more than just the WMS GetMap case. WMS GetFeatureInfo and WFS 
GetFeatures would also be affected after all.

The GeoTools project is built with maven (much like GeoServer), the classes you 
are looking for are in JDBCDataStore:

* https://github.com/geotools/geotools/tree/master/modules/library/jdbc

In particular there is an 
OracleDialect
 and 
OracleFilterToSQL
 where we construct all the oracle specific SQL queries:

* 
https://github.com/geotools/geotools/tree/master/modules/plugin/jdbc/jdbc-oracle

The code of interest in OracleFilterToSQL goes like this:

if(filter instanceof Beyond || filter instanceof DWithin)
doSDODistance(filter, e1, e2, extraData);
else if(filter instanceof BBOX && looseBBOXEnabled) {
doSDOFilter(filter, e1, e2, extraData);
} else
doSDORelate(filter, e1, e2, swapped, extraData);

So you will want to look carefully at the doSDORelate and doSDOFilter methods.

I notice there is already a method here that does something like what you want, 
perhaps you just have a bug to fix in the following code.

Expression clipToWorld(BinarySpatialOperator filter, Expression e) {
if (e instanceof Literal) {
Geometry eval = e.evaluate(filter, Geometry.class);
// Oracle cannot deal with filters using geometries that span 
beyond the whole world
// in case the
if (dialect != null && isCurrentGeometryGeodetic() &&
!WORLD.contains(eval.getEnvelopeInternal())) {
Geometry result = eval.intersection(JTS.toGeometry(WORLD));

if (result != null && !result.isEmpty()) {
if(result instanceof GeometryCollection) {
result = distillSameTypeGeometries((GeometryCollection) 
result, eval);
}
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
e = ff.literal( result );
}
}
}
return e;
}

You may need to change this code to clip against your index bounds rather than 
"WORLD".


I agree with you that we could do it on oracle datastore level in geotools 
providing other DB has no need at all. It could fix our oracle problem only 
without affecting others . with your expertise, could you help to pinpoint 
where we may have good access with dataset BBOX and query BBOX together in 
Geotools .

Lingbo

From: andrea.a...@gmail.com 
[mailto:andrea.a...@gmail.com] On Behalf Of Andrea Aime
Sent: Thursday, 12 March 2015 8:12 AM
To: Tey, Victor (Mineral Resources, Kensington)
Cc: Geoserver-devel; Jiang, Lingbo (Digital, Marsfield)
Subject: Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox 
range checking before database query.

On Wed, Mar 11, 2015 at 6:11 AM, 
mailto:victor@csiro.au>> wrote:
Hi Andrea,

It seem like there might be some confusion with the different oracle issues 
floating around. The oracle version(https://jira.codehaus.org/browse/GEOT-4912 
) issue has nothing to do with the patch Lingbo is suggesting on implementing. 
However to clear up the confusion, I have advised Lingbo to create appropriate 
Jira task and submit a proposal instead so that the issue can be discussed 
accordingly around the proposal instead.

Yes, indeed that ticket has nothing to do with it (actually I don't understand 
why you're bringing it up? Maybe you wanted to link a different ticket?)
But earlier in this thread you said (copying and pasting):


-

What one of our developer have found with oracle enterprise edition is that the 
 database actually optimize the query when a query is made outside the bounds 
of the dataset. However when we ran the same query on a oracle standard 
edition, the query crashed the database. We have logged a ticket with Oracle as 
part of our contract with them and its currently under investigation.

-

So, this statement makes me (and Jody) think your bbox problem problem is 
Oracle version specific.
I

Re: [Geoserver-devel] Reducing commit friction

2015-03-16 Thread Andrea Aime
On Mon, Mar 16, 2015 at 10:37 PM, Jody Garnett 
wrote:

> So the issue is our windows build not succeeding in deleting files after a
> test. Can the test work by renaming the files out of the way before setting
> up a new test (or does windows locking prevent this?)
>
>
We don't even need to rename, each test is run in its own randomly named
data dir, deleting is just to reduce
space used, checking we can delete is a sanity check


> I am not keen to ignore issues on windows (but I am not keen on time
> dependent debugging either).
>
>
Me neither, that's why I've tried to fix it, but failed. And feel like
we're facing a wall here. But maybe someone else has time to
put on this and will be more successful than me in figuring out where we
are not closing coverages, which leaves files open,
which prevents to delete the files from Windows.


> I am interested in any other projects have run into this issue or if it is
> just us. If it is "just" time dependent can we wait and try again when a
> file fails to delete?
>
>
I guess that would also be an option... it would slow down the build somehow

Cheers
Andrea

-- 
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility  for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

---
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox range checking before database query.

2015-03-16 Thread Jody Garnett
Hey Lingbo, I am a geotools lead (like Andrea) and I would be happy to
help.

The reason to catch it there (other than it being the right thing to do) is
that it will fix more than just the WMS GetMap case. WMS GetFeatureInfo and
WFS GetFeatures would also be affected after all.

The GeoTools project is built with maven (much like GeoServer), the classes
you are looking for are in JDBCDataStore:

* https://github.com/geotools/geotools/tree/master/modules/library/jdbc

In particular there is an OracleDialect

and OracleFilterToSQL

where we construct all the oracle specific SQL queries:

*
https://github.com/geotools/geotools/tree/master/modules/plugin/jdbc/jdbc-oracle

The code of interest in OracleFilterToSQL goes like this:

if(filter instanceof Beyond || filter instanceof DWithin)
doSDODistance(filter, e1, e2, extraData);
else if(filter instanceof BBOX && looseBBOXEnabled) {
doSDOFilter(filter, e1, e2, extraData);
} else
doSDORelate(filter, e1, e2, swapped, extraData);

So you will want to look carefully at the doSDORelate and doSDOFilter
methods.

I notice there is already a method here that does something like what you
want, perhaps you just have a bug to fix in the following code.

Expression clipToWorld(BinarySpatialOperator filter, Expression e) {
if (e instanceof Literal) {
Geometry eval = e.evaluate(filter, Geometry.class);
// Oracle cannot deal with filters using geometries that span
beyond the whole world
// in case the
if (dialect != null && isCurrentGeometryGeodetic() &&
!WORLD.contains(eval.getEnvelopeInternal())) {
Geometry result = eval.intersection(JTS.toGeometry(WORLD));

if (result != null && !result.isEmpty()) {
if(result instanceof GeometryCollection) {
result =
distillSameTypeGeometries((GeometryCollection) result, eval);
}
FilterFactory2 ff =
CommonFactoryFinder.getFilterFactory2();
e = ff.literal( result );
}
}
}
return e;
}

You may need to change this code to clip against your index bounds rather
than "WORLD".


I agree with you that we could do it on oracle datastore level in geotools
> providing other DB has no need at all. It could fix our oracle problem
> only without affecting others . with your expertise, could you help to 
> pinpoint
> where we may have good access with dataset BBOX and query BBOX together
> in Geotools .
>
>
>
> Lingbo
>
>
>
> *From:* andrea.a...@gmail.com [mailto:andrea.a...@gmail.com
> ] *On Behalf Of *Andrea Aime
> *Sent:* Thursday, 12 March 2015 8:12 AM
> *To:* Tey, Victor (Mineral Resources, Kensington)
> *Cc:* Geoserver-devel; Jiang, Lingbo (Digital, Marsfield)
> *Subject:* Re: [Geoserver-devel] Propose to add an option for
> latLongBoundingBox range checking before database query.
>
>
>
> On Wed, Mar 11, 2015 at 6:11 AM,  wrote:
>
> Hi Andrea,
>
>
>
> It seem like there might be some confusion with the different oracle
> issues floating around. The oracle version(
> https://jira.codehaus.org/browse/GEOT-4912 ) issue has nothing to do with
> the patch Lingbo is suggesting on implementing. However to clear up the
> confusion, I have advised Lingbo to create appropriate Jira task and submit
> a proposal instead so that the issue can be discussed accordingly around
> the proposal instead.
>
>
>
> Yes, indeed that ticket has nothing to do with it (actually I don't
> understand why you're bringing it up? Maybe you wanted to link a different
> ticket?)
>
> But earlier in this thread you said (copying and pasting):
>
>
>
>
>
> -
>
>
>
> What one of our developer have found with oracle enterprise edition is
> that the  database actually optimize the query when a query is made outside
> the bounds of the dataset. However when we ran the same query on a oracle
> standard edition, the query crashed the database. We have logged a ticket
> with Oracle as part of our contract with them and its currently under
> investigation.
>
>
>
> -
>
>
>
> So, this statement makes me (and Jody) think your bbox problem problem is
> Oracle version specific.
>
> In other words, can you show us how this new configuration would provide a
> _significant_ benefit with a non
>
> broken database query optimizer? (yes, a theoretical general benefit is
> evident, you don't even access the data,
>
> it has to be faster, but if we get only 0.1% speedup on the overall
> WMS/WFS request it's not worth the effort and the maintenance of that code).
>
>
>
> 

Re: [Geoserver-devel] Reducing commit friction

2015-03-16 Thread Jody Garnett
So the issue is our windows build not succeeding in deleting files after a
test. Can the test work by renaming the files out of the way before setting
up a new test (or does windows locking prevent this?)

I am not keen to ignore issues on windows (but I am not keen on time
dependent debugging either).

I am interested in any other projects have run into this issue or if it is
just us. If it is "just" time dependent can we wait and try again when a
file fails to delete?


--
Jody Garnett

On 16 March 2015 at 14:29, Andrea Aime  wrote:

> On Sun, Mar 15, 2015 at 5:34 PM, Andrea Aime  > wrote:
>>
>> The first issue I see is that people are clearly not doing builds before
>> making pull requests... and
>> the sad part is, we are in no position to ask for them, because on
>> Windows GeoServer
>> just does not build, there are files that are kept locked that break the
>> build there.
>> I have tried and failed to fix those issues, but they are happening
>> randomly, and not really happening when
>> you try to debug them as they seem to be time related...
>> right now it seems to  me the lesser evil is to detect the OS and do not
>> throw an error
>> in case we fail to delete some file in the data dir if the OS is Windows.
>> At least, we can get a clean build on Windows and thus help Windows
>> developers to contribute.
>>
>>
> Any feedback on this one? It's out lowest hanging fruit in terms of giving
> more people the
> ability to run builds, and it's controversial, so I won't do anything to
> change the current status
> unless I get some positive feedback on it. And of course, negative
> feedback welcomed too,
> with some suggestion of how to solve it in a different way
>
> Cheers
> Andrea
>
> --
> ==
> GeoServer Professional Services from the experts! Visit
> http://goo.gl/NWWaa2 for more information.
> ==
>
> Ing. Andrea Aime
> @geowolf
> Technical Lead
>
> GeoSolutions S.A.S.
> Via Poggio alle Viti 1187
> 55054  Massarosa (LU)
> Italy
> phone: +39 0584 962313
> fax: +39 0584 1660272
> mob: +39  339 8844549
>
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
>
> *AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*
>
> Le informazioni contenute in questo messaggio di posta elettronica e/o
> nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
> loro utilizzo è consentito esclusivamente al destinatario del messaggio,
> per le finalità indicate nel messaggio stesso. Qualora riceviate questo
> messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
> darcene notizia via e-mail e di procedere alla distruzione del messaggio
> stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
> divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
> utilizzarlo per finalità diverse, costituisce comportamento contrario ai
> principi dettati dal D.Lgs. 196/2003.
>
>
>
> The information in this message and/or attachments, is intended solely for
> the attention and use of the named addressee(s) and may be confidential or
> proprietary in nature or covered by the provisions of privacy act
> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
> Code).Any use not in accord with its purpose, any disclosure, reproduction,
> copying, distribution, or either dissemination, either whole or partial, is
> strictly forbidden except previous formal approval of the named
> addressee(s). If you are not the intended recipient, please contact
> immediately the sender by telephone, fax or e-mail and delete the
> information in this message that has been received in error. The sender
> does not give any warranty or accept liability as the content, accuracy or
> completeness of sent messages and accepts no responsibility  for changes
> made after they were sent or for other risks which arise as a result of
> e-mail transmission, viruses, etc.
>
> ---
>
>
> --
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparall

Re: [Geoserver-devel] Reducing commit friction

2015-03-16 Thread Jody Garnett
Sorry for not fixing the geotools datastore problem last week :(

The other issue we have are the many app-schema online tests, which
>> typically do not run
>> on the dev box, nor on the build servers, and we get reports (sometimes
>> many) days later from Ben
>> and friends.
>>
>
> I am happy to advise Torben and Jody on setting up a postgis database for
> these. Latest working instructions (and how to exclude Oracle with Maven >=
> 3.2.1) are here:
> https://jira.codehaus.org/browse/GEOS-6883


Lets chat about this at tomorrows meeting. Short term I am more interested
in getting the oracle jdbc online tests run.

Jody
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] Reducing commit friction

2015-03-16 Thread Andrea Aime
On Sun, Mar 15, 2015 at 5:34 PM, Andrea Aime 
wrote:
>
> The first issue I see is that people are clearly not doing builds before
> making pull requests... and
> the sad part is, we are in no position to ask for them, because on Windows
> GeoServer
> just does not build, there are files that are kept locked that break the
> build there.
> I have tried and failed to fix those issues, but they are happening
> randomly, and not really happening when
> you try to debug them as they seem to be time related...
> right now it seems to  me the lesser evil is to detect the OS and do not
> throw an error
> in case we fail to delete some file in the data dir if the OS is Windows.
> At least, we can get a clean build on Windows and thus help Windows
> developers to contribute.
>
>
Any feedback on this one? It's out lowest hanging fruit in terms of giving
more people the
ability to run builds, and it's controversial, so I won't do anything to
change the current status
unless I get some positive feedback on it. And of course, negative feedback
welcomed too,
with some suggestion of how to solve it in a different way

Cheers
Andrea

-- 
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility  for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

---
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] GeoServer 2.7-rc1 / Data security

2015-03-16 Thread Jody Garnett
First up thanks for testing, I am not aware of any security changes in 2.7
(it did not make the short list of features we asked for help testing).

You may be stuck on the difference between service and data security.

I would expect you to handle your story using one rule to turn off access
to topp.* and and then a second rule to enable access to top.states. My
understanding is that the most specific rule will end up defining access.
In your example you have provided one specific rule for top.states, but
have not provided any guidence on the rest of the workspace.

--
Jody Garnett

On 16 March 2015 at 10:01, Patric Hafner | geOps 
wrote:

> Dear List members,
>
> during some tests on data security with GeoServer 2.7-rc1 I discovered a
> strange behaviour that I could not understand:
>
> (All steps performed on a fresh installation)
>
>
> Test case 1
> 
> I created a new role and user and finally configured this single rule
> for data security (no other rule does exist!)
>
>   "topp.*.r testrole"
>
> -> Behaves like expected: The user with role "testrole" can now access
> all layers of Workspace "topp" for example via WMS and all layers are
> shown in his Layer preview.
>
> -> Behaves like expected: Unauthorized access via WMS to layers of
> workspace "topp" gets HTTP response with status code 404
>
> but if I try to narrow the data security rule:
>
> Test case 2
> --
> I created a new role and user and finally configured this single rule
> for data security (no other rule does exist!)
>
>   "topp.states.rtestrole"
>
>
> -> Unexpected behaviour: The user with role "testrole" can now access
> all layers of Workspace "topp" for example via WMS and all layers are
> shown in his Layer preview! I expected only layer states.
>
> -> Unexpected behaviour: Access via WMS to all layers of workspace
> "topp" is also possible without any authorization! This data security
> rule does not seem to have any effect at all.
>
> Does somebody could explain this behaviour or is this a bug? I was not
> able to find a issue on this bug yet.
>
>
> Best regards,
> Patric Hafner
>
> --
> web www.geops.de
> rss www.geops.de/blog/feed
> follow www.twitter.com/geops
>
>
> --
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


[Geoserver-devel] Reminder: GeoTools / GeoServer Meeting at 17:30 UTC on Tuesday

2015-03-16 Thread Ben Caradoc-Davies
GeoTools / GeoServer committee meeting on Skype at 17:30 UTC on Tuesday:
http://www.timeanddate.com/worldclock/fixedtime.html?msg=GeoTools+%2F+GeoServer+Meeting&year=2015&month=3&day=17&hour=17&min=30&sec=0&ah=1

Note: Daylight Saving on 8 March in Canada and the continental United 
States so this meeting is now an hour later local time in those 
jurisdictions.

-- 
Ben Caradoc-Davies 
Software Engineer
Transient Software 
New Zealand

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


[Geoserver-devel] GeoServer 2.7-rc1 / Data security

2015-03-16 Thread Patric Hafner | geOps
Dear List members,

during some tests on data security with GeoServer 2.7-rc1 I discovered a 
strange behaviour that I could not understand:

(All steps performed on a fresh installation)


Test case 1

I created a new role and user and finally configured this single rule 
for data security (no other rule does exist!)

  "topp.*.r testrole"

-> Behaves like expected: The user with role "testrole" can now access 
all layers of Workspace "topp" for example via WMS and all layers are 
shown in his Layer preview.

-> Behaves like expected: Unauthorized access via WMS to layers of 
workspace "topp" gets HTTP response with status code 404

but if I try to narrow the data security rule:

Test case 2
--
I created a new role and user and finally configured this single rule 
for data security (no other rule does exist!)

  "topp.states.rtestrole"


-> Unexpected behaviour: The user with role "testrole" can now access 
all layers of Workspace "topp" for example via WMS and all layers are 
shown in his Layer preview! I expected only layer states.

-> Unexpected behaviour: Access via WMS to all layers of workspace 
"topp" is also possible without any authorization! This data security 
rule does not seem to have any effect at all.

Does somebody could explain this behaviour or is this a bug? I was not 
able to find a issue on this bug yet.


Best regards,
Patric Hafner

-- 
web www.geops.de
rss www.geops.de/blog/feed
follow www.twitter.com/geops

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] Problem of mount an customize XML request reader

2015-03-16 Thread Andrea Aime
On Mon, Mar 16, 2015 at 2:21 AM, 博凱 Kevin  wrote:

>  Hello everyone,
>
>  I have a problem that I’m want to implement a capability of WFS-T, which
> can let other sources(for instance, mobile apps) send image files back(in
> base64 formate) to WFS server.
>
>  But, when GeoServer receives a XML request, normally it can find the
> most appropriate XML reader to parse request content automatically,
> however, I cant find an appropriate approach to parse my customize XML
> schema(extend WFS and GML).
>  Is there any possibilities that I can *mount my XML reader* onto
> GeoServer and use it, if so, how to do it? (In the  Line 1247 of
> Dispatcher.java, it find all readers like magic).
>

XML readers are not really meant to be replaced, and I don't think this was
done before, but there is something you might try:
* locate in the wfs applicationContex.xml the xml reader you want to replace
* if you are working in a fork, just remove it, and declare your
replacement xml reader in its place
* if you are trying to do this with a plugin instead, in your plugin
applicationContex.xml declare a black listing bean that would kill the
normal reader, and then declare your reader in the same app context file.
Here is an example I have in a geoserver customization, removing the normal
format options kvp parser by name:





That said... if I were in your position, I'd try to send GeoServer an
normal WFS-T request, with the image base64 encoded as one of the feature
fields, and fix the gt-xsd-gml module that does the parsing to also parse
the base64 field (assuming this is the problem of course)

Hope this helps

Cheers
Andrea

-- 
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility  for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

---
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


[Geoserver-devel] Jenkins build is back to normal : 2.6-cite-wms-1.3 #205

2015-03-16 Thread monitor
See 


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


[Geoserver-devel] Jenkins build is back to normal : 2.6-cite-wms-1.1 #204

2015-03-16 Thread monitor
See 


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] Time dimension for a "instant"

2015-03-16 Thread Daniele Romagnoli
Hi Andrea,
the NetCDF reader return the DateRange as time Intervals indeed.
As far as I can see, is a DateRangeVisitor inside the ImageMosaic reader
which returns the temporal domain as compact time periods when it find date
ranges.
Not sure to remember why it has been set to return them as periods instead
of intervals. I vaguely remember some internal discussion about time range
validity, in order to specify that the granules of the mosaic are
continuously valid for the full extent of the interval, specifying that
with a resolution of 1 second as period, in relation to some convention of
specific services/specifications.

We may consider revisiting this behaviour if needed, with a look to the
specifications.
Hope this helps.
Daniele






==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:  +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

---

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility  for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.


On Mon, Mar 16, 2015 at 4:28 AM, Andrea Aime 
wrote:

> Hi Brad,
> I'm not 100% sure, but believe GeoServer is just re-publishing what it's
> getting from the NetCDF driver.
> Daniele (cc'ed), do you know why/under which conditions the netcdf reader
> publishes time periods
> instead of simple time intervals?
>
> Cheers
> Andrea
>
>
> On Mon, Mar 16, 2015 at 4:07 AM, Brad Hards  wrote:
>
>> I'm working on trying to send data to a (closed-source) WMS client that
>> doesn't like my GeoServer WMS GetCapabilities response.
>>
>> The data is wave height (from the WaveWatch III model, thanks to all
>> those who
>> worked on 4D support, and on netCDF and GRIB support). From the logs, the
>> problem appears to be the time dimension:
>> >
>> units="ISO8601">2015-03-09T00:00:00.000Z/2015-03-09T00:00:00.000Z/PT1S,2015-03-09T03:00:00.000Z/2015-03-09T03:00:00.000Z/PT1S,2015-03-09T06:00:00.000Z/2015-03-09T06:00:00.000Z/PT1S,2015-03-09T09:00:00.000Z/2015-03-09T09:00:00.000Z/PT1S,2015-03-09T12:00:00.000Z/2015-03-09T12:00:00.000Z/PT1S
>> (it keeps going, I've just trimmed the data here).
>>
>> Specifically, that client doesn't like the end time not being greater
>> than the
>> start time. I'm going to have to fix this on the server side (or perhaps
>> via
>> some XSLT magic on the client side), but I'm wondering if that is really
>> "legal" per the WMS 1.3.0 spec and OGC 12-111r1 best practice guide.
>>
>> If the start and end are the same, should we really be doing just a list
>> of
>> instants:
>> >
>> units="ISO8601">2015-03-09T00:00:00.000Z,2015-03-09T03:00:00.000Z,2015-03-09T06:00:00.000Z,2015-03-09T09:00:00.000Z,2015-03-09T12:00:00.000Z,2015-03-09T15:00:00.000Z
>>
>> Irrespective of whether it is legal / compliant, are there
>> interoperability
>> reasons why we need to keep the start/start/PT1S convention anyway?
>>
>> Basically, I'm trying to figure out if I should try to put this change
>> upstream
>> or just keep it local.
>>
>> Brad
>>
>>
>> --
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel a