Hi, I made some tests and noticed that the OGR tileindex does not need to be a shapefile but GeoPackage worked as well. Actully what did not work was to make a vector layer from tileindex that was saved into GeoPackage and to use that layer in TILEINDEX. And then I noticed that this behavior is documented in https://www.mapserver.org/input/vector/ogr.html#tileindex-with-ogr:
"OGR layers can utilize tile indexes in a similar fashion to Shapefile based layers. The TILEINDEX keyword should contain the connection string for the tile index file. The tile index file may be any supported OGR format, including shapefiles." So this is what I used in LAYER and it worked both for WMS and WFS: CONNECTIONTYPE OGR TILEINDEX "c:\data\000\mapservertest\tindex.gpkg" I do not know when and if this behavior has changed. I thought as well that the layer-as-a-tileindex would be the way to follow if tileindex is not in shapefile format. -Jukka Rahkonen- Lähettäjä: MapServer-users <[email protected]> Puolesta Peter Schmitt Lähetetty: keskiviikko 7. joulukuuta 2022 19.08 Vastaanottaja: Schylberg Lars <[email protected]> Kopio: Mapserver-Users ([email protected]) <[email protected]> Aihe: Re: [MapServer-users] [EXTERNAL] Vector tileindex with connectiontype OGR On Wed, Dec 7, 2022 at 1:16 AM Schylberg Lars <[email protected]<mailto:[email protected]>> wrote: > The important thing is to have a one layer for the actual tile index, that > has status off and one layer that is using the tile index layer. Thanks for the message, Lars! This gave me another idea to debug. When I set DEBUG 5 and request mapserv -nh QUERY_STRING='service=WFS&VERSION=1.0.0&REQUEST=getfeature&map=/app/mapfiles/test2.map&typename=vector_via_ogr&OUTPUTFORMAT=geojson' then the log contains OGROPen(tindex_ogr) msOGRFileOpen(): OGR error. Open failed for OGR connection in layer `vector_via_ogr'. File not found or unsupported format. Check server logs. Open failed for OGR connection in layer `vector_via_ogr'. with the layers LAYER DEBUG 5 NAME "tindex_ogr" TYPE POLYGON CONNECTIONTYPE OGR CONNECTION "/app/mapfiles/tindex.geojson" STATUS OFF END LAYER DEBUG 5 NAME "vector_via_ogr" TYPE POLYGON TILEINDEX tindex_ogr CONNECTIONTYPE OGR STATUS OFF END This log line OGROPen(tindex_ogr) makes me suspect the following lines of code are setting the OGR dataset name to "tindex_ogr", whereas I expect it to do something like use the value from CONNECTION in the layer with name "tindex_ogr". https://github.com/MapServer/MapServer/blob/71ecf4028b0769027df3a970a36d56feb1d46ab6/mapogr.cpp#L1205-L1238<https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMapServer%2FMapServer%2Fblob%2F71ecf4028b0769027df3a970a36d56feb1d46ab6%2Fmapogr.cpp%23L1205-L1238&data=05%7C01%7Cjukka.rahkonen%40maanmittauslaitos.fi%7C6cce5ce3dc674b610d1608dad875a01d%7Cc4f8a63255804a1c92371d5a571b71fa%7C0%7C0%7C638060296970211320%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3bCVBIt9JxfoIArjTPKTM4AREHBzvW5iq%2Fev8XsfZJw%3D&reserved=0> In other words, I expect the log line to read OGROPen(/app/mapfiles/tindex.geojson) and not OGROPen(tindex_ogr) This seems to be unique for a vector tile index of vectors. This otherwise works fine when using a vector tileindex of rasters. So if I make a bogus raster layer like LAYER DEBUG 5 NAME "bogus_raster" TYPE RASTER TILEINDEX tindex_ogr STATUS OFF PROJECTION "init=epsg:3857" END END and then issue a bogus request like curl 'http://localhost:8000/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&map=/app/mapfiles/test2.map&layers=bogus_raster&WIDTH=256&HEIGHT=256&CRS=EPSG:3857&STYLES=&BBOX=4163066.308523841,5943743.319455305,4167958.2783340923,5948635.289265556' Then the log line includes msOGRFileOpen(/app/mapfiles/tindex.geojson)... OGROPen(/app/mapfiles/tindex.geojson) msConnPoolRegister(tindex_ogr,/app/mapfiles/tindex.geojson,0x556aba222630) and _not_ msOGRFileOpen(tindex_ogr)... like I see for a vector tile index of vectors. Thanks, Pete
_______________________________________________ MapServer-users mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/mapserver-users
