Zum Hauptinhalt springen

Geometrie berechnen und Felder berechnen

Feldberechnung wird verwendet, um Feldwerte in der Attributtabelle stapelweise zu erzeugen oder zu aktualisieren. Häufige Anwendungen sind:

  • Geometrieattribute berechnen: Koordinaten, Länge, Fläche, Umfang und andere Werte für Punkt-, Linien- und Polygon-Features schreiben.
  • Geschäftskennzahlen berechnen: Neue Felder aus vorhandenen Feldern mit Ausdrücken ableiten, z. B. Dichte, Stufe und Kennungscodes.

Feldberechnung

  1. Öffnen Sie die Attributtabelle des Ziel-Layers.
  2. Wählen Sie unter Werkzeuge in der Attributtabelle:
    • Calculate geometry, um Geometrieattribute in Felder zu schreiben.
    • Calculate Fields, um Werte stapelweise mit Ausdrücken zu berechnen.

Um zuerst grundlegende Attributtabellenoperationen wie Filtern, Auswählen und Feldverwaltung zu lernen, siehe Vektordaten-Attributtabellen bearbeiten.

Geometrie berechnen

Geometrie berechnen schreibt Geometrieinformationen in Attributfelder. Typische Ausgaben sind:

  • Punkt-Features: X/Y-Koordinaten oder Länge und Breite.
  • Linien-Features: Länge, in der angegebenen Einheit geschrieben, falls verfügbar.
  • Polygon-Features: Fläche und Umfang, in der angegebenen Einheit geschrieben, falls verfügbar.

Die folgenden Tabellen fassen die verfügbaren Geometrieattribute für Calculate geometry und die automatisch hinzugefügten und gefüllten Felder zusammen.

POINT

Geometry attributeAutomatically added fieldsField description
POINT_X_Y_Z_MPOINT_X
POINT_Y
POINT_Z
POINT_M
Die x/y/z/m-Koordinaten des Punkts.

MULTIPOINT

Geometry attributeAutomatically added fieldsField description
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Die x/y/z/m-Koordinaten des Schwerpunktpunkts.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks.
PART_COUNTPART_COUNTDie Anzahl der im Feature enthaltenen Teile.

POLYLINE

Geometry attributeAutomatically added fieldsField description
LENGTH_GEODESICLENGTH_GEODie geodätische Länge der Linie.
LINE_START_MID_ENDSTART_X
START_Y
START_Z
START_M
MID_X
MID_Y
MID_Z
MID_M
END_X
END_Y
END_Z
END_M
Die x/y/z/m-Koordinaten des ersten Punkts, des Mittelpunkts nach Länge und des letzten Punkts der Linie oder Polygongrenze.
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Die x/y/z/m-Koordinaten des Schwerpunktpunkts.
CENTROID_INSIDEINSIDE_X
INSIDE_Y
INSIDE_Z
INSIDE_M
Die x/y/z/m-Koordinaten eines Mittelpunkts innerhalb oder auf dem Eingabe-Feature.
PART_COUNTPART_COUNTDie Anzahl der im Feature enthaltenen Teile.
POINT_COUNTPNT_COUNTDie Anzahl der im Feature enthaltenen Punkte.
LINE_BEARINGBEARINGDer Start-zu-Ende-Azimut der Linie von 0 bis 360. 0 ist Norden, 90 ist Osten, 180 ist Süden und 270 ist Westen.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks.

MULTIPOLYLINE

Geometry attributeAutomatically added fieldsField description
LENGTHLENGTHDie Länge der Linie.
LENGTH_GEODESICLENGTH_GEODie geodätische Länge der Linie.
LINE_START_MID_ENDSTART_X
START_Y
START_Z
START_M
MID_X
MID_Y
MID_Z
MID_M
END_X
END_Y
END_Z
END_M
Die x/y/z/m-Koordinaten des ersten Punkts, des Mittelpunkts nach Länge und des letzten Punkts der Linie oder Polygongrenze.
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Die x/y/z/m-Koordinaten des Schwerpunktpunkts.
CENTROID_INSIDEINSIDE_X
INSIDE_Y
INSIDE_Z
INSIDE_M
Die x/y/z/m-Koordinaten eines Mittelpunkts innerhalb oder auf dem Eingabe-Feature.
PART_COUNTPART_COUNTDie Anzahl der im Feature enthaltenen Teile.
POINT_COUNTPNT_COUNTDie Anzahl der im Feature enthaltenen Punkte.
LINE_BEARINGBEARINGDer Start-zu-Ende-Azimut der Linie von 0 bis 360. 0 ist Norden, 90 ist Osten, 180 ist Süden und 270 ist Westen.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks.

POLYGON / MULTIPOLYGON

Geometry attributeAutomatically added fieldsField description
AREAPOLY_AREADie Fläche des Polygons.
AREA_GEODESICAREA_GEODie geodätische Fläche des Polygons.
PERIMETER_LENGTHPERIMETERDer Umfang oder die Grenzlänge des Polygons.
PERIMETER_LENGTH_GEODESICPERIM_GEODie geodätische Länge des Polygonumfangs oder der Grenze.
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Die x/y/z/m-Koordinaten des Schwerpunktpunkts.
CENTROID_INSIDEINSIDE_X
INSIDE_Y
INSIDE_Z
INSIDE_M
Die x/y/z/m-Koordinaten eines Mittelpunkts innerhalb oder auf dem Eingabe-Feature.
LINE_START_MID_ENDSTART_X
START_Y
START_Z
START_M
MID_X
MID_Y
MID_Z
MID_M
END_X
END_Y
END_Z
END_M
Die x/y/z/m-Koordinaten des ersten Punkts, des Mittelpunkts nach Grenzlänge und des letzten Punkts der Polygongrenze.
PART_COUNTPART_COUNTDie Anzahl der im Feature enthaltenen Teile.
POINT_COUNTPNT_COUNTDie Anzahl der im Feature enthaltenen Punkte.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks.
tipp

Geodätische Geometriewerte wie LENGTH_GEO, AREA_GEO und PERIM_GEO werden mit einer geodätischen Methode berechnet. Ausgabeeinheiten folgen der in der Oberfläche ausgewählten Einheiteneinstellung.

Koordinatensystem und Einheiten

  • Geometrieberechnungseinheiten hängen stark mit dem Koordinatensystem zusammen:
    • Ein projiziertes Koordinatensystem verwendet normalerweise Meter und ist besser für Länge und Fläche geeignet.
    • Ein geografisches Koordinatensystem mit Länge und Breite verwendet Grad. Direkte planare Längen- oder Flächenberechnungen entsprechen normalerweise nicht den fachlichen Erwartungen.
  • Empfohlene Praxis:
    • Wenn Sie Ergebnisse in Metern oder Quadratmetern benötigen, priorisieren Sie Daten in einem projizierten Koordinatensystem oder wählen Sie geodätische Geometrieberechnung, wenn die Oberfläche diese Option bietet.

Empfehlungen

  1. Vor dem Schreiben von Werten ein Feld hinzufügen: Erstellen Sie für wichtige Felder zuerst ein neues Feld, z. B. len_m oder area_m2, und ersetzen Sie das ursprüngliche Feld erst, nachdem Sie das Ergebnis bestätigt haben.
  2. Zuerst an einer kleinen Menge prüfen: Berechnen Sie zunächst einige Features, um die Größenordnung zu prüfen, und berechnen Sie dann alle Datensätze.
  3. Auf Multipart-Features achten: Multipart-Linien und -Polygone geben normalerweise einen Längen- oder Flächenwert für die gesamte Geometrie aus.

Felder berechnen

Felder berechnen weist Feldwerte stapelweise mithilfe von Ausdrücken zu. Es unterstützt gängige mathematische Operationen, logische Entscheidungen und Funktionsaufrufe.

KI-Formelschreibung

Wenn Sie bereits wissen, welches Ergebnis Sie möchten, aber den vollständigen Ausdruck nicht sofort schreiben können, können Sie KI verwenden, um aus natürlicher Sprache einen Formelentwurf zu erzeugen, und dann zur Attributtabelle zurückkehren, um ihn zu prüfen und auszuführen.

KI ist besonders nützlich, wenn Sie Folgendes benötigen:

  • Stufen anhand mehrerer Bedingungen zuweisen.
  • Mehrere Felder gleichzeitig erzeugen.
  • Geometrie-Keywords wie AREA und LENGTH in einer Berechnung verwenden.
  • Eine vorhandene Formel in eine mehrzeilige Form umwandeln, die leichter zu prüfen ist.

Geben Sie bei der Anfrage an KI Folgendes so klar wie möglich an:

  • Den Namen des Zielfelds.
  • Die in der Berechnung verwendeten Felder.
  • Die Klassifizierungsschwellen oder Entscheidungsbedingungen.
  • Wie Nullwerte, Werte 0 und abnormale Werte behandelt werden sollen.

Beispiel:

Add a density field. Calculate population density by dividing Population by AREA. If the area is 0 or the population is null, output nan.

KI kann erzeugen:

density = where(logical_or(isnan(Population), AREA == 0), nan, Population / AREA)

Ein weiteres Beispiel:

Add a risk_level field. Set it to 'High' when slope is greater than 25 and rain is greater than 100. Set it to 'Medium' when slope is greater than 15 or rain is greater than 60. Otherwise, set it to 'Low'.

KI kann erzeugen:

high_risk = logical_and(slope > 25, rain > 100)
mid_risk = logical_or(slope > 15, rain > 60)
risk_level = where(high_risk, 'High', where(mid_risk, 'Medium', 'Low'))

Was bei der Verwendung von KI zu prüfen ist

  • Ob Feldnamen exakt mit der Attributtabelle übereinstimmen.
  • Ob Grenzbedingungen Gleichheitszeichen enthalten sollen.
  • Ob Ausgabefeldnamen Ihrer Namenskonvention folgen.
  • Ob Geometriewerte wie Fläche und Länge zum aktuellen Layer-Typ und zur Koordinatensystemmethode passen.
  • Ob Nullwerte gemäß Ihren fachlichen Erwartungen behandelt werden.

Tipps zum Schreiben von Ausdrücken

  • Feldreferenzen: Sie können Feldnamen normalerweise direkt verwenden.
  • Bedingte Zuweisung: Eine gängige Form ist where(condition, x, y).
  • Logische Operationen: Featureweise Logik verwendet normalerweise & für AND, | für OR und ~ für NOT. Verwenden Sie Klammern, um die Priorität eindeutig zu machen.
  • Mehrzeilige Zuweisung: Sie können zuerst Zwischenvariablen berechnen und anschließend in das Zielfeld schreiben, wenn die Oberfläche dies unterstützt.

Häufige Beispiele

  1. Dichte für Polygon-Features berechnen:
Density = Population / AREA
  1. Bedingte Klassifizierung:
Level = where(Value >= 80, 'A', where(Value >= 60, 'B', 'C'))
  1. Mehrere Bedingungen gleichzeitig verlangen:
Flag = where((Type == 'main') & (Value > 0), 1, 0)
warnung

Ausdrucksfunktionen und Keywords können sich zwischen Versionen leicht unterscheiden. Wenn Sie Geometriefunktionen wie AREA, LENGTH oder geodätische Geometriewerte verwenden müssen, beziehen Sie sich auf die Ausdrucksdokumentation in der Geoverarbeitungs-Toolbox und verwenden Sie die Funktionsliste in der Oberfläche als endgültige Referenz.

Beziehung zum Werkzeug Vektorrechner

Wenn Sie komplexere Ausdrücke benötigen, z. B. Geometriefunktionen, geodätische Funktionen oder mehrzeilige Zuweisungen, siehe Calculate Fields (Vector Calculator) in der Geoverarbeitungs-Toolbox. Die Ausdruckssysteme sind normalerweise konsistent oder sehr ähnlich.

Wenn Sie die Anforderung lieber zuerst in natürlicher Sprache beschreiben und das System eine Formel erzeugen lassen möchten, siehe den Blogartikel Writing Raster Calculator and Field Calculator Formulas with AI.

FAQ

Berechnungsergebnisse entsprechen nicht den Erwartungen

  • Prüfen Sie zuerst das Koordinatensystem: Planare Berechnung in einem geografischen Koordinatensystem erzeugt Einheiten in Grad.
  • Prüfen Sie dann die Einheiten: Stellen Sie sicher, dass Längeneinheiten wie m oder km und Flächeneinheiten wie m2 oder km2 korrekt ausgewählt sind.
  • Prüfen Sie schließlich den Feldtyp: Ein ganzzahliges Ausgabefeld kann Dezimalstellen abschneiden.

Berechnung ist langsam

  • Verwenden Sie zuerst Filter, um den zu berechnenden Datensatzbereich zu reduzieren.
  • Priorisieren Sie Längen- und Flächenberechnungen in einem projizierten Koordinatensystem, um unnötig komplexe geodätische Berechnungen zu vermeiden.