Hi Frank

Some answers:

Oracle and DB2 have a community edition for testing (dont know about
Microsoft). Unfortunately it is necessary to install all these
products(using a virtual machine) . But let us put the focus on your
arguments first.

+1 for considering the fact that we have to integrate with GeoServer.

About getting more tile versions  for a point in time.

There is no simple solution. It may be wrong if you use the first one, the
last one, the average and so on. It is no good idea to implement "fuzzy"
logic.
There are 2 clean solutions:

1) Assure that you do not have overlapping time periods for your raster
data.
2) Otherwise you need a second time dimension using the system current time
stamp (from and  to).  The query has to be
"Give me the tiles valid to a certain point in time stored in the system
with physical timestamp xxx ". This design is often named as two
dimensional history.

About pointers to the SQL 2011 time support:

https://en.wikipedia.org/wiki/SQL:2011

Please read carefully and you will see the different syntax and concepts.

Another  problem is that geotools/geoserver uses a period with a closed -
closed interval whilst the SQL standard uses an closed-open interval.

Example:

01-01-2106 - 01-01-2017
01-01-2107 - 01-01-2018

GeoServer includes 01-01-217, but the SQL Standard includes only
31-12-2016. If your database support SQL2011 you will get 2 versions for
date
01-01-2017 because the produced query uses <= and >=

As you can see, the whole thing is tricky, anyway I am interested in your
arguments.

Cheers
Christian


















On Mon, Jul 18, 2016 at 12:12 PM, Frank Gevaerts <frank.gevae...@fks.be>
wrote:

> On Sat, Jul 16, 2016 at 10:07:42AM +0200, Christian Mueller wrote:
> > Hi Frank
> >
> > First I want to thank you for the contribution. Time support is quite a
> > challenge because it should be available to all supported databases
> > including Oracle GeoRaster, Oracle native, DB2,.....
>
> I agree it *should* work on all of those, but unless someone actually
> has access to all of them, I don't think adding support for everything
> at the same time is very realistic. As I see it, the best we can do is
> try to ensure the shared code doesn't make assumptions that won't hold
> on systems that aren't updated right away.
>
> I've started on pgraster because that's what we want to use here, and I
> can definitely work on generic postgresql and generic jdbc. Mysql might
> be possible (I can definitely install it, but I don't have much mysql
> experience at all), but I don't have access to oracle or db2 servers.
>
> > Additionally the time support should work with GeoServer as described
> here
> >
> http://docs.geoserver.org/latest/en/user/services/wms/time.html#specifying-a-time
>
> Yes. That works right now (it's what I use for testing), except possibly
> for periodicity (I'll check and fix if needed).
>
> There is an open question though: what's supposed to be returned if more
> than one raster tile from the database matches the request for a given
> location? Latest data for each point? Only points for the latest timestamp?
> Some sort of average? I assume "latest data for each point" makes the most
> sense, but it's also the hardest to do.
> I know my code right now doesn't really handle this at all (you'll get
> data, but which particular bit isn't deterministic).
>
> Only points for the latest timestamp seems fairly easy to handle, but
> latest data for each point is tricky. There are several ways I've looked
> at:
>
> * No multithreaded decoding or composing, so an ORDER BY time on the
>   database query will enforce "latest" or "earliest". This won't work for
>   averages, and dropping multithreading is a rather high price to pay.
> * Have the database query do the filtering. For pgraster, as far as I can
>   see this implies having either consistent tiling for all data (i.e.
>   tiles for different times have exactly the same grid) or having the
>   query (slowly...) retile everything. For systems without in-database
>   raster systems I don't see a way to do it.
>
> > The next point is that some database engines (DB2,Oracle) have a built in
> > time support which is slightly different to the time support provided by
> > geotools.
>
> Do you have some pointers to documentation?
>
> Frank
>
> > Nevertheless I want to hear your opinion.
> >
> > Cheers
> > Christian
> >
> >
>
> --
> Frank Gevaerts                                 frank.gevae...@fks.be
> fks bvba - Formal and Knowledge Systems        http://www.fks.be/
> Schampbergstraat 32                            Tel:  ++32-(0)11-21 49 11
> B-3511 KURINGEN-HASSELT                        Fax:  ++32-(0)11-22 04 19
>



-- 
DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to