J'ai une source WFS externe servant des types de géométrie mixtes - en d'autres termes, je n'ai aucun contrôle sur la source. Lors de l'ajout de la couche, QGIS définit le type de géométrie sur la ligne et je ne peux donc pas styliser les points et les polygones également contenus dans la couche.
Nathan W déclare dans un commentaire qu'une couche dans QGIS ne peut contenir qu'un seul type de géométrie. Si je pouvais définir explicitement le type de géométrie sur une couche, je pourrais ajouter la couche trois fois et utiliser une couche pour chaque type de géométrie.
Est-il possible de forcer le type de géométrie sur une couche (WFS) dans QGIS?
Ou existe-t-il une autre méthode que je pourrais utiliser pour styliser correctement toutes les fonctionnalités de ma couche WFS?
SELECT * from WFS_layer WHERE GeometryType(geometry)='POINT'
Réponses:
Dans QGIS 3.6, cela n'est pas possible si vous ajoutez le WFS via le panneau du navigateur. Cependant, si vous ajoutez le WFS via Couche> Ajouter une couche> Ajouter une couche WFS, vous pouvez alors appliquer SQL à la couche.
Donc, à partir de zéro, procédez comme suit:
geometryType(geom_field) = 'LineString'
remplacement de geom_field par le nom du champ qui stocke la géométrie. Vous devriez pouvoir le trouver dans la liste déroulante Colonnes à droite. Les options de géométrie incluent Point, MultiPoint, LineString, LinearRing, MultiLineString, Polygon, MultiPolygon, GeometryCollectionClick OK.Je n'ai trouvé cela nulle part et je l'ai compris moi-même en utilisant une partie de la réponse à cette question comme point de départ. J'espère que cela aide les autres à rechercher la même solution de contournement jusqu'à ce que QGIS le facilite un peu.
la source
Pour autant que je sache, ce n'est actuellement pas possible, mais il existe déjà une demande de fonctionnalité connexe: https://issues.qgis.org/issues/17372
Vérification juste maintenant avec l'
bag:verblijfsobject
exemple des commentaires:Une requête comme la suivante (où nous ne sélectionnons pas la géométrie du point), dans le cadre des informations de connexion dans Data Source Manager | WFS> Build Query, les points sont retournés.
SELECT verblijfsobject.identificatie, verblijfsobject.oppervlakte, verblijfsobject.status, verblijfsobject.gebruiksdoel, verblijfsobject.openbare_ruimte, verblijfsobject.huisnummer, verblijfsobject.huisletter, verblijfsobject.toevoeging, verblijfsobject.postcode, verblijfsobject.woonplaats, verblijfsobject.actualiteitsdatum, verblijfsobject.bouwjaar, verblijfsobject.pandstatus, verblijfsobject.pandgeometrie FROM verblijfsobject
la source