1

I'm trying to configure an ImageMosaicJDBC using pgraster but I get the error in the screenshot. As I'm really new on GeoServer, I guess I did something wrong. enter image description here

From the log I can see this:

Aug 20 08:50:57 li2151-152 server: 20 Aug 08:50:57 WARN [geoserver.catalog] - Unable to convert coverage URL to a URI, attempting to use it as a path
Aug 20 08:50:57 li2151-152 server: 20 Aug 08:50:57 WARN [imagemosaic.jdbc] - pgraster://postgres:_gs_pwd_42263e45-9eec-430f-8b28-41432cf2edec@localhost:5432:cep.public.temperature@3857:tif?-c -I -C -s 3857 -F -M -Y#coverages/Temperature/temperature.postgis.xml
Aug 20 08:50:57 li2151-152 server: java.net.MalformedURLException: pgraster://postgres:_gs_pwd_42263e45-9eec-430f-8b28-41432cf2edec@localhost:5432:cep.public.temperature@3857:tif?-c -I -C -s 3857 -F -M -Y#coverages/Temperature/temperature.postgis.xml
Aug 20 08:50:57 li2151-152 server: at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.<init>(ImageMosaicJDBCReader.java:113)
Aug 20 08:50:57 li2151-152 server: at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:197)
Aug 20 08:50:57 li2151-152 server: at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:59)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1567)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1513)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:53)
Aug 20 08:50:57 li2151-152 server: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Aug 20 08:50:57 li2151-152 server: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
Aug 20 08:50:57 li2151-152 server: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Aug 20 08:50:57 li2151-152 server: at java.lang.reflect.Method.invoke(Method.java:498)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:127)
Aug 20 08:50:57 li2151-152 server: at com.sun.proxy.$Proxy26.getGridCoverageReader(Unknown Source)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:86)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:47)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.wicket.GeoServerDataProvider.getFilteredItems(GeoServerDataProvider.java:190)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.data.layer.NewLayerPageProvider.getFilteredItems(NewLayerPageProvider.java:186)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.wicket.GeoServerDataProvider.size(GeoServerDataProvider.java:208)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.updateMatched(GeoServerTablePanel.java:664)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.<init>(GeoServerTablePanel.java:659)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:237)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:106)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.data.layer.NewLayerPage$1.<init>(NewLayerPage.java:99)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.data.layer.NewLayerPage.<init>(NewLayerPage.java:98)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.data.store.CoverageStoreNewPage.onSuccessfulSave(CoverageStoreNewPage.java:82)
Aug 20 08:50:57 li2151-152 server: at org.geoserver.web.data.store.CoverageStoreNewPage.onSave(CoverageStoreNewPage.java:71)

My configuration for the ImageMosaic is the following:

<connect>
  <!-- value DBCP or JNDI -->
  <dstype value="DBCP"/>
  <!--   <jndiReferenceName value=""/>  -->
  <username value="postgres" />
  <password value="password" />
  <jdbcUrl value="jdbc:postgresql://localhost:5432/cep" />
  <driverClassName value="org.postgresql.Driver"/>
  <maxActive value="10"/>
  <maxIdle value="0"/>
</connect>

<!-- possible values: universal,postgis,db2,mysql,oracle -->
<spatialExtension name="pgraster"/>
<mapping>
    <masterTable name="mosaic" >
      <coverageNameAttribute name="name"/>
      <maxXAttribute name="maxX"/>
      <maxYAttribute name="maxY"/>
      <minXAttribute name="minX"/>
      <minYAttribute name="minY"/>
      <resXAttribute name="resX"/>
      <resYAttribute name="resY"/>
      <tileTableNameAtribute  name="TileTable" />
      <spatialTableNameAtribute name="SpatialTable" />
    </masterTable>
    <tileTable>
      <blobAttributeName name="rast" />
    </tileTable>
</mapping>

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE ImageMosaicJDBCConfig [
  <!ENTITY mapping PUBLIC "mapping"  "mapping.postgis.xml.inc">
  <!ENTITY connect PUBLIC "connect"  "connect.postgis.xml.inc">]>
<config version="1.0">
  <coverageName name="Temperature"/>
  <coordsys name="EPSG:3857"/>
  <!-- interpolation 1 = nearest neighbour, 2 = bilinear, 3 = bicubic -->
  <scaleop  interpolation="1"/>
  <verify cardinality="false"/>
  &mapping;
  &connect;
</config>

What is wrong here?

6