Thanks for your response. I was aware of ImageMosaic plugin time-series
tutorial but after taking a closer look at it (as I hadn’t run through it in
detail before) I noticed that in the “indexer.properties” file it appears that
we can put other attributes there such as “% cloud cover”, “inclination angle”,
etc … as I would like to be able to query other attributes in addition to time
or elevation. This approach looks very promising but I have more questions.
Does GeoServer support “sample dimensions” as specified in WMS spec 1.3..0
Annex C?
--Steve
Background info about WMS “sample dimensions”:
=======================================
According to the spec, provided the server defines “<Dimension>” elements in
the GetCapabilities “Service Metadata”, a client can specify
“&DIM_MYDIM=myvalue” in the GetMap request URL.
7.2.4.6.10 Sample dimensions
Optional <Dimension> elements enclose metadata for multi-dimensional data. See
the discussion of vertical,
temporal and other coordinate systems in 6.7.5 through 6.7.7, and the
explanation of how dimensional axes and
allowed values are declared and requested in Annex C.
The “time” dimension is a pre-defined instance of these dimensions and can be
specified on a layer in GetCapabilities response like this:
<Layer queryable="1">
<Title>Weather Forecast Data</Title>
<CRS>CRS:84</CRS> <!-- harmless repetition of common CRS -->
<EX_GeographicBoundingBox>
<westBoundLongitude>-180</westBoundLongitude>
<eastBoundLongitude>180</eastBoundLongitude>
<southBoundLatitude>-90</southBoundLatitude>
<northBoundLatitude>90</northBoundLatitude>
</EX_GeographicBoundingBox>
<!-- These weather data are available daily from 1999-01-01 through
2000-08-22. -->
<Dimension name="time" units="ISO8601"
default="2000-08-22">1999-01-01/2000-08-22/P1D</Dimension>
</Layer>
--Steve
From: Christian Mueller [mailto:christian.muel...@os-solutions.at]
Sent: Friday, July 25, 2014 9:04 AM
To: Stephen Brooke
Cc: geoserver-users@lists.sourceforge.net
Subject: Re: imageMosaic-jdbc extension with PostGIS Raster
Hi Stephen
Unfortunately the image mosaic jdbc module is not capable to handle your
requirements. But maybe this can give you some ideas
http://docs.geoserver.org/latest/en/user/tutorials/imagemosaic_timeseries/imagemosaic_timeseries.html
Cheers
Cristian
On Thu, Jul 24, 2014 at 7:16 PM, Stephen Brooke
<sbro...@mdacorporation.com<mailto:sbro...@mdacorporation.com>> wrote:
Hi Christian,
Thanks for your response. Using a GeoTiff or ImagePyramid coverage data store
are options I have already tried before recently. However, I have a lot of
metadata associated with my imagery and from my research if I want to perform
queries for imagery matching that metadata (using WMS) I had determined that
the metadata should be stored in an RDBMS for performance reasons. This is why
PostGIS 2.0 Raster is such an attractive option. How are imagery queries done
efficiently if your imagery metadata (spatial index) are spread across
potentially 1000’s of directories?
Using existing GeoServer capabilities and/or extensions is there a way to have
the GeoTiff files referenced on disk from a GeoServer coverage data store but
the metadata and spatial indeces stored in PostgreSQL/PostGIS?
--Steve
From: Christian Mueller
[mailto:christian.muel...@os-solutions.at<mailto:christian.muel...@os-solutions.at>]
Sent: Thursday, July 24, 2014 7:51 AM
To: Stephen Brooke
Cc:
geoserver-users@lists.sourceforge.net<mailto:geoserver-users@lists.sourceforge.net>
Subject: Re: imageMosaic-jdbc extension with PostGIS Raster
Hi Stephen
It looks like an decoding problem in the Java runtime. One question, if you do
not like to store your image date in the database, why not produce big geotiff
files. i am doing this for my customers using the tools from
www.gdal.org<http://www.gdal.org>. Geotiff files are working quite well and you
have to create only one file containing all overviews.
Cheers
Christian
On Wed, Jul 23, 2014 at 1:59 AM, Stephen Brooke
<sbro...@mdacorporation.com<mailto:sbro...@mdacorporation.com>> wrote:
I am hoping Christian Mueller or others can help me out here. I would like to
use the PostGIS 2.0 Raster capability and use it from the GeoServer
ImageMosaicJDBC extension. I don’t want to store my raster data in the
database because of the enormous amount of raster data I need to catalogue.
I am aware that the GeoServer ImageMosaicJDBC extension does not officially
support PostGIS Raster ImageMosaicJDBC store as I read this in a forum
somewhere or in the documentation, however, I would like to know how difficult
it would be to add/fix this capability as it is partially working. When I try
to view a layer using GeoServer’s Layer Preview of a layer created from an
ImageMosaicJDBC datastore at the 4th zoom level (of 11 zoom levels) I get the
follow stacktrace in GeoServer (full stacktrace attached but the below excerpt
captures an error that repeats over and over as tiles are brought in):
Is there any plan to get this working in the near future? I am willing to
contribute this feature if someone can point me in the right direction.
I’m using the following versions:
PostGIS 2.1.3 on PostgreSQL 9.3
GeoServer 2.5.1
ImageMosaicJDBC 11.1
Let me know if you need more info,
--Steve
===============BEGIN stacktrace====================
Request: getMap
Time = []
Buffer = 0
Format = image/png
Filters = null
Filter = null
Width = 256
Height = 256
Transparent = false
Styles = [StyleImpl[ name=raster]]
Crs = GEOGCS["WGS 84",
DATUM["World Geodetic System 1984",
SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AUTHORITY["EPSG","4326"]]
Bbox = SRSEnvelope[34.638842975392 : 34.642107346478, 10.538136538337 :
10.541400909423]
Env = {}
Angle = 0.0
CQLFilter = null
Elevation = []
FeatureId = null
StartIndex = null
ViewParams = null
RemoteOwsType = null
RemoteOwsURL = null
FormatOptions = {}
Layers = [org.geoserver.wms.MapLayerInfo@b4aa7517]
FeatureVersion = null
SRS = EPSG:4326
Tiled = false
MaxFeatures = null
ValidateSchema = false
TilesOrigin = null
SldBody = null
Sld = null
SldVersion = null
BgColor = java.awt.Color[r=255,g=255,b=255]
Palette = null
Exceptions = SE_XML
Version = 1.1.1
Request = GetMap
BaseUrl = http://localhost:8686/geoserver/
RawKvp =
{BBOX=34.638842975392,10.538136538337,34.642107346478,10.541400909423,
VERSION=1.1.1, FORMAT=image/png, SERVICE=WMS, HEIGHT=256,
LAYERS=GeoCenter:geocenter_mosaic_3, REQUEST=GetMap, S
TYLES=, SRS=EPSG:4326, WIDTH=256}
Get = true
RequestCharset = UTF-8
22 Jul 16:50:14 INFO [geoserver.wms] -
Request: getServiceInfo
22 Jul 16:50:14 INFO [geoserver.wms] -
Request: getServiceInfo
22 Jul 16:50:14 INFO [geoserver.wms] -
Request: getServiceInfo
22 Jul 16:50:14 INFO [geoserver.wms] -
Request: getServiceInfo
22 Jul 16:50:14 INFO [geoserver.wms] -
Request: getServiceInfo
22 Jul 16:50:14 INFO [geoserver.wms] -
Request: getServiceInfo
Exception in thread "pool-265-thread-4" 22 Jul 16:50:14 WARN [imagemosaic.jdbc]
- Could not read from stream, switch to JAI
java.lang.NullPointerException
22 Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch
to JAI
at com.sun.media.jai.codec.ImageCodec.getCodec(ImageCodec.java:96)
at
com.sun.media.jai.codec.ImageCodec.createImageDecoder(ImageCodec.java:208)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.readImage2(ImageDecoderThread.java:187)22
Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch to
JAI
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:121)22
Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch to
JAI
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)22
Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch to
JAI
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)22
Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch to
JAI
at java.lang.Thread.run(Thread.java:745)
Exception in thread "pool-265-thread-6" java.lang.NullPointerException
at com.sun.media.jai.codec.ImageCodec.getCodec(ImageCodec.java:96)
at
com.sun.media.jai.codec.ImageCodec.createImageDecoder(ImageCodec.java:208)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.readImage2(ImageDecoderThread.java:187)22
Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch to
JAI
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:121)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "pool-265-thread-2" java.lang.NullPointerException
22 Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch
to JAI
at com.sun.media.jai.codec.ImageCodec.getCodec(ImageCodec.java:96)
22 Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch
to JAI
at
com.sun.media.jai.codec.ImageCodec.createImageDecoder(ImageCodec.java:208)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.readImage2(ImageDecoderThread.java:187)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:121)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)22
Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch to
JAI
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)22
Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch to
JAI
at java.lang.Thread.run(Thread.java:745)22 Jul 16:50:14 WARN
[imagemosaic.jdbc] - Could not read from stream, switch to JAI
Exception in thread "pool-265-thread-5" Exception in thread "pool-265-thread-1"
Exception in thread "pool-265-thread-8" java.lang.NullPointerException
at com.sun.media.jai.codec.ImageCodec.getCodec(ImageCodec.java:96)
at
com.sun.media.jai.codec.ImageCodec.createImageDecoder(ImageCodec.java:208)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.readImage2(ImageDecoderThread.java:187)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:121)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "pool-265-thread-12" 22 Jul 16:50:14 WARN
[imagemosaic.jdbc] - Could not read from stream, switch to JAI
java.lang.NullPointerException
22 Jul 16:50:14 WARN [imagemosaic.jdbc] - Could not read from stream, switch
to JAI
at com.sun.media.jai.codec.ImageCodec.getCodec(ImageCodec.java:96)
at
com.sun.media.jai.codec.ImageCodec.createImageDecoder(ImageCodec.java:208)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.readImage2(ImageDecoderThread.java:187)
at
org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:121)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
…
===============END stacktrace====================
--
DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH
--
DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH
------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users