[Geoserver-users] imageMosaic-jdbc extension with PostGIS Raster

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@anonymised.com]

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====================

imagemosaic-jdbc-stacktrace.txt (116 KB)

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. 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 <sbrooke@anonymised.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@anonymised.com]

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

Hi

Is it possible to do a find nearest search using any combination of geoserver and openlayers

For example search from the coordinates of a house and list the nearest school from a table held in geoserver ?

Mark Ismail

Principal IT Officer

Tel: 0151 443 3021

Knowsley Council ê Westmorland Road ê Huyton ê L36 9GL

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

···

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. 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 <sbrooke@…3836…> 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@…6609…]

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

This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

···

Hi Mark,
I think it’s more either a front-end thing - probably a GeoExt based solution. But also elements of the data-base required - postgis can do a distance calculation and return the results.

That said, GeoServer may be able to do it with the WPS extension though I’ve not dabbled in it myself.

There are lots of options, it depends on what you have available and where you want the processing to happen.

Cheers,
Jonathan

On 24 July 2014 16:03, Ismail, Mark <mark.ismail@anonymised.com> wrote:

Hi

Is it possible to do a find nearest search using any combination of geoserver and openlayers

For example search from the coordinates of a house and list the nearest school from a table held in geoserver ?

Mark Ismail

Principal IT Officer

Tel: 0151 443 3021

Knowsley Council ê Westmorland Road ê Huyton ê L36 9GL

This e-mail and any attachments are confidential. It may contain privileged information and is intended for the named recipient(s) only. It must not be distributed without consent. If you are not one of the intended recipients, please notify the sender immediately and do not disclose, distribute, or retain this email or any part of it and do not take any action based on it.

Unless expressly stated, opinions in this email are those of the individual sender, and not of Knowsley MBC. Legally binding obligations can only be created for, or be entered into on behalf of, Knowsley MBC by duly authorised officers or representatives.

Knowsley MBC excludes any liability whatsoever for any offence caused, any direct or consequential loss arising from the use, or reliance on, this e-mail or its contents. We believe but do not warrant that this e-mail and any attachments are virus free. You must therefore take full responsibility for virus checking and no responsibility is accepted for loss or damage arising from viruses or changes made to this message after it was sent. Knowsley MBC reserves the right to monitor and/or record all e-mail communications through its network in accordance with relevant legislation.


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@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On Thu, Jul 24, 2014 at 5:03 PM, Ismail, Mark <mark.ismail@anonymised.com>
wrote:

Hi

Is it possible to do a find nearest search using any combination of
geoserver and openlayers

For example search from the coordinates of a house and list the nearest
school from a table held in geoserver ?

If you are using Oracle as the database, there is also a special filter
function called sdonn that
will translate in a nearest neighbour query directly in the database.
There are no docs in the official documentation, but I've managed to pull a
pdf that describes how to use it,
it's attached to this mail

This support is not available for other databases, but it should be
possible to implement a similar
function for all spatial databases that provide a nearest neighbour search
operator.

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

-------------------------------------------------------

OracleSDO_NNGeoToolsFilterFunction.pdf (96 KB)

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 <sbrooke@anonymised.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.mueller@anonymised.com]
Sent: Thursday, July 24, 2014 7:51 AM
To: Stephen Brooke
Cc: 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. 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 <sbrooke@anonymised.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@anonymised.com]

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

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”:

···

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 <sbrooke@…3836…> 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.mueller@…5445…]
Sent: Thursday, July 24, 2014 7:51 AM
To: Stephen Brooke
Cc: 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. 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 <sbrooke@…3836…> 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@…6609…]

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

On Fri, Jul 25, 2014 at 7:02 PM, Stephen Brooke <sbrooke@anonymised.com>
wrote:

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?

Yes, we call the custom dimensions. Provided you define them in the image
mosaic, they will become
available in the layer configuration UI where you will be able to decide
whether to enable them, or not

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

-------------------------------------------------------

From: andrea.aime@...84... [mailto:andrea.aime@…84…] On Behalf Of Andrea Aime
Sent: Friday, July 25, 2014 10:14 AM
To: Stephen Brooke
Cc: Christian Mueller; geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] imageMosaic-jdbc extension with PostGIS Raster

On Fri, Jul 25, 2014 at 7:02 PM, Stephen Brooke <sbrooke@...3836...<mailto:sbrooke@…3836…>> wrote:
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?

Yes, we call the custom dimensions. Provided you define them in the image mosaic, they will become
available in the layer configuration UI where you will be able to decide whether to enable them, or not

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

Thanks for your response. What do you mean by “Provided you define them in the image mosaic”? Do you mean when you create the ImageMosaic layer in GeoServer or is this something that has to be found inside the raster data (i.e. GeoTiffs)?

Where is the documentation on “custom dimensions” in GeoServer? I only found a release note mentioning it and the layer creation dialog only has time and elevation dimensions in the “Dimensions” tab, no place to define custom dimensions.
· Image mosaic can now gather and manage custom dimensions. Thanks to GeoSolutions<http://www.geo-solutions.it/&gt; for developing this under DLR<http://www.dlr.de/&gt;and EUMETSAT<http://www.eumetsat.int/Home/index.htm&gt; sponsorship.

--Steve

On Fri, Jul 25, 2014 at 7:25 PM, Stephen Brooke <sbrooke@anonymised.com>
wrote:

Where is the documentation on “custom dimensions” in GeoServer? I only
found a release note mentioning it and the layer creation dialog only has
time and elevation dimensions in the “Dimensions” tab, no place to define
custom dimensions.

· Image mosaic can now gather and manage custom dimensions.
Thanks to GeoSolutions <http://www.geo-solutions.it/&gt; for developing this
under DLR <http://www.dlr.de/&gt;and EUMETSAT
<http://www.eumetsat.int/Home/index.htm&gt; sponsorship.

I see we added a number of tutorials about image mosaic, but I don't see
one for custom dimensions:
http://docs.geoserver.org/latest/en/user/tutorials/index.html

I'll ask my colleagues tomorrow, not everybody it gone home (it's 7:30pm in
Italy)

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

-------------------------------------------------------

On Fri, Jul 25, 2014 at 7:32 PM, Andrea Aime <andrea.aime@anonymised.com>
wrote:

I see we added a number of tutorials about image mosaic, but I don't see
one for custom dimensions:
http://docs.geoserver.org/latest/en/user/tutorials/index.html

I'll ask my colleagues tomorrow, not everybody it gone home (it's 7:30pm
in Italy)

Ah wait, I forgot that we have the training material for our workshop on
multidimensional rasters.
They are meant to be used hands on with an istructor, but maybe you'll find
what you're looking for in them:
http://geoserver.geo-solutions.it/geoserver/multidim/en/index.html

We are actually in the process of updating them for FOSS4G 2014

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

-------------------------------------------------------

Thanks, I’ll take a look

···

On Fri, Jul 25, 2014 at 7:32 PM, Andrea Aime <andrea.aime@…1107…> wrote:

I see we added a number of tutorials about image mosaic, but I don’t see one for custom dimensions:

http://docs.geoserver.org/latest/en/user/tutorials/index.html

I’ll ask my colleagues tomorrow, not everybody it gone home (it’s 7:30pm in Italy)

Ah wait, I forgot that we have the training material for our workshop on multidimensional rasters.

They are meant to be used hands on with an istructor, but maybe you’ll find what you’re looking for in them:

http://geoserver.geo-solutions.it/geoserver/multidim/en/index.html

We are actually in the process of updating them for FOSS4G 2014

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


It appears that custom dimensions are not exactly what I’m looking for. I at first thought that a dimension could be an attribute from imagery metadata but I now see why they are separate. A dimension is an attribute at tile or pixel level, whereas, metadata attributes are typically for an entire coverage such as % cloud cover for satellite imagery.

What I am trying to figure out is how to query for imagery matching attributes in the imagery metadata, using CQL for example and a WMS GetMap request.

  • How is metadata associated with a coverage/layer? Is it through the layer MetadataURL property?

  • What must be setup in GeoServer so that CQL can query this metadata?

I haven’t found a tutorial that shows how to do this for raster data.

Thanks,

–Steve

···

From: Stephen Brooke
Sent: Friday, July 25, 2014 10:38 AM
To: ‘Andrea Aime’
Cc: Christian Mueller; geoserver-users@lists.sourceforge.net
Subject: RE: [Geoserver-users] imageMosaic-jdbc extension with PostGIS Raster

Thanks, I’ll take a look

From: andrea.aime@…84… [mailto:andrea.aime@…84…] On Behalf Of Andrea Aime
Sent: Friday, July 25, 2014 10:37 AM
To: Stephen Brooke
Cc: Christian Mueller; geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] imageMosaic-jdbc extension with PostGIS Raster

On Fri, Jul 25, 2014 at 7:32 PM, Andrea Aime <andrea.aime@…1107…> wrote:

I see we added a number of tutorials about image mosaic, but I don’t see one for custom dimensions:

http://docs.geoserver.org/latest/en/user/tutorials/index.html

I’ll ask my colleagues tomorrow, not everybody it gone home (it’s 7:30pm in Italy)

Ah wait, I forgot that we have the training material for our workshop on multidimensional rasters.

They are meant to be used hands on with an istructor, but maybe you’ll find what you’re looking for in them:

http://geoserver.geo-solutions.it/geoserver/multidim/en/index.html

We are actually in the process of updating them for FOSS4G 2014

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


I found a quote from an old user group post about GeoServer that says:

“Alternatively tiles in a mosaic can be associated with whatever extra attributes you

want, and those attributes can be used in a CQL_FILTER that will be passed to

the mosaic to select only the tiles of the mosaic you actually want.

There is little/no documentation on this, but if you look at the mosaic tests in geotools

you should be able to figure out how to use it”

http://osgeo-org.1560.x6.nabble.com/20-Million-Image-files-td4503489.html

What specific GeoTools tests are the ones that show how exactly to add “whatever extra attributes you want” to an ImageMosaic coverage?

From geotools source the list of ImageMosaic tests is as follows:

CatalogBuilderTest.java

DateRangeVisitorTest.java

GranuleTest.java

ImageMosaicFootprintsTest.java

ImageMosaicPostgisIndexTest.java

ImageMosaicReaderTest.java

ImageMosaicServiceTest.java

OverviewsControllerTest.java

PathTypeTest.java

PropertiesCollectorTest.java

RasterLayerRequestTest.java

RasterLayerResponseTest.java

SpatialRequestHelperTest.java

ArtifactsFilterTest.java

TimeParserTest.java

TimestampFileNameExtractorTest.java

–Steve

···

From: Stephen Brooke
Sent: Friday, July 25, 2014 1:29 PM
To: ‘Andrea Aime’
Cc: ‘Christian Mueller’; ‘geoserver-users@lists.sourceforge.net’
Subject: RE: [Geoserver-users] imageMosaic-jdbc extension with PostGIS Raster

It appears that custom dimensions are not exactly what I’m looking for. I at first thought that a dimension could be an attribute from imagery metadata but I now see why they are separate. A dimension is an attribute at tile or pixel level, whereas, metadata attributes are typically for an entire coverage such as % cloud cover for satellite imagery.

What I am trying to figure out is how to query for imagery matching attributes in the imagery metadata, using CQL for example and a WMS GetMap request.

  • How is metadata associated with a coverage/layer? Is it through the layer MetadataURL property?

  • What must be setup in GeoServer so that CQL can query this metadata?

I haven’t found a tutorial that shows how to do this for raster data.

Thanks,

–Steve

From: Stephen Brooke
Sent: Friday, July 25, 2014 10:38 AM
To: ‘Andrea Aime’
Cc: Christian Mueller; geoserver-users@lists.sourceforge.net
Subject: RE: [Geoserver-users] imageMosaic-jdbc extension with PostGIS Raster

Thanks, I’ll take a look

From: andrea.aime@…84… [mailto:andrea.aime@…84…] On Behalf Of Andrea Aime
Sent: Friday, July 25, 2014 10:37 AM
To: Stephen Brooke
Cc: Christian Mueller; geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] imageMosaic-jdbc extension with PostGIS Raster

On Fri, Jul 25, 2014 at 7:32 PM, Andrea Aime <andrea.aime@…1107…> wrote:

I see we added a number of tutorials about image mosaic, but I don’t see one for custom dimensions:

http://docs.geoserver.org/latest/en/user/tutorials/index.html

I’ll ask my colleagues tomorrow, not everybody it gone home (it’s 7:30pm in Italy)

Ah wait, I forgot that we have the training material for our workshop on multidimensional rasters.

They are meant to be used hands on with an istructor, but maybe you’ll find what you’re looking for in them:

http://geoserver.geo-solutions.it/geoserver/multidim/en/index.html

We are actually in the process of updating them for FOSS4G 2014

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


On Sat, Jul 26, 2014 at 2:14 AM, Stephen Brooke <sbrooke@anonymised.com>
wrote:

What specific GeoTools tests are the ones that show how exactly to add
“whatever extra attributes you want” to an ImageMosaic coverage?

From geotools source the list of ImageMosaic tests is as follows:

If you look at how a mosaic is build, you'll see that a vector table is
built with the paths of the mosaic tiles and
their footprint. Any attribute associated in that same row is a "whatever
extra attribute you want" that you
can query with cql filter.

You have the option of setting up the table yourself, or have the image
mosaic fill the basic structure for you
and then add attributes your way, or you can setup property collectors to
gather attribute from the file names,
like in these examples:
https://github.com/geotools/geotools/tree/master/modules/plugin/imagemosaic/src/test/resources/org/geotools/gce/imagemosaic/test-data/time_additionaldomains
https://github.com/geotools/geotools/tree/master/modules/plugin/imagemosaic/src/test/resources/org/geotools/gce/imagemosaic/test-data/time_domainsRanges

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

-------------------------------------------------------

On Mon, Jul 28, 2014 at 2:10 PM, Ismail, Mark <mark.ismail@anonymised.com>
wrote:

The example doesn’t seem to let me choose which table to bring nearest
results from – does it do it from each active table ?

The table is the feature type you are querying. You cannot do cross table
comparisons, the reference geometry
has to be statically included in the GML.

I guess the work could be extended to work as a spatial join too, but it
needs some coding at the geootols
level to become functional.

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

-------------------------------------------------------

Hi Andrea

I’ve gotten an example working using the PDF you attached but have hit a slight problem

The results are not sorted by the distance from the search point.

It has brought back the closest 10 but the closest 2 are in the middle of the list

Also I would like to know the distance to each (if I had this I could sort by distance) do you know if this is possible ?

See below the link (should work externally)

https://kgeo.knowsley.gov.uk/geoserver/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=Geostore:BUS_STOPS&cql_filter=sdo_nn%28POINT%28344956.59%20390143.52%29%2c10%29=true

Mark Ismail

Principal IT Officer

Tel: 0151 443 3021

Knowsley Council ê Westmorland Road ê Huyton ê L36 9GL

Save time – use the IT Service Desk Self Serve Application

···

From: andrea.aime@…84… [mailto:andrea.aime@…84…] On Behalf Of Andrea Aime
Sent: 28 July 2014 13:15
To: Ismail, Mark; GeoServer Mailing List List
Subject: Re: [Geoserver-users] Find my nearest search using openlayers and geoserver

On Mon, Jul 28, 2014 at 2:10 PM, Ismail, Mark <mark.ismail@…6440…> wrote:

The example doesn’t seem to let me choose which table to bring nearest results from – does it do it from each active table ?

The table is the feature type you are querying. You cannot do cross table comparisons, the reference geometry

has to be statically included in the GML.

I guess the work could be extended to work as a spatial join too, but it needs some coding at the geootols

level to become functional.

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


This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

···

Hi Mark,
I’d guess that sdo_nn_distance may do what you want:
http://docs.oracle.com/cd/E11882_01/appdev.112/e11830/sdo_operat.htm#i80529

Cheers,
Jonathan

On 28 July 2014 15:33, Ismail, Mark <mark.ismail@anonymised.com> wrote:

Hi Andrea

I’ve gotten an example working using the PDF you attached but have hit a slight problem

The results are not sorted by the distance from the search point.

It has brought back the closest 10 but the closest 2 are in the middle of the list

Also I would like to know the distance to each (if I had this I could sort by distance) do you know if this is possible ?

See below the link (should work externally)

https://kgeo.knowsley.gov.uk/geoserver/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=Geostore:BUS_STOPS&cql_filter=sdo_nn%28POINT%28344956.59%20390143.52%29%2c10%29=true

Mark Ismail

Principal IT Officer

Tel: 0151 443 3021

Knowsley Council ê Westmorland Road ê Huyton ê L36 9GL

Save time – use the IT Service Desk Self Serve Application

From: andrea.aime@anonymised.com [mailto:andrea.aime@anonymised.com] On Behalf Of Andrea Aime
Sent: 28 July 2014 13:15
To: Ismail, Mark; GeoServer Mailing List List
Subject: Re: [Geoserver-users] Find my nearest search using openlayers and geoserver

On Mon, Jul 28, 2014 at 2:10 PM, Ismail, Mark <mark.ismail@anonymised.com40…> wrote:

The example doesn’t seem to let me choose which table to bring nearest results from – does it do it from each active table ?

The table is the feature type you are querying. You cannot do cross table comparisons, the reference geometry

has to be statically included in the GML.

I guess the work could be extended to work as a spatial join too, but it needs some coding at the geootols

level to become functional.

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


This e-mail and any attachments are confidential. It may contain privileged information and is intended for the named recipient(s) only. It must not be distributed without consent. If you are not one of the intended recipients, please notify the sender immediately and do not disclose, distribute, or retain this email or any part of it and do not take any action based on it.

Unless expressly stated, opinions in this email are those of the individual sender, and not of Knowsley MBC. Legally binding obligations can only be created for, or be entered into on behalf of, Knowsley MBC by duly authorised officers or representatives.

Knowsley MBC excludes any liability whatsoever for any offence caused, any direct or consequential loss arising from the use, or reliance on, this e-mail or its contents. We believe but do not warrant that this e-mail and any attachments are virus free. You must therefore take full responsibility for virus checking and no responsibility is accepted for loss or damage arising from viruses or changes made to this message after it was sent. Knowsley MBC reserves the right to monitor and/or record all e-mail communications through its network in accordance with relevant legislation.


Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi Jonathan

You are right – I created an oracle query that does all this but I was hoping to just use geoserver.

Doing it all in oracle means I will have to run oracle commands via a link server from my MVC application

Mark Ismail

Principal IT Officer

Tel: 0151 443 3021

Knowsley Council ê Westmorland Road ê Huyton ê L36 9GL

Save time – use the IT Service Desk Self Serve Application

···

From: Jonathan Moules [mailto:jonathanmoules@anonymised.com]
Sent: 28 July 2014 15:47
To: Ismail, Mark
Cc: Andrea Aime; GeoServer Mailing List List
Subject: Re: [Geoserver-users] Find my nearest search using openlayers and geoserver

Hi Mark,

I’d guess that sdo_nn_distance may do what you want:

http://docs.oracle.com/cd/E11882_01/appdev.112/e11830/sdo_operat.htm#i80529

Cheers,

Jonathan

On 28 July 2014 15:33, Ismail, Mark <mark.ismail@anonymised.com> wrote:

Hi Andrea

I’ve gotten an example working using the PDF you attached but have hit a slight problem

The results are not sorted by the distance from the search point.

It has brought back the closest 10 but the closest 2 are in the middle of the list

Also I would like to know the distance to each (if I had this I could sort by distance) do you know if this is possible ?

See below the link (should work externally)

https://kgeo.knowsley.gov.uk/geoserver/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=Geostore:BUS_STOPS&cql_filter=sdo_nn%28POINT%28344956.59%20390143.52%29%2c10%29=true

Mark Ismail

Principal IT Officer

Tel: 0151 443 3021

Knowsley Council ê Westmorland Road ê Huyton ê L36 9GL

Save time – use the IT Service Desk Self Serve Application

From: andrea.aime@anonymised.com… [mailto:andrea.aime@anonymised.com] On Behalf Of Andrea Aime
Sent: 28 July 2014 13:15
To: Ismail, Mark; GeoServer Mailing List List
Subject: Re: [Geoserver-users] Find my nearest search using openlayers and geoserver

On Mon, Jul 28, 2014 at 2:10 PM, Ismail, Mark <mark.ismail@anonymised.com> wrote:

The example doesn’t seem to let me choose which table to bring nearest results from – does it do it from each active table ?

The table is the feature type you are querying. You cannot do cross table comparisons, the reference geometry

has to be statically included in the GML.

I guess the work could be extended to work as a spatial join too, but it needs some coding at the geootols

level to become functional.

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


This e-mail and any attachments are confidential. It may contain privileged information and is intended for the named recipient(s) only. It must not be distributed without consent. If you are not one of the intended recipients, please notify the sender immediately and do not disclose, distribute, or retain this email or any part of it and do not take any action based on it.

Unless expressly stated, opinions in this email are those of the individual sender, and not of Knowsley MBC. Legally binding obligations can only be created for, or be entered into on behalf of, Knowsley MBC by duly authorised officers or representatives.

Knowsley MBC excludes any liability whatsoever for any offence caused, any direct or consequential loss arising from the use, or reliance on, this e-mail or its contents. We believe but do not warrant that this e-mail and any attachments are virus free. You must therefore take full responsibility for virus checking and no responsibility is accepted for loss or damage arising from viruses or changes made to this message after it was sent. Knowsley MBC reserves the right to monitor and/or record all e-mail communications through its network in accordance with relevant legislation.


Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.