Ich habe eine externe WFS-Quelle, die gemischte Geometrietypen bedient - mit anderen Worten, ich habe keine Kontrolle über die Quelle. Beim Hinzufügen der Ebene setzt QGIS den Geometrietyp auf Linie und daher kann ich die Punkte und Polygone, die auch in der Ebene enthalten sind, nicht formatieren.
Nathan W gibt in einem Kommentar an, dass eine Ebene in QGIS nur einen Geometrietyp enthalten kann. Wenn ich den Geometrietyp auf einer Ebene explizit festlegen könnte, könnte ich die Ebene dreimal hinzufügen und für jeden Geometrietyp eine Ebene verwenden.
Ist es möglich, den Geometrietyp auf einer (WFS) Ebene in QGIS zu erzwingen?
Oder gibt es eine andere Methode, mit der ich alle Funktionen in meiner WFS-Ebene korrekt formatieren kann?
SELECT * from WFS_layer WHERE GeometryType(geometry)='POINT'
Antworten:
In QGIS 3.6 ist dies nicht möglich, wenn das WFS über das Browserfenster hinzugefügt wird. Wenn Sie das WFS jedoch über Ebene> Ebene hinzufügen> WFS-Ebene hinzufügen hinzufügen, können Sie SQL auf die Ebene anwenden.
Gehen Sie also von Grund auf wie folgt vor:
geometryType(geom_field) = 'LineString'
Fügen Sie in der Where-Klausel Folgendes hinzu: Ersetzen Sie geom_field durch den Namen des Felds, in dem die Geometrie gespeichert ist. Sie sollten dies in der Dropdown-Liste Spalten rechts finden. Zu den Geometrieoptionen gehören Point, MultiPoint, LineString, LinearRing, MultiLineString, Polygon, MultiPolygon und GeometryCollection. Klicken Sie auf OK.Ich konnte das nirgendwo finden und habe es selbst herausgefunden, indem ich einen Teil der Antwort auf diese Frage als Ausgangspunkt verwendet habe. Ich hoffe, es hilft anderen, nach der gleichen Problemumgehung zu suchen, bis QGIS es ein bisschen einfacher macht.
quelle
Soweit ich weiß, ist dies derzeit nicht möglich, es liegt jedoch bereits eine entsprechende Funktionsanforderung vor: https://issues.qgis.org/issues/17372
Überprüfen Sie gerade jetzt mit dem
bag:verblijfsobject
Beispiel aus den Kommentaren:Eine Abfrage wie die folgende (bei der die Punktgeometrie nicht ausgewählt wird) als Teil der Verbindungsinformationen im Datenquellen-Manager | WFS> Build Query führt dazu, dass die Punkte zurückgegeben werden.
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
quelle