[FOSSGIS-Talk] Schwerpunkt von Polygonen

mike at elstermanns.de mike at elstermanns.de
Mi Nov 10 15:15:39 CET 2021


Hallo zusammen,

was haltet Ihr davon, das Ganze im QGIS über virtuelle Felder zu lösen?
z. B. so: Ich habe mit dem Feldrechner zwei virtuelle Felder angelegt.

Für den RW:  x_cent_virt = x(pole_of_inaccessibility($geometry,0.0000000001))
Für den HW:  y_cent_virt = y(pole_of_inaccessibility($geometry,0.0000000001))

Ü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-Ptojekt gemacht, Ihr findet es unter
http://www.geoobserver.de/Download/QGIS_PoleOfInaccessibility_Test1.zip

BG aus HAL, mikeE., der #geoObserver

> Am 10.11.2021 um 11:25 schrieb Bernd Vogelgesang <bernd.vogelgesang at gmx.de>:
> 
> Puh, schwere Geburt.
> 
> Also will das Boris von Dir (warum auch immer) eine Spalte/n mit den
> Schwerpunktkoordinaten.
> 
> Ok, und diese Koordinaten füllst Du automatisch aus, und liegen nicht
> immer innerhalb des Polygons.
> 
> Beschreibe, doch bitte mal Dein "automatisiert" etwas genauer
> 
> On 10.11.21 11:20, Köhler Michael wrote:
>> Ich habe mir in den Layereigenschaften im Reiter Attributformular ein Layout zusammengestellt mit Attributen, die ich zu jedem Polygon erfassen möchte. Dazu gehört auch der X-/Y-Wert, welcher natürlich automatisiert ausgefüllt wird und dadurch teilweise außerhalb der Polygone liegt. Und diese Werte sollten so sein, dass der X/Y-Wert innerhalb der Polygone liegt.
>> 
>> Das KS ist in beiden Programmen das ETRS89 UTM32.
>> 
>> 
>> 
>> -----Ursprüngliche Nachricht-----
>> Von: Bernd Vogelgesang [mailto:bernd.vogelgesang at gmx.de]
>> Gesendet: Mittwoch, 10. November 2021 11:09
>> An: Köhler Michael <michael.koehler at giszentrum.de>
>> Cc: FOSSGIS-Talk-Liste at fossgis.de
>> Betreff: Re: AW: [FOSSGIS-Talk] Schwerpunkt von Polygonen
>> 
>> Ok, da steht ich jetzt echt auf dem Schlauch.
>> 
>> Durch "Ändern" der x/y-Werte Deiner Polygonstützpunkte soll genau was passieren? Und ändern zu was?
>> 
>> Die Form der Polygone soll doch gleich bleiben, also wird der Schwerpunkt weiterhin außerhalb liegen.
>> 
>> Und außerdem haben Attribute eines Layers nix mit deren Geometrien zu tun, da kannst Du so viel ändern wie Du willst.
>> 
>> Ok, Neustart: In welchem Koordinatenbezugssytem hast Du Deine Polygone digitalisiert, und welches Bezugssystem erwartet das Boris-Dings?
>> Vielleicht liegt ja da das Problem.
>> 
>> On 10.11.21 10:46, Köhler Michael wrote:
>>> Hallo Bernd,
>>> 
>>> Es geht darum, dass beim einlesen in ein anderes Programm (BORIS-BW, es geht um die Digitalisierung von Bodenrichtwertkarten) eine Fehlermeldung erscheint, wenn der Schwerpunkt des Polygons nicht innerhalb des Polygons liegt.
>>> Daher benötige ich meines Wissens keinen zusätzlichen Punktelayer, sondern der X- und Y-Wert der Polygone müsste geändert werden. Und wie ich zuvor bereits beschrieben hatte, werden meine Änderungen an den Attributen beim Speichern leider nicht übernommen.
>>> 
>>> Gruß
>>> Michael
>>> 
>>> 
>>> -----Ursprüngliche Nachricht-----
>>> Von: Bernd Vogelgesang [mailto:bernd.vogelgesang at gmx.de]
>>> Gesendet: Mittwoch, 10. November 2021 10:26
>>> An: Köhler Michael <michael.koehler at giszentrum.de>; Andreas Neumann
>>> <a.neumann at carto.net>
>>> Cc: FOSSGIS-Talk-Liste at fossgis.de
>>> Betreff: Re: [FOSSGIS-Talk] Schwerpunkt von Polygonen
>>> 
>>> Hallo Michael,
>>> 
>>> ich habe das Gefühl, dass Du da konzeptionell irgendwie auf dem Holzweg bist.
>>> 
>>> Polygon != Punkt
>>> 
>>> Wie willst Du einen Punkt in einen Polygonlayer einfügen? Dafür braucht es immer einen eigenen Punktlayer.
>>> 
>>> Was aber auf Basis der Symbolisierung möglich sein sollte, ist das Anlegen einer zusätzlichen Symbolisierung des Schwerpunktes mittels Geometry generator über dem Polygon. Das ändert an den Daten nix, sondern errechnet den Punkt und stellt ihn einfach dar.
>>> 
>>> Formel dafür habe ich leider nicht parat. Hilfreich wäre natürlich auch zu wissen, wozu die ganzen Sperenzchen überhaupt dienen sollen. Denn vielleicht willst Du am Ende was ganz anderes erreichen, was möglicherweise völlig anders funktionieren könnte.
>>> 
>>> 
>>> Gruß,
>>> 
>>> Bernd
>>> 
>>> 
>>> On 10.11.21 10:14, Köhler Michael wrote:
>>>> Hallo Andreas,
>>>> 
>>>> Danke für deine Antworten! Allerdings hilft mir das momentan noch nicht weiter.
>>>> Ich hätte gerne, dass der Schwerpunkt des entsprechenden Polygons im eigenen Layer überschrieben wird. Also ich möchte keinen zusätzlichen Layer erstellen, sondern im Grunde lediglich die X- und Y-Koordinaten meines Polygons ändern. Das Problem dabei ist leider, dass die Änderungen beim Speichern nicht übernommen werden. Daher dachte ich, dass es evtl. in den Layereigenschaften eine Einstellung gibt, über die der Schwerpunkt innerhalb des Polygons erzwungen wird, ähnlich wie bei den Beschriftungseinstellungen.
>>>> 
>>>> Grüße
>>>> Michael
>>>> 
>>>> 
>>>> 
>>>> Von: Andreas Neumann [mailto:a.neumann at carto.net]
>>>> Gesendet: Mittwoch, 10. November 2021 09:54
>>>> An: Köhler Michael <michael.koehler at giszentrum.de>
>>>> Cc: FOSSGIS-Talk-Liste at fossgis.de
>>>> Betreff: Re: [FOSSGIS-Talk] Schwerpunkt von Polygonen
>>>> 
>>>> 
>>>> Hallo nochmals,
>>>> 
>>>> Als Alternative zu "Point on Surface" gibt es noch "Pole of
>>>> Inaccessibility":
>>>> https://docs.qgis.org/3.22/en/docs/user_manual/processing_algs/qgis/v
>>>> e ctorgeometry.html#qgispoleofinaccessibility
>>>> 
>>>> Wie die meisten Algorithmen steht das sowohl als Processing Algorithmus als auch als QGIS Expression zur Verfügung.
>>>> 
>>>> Pole of Inaccessibility berechnet einen Punkt im Polygon mit Hilfe dessen der grösstmögliche Kreis ins Polygon eingepasst weden kann. Als Retourwert kriegst du den neu berechneten Punkt wie auch den Radius des Kreises. Das gibt oft noch die schönere Resultate als "Point on Surface", aber ists auch etwas aufwendiger in der Berechnung.
>>>> 
>>>> Perrsönlich bin ich ein grosser Fan von "Pole of Inaccessibility" (in Postgis heisst das ST_MaximumInscribedCircle()) - es hilft um zu schmale Polygone zu finden, die man zb. nicht gut beschriften kann (oder die Beschriftung abkürzen muss), oder in die man z.b. kein Haus mit einer Mindestgrösse reinbauen kann (für Parzellen).
>>>> 
>>>> Grüsse,
>>>> 
>>>> Andreas
>>>> 
>>>> On 2021-11-10 09:33, Köhler Michael wrote:
>>>> Hallo zusammen,
>>>> 
>>>> Ich habe mehrere Polygone in einem Layer , bei manchen liegt der Schwerpunkt allerdings außerhalb des Polygons.
>>>> Gibt es in QGIS eine Einstellung oder ein Tool, mit welchem ich festlegen kann, dass der Schwerpunkt immer innerhalb des Polygons liegt?
>>>> 
>>>> Danke und Gruß
>>>> Michael
>>>> 
>>>> 
> -- 
> ....................................................................
> FOSSGIS Veranstaltungen
> https://www.fossgis.de/news/fossgis-events/
> 
> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
> GIS-Bereich und Freier Geodaten!
> https://www.fossgis.de/             https://twitter.com/FOSSGIS_Verein
> 
> ____________________________________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste



Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste