[mapserver-users] MapServer and Geopackage failing
Jeff McKenna
jmckenna at gatewaygeomatics.com
Tue Mar 6 09:16:53 PST 2018
Hi Seth,
I was also testing with that same test dataset when you wrote this last
message. In my testing using MS4W v3.2.5 here (MapServer 7.0.7, GDAL
2.2.3) I can display both the v1.2 and v1.0/1.1 test datasets of GPKG.
(I remember painfully spending a lot of time building spatialite with
sqlite, for the MS4W community).
-jeff
--
Jeff McKenna
MapServer Consulting and Training Services
http://www.gatewaygeomatics.com/
On 2018-03-06 12:58 PM, Seth G wrote:
> Hi,
>
> I'm trying to create an image from a Geopackage with MapServer.
> I can recreate the issue using data from http://www.geopackage.org/#sampledata
>
> It appears a v1.1 Geopackage will throw an error if the Sqlite database does not include the Spatialite extension.
> A v1.2 Geopackage does not seem to produce the same error.
> Even's patch fixes this error. It also seems the issue disappears when using a dev 2.3.0 build of GDAL.
>
> A sample Mapfile using the sample datasets is below. The first shp2img command works, the second does not.
>
> shp2img -m test.map -l point2d_v1_2 -o test.png
> shp2img -m test.map -l point2d_v1_1 -o test.png
>
>
> MAP
> # cd /D C:\MapServer\apps\gpkg
> # shp2img -m test.map -l point2d_v1_2 -o test.png
> # shp2img -m test.map -l point2d_v1_1 -o test.png
> SIZE 200 200
> DEBUG 5
> CONFIG "MS_ERRORFILE" "test.log"
> CONFIG "CPL_DEBUG" "ON"
> EXTENT 0 0 10 10
> SYMBOL
> NAME "circle"
> TYPE ELLIPSE
> FILLED TRUE
> POINTS
> 1 1
> END
> END
> LAYER
> NAME "point2d_v1_2"
> TYPE POINT
> DATA "point2d"
> CONNECTIONTYPE OGR
> CONNECTION "gdal_sample_v1.2_no_extensions.gpkg"
> CLASS
> STYLE
> SYMBOL "circle"
> SIZE 10
> COLOR 0 255 255
> END
> END
> END
> LAYER
> NAME "point2d_v1_1"
> TYPE POINT
> DATA "point2d"
> CONNECTIONTYPE OGR
> CONNECTION "gdal_sample.gpkg"
> CLASS
> STYLE
> SYMBOL "circle"
> SIZE 10
> COLOR 0 255 255
> END
> END
> END
> END
>
>
> --
> web:http://geographika.co.uk
> twitter: @geographika
>
> On Tue, Mar 6, 2018, at 5:05 PM, Rahkonen Jukka (MML) wrote:
>> Hi,
>>
>> Please explain what you are actually doing. Do you wish to use
>> geopackage for input or output, or both? For rasters, vectors, or both?
>>
>> If you use gpkg as input I suggest to create the database with GDAL from
>> some publicly available datasets so others can do the same for
>> reproducing you case (share your ogr2ogr or gdal_translate commands),
>> with a complete mapfile that you will hopefully provide as well.
>>
>> -Jukka Rahkonen-
>>
>> -----Alkuperäinen viesti-----
>> Lähettäjä: mapserver-users
>> [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta Seth G
>> Lähetetty: 6. maaliskuuta 2018 12:20
>> Vastaanottaja: mapserver-users at lists.osgeo.org
>> Aihe: [mapserver-users] MapServer and Geopackage failing
>>
>> Hi all,
>>
>> I'm trying out the geopackage format as an alternative to shapefiles but
>> running into an issue where MapServer expects the geopackage dataset to
>> include spatialite. Drawing layers with shp2img logs the following:
>>
>> [Tue Mar 06 10:39:42 2018].512000 msDrawMap(): rendering using
>> outputformat named png (AGG/PNG).
>> [Tue Mar 06 10:39:42 2018].512000 msDrawMap(): WMS/WFS set-up and query,
>> 0.000s [Tue Mar 06 10:39:42 2018].529000 msOGRFileOpen: Spatialite
>> support in GPKG not enabled [Tue Mar 06 10:39:42 2018].549000
>> msOGRFileNextShape(): OGR error. OGR GetNextFeature() error'd. Check
>> logs.
>> [Tue Mar 06 10:39:42 2018].549000 msOGRFileNextShape(): In ExecuteSQL():
>> sqlite3_prepare(SELECT spatialite_version()):
>> no such function: spatialite_version
>> [Tue Mar 06 10:39:42 2018].550000 msDrawMap(): Image handling error.
>> Failed to draw layer named 'ways'.
>>
>> The spatialite_version function is missing in the geopackage. The
>> dataset was created by exporting from MapServer as an OUTPUTOPTION:
>>
>> OUTPUTFORMAT
>> NAME "GeoPackage"
>> DRIVER "OGR/GPKG"
>> FORMATOPTION "STORAGE=memory"
>> FORMATOPTION "FORM=simple"
>> FORMATOPTION "FILENAME=result.gpkg"
>> FORMATOPTION "DSCO:SPATIALITE=YES" # not a listed option, but
>> tried anyway
>> FORMATOPTION "LCO:SPATIAL_INDEX=YES"
>> END
>>
>> Running a GisInternals build, including GDAL 2.1.3 and MapServer 7.0.4.
>>
>> Relevant code is at
>> https://github.com/mapserver/mapserver/blob/aae74ff2abed3f2f8fe1f76c9b4bbccf15023dc1/mapogr.cpp#L1313
>> It looks like the error should be swallowed up?
>>
>> The same dataset exported directly to spatilite works fine.
>>
>> Anyone experienced the above issue?
>>
>> Regards,
>>
>> Seth
>>
>>
>> --
>> web:http://geographika.co.uk
>> twitter: @geographika
>> __
More information about the MapServer-users
mailing list