Hi,

I'm trying to implement a WPS process (in Python) that can be called in
parallel to produce data on the same imagemosaic layer (each process will
produce different time steps).

I tried making each WPS publishing the same store (by calling the
create_imagemosaic method) but I got a lot of errors appearing in Geoserver
:
  - sometimes not all the timesteps available in the directory are
referenced in the layer capabilities

  - I often get messages (apparently from GDAL) like the following : ERROR
4: `/testing/data/geoserver/data/TEST_WS/TEST_LAYER/indexer.properties' not
recognised as a supported file format.

  - I also often get a class cast exception while geoserver is updating the
granules : java.lang.ClassCastException:
org.geotools.data.shapefile.ShapefileFeatureSource cannot be cast to
org.geotools.data.simple.SimpleFeatureStore
   
  - Another error concerning the shapefile used for the index (file that is
totally handled on geoserver side) : sometimes it does not find it...
java.io.FileNotFoundException:
/testing/data/geoserver/data/TEST_WS/TEST_LAYER/TEST_LAYER.shp 

I tried adding a FileLock forcing the WPS processes to NOT ACCES the REST
API in parrallel but it did not change much (there are less exceptions, but
there are still a few)...

Therefore I decided to change my way of creating the layer : 
  - before : I was asking Geoserver to create (or overwrite) an ImageMosaic
layer with the content that it will find in a given directory (needed files
were created manually)
  - now : I'm trying to achieve this exactly as they describe it in the
gsconfig guide 

But :

1. Creating a new imagemosaic layer by uploading a simple zip file
containing only the indexer.properties and timeregex.properties files (no
datastore.properties as I am using shapefiles for storing the index) does
not seem to work. The issued command looks like :
cat.create_imagemosaic("NOAAWW3_NCOMultiGrid_WIND_test",
"NOAAWW3_NCOMultiGrid_WIND_test.zip"), but I get an exception stating that
geoserver "Could not aquire reader for coverage." 

I went into geoserver's code and the part failing is when geoserver tries to
create a GridCoverage2D from the content of the directory, which at the
time, only contains the indexer.properties and the timeregex.properties.

Therefore, is it possible to create the store and the layer without having
any data "yet" in the directory ? If not, does this mean that the example in
gsconfig guide is wrong ?


2. Harvesting external granules by calling the harvest_externalgranule
provided by gsconfig also does not seem to work. As the previous step is
failing creating the layer, this call is ended by the following exception :
"Failed to access the existing reader to check if it can harvest new files". 

Geoserver tries to create a GridCoverage2D from the input folder and it
simply does not work...


Any ideas on how to achieve this correctly ?

Thanks,
Cyril




--
View this message in context: 
http://osgeo-org.1560.x6.nabble.com/ImageMosaic-creation-using-gsconfig-tp5211132.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

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

Reply via email to