[MapServer-users] Mapcache second level dimensions

Johannes Paul johannespaul92 at gmail.com
Thu Feb 16 00:54:19 PST 2023


Hello,

I'm trying to implement second level SQLite dimension as explained in the
doc
https://mapserver.org/mapcache/dimensions.html#second-level-dimensions

Following that exemple on mapcache v1.12, I'm expecting that the below
conf, with WMS request on 'mosa_test' tileset with 'dim_sensor=phr', shall
use the “product” sub-dimension values to query the data source
'mosa_source' on tileset 'test_primary' with 'dim_product' for each product
returned by the 2nd level dimension request (cache 'test_cache' is
pre-existing) ...

```
<cache name="test_cache" type="sqlite3">
    <dbfile>/nfs_tiles/test/{dim:product}.sqlite3</dbfile>
</cache>
<tileset name="test_primary">
    <cache>test_cache</cache>
    <grid>worldwind</grid>
    <dimensions>
       <dimension name="product" type="regex" default="spot-img1">
         <regex>.*</regex>
       </dimension>
    </dimensions>
    <format>PNG</format>
</tileset>
<cache name="mosa_cache" type="sqlite3">
    <dbfile>/nfs_tiles/test/mosa_{dim:sensor}.sqlite3</dbfile>
</cache>
<tileset name="mosa_test">
    <format>PNG</format>
    <grid>worldwind</grid>
    <cache>mosa_cache</cache>
    <source>mosa_source</source>
    <dimensions>
      <dimension name="sensor" type="sqlite" default="default">
        <dbfile>/nfs_tiles/test/mosa.db</dbfile>
        <validate_query>select product from mosa where
sensor=:dim</validate_query>
        <list_query>select product from mosa</list_query>
      </dimension>
    </dimensions>
</tileset>
<source name="mosa_source" type="wms">
    <http>
       <url>http://server/mapcache/</url>
    </http>
    <getmap>
        <params>
            <FORMAT>PNG</FORMAT>
            <LAYERS>test_primary</LAYERS>
            <TRANSPARENT>true</TRANSPARENT>
        </params>
    </getmap>
</source>
```

However all I get is a mapcache error in the httpd log, as follows :
`dimension (sensor) for tileset (mosa_test) returned invalid number (X) of
subdimensions (1 expected)`
If my 'sensor' dimension returns X products (which is the use case), I get
the error above, and if my 'sensor' dimension returns 1 product (let say
spot-img2), I get an error on the mapcache generated WMS request to the
source 'mosa_source' on tileset 'test_primary' with parameters
'&sensor=spot-img2&DIM_sensor=spot-img2' ... which can obviously not work !
Why is mapcache not using 'dim_product' in the WMS request ?

Have I missed something ?
Thanks,
Johannes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20230216/ff1a2164/attachment.htm>


More information about the MapServer-users mailing list