Nils Bühner
2017-03-20 10:22:13 UTC
Hi all,
i have a question regarding the handling of null values in WMS-Time
requests for the following scenario:
GeoServer 2.10.2
Datastore: PostgreSQL 9.5.6/PostGIS 2.2.1
The requested layer is configured with the following start/end
attributes in its dimensions tab to support the TIME parameter in GetMap
requests:
Attribute: start_date
End Attribute (optional): end_date
When requesting a GetMap with the TIME value
"2016-03-19T00:00:00.000Z/2017-03-20T23:59:59.999Z", the GeoServer
generates the following condition in the WHERE clause:
WHERE ("start_date" <= '2017-03-21' AND "start_date" IS NOT NULL AND
"end_date" >= '2016-03-19' AND "end_date" IS NOT NULL)
Problem/Question:
In the database of our customer, many entries of "end_date" are NULL.
The semantic of a null value is something like "not yet defined" and the
desired behavior would be to handle these null values as "PRESENT" (or
something in the future). The problem is that the condition above
contains "IS NOT NULL", so these entries are never fetched from the
database (and therefore never rendered on a map). It is not possible
(for our customer) to change the data (for example to set the null
values to a value in the far future). So the main question is:
Is there a way/trick to achieve the described behavior?
If not: Is it conceivable to write some lines of code to make such a
behavior configurable in some way (e.g. in the dimensions tab of a
layer)? Or would this disagree with the standard in some way?
Best regards,
Nils
--
Dipl.-Inf. Nils Bühner
— Anwendungsentwickler —
terrestris GmbH & Co. KG
Kölnstr. 99
53111 Bonn
Tel: +49 (0)228 / 96 28 99 -54
Fax: +49 (0)228 / 96 28 99 -57
Email: ***@terrestris.de
Web: http://www.terrestris.de
Amtsgericht Bonn, HRA 6835
Komplementärin: terrestris Verwaltungsgesellschaft mbH
vertreten durch: Hinrich Paulsen, Till Adams
i have a question regarding the handling of null values in WMS-Time
requests for the following scenario:
GeoServer 2.10.2
Datastore: PostgreSQL 9.5.6/PostGIS 2.2.1
The requested layer is configured with the following start/end
attributes in its dimensions tab to support the TIME parameter in GetMap
requests:
Attribute: start_date
End Attribute (optional): end_date
When requesting a GetMap with the TIME value
"2016-03-19T00:00:00.000Z/2017-03-20T23:59:59.999Z", the GeoServer
generates the following condition in the WHERE clause:
WHERE ("start_date" <= '2017-03-21' AND "start_date" IS NOT NULL AND
"end_date" >= '2016-03-19' AND "end_date" IS NOT NULL)
Problem/Question:
In the database of our customer, many entries of "end_date" are NULL.
The semantic of a null value is something like "not yet defined" and the
desired behavior would be to handle these null values as "PRESENT" (or
something in the future). The problem is that the condition above
contains "IS NOT NULL", so these entries are never fetched from the
database (and therefore never rendered on a map). It is not possible
(for our customer) to change the data (for example to set the null
values to a value in the far future). So the main question is:
Is there a way/trick to achieve the described behavior?
If not: Is it conceivable to write some lines of code to make such a
behavior configurable in some way (e.g. in the dimensions tab of a
layer)? Or would this disagree with the standard in some way?
Best regards,
Nils
--
Dipl.-Inf. Nils Bühner
— Anwendungsentwickler —
terrestris GmbH & Co. KG
Kölnstr. 99
53111 Bonn
Tel: +49 (0)228 / 96 28 99 -54
Fax: +49 (0)228 / 96 28 99 -57
Email: ***@terrestris.de
Web: http://www.terrestris.de
Amtsgericht Bonn, HRA 6835
Komplementärin: terrestris Verwaltungsgesellschaft mbH
vertreten durch: Hinrich Paulsen, Till Adams