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
- Öffnen Sie die Attributtabelle des Ziel-Layers.
- 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 attribute | Automatically added fields | Field description |
|---|---|---|
| POINT_X_Y_Z_M | POINT_XPOINT_YPOINT_ZPOINT_M | Die x/y/z/m-Koordinaten des Punkts. |
MULTIPOINT
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Die x/y/z/m-Koordinaten des Schwerpunktpunkts. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks. |
| PART_COUNT | PART_COUNT | Die Anzahl der im Feature enthaltenen Teile. |
POLYLINE
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| LENGTH_GEODESIC | LENGTH_GEO | Die geodätische Länge der Linie. |
| LINE_START_MID_END | START_XSTART_YSTART_ZSTART_MMID_XMID_YMID_ZMID_MEND_XEND_YEND_ZEND_M | Die x/y/z/m-Koordinaten des ersten Punkts, des Mittelpunkts nach Länge und des letzten Punkts der Linie oder Polygongrenze. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Die x/y/z/m-Koordinaten des Schwerpunktpunkts. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Die x/y/z/m-Koordinaten eines Mittelpunkts innerhalb oder auf dem Eingabe-Feature. |
| PART_COUNT | PART_COUNT | Die Anzahl der im Feature enthaltenen Teile. |
| POINT_COUNT | PNT_COUNT | Die Anzahl der im Feature enthaltenen Punkte. |
| LINE_BEARING | BEARING | Der Start-zu-Ende-Azimut der Linie von 0 bis 360. 0 ist Norden, 90 ist Osten, 180 ist Süden und 270 ist Westen. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks. |
MULTIPOLYLINE
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| LENGTH | LENGTH | Die Länge der Linie. |
| LENGTH_GEODESIC | LENGTH_GEO | Die geodätische Länge der Linie. |
| LINE_START_MID_END | START_XSTART_YSTART_ZSTART_MMID_XMID_YMID_ZMID_MEND_XEND_YEND_ZEND_M | Die x/y/z/m-Koordinaten des ersten Punkts, des Mittelpunkts nach Länge und des letzten Punkts der Linie oder Polygongrenze. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Die x/y/z/m-Koordinaten des Schwerpunktpunkts. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Die x/y/z/m-Koordinaten eines Mittelpunkts innerhalb oder auf dem Eingabe-Feature. |
| PART_COUNT | PART_COUNT | Die Anzahl der im Feature enthaltenen Teile. |
| POINT_COUNT | PNT_COUNT | Die Anzahl der im Feature enthaltenen Punkte. |
| LINE_BEARING | BEARING | Der Start-zu-Ende-Azimut der Linie von 0 bis 360. 0 ist Norden, 90 ist Osten, 180 ist Süden und 270 ist Westen. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks. |
POLYGON / MULTIPOLYGON
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| AREA | POLY_AREA | Die Fläche des Polygons. |
| AREA_GEODESIC | AREA_GEO | Die geodätische Fläche des Polygons. |
| PERIMETER_LENGTH | PERIMETER | Der Umfang oder die Grenzlänge des Polygons. |
| PERIMETER_LENGTH_GEODESIC | PERIM_GEO | Die geodätische Länge des Polygonumfangs oder der Grenze. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Die x/y/z/m-Koordinaten des Schwerpunktpunkts. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Die x/y/z/m-Koordinaten eines Mittelpunkts innerhalb oder auf dem Eingabe-Feature. |
| LINE_START_MID_END | START_XSTART_YSTART_ZSTART_MMID_XMID_YMID_ZMID_MEND_XEND_YEND_ZEND_M | Die x/y/z/m-Koordinaten des ersten Punkts, des Mittelpunkts nach Grenzlänge und des letzten Punkts der Polygongrenze. |
| PART_COUNT | PART_COUNT | Die Anzahl der im Feature enthaltenen Teile. |
| POINT_COUNT | PNT_COUNT | Die Anzahl der im Feature enthaltenen Punkte. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | Die minimalen und maximalen x/y-Koordinatenwerte des umschließenden Feature-Rechtecks. |
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
- Vor dem Schreiben von Werten ein Feld hinzufügen: Erstellen Sie für wichtige Felder zuerst ein neues Feld, z. B.
len_moderarea_m2, und ersetzen Sie das ursprüngliche Feld erst, nachdem Sie das Ergebnis bestätigt haben. - 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.
- 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
AREAundLENGTHin 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
- Dichte für Polygon-Features berechnen:
Density = Population / AREA
- Bedingte Klassifizierung:
Level = where(Value >= 80, 'A', where(Value >= 60, 'B', 'C'))
- Mehrere Bedingungen gleichzeitig verlangen:
Flag = where((Type == 'main') & (Value > 0), 1, 0)
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.