Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Thu 25 October 2018 18:14

Raph Sorlin
Juste Inscrit !
Lieu: Saint-Paul
Date d'inscription: 25 Oct 2018
Messages: 5

Lizmap - QGIS Server et cadastre

Bonjour à vous,

Après moult tentatives pour trouver une solution à mon problème solitairement, je pense que le temps est venu de lancer un appel à l’aide !

J’officie en collectivité en tant que chargé de mission SIG et j’utilise Lizmap pour ouvrir le parcellaire cadastral (avec MAJIC 3) aux communes membres de ma communauté de communes.

L’outil est hébergé sur un serveur Debian 9.5 (chez OVH), avec Nginx, Php7, QGIS Server, PostgreSQL 10.5 – PostGis 2.4 et QGIS Las Palmas. Et j’ai bien sûr le plugin cadastre pour le projet en question.

Le problème survient lors de l’édition d’un relevé parcellaire, le PDF n’est pas édité et la page m’affiche « Erreur de création du relevé » suivie, après un retour sur la page d’accueil des projets Lizmap, d’un « QGIS Server has not returned expected response ». J’avais eu un problème similaire auparavant en désactivant le WFS de la clé primaire de la table parcelle sur QGIS, mais ce n’est pas le cas cette fois-ci.
Je me suis donc redirigé vers le log de QGIS Server, mais là j’avoue n’avoir rien vue de particulier. N’ayant pas un niveau de compréhension élevé de ce langage, je vous le transmets.
1°) Lorsque que je clique sur une parcelle :

Code:

[10481][09:29:07] WFSFilter.responseComplete
[10481][09:29:07] Sending HTTP response
[10482][09:29:11] inserting pair BBOX // 287847.894027,5282930.813173,288976.534523,5283473.635507 into the parameter map
[10482][09:29:11] inserting pair CRS // EPSG:3857 into the parameter map
[10482][09:29:11] inserting pair EXCEPTIONS // application/vnd.ogc.se_inimage into the parameter map
[10482][09:29:11] inserting pair FEATURE_COUNT // 10 into the parameter map
[10482][09:29:11] inserting pair FI_LINE_TOLERANCE // 10 into the parameter map
[10482][09:29:11] inserting pair FI_POINT_TOLERANCE // 20 into the parameter map
[10482][09:29:11] inserting pair FI_POLYGON_TOLERANCE // 5 into the parameter map
[10482][09:29:11] inserting pair FORMAT // image/png into the parameter map
[10482][09:29:11] inserting pair HEIGHT // 909 into the parameter map
[10482][09:29:11] inserting pair I // 584 into the parameter map
[10482][09:29:11] inserting pair INFO_FORMAT // text/xml into the parameter map
[10482][09:29:11] inserting pair J // 336 into the parameter map
[10482][09:29:11] inserting pair LAYERS // ligne,point,Parcelles into the parameter map
[10482][09:29:11] inserting pair MAP // /srv/data/cadastre/cadastre.qgs into the parameter map
[10482][09:29:11] inserting pair QUERY_LAYERS // ligne,point,Parcelles into the parameter map
[10482][09:29:11] inserting pair REQUEST // GetFeatureInfo into the parameter map
[10482][09:29:11] inserting pair SERVICE // WMS into the parameter map
[10482][09:29:11] inserting pair STYLES // default,default,default into the parameter map
[10482][09:29:11] inserting pair VERSION // 1.3.0 into the parameter map
[10482][09:29:11] inserting pair WIDTH // 1890 into the parameter map
[10482][09:29:11] WFSFilter.requestReady
[10482][09:29:11] BBOX // 287847.894027,5282930.813173,288976.534523,5283473.635507
[10482][09:29:11] CRS // EPSG:3857
[10482][09:29:11] EXCEPTIONS // application/vnd.ogc.se_inimage
[10482][09:29:11] FEATURE_COUNT // 10
[10482][09:29:11] FI_LINE_TOLERANCE // 10
[10482][09:29:11] FI_POINT_TOLERANCE // 20
[10482][09:29:11] FI_POLYGON_TOLERANCE // 5
[10482][09:29:11] FORMAT // image/png
[10482][09:29:11] HEIGHT // 909
[10482][09:29:11] I // 584
[10482][09:29:11] INFO_FORMAT // text/xml
[10482][09:29:11] J // 336
[10482][09:29:11] LAYERS // ligne,point,Parcelles
[10482][09:29:11] MAP // /srv/data/cadastre/cadastre.qgs
[10482][09:29:11] QUERY_LAYERS // ligne,point,Parcelles
[10482][09:29:11] REQUEST // GetFeatureInfo
[10482][09:29:11] SERVICE // WMS
[10482][09:29:11] STYLES // default,default,default
[10482][09:29:11] VERSION // 1.3.0
[10482][09:29:11] WIDTH // 1890
[10482][09:29:11] enable on the fly projection
[10482][09:29:11] mMapRenderer->extent(): 287847.8940267823054455,5282930.8131729997694492 : 288976.5345232177060097,5283473.6355069996789098
[10482][09:29:11] mMapRenderer width = 1890 height = 909
[10482][09:29:11] mMapRenderer->mapUnitsPerPixel() = 0.597164
[10482][09:29:11] Calculating layerset using 3 layers, 3 styles and CRS WGS 84 / Pseudo Mercator
[10482][09:29:11] Trying to get layer ligne//default
[10482][09:29:11] Checking layer: ligne
[10482][09:29:11] Trying to get layer point//default
[10482][09:29:11] Checking layer: point
[10482][09:29:11] Trying to get layer Parcelles//default
[10482][09:29:11] Checking layer: Parcelles
[10482][09:29:11] Info format is:text/xml
[10482][09:29:11] Checking byte array is ok to set...
[10482][09:29:11] Byte array looks good, setting response...
[10482][09:29:11] WFSFilter.responseComplete
[10482][09:29:11] Sending HTTP response

2°) Lorsque que je demande un relevé parcellaire :

Code:

[10481][09:31:12] inserting pair FEATUREID // Parcelles.28889 into the parameter map
[10481][09:31:12] inserting pair GEOMETRYNAME // none into the parameter map
[10481][09:31:12] inserting pair MAP // /srv/data/cadastre/cadastre.qgs into the parameter map
[10481][09:31:12] inserting pair OUTPUTFORMAT // GeoJSON into the parameter map
[10481][09:31:12] inserting pair PROPERTYNAME // geo_parcelle into the parameter map
[10481][09:31:12] inserting pair REQUEST // GetFeature into the parameter map
[10481][09:31:12] inserting pair SERVICE // WFS into the parameter map
[10481][09:31:12] inserting pair TYPENAME // Parcelles into the parameter map
[10481][09:31:12] inserting pair VERSION // 1.0.0 into the parameter map
[10481][09:31:12] WFSFilter.requestReady
[10481][09:31:12] Info format is:GeoJSON
[10481][09:31:12] Sending HTTP response
[10481][09:31:12] Sending HTTP response
[10481][09:31:12] Sending HTTP response
[10481][09:31:12] WFSFilter.responseComplete
[10481][09:31:12] Sending HTTP response
[10481][09:31:12] Trying to send out an invalid response
[10482][09:31:12] inserting pair LAYER // Parcelles into the parameter map
[10482][09:31:12] inserting pair MAP // /srv/data/cadastre/cadastre.qgs into the parameter map
[10482][09:31:12] inserting pair PARCELLE // 2018660107000AX0050 into the parameter map
[10482][09:31:12] inserting pair REQUEST // createPdf into the parameter map
[10482][09:31:12] inserting pair SERVICE // CADASTRE into the parameter map
[10482][09:31:12] inserting pair TYPE // parcelle into the parameter map
[10482][09:31:12] WFSFilter.requestReady
[10482][09:31:12] Checking byte array is ok to set...
[10482][09:31:12] Byte array looks good, setting response...
[10482][09:31:12] WFSFilter.responsoriale
[10482][09:31:12] Sending HTTP response

Le log de PostgreSQL ne donne pas d’erreur sur le schéma de BDD.

Ce blocage est arrivé peu de temps après le passage à la version 2018 des données cadastrales (MAJIC et PCI vecteur) et au changement de ma clé API de l’IGN.
L’autre incompréhension vient aussi de mon hébergement. J’ai remonté une sauvegarde de mon serveur postérieur à ce problème, et il est quand même survenue avec celle-ci.
Les logiciels sont à jour et fonctionnent pour les autres projets, de même que l’impression de carte en PDF.

Si vous avez eu un problème similaire ou si vous avez des pistes, je suis tout ouïe !

Merci d’avance


Raphaël Sorlin
Chargé de Mission SIG

Hors ligne

 

#2 Fri 26 October 2018 10:32

mfangain
Participant actif
Date d'inscription: 12 Jun 2012
Messages: 88

Re: Lizmap - QGIS Server et cadastre

Bonjour,

Si je comprends bien, sur d'autres projets l'édition des mises en page fonctionne mais pas sur ce projet.
Y a-t-il d'autres mises en pages prédéfinies sur ce projet? Si oui, fonctionnent-elles?

Votre mise en page comporte-t-elle un atlas, des tables attributaires? Si oui, l'édition fonctionne-t-elle depuis votre projet QGIS? Si le problème se produit depuis la mise à jour des données, il se peut que le problème soit lié : il arrive souvent que la structuration des données cadastrales change d'une année à l'autre. Dans ce cas, l'édition de tables attributaires pourrait être perturbée.

Voici quelques pistes de réflexion...

MFANGAIN

Hors ligne

 

#3 Fri 26 October 2018 13:54

Raph Sorlin
Juste Inscrit !
Lieu: Saint-Paul
Date d'inscription: 25 Oct 2018
Messages: 5

Re: Lizmap - QGIS Server et cadastre

Bonjour,
Merci pour votre message.

Pour vous répondre point par point :

- Le module cadastre de Lizmap permet d'éditer des relevés de propriété pour chaque parcelle. Cette option marche très bien en local, sur QGIS, avec le nouveau cadastre (édition PDF de relevé). Les autres projets ont seulement l'impression de plan format PDF ; l'option marche très bien.

- Il n'y a pas d'atlas sur le projet. Il y a bien une table attributaire définie dans Lizmap, il s'agit de la table Parcelle (option que j'ai tournée dans tous les sens pour trouver une possible cause à ce problème). Elle n'est cependant pas éditable. Les seuls éléments éditables sont extérieurs au schéma cadastre.

- J'ai refait le projet QGIS dans sa totalité pour voir si le problème ne venait pas du changement de structuration du cadastre (et donc que l'ancien projet ne convenait plus). Cela n'a malheureusement rien changé.

Raphaël


Raphaël Sorlin
Chargé de Mission SIG

Hors ligne

 

#4 Fri 23 November 2018 12:28

Raph Sorlin
Juste Inscrit !
Lieu: Saint-Paul
Date d'inscription: 25 Oct 2018
Messages: 5

Re: Lizmap - QGIS Server et cadastre

Bonjour,

Une nouvelle piste par le log de Lizmap :

Code:

2018-11-23 12:12:43          notice  2018-11-23 12:12:43     [8]    Trying to get property of non-object     /srv/lizmap_web_client/lizmap/lizmap-modules/cadastre/controllers/service.classic.php   62

2018-11-23 12:12:43          warning 2018-11-23 12:12:43     [2]    Invalid argument supplied for foreach()  /srv/lizmap_web_client/lizmap/lizmap-modules/cadastre/controllers/service.classic.php   62

La ligne 62 est entouré du script suivant :

Code:

[...]        // Get created PDFs
        $data = $result->data;
        $pdfs = array();
        $tok = Null;
        foreach( $data->data->tokens as $token ){       //ligne 62
            $tok = $token;
            $request = new lizmapCadastreRequest(
                $p,
                array(
                    'service'=>'CADASTRE',
                    'request'=>'getPdf',
                    'token'=> $token
                )
            );
            $result = $request->process();
            if( $result->mime != 'application/pdf'){
                continue;
            }
            $pdfs[$token] = $result->data;
        }
        if( count($pdfs) == 1 ){
            $rep = $this->getResponse('binary');
            $rep->mimeType = 'application/pdf';
            $rep->content = $pdfs[$tok];
            $rep->doDownload  =  false;
            $rep->outputFileName = 'cadastre_' . $tok . '.pdf';
        }else if(count($pdfs) == 0){
            $rep = $this->getResponse('text');
            $rep->content = 'Erreur de création du relevé.';
            return $rep;
[...]

Quelqu'un pourrait-il m'expliquer ce script ? Merci !

Dernière modification par Raph Sorlin (Fri 23 November 2018 13:23)


Raphaël Sorlin
Chargé de Mission SIG

Hors ligne

 

#5 Mon 26 November 2018 08:53

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 713

Re: Lizmap - QGIS Server et cadastre

Bonjour,
Malheureusement pas de réponse à votre problème, mais je vous encourage à déposer votre question sur le github de 3Liz :
https://github.com/3liz/lizmap-web-client/issues
Vous aurez certainement la réponse adéquate.
Bonne journée.

Hors ligne

 

#6 Mon 26 November 2018 15:40

Raph Sorlin
Juste Inscrit !
Lieu: Saint-Paul
Date d'inscription: 25 Oct 2018
Messages: 5

Re: Lizmap - QGIS Server et cadastre

Merci pour votre réponse.
Malheureusement, la page Github est plus utilisée pour signaler une erreur dans le code.
De plus, le script en question (qui fait partie du module cadastre) n'est pas présent dans leur Github à ce jour.

Mon questionnement porte plus sur ce que représentent '$pdfs' et '$token' dans la fonction array (), en sachant que le log Qgis Server ne signal aucun problème :

Code:

[21963][15:05:52] Checking byte array is ok to set...
[21963][15:05:52] Byte array looks good, setting response...

Le tableau est peut-être NULL, mais ce n'est pas visible.


Raphaël Sorlin
Chargé de Mission SIG

Hors ligne

 

#7 Mon 26 November 2018 16:02

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 713

Re: Lizmap - QGIS Server et cadastre

Les membres de 3Liz et les contributeurs du projet sont en général réactifs.
Cela ne vous coûte rien de poster, d'autant que les posts concernent autant les bugs que les fonctionnalités.

Hors ligne

 

#8 Thu 29 November 2018 09:20

Raph Sorlin
Juste Inscrit !
Lieu: Saint-Paul
Date d'inscription: 25 Oct 2018
Messages: 5

Re: Lizmap - QGIS Server et cadastre

Le lien vers la requête sur le Github Lizmap (au cas où il y aurait la réponse au problème) : https://github.com/3liz/lizmap-web-client/issues/1020


Raphaël Sorlin
Chargé de Mission SIG

Hors ligne

 

Pied de page des forums

Powered by FluxBB