Tim Robertson ha scritto:
Hi Andrea et al,
Many thanks. I have put up a demo at http://geoserver.gbif.org, and attach
an openlayers client to demo it. This is likely to be dropped in the near
future as it does not implement correct caching (on our part, not
geoservers) and thus will be blow up with memory issues.
I noticed that you load two cell layers, sumperimposed, in your attached
demo.
The background:
GBIF collate many datasets of Biodiversity Information into a single
searchable index (mysql) and have a data portal at http://data.gbif.org. Currently our mapping is very primitive and we are investigating how to
better serve our data following correct standards. One of our issues is the
quantity of data (85 million records and increasing).
This is demo of a proposed stop gap solution. We already have the ability
to serve tab delimited data of counts per 1x1 degree cell and 0.1x0.1 degree
cell (e.g. density counts) but we were not serving this using open
standards. This implementation is a custom DataSource which takes an OGC
filter which must contain the "path" - this path is a URL to the density
file that our subsystems can already serve. The DataStore gets this file,
and then transforms it into features that Geoserver can then render.
It is primitive - and it only does the 1x1degree cells right now, but it is
standards compliant and allows the passing in of SLD etc. but was a quick
way of getting an 85 million record dataset online, and getting into the
geoserver architecture.
Ah ha, seems like a good solution to me.
What I would ideally like to have done is write a plugin for geoserver which
allowed you to define some "dynamic catalogue". E.g. the request comes in
naming a dynamic layer - rather than having to add the "path" to the
FeatureType. This could then be used for named partitions for example.
Hmm... frankly I would do the opposite, that is, to keep the files like
you are doing. To have this standard compliant, WFS GetCapabilities would have to report back all of the files you are serving, and as a result the capabilities document would be very very large, putting into
troubles most clients.
Speaking of which - I am wondering how Geoserver would cluster...
Hmm, should not be a problem if you have the same configuration on
all machines, and it's stable. If the config changes, you would have
to replicate the configuration on all machines, or store it in a network
disk, elect an instance as the one you use for chaning the files, and
then issue a set of HTTP requests micking a user to the other machines
so that the config is re-read and updated to the latest version.
I know it's clunky, but it's what we got now 
Cheers
Andrea