[FOSSGIS-Talk] QGIS - Flächenberechnung per Trigger für GeoPackage auch ellipsoidisch möglich?

Bernd Marcus bmarcus at giswana.de
Do Okt 22 13:16:57 CEST 2026


@Klaus:
>Also bei mir werden die Flächen dann korrekt berechnet. Mit Trigger in
>GPKG. Also verwende `ST_Area(geom, 1)` , dann wird der Ellipsoid des
>EPSG 25832 verwendet. Geht ab Gdal 3.9

Wie bzw. mit welchem Werkzeug erstellst du denn einen Trigger, 
damit `ST_Area(geom, 1)` aus einem metrischen Koordinatensystem einen 
Flächenwert berechnet? Ich habe mal ein bisschen rumgespielt, doch abseits von 
WGS84 wird bei mir stets NULL zurückgegeben, wie in der Referenz von 
libspatialite beschrieben.

Meine Spielerei sah u.a. folgendermaßen aus, um die im Raum stehenden 
Flächenberechnungsverfahren und deren Ergebnisse miteinander zu vergleichen: 
den Centroiden, den nördlichsten, östlichesten, südlichsten und westlichsten 
Punkt eines Deutschland-Layers (EPSG 25832) extrahiert, hierum einen Puffer von 
50m und dann Bounding Boxes erzeugt. Anschließend in QGIS mit `$area` und 
`area(geometry)` die Flächen über den Ellipsoiden bzw. planar berechnet. Die 
Polygone nach WGS84 reprojeziert und eine weitere Flächenberechnungen mit 
`st_area(geom, 1)` sowie `st_area(geom, 1)` durchgeführt.
Das Ergebnis sah dann folgendermaßen aus::

planar:
pos   |   area(geometry)   |  st_area(geom,0)
---------+--------------------+--------------------
Zentrum | 10000.000000003725 |  9968.806611039563
Nord    | 9999.9999999813736 | 9962.3534923379266
West    | 10000.000000005588 | 9959.8299263652207
Ost     | 9999.9999999850988 | 9928.1411479365215
Süd     | 10000.000000003725 |  9978.504314563248

Ellipsoid:
pos   |       $area        |  st_area(geom,1)
---------+--------------------+--------------------
Zentrum | 10005.223125495017 | 10005.225087410916
Nord    | 10007.662853439339 | 10007.661924274124
West    | 9996.0458401888609 | 9996.0418916556464
Ost     | 9964.7120493426919 | 9964.7192924887077
Süd     | 10006.061488492414 | 10006.062746342619

Leider lassen sich keine Übereinstimmungen zwischen den Flächenberechnungen 
von QGIS und RTTOPO erkennen. Zudem sind die Unterschiede zwischen ` 
`area(geometry) ` und  `st_area(geom,0)` gravierend.  
RTTOPO (https://gitea.osgeo.org/rttopo/librttopo) ist schon ziemlich in die 
Jahre gekommen und ich nehme an, dass die Unterschiede in der Verwendung der 
veralterten proj4 Bibliothek zu begründen sind.

@Nane:
Bleib erst mal beim Geopackage, bevor du dich auf eine für dich ungewisse 
Reise ins SpatiaLite-Land begibst. Der Umstieg ist zwar nicht besonders 
schwer, aber es braucht tiefer greifende Kenntnisse über die Datenbank 
Schemata dieser beiden Formate. Zudem unterstützt dich QGIS bei der Handhabung 
von GPKG um einiges besser, als dies bei SpatiaLite der Fall ist.

Was deinen View anbelangt, kannst du natürlich auf die planare 
Flächenberechnung umsteigen. Um jedoch an die Ergebnisse von `$area` 
heranzukommen, hindert dich niemand daran, in der Elterntabelle des Views den 
Quotienten von planarer und ellipsoidaler Fläche zu berechnen und diesen als 
Korrekturfaktor im View zu verwenden. 
Zudem solltest du die Flächen auf ein vernünftiges Maß runden. Ich nehme nicht 
an, dass die Gartenfreunde im Mikrometerbereich gärtnern ;-)
 
Gruß
Bernd





Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste