QGIS-Tipp: Der Pol der Unzugänglichkeit 2

Im “QGIS-Tipp: Der Pol der Unzugänglichkeit” [1] hatte ich im August schon etwas über den ins Polygon erzwungenen Flächenschwerpunkt mit QGIS-Bordmittel beschrieben. In der FOSSGIS-Talk-Mailingliste [2] kam diese Frage jetzt mal wieder auf, gefragt war der Schwerpunkt von Polygonen, die immer innerhalb des Polygons, aber dann im Thema (Layer) selbst liegen sollen, nicht in einem Extra-Layer [3]. Meine Lösung war, das Ganze über virtuellen Felder im QGIS zu lösen [4]. Also so:

"Ich habe mit dem Feldrechner zwei virtuelle Felder angelegt.

RW:  x_cent_virt = x(pole_of_inaccessibility($geometry,0.0001))
HW:  y_cent_virt = y(pole_of_inaccessibility($geometry,0.0001))

Über die virtuellen Felder werden die Inhalte, hier also x und y der Koordinate des Unzugänglichkeitspols bei jeder Geometrieänderung automatisch neu berechnet. Beim Export, z. B. in ein Shape werden die virtuellen Felder zu realen mit den Koordinaten der aktuell beim Speichern vorhandenen Geometrie.

Ich habe dazu mal ein kleines Test-Projekt gemacht, Ihr findet es unter  QGIS_PoleOfInaccessibility_Test1.zip [5]"
Screenshot 1: Virtuelle Felder anlegen, hier für den Rechtswert (mit der Genauigkeit muss man es nicht übertrieben 😉
Screenshot 2: Die virtuellen Felder in der Tabelle und auch zum Beschriften genutzt

[1] … https://geoobserver.de/2021/08/10/qgis-tipp-der-pol-der-unzuganglichkeit/
[2] … https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
[3] … https://lists.fossgis.de/pipermail/fossgis-talk-liste/2021-November/011652.html
[4] … https://lists.fossgis.de/pipermail/fossgis-talk-liste/2021-November/011661.html
[5] … http://www.geoobserver.de/Download/QGIS_PoleOfInaccessibility_Test1.zip

Ein Gedanke zu „QGIS-Tipp: Der Pol der Unzugänglichkeit 2

  1. Hier noch ein Kommentar aus der QGIS-Community-Gruppe im Facebook, vgl: https://www.facebook.com/groups/612486875596534/posts/1986233128221895/?comment_id=1988015858043622

    A variation on this, which might be neater for some applications, is to create a single new field using:
    with_variable( ‘poi’, pole_of_inaccessibility( $geometry, 0.0001 ),
    format( ‘POINT( %1 %2 )’,
    format_number( x(@poi), 3 ),
    format_number( y(@poi), 3 ) )
    )
    or just:
    geom_to_wkt( pole_of_inaccessibility( $geometry, 0.00001 ), 3 )
    Which will create a new text field containing the centroid geometry in WKT format.
    You might then add a geometry generator symbol layer with the simple expression:
    geom_from_wkt(“POI_field”)
    …which will display the centroid points along with their polygons.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert