[Lizmap] Publish WFS services in QGIS with Lizmap

etrimaille at 3liz.com etrimaille at 3liz.com
Tue May 31 07:35:29 PDT 2022


Side node :

> 16:46:34 WARNING [175770]: Error Service EXPRESSION 1.0.0 is already registered
> 16:46:34 WARNING [175770]: Error Service LIZMAP 1.0.0 is already registered

Did you keep both "Lizmap" and "Lizmap server" plugin on the server ?
If so, you should keep only the server one.
In the next version of "Lizmap" plugin, the server side will be removed.

On 30/05/2022 17:17, "G. Wagner, Wagner-IT" <info at wagner-it.de> wrote:
> Hi,
> 
> The QGIS project contains only 2 layers:
> 
>   * https://maps.zh.ch/wfs/TBAGeschZHWFS
>     <https://maps.zh.ch/wfs/TBAGeschZHWFS>
>   * http://ows.terrestris.de/osm/service?VERSION=1.1.1&
>     <http://ows.terrestris.de/osm/service?VERSION=1.1.1&>
> 
> https://wms101.webgis.biz <https://wms101.webgis.biz>
> 
> This is the complete QGIS logfile (Log_Level 2) after reloading the 
> project and zooming a few times:
> 
> 16:46:34 WARNING [175770]: Error Service EXPRESSION 1.0.0 is already 
> registered
> 
> 16:46:34 WARNING [175770]: Error Service LIZMAP 1.0.0 is already registered
> 
> 16:46:34 WARNING [175770]: Warning: error parsing post data as XML: at 
> line 1, column 1: error occurred while parsing element. Assuming 
> urlencoded query string sent in the post body.
> 
> 16:46:34 WARNING WFS[175770]: Cannot create temporary SpatiaLite cache.: 
> Cannot copy file to 
> /home/qgis/.local/share/QGIS/QGIS3/profiles/default/cache/wfsprovider/pid_175770/cache_1.sqlite:
> 
> 16:47:16 WARNING [175770]: Warning: error parsing post data as XML: at 
> line 1, column 1: error occurred while parsing element. Assuming 
> urlencoded query string sent in the post body.
> 
> 16:47:18 WARNING [175770]: Warning: error parsing post data as XML: at 
> line 1, column 1: error occurred while parsing element. Assuming 
> urlencoded query string sent in the post body.
> 
> 16:47:18 WARNING [175770]: Warning: error parsing post data as XML: at 
> line 1, column 1: error occurred while parsing element. Assuming 
> urlencoded query string sent in the post body.
> 
> 16:47:22 WARNING [175770]: Warning: error parsing post data as XML: at 
> line 1, column 1: error occurred while parsing element. Assuming 
> urlencoded query string sent in the post body.
> 
> 16:47:26 WARNING [175770]: Warning: error parsing post data as XML: at 
> line 1, column 1: error occurred while parsing element. Assuming 
> urlencoded query string sent in the post body.
> 
> The Apache2/error.log:
> 
> [Mon May 30 17:00:47.894406 2022] [mpm_prefork:notice] [pid 768] 
> AH00163: Apache/2.4.41 (Ubuntu) mod_fcgid/2.3.9 OpenSSL/1.1.1f 
> mod_wsgi/4.6.8 Python/3.8 configured -- resuming normal operations
> 
> [Mon May 30 17:00:47.894416 2022] [core:notice] [pid 768] AH00094: 
> Command line: '/usr/sbin/apache2'
> 
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to 
> '/tmp/runtime-www-data'
> 
> Warning 1: Unable to find driver ECW to unload from GDAL_SKIP 
> environment variable.
> 
> Warning 1: Unable to find driver ECW to unload from GDAL_SKIP 
> environment variable.
> 
> Warning 1: Unable to find driver JP2ECW to unload from GDAL_SKIP 
> environment variable.
> 
> "Loading native module /usr/lib/qgis/server/libdummy.so"
> 
> "Loading native module /usr/lib/qgis/server/liblandingpage.so"
> 
> "Loading native module /usr/lib/qgis/server/libwcs.so"
> 
> "Loading native module /usr/lib/qgis/server/libwfs.so"
> 
> "Loading native module /usr/lib/qgis/server/libwfs3.so"
> 
> "Loading native module /usr/lib/qgis/server/libwms.so"
> 
> "Loading native module /usr/lib/qgis/server/libwmts.so"
> 
> proj_create: Error -38: failed to load datum shift file
> 
> proj_create: Error -38: failed to load datum shift file
> 
> proj_create: Error -38: failed to load datum shift file
> 
> QNetworkDiskCache::prepare() unable to open temporary file
> 
> QNetworkDiskCache::prepare() unable to open temporary file
> 
> QNetworkDiskCache::prepare() unable to open temporary file
> 
> QNetworkDiskCache::prepare() unable to open temporary file
> 
> The Apache2/access.log:
> 
> 89.244.189.20 - - [30/May/2022:17:04:33 +0200] "GET 
> /index.php/view/map/?repository=99&project=test_wfs HTTP/1.1" 200 10167 
> "https://wms101.webgis.biz/index.php/view/" "Mozilla/5.0 (Windows NT 
> 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0"
> 
> 89.244.189.20 - - [30/May/2022:17:04:33 +0200] "GET 
> /assets/favicon/android-icon-192x192.png HTTP/1.1" 200 35596 
> "https://wms101.webgis.biz/index.php/view/map/?repository=99&project=test_wfs" 
> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 
> Firefox/100.0"
> 
> 89.244.189.20 - - [30/May/2022:17:04:33 +0200] "GET 
> /index.php/lizmap/service/getProjectConfig?repository=99&project=test_wfs HTTP/1.1" 
> 200 3665 
> "https://wms101.webgis.biz/index.php/view/map/?repository=99&project=test_wfs" 
> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 
> Firefox/100.0"
> 
> 89.244.189.20 - - [30/May/2022:17:04:33 +0200] "GET 
> /index.php/lizmap/service/?repository=99&project=test_wfs&SERVICE=WMTS&REQUEST=GetCapabilities&VERSION=1.0.0 
> HTTP/1.1" 200 2978 
> "https://wms101.webgis.biz/index.php/view/map/?repository=99&project=test_wfs" 
> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 
> Firefox/100.0"
> 
> 89.244.189.20 - - [30/May/2022:17:04:33 +0200] "GET 
> /index.php/lizmap/service/?repository=99&project=test_wfs&SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.3.0 
> HTTP/1.1" 200 2778 
> "https://wms101.webgis.biz/index.php/view/map/?repository=99&project=test_wfs" 
> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 
> Firefox/100.0"
> 
> 89.244.189.20 - - [30/May/2022:17:04:33 +0200] "GET 
> /index.php/lizmap/service/?repository=99&project=test_wfs&SERVICE=WFS&REQUEST=GetCapabilities&VERSION=1.0.0 
> HTTP/1.1" 200 1979 
> "https://wms101.webgis.biz/index.php/view/map/?repository=99&project=test_wfs" 
> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 
> Firefox/100.0"
> 
> 89.244.189.20 - - [30/May/2022:17:04:36 +0200] "GET 
> /index.php/lizmap/service/?repository=99&project=test_wfs&LAYERS=geschwindigkeit&STYLES=default&VERSION=1.3.0&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fpng&DPI=96&TRANSPARENT=TRUE&SERVICE=WMS&REQUEST=GetMap&CRS=EPSG%3A25832&BBOX=404609.6561575848,5218037.103935158,538753.6744456216,5284315.361491675&WIDTH=2028&HEIGHT=1002 
> HTTP/1.1" 200 8365 
> "https://wms101.webgis.biz/index.php/view/map/?repository=99&project=test_wfs" 
> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 
> Firefox/100.0"
> 
> 89.244.189.20 - - [30/May/2022:17:04:40 +0200] "GET 
> /index.php/lizmap/service/?repository=99&project=test_wfs&LAYERS=geschwindigkeit&STYLES=default&VERSION=1.3.0&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fpng&DPI=96&TRANSPARENT=TRUE&SERVICE=WMS&REQUEST=GetMap&CRS=EPSG%3A25832&BBOX=334358.9300590856,5186154.768657367,602646.9666351589,5318711.283770396&WIDTH=2028&HEIGHT=1002 
> HTTP/1.1" 200 102128 
> "https://wms101.webgis.biz/index.php/view/map/?repository=99&project=test_wfs" 
> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 
> Firefox/100.0"
> 
> I hope this helps
> 
> Regards,
> 
> Günter
> 
> *Von:* Lizmap <lizmap-bounces at lists.osgeo.org> *Im Auftrag von *René-Luc 
> Dhont
> *Gesendet:* Montag, 30. Mai 2022 10:28
> *An:* lizmap at lists.osgeo.org
> *Betreff:* Re: [Lizmap] Publish WFS services in QGIS with Lizmap
> 
> Hi,
> 
> Here is the QGIS code
> 
> ```c
> // Creating a SpatiaLite database can be quite slow on some file systems
>    // so we create a GDAL in-memory file, and then copy it on
>    // the file system.
>    GDALDriverH hDrv = GDALGetDriverByName( "SQLite" );
>    if ( !hDrv )
>    {
>      logMessageWithReason( QStringLiteral( "GDAL SQLite driver not 
> available" ) );
>      return false;
>    }
>    const QString vsimemFilename = QStringLiteral( 
> "/vsimem/qgis_cache_template_%1/features.sqlite" ).arg( 
> reinterpret_cast< quintptr >( this ), QT_POINTER_SIZE * 2, 16, 
> QLatin1Char( '0' ) );
>    mCacheTablename = CPLGetBasename( vsimemFilename.toStdString().c_str() );
>    VSIUnlink( vsimemFilename.toStdString().c_str() );
>    const char *apszOptions[] = { "INIT_WITH_EPSG=NO", "SPATIALITE=YES", 
> nullptr };
>    GDALDatasetH hDS = GDALCreate( hDrv, 
> vsimemFilename.toUtf8().constData(), 0, 0, 0, GDT_Unknown, 
> const_cast<char **>( apszOptions ) );
>    if ( !hDS )
>    {
>      logMessageWithReason( QStringLiteral( "GDALCreate() failed: %1" 
> ).arg( CPLGetLastErrorMsg() ) );
>      return false;
>    }
>    GDALClose( hDS );
> 
>    // Copy the temporary database back to disk
>    vsi_l_offset nLength = 0;
>    GByte *pabyData = VSIGetMemFileBuffer( 
> vsimemFilename.toStdString().c_str(), &nLength, TRUE );
>    Q_ASSERT( !QFile::exists( mCacheDbname ) );
>    VSILFILE *fp = VSIFOpenL( mCacheDbname.toStdString().c_str(), "wb" );
>    if ( fp )
>    {
>      VSIFWriteL( pabyData, 1, nLength, fp );
>      VSIFCloseL( fp );
>      CPLFree( pabyData );
>    }
>    else
>    {
>      CPLFree( pabyData );
>      logMessageWithReason( QStringLiteral( "Cannot copy file to %1: %2" 
> ).arg( mCacheDbname ).arg( CPLGetLastErrorMsg() ) );
>      return false;
>    }
> ```
> 
> So the database to store WFS Features has been created in memory with 
> GDAL/OGR and the path "/vsimem/qgis_cache_template_%1/features.sqlite" 
> and will be write to disk in QGIS cache directory.
> 
> The mCacheDbname is defined like that:
> ```c
>    Q_ASSERT( mCacheDbname.isEmpty() );
> 
>    static QAtomicInt sTmpCounter = 0;
>    int tmpCounter = ++sTmpCounter;
>    QString cacheDirectory( acquireCacheDirectory() );
>    mCacheDbname = QDir( cacheDirectory ).filePath( QStringLiteral( 
> "cache_%1.sqlite" ).arg( tmpCounter ) );
>    Q_ASSERT( !QFile::exists( mCacheDbname ) );
> ```
> 
> In the log provided by Günter, we don't have enough reason. The 
> CPLGetLastErrorMsg is empty.
> 
> Günter, can you provide more logs arround the message "Cannot create 
> temporary SpatiaLite cache.: Cannot copy file to" ?
> 
> Regards,
> René-Luc DHONT
> 
> Le 30/05/2022 à 08:57, FANGAIN Marjorie a écrit :
> 
>     Hi,
> 
>     I’ve got also some problems with WFS layers for several months.
> 
>     I’ve created a ticket on github :
> 
>     https://github.com/3liz/lizmap-web-client/issues/2792
>     <https://github.com/3liz/lizmap-web-client/issues/2792>
> 
>     Marjorie *FANGAIN*
> 
>     *De :* Lizmap <lizmap-bounces at lists.osgeo.org>
>     <mailto:lizmap-bounces at lists.osgeo.org> *De la part de* Peter Berger
>     *Envoyé :* vendredi 27 mai 2022 11:26
>     *À :* G. Wagner, Wagner-IT <info at wagner-it.de>
>     <mailto:info at wagner-it.de>; lizmap at lists.osgeo.org
>     <mailto:lizmap at lists.osgeo.org>
>     *Objet :* Re: [Lizmap] Publish WFS services in QGIS with Lizmap
> 
>     EXTERNAL EMAIL
>     Original Sender:
>     SRS0=UtB1=WD=lists.osgeo.org=lizmap-bounces at osgeo.org
>     <mailto:SRS0=UtB1=WD=lists.osgeo.org=lizmap-bounces at osgeo.org>
> 
>     I made the same observation. On Windows 10 all WFS layers are well
>     displayed in Lizmap but not on a osgeolive linux installation with
>     the same QGIS file.
> 
>     Peter
> 
>     Von meinem iPhone gesendet
> 
> 
> 
> 
>         Am 27.05.2022 um 07:34 schrieb G. Wagner, Wagner-IT
>         <info at wagner-it.de <mailto:info at wagner-it.de>>:
> 
>         
> 
>         Hi everyone,
> 
>         I am trying to publish a WFS service integrated in QGIS with
>         QGIS Server/Lizmap (QGIS-Server 3.22.7, Lizmap 3.5.3).
> 
>         The corresponding layer name is displayed in the Lizmap client
>         but no data is displayed. Or sometimes and only once in a zoom
>         level.
> 
>         The error message in the QGIS error log could fit to this (cache
>         problem?):
> 
>         WARNING WFS[1497]: Cannot create temporary SpatiaLite cache.:
>         Cannot copy file to
>         /home/qgis/.local/share/QGIS/QGIS3/profiles/default/cache/wfsprovider/pid_1497/cache_1.sqlite:
> 
>         Creating the directories
>         "/home/qgis/.local/share/QGIS/QGIS3/profiles/default/cache/wfsprovider"
>         with appropriate permissions does not change anything.
> 
>         In the Apache error.log there is still the message:
> 
>         QNetworkDiskCache::prepare() unable to open temporary file
> 
>         In the Apache.conf is defined:
> 
>                  FcgidInitialEnv QGIS_SERVER_CACHE_DIRECTORY
>         "/home/qgis/cache"
> 
>         What am I doing wrong?
> 
>         Greeting
> 
>         Günter
> 
> 
> 
>     _______________________________________________
> 
>     Lizmap mailing list
> 
>     Lizmap at lists.osgeo.org  <mailto:Lizmap at lists.osgeo.org>
> 
>     https://lists.osgeo.org/mailman/listinfo/lizmap  <https://lists.osgeo.org/mailman/listinfo/lizmap>
> 
> 
> _______________________________________________
> Lizmap mailing list
> Lizmap at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/lizmap
> 


More information about the Lizmap mailing list