Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Couches EFS non ajoutables dans QGIS 3.28 #466

Closed
SimonSAMPERE opened this issue Jul 6, 2023 · 3 comments
Closed

Couches EFS non ajoutables dans QGIS 3.28 #466

SimonSAMPERE opened this issue Jul 6, 2023 · 3 comments
Assignees
Labels
bug Problème par rapport au fonctionenment attendu geoservices lié à l'utilisation des service géographiques
Milestone

Comments

@SimonSAMPERE
Copy link
Collaborator

SimonSAMPERE commented Jul 6, 2023

Détecté ici

Avec les service https://carto.isogeo.net/server/rest/services/scan_services_1/EMS_EFS_WMS_WFS/FeatureServer/ on peut seulement ajouter les couches dans QGIS 3.22. Pour info c'est la même version de Python (3.9.5) pour QGIS 3.22 et QGIS 3.28.
J'ai rien trouvé à ce sujet dans les différents Changelogs :

Le code suivant permet effectivement d'ajouter une couche EFS dans QGIS 3.22.* mais pas dans QGIS 3.28.4 ni dans QGIS 3.28.8 :

# -*- coding: utf-8 -*-
from qgis.core import QgsDataSourceUri, QgsProject, QgsVectorLayer
from owslib.wfs import WebFeatureService

wfs_url_base = "crs='EPSG:2154' filter='' url='https://carto.isogeo.net/server/rest/services/scan_services_1/EMS_EFS_WMS_WFS/FeatureServer/2' table='' sql=''"
lyr = QgsVectorLayer(wfs_url_base, baseName="efs_arcgisserver", providerLib="arcgisfeatureserver")
QgsProject.instance().addMapLayer(lyr)

En utilisant l'Outil de débogage/développement, je me suis rendu compte que QGIS requête un URL plus complexe en indiquant la liste des Id des entités à requêter. On note également que les paramètres correspondant au CRS sont différentes. Par exemple pour la couche "ISOGEO_TEST.Un_joli_polygone" qui contient une seule entité :
https://carto.isogeo.net/server/rest/services/scan_services_1/EMS_EFS_WMS_WFS/FeatureServer//11/query?f=json&objectIds=1&inSR=2154&outSR=2154&returnGeometry=true&outFields=*&returnM=false&returnZ=false

Et apparemment le morceau de code suivant fonctionne dans QGIS 3.28 :

# -*- coding: utf-8 -*-
from qgis.core import QgsDataSourceUri, QgsProject, QgsVectorLayer
from owslib.wfs import WebFeatureService

wfs_url_base = "crs='EPSG:2154' url='https://carto.isogeo.net/server/rest/services/scan_services_1/EMS_EFS_WMS_WFS/FeatureServer//11/'"
lyr = QgsVectorLayer(wfs_url_base, baseName="efs_arcgisserver", providerLib="arcgisfeatureserver")
QgsProject.instance().addMapLayer(lyr)

Ressources :

J'ai créé ce ticket dans le dépôt GitHub de QGIS, en espérant avoir plus d'infos : qgis/QGIS#53736
J'ai également posté une question sur GIS StackExchange : https://gis.stackexchange.com/questions/463079/creating-qgsvectorlayer-from-arcgis-feature-service-layer-using-python-doesnt-w

@SimonSAMPERE SimonSAMPERE added bug Problème par rapport au fonctionenment attendu geoservices lié à l'utilisation des service géographiques labels Jul 6, 2023
@SimonSAMPERE SimonSAMPERE added this to the 3.4.1 milestone Jul 6, 2023
@SimonSAMPERE SimonSAMPERE self-assigned this Jul 6, 2023
SimonSAMPERE added a commit that referenced this issue Jul 11, 2023
SimonSAMPERE added a commit that referenced this issue Jul 11, 2023
@SimonSAMPERE
Copy link
Collaborator Author

Finalement il suffisait d'enlever filter='', table='' et sql='' de la variable wfs_url_base, j'ai donc répondu à ma question sur GIS StackExchange et commenté mon ticket dans le dépôt GitHub de QGIS.

@SimonSAMPERE
Copy link
Collaborator Author

Recette

Vérifier qu'on peut bien ajouter les couches issues d'EFS en utilisant le plugin Isogeo dans QGIS 3.22 et QGIS 3.28.

SimonSAMPERE added a commit that referenced this issue Dec 18, 2023
@SimonSAMPERE
Copy link
Collaborator Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Problème par rapport au fonctionenment attendu geoservices lié à l'utilisation des service géographiques
Projects
None yet
Development

No branches or pull requests

1 participant