Calcola la geometria e Calcola i campi
Il calcolo del campo viene utilizzato per generare o aggiornare i valori dei campi in batch nella tabella degli attributi. Gli usi comuni includono:
- Calcolo degli attributi della geometria: scrivere coordinate, lunghezza, area, perimetro e altri valori per elementi punto, linea e poligono.
- Calcolo degli indicatori aziendali: derivare nuovi campi da campi esistenti utilizzando espressioni come densità, livello e codici identificativi.
Calcolo dei campi
- Apre la tabella degli attributi del layer di destinazione.
- In Strumenti nella tabella degli attributi, selezionare:
- Calcola geometria per scrivere gli attributi della geometria nei campi.
- Calcola campi per calcolare valori in batch con espressioni.
Per apprendere innanzitutto le operazioni di base della tabella degli attributi, come il filtraggio, la selezione e la gestione dei campi, vedere Modifica delle tabelle degli attributi dei dati vettoriali.
Calcola geometria
Calcola geometria scrive le informazioni sulla geometria nei campi degli attributi. Gli output tipici includono:
- Caratteristiche del punto: coordinate X/Y o longitudine e latitudine.
- Caratteristiche della linea: lunghezza, scritta nell'unità specificata quando disponibile.
- Caratteristiche del poligono: area e perimetro, scritti nell'unità specificata quando disponibile.
Le tabelle seguenti riepilogano gli Attributi della geometria disponibili per Calcola la geometria e i campi che vengono aggiunti e popolati automaticamente.
PUNTO
| Attributo di geometria | Campi aggiunti automaticamente | Descrizione del campo |
|---|---|---|
| POINT_X_Y_Z_M | POINT_XPOINT_YPOINT_ZPOINT_M | Le coordinate x/y/z/m del punto. |
MULTIPOINT
| Attributo di geometria | Campi aggiunti automaticamente | Descrizione del campo |
|---|---|---|
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Le coordinate x/y/z/m del punto baricentro. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento. |
| PART_COUNT | PART_COUNT | Il numero di parti contenute nell'elemento. |
POLILINEA
| Attributo di geometria | Campi aggiunti automaticamente | Descrizione del campo |
|---|---|---|
| LENGTH_GEODESIC | LENGTH_GEO | La lunghezza geodetica della linea. |
| LINE_START_MID_END | START_XSTART_YSTART_ZSTART_MMID_XMID_YMID_ZMID_MEND_XEND_YEND_ZEND_M | Le coordinate x/y/z/m del primo punto, del punto medio per lunghezza e dell'ultimo punto del confine della linea o del poligono. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Le coordinate x/y/z/m del punto baricentro. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Le coordinate x/y/z/m di un punto centrale all'interno o sulla funzione di input. |
| PART_COUNT | PART_COUNT | Il numero di parti contenute nell'elemento. |
| POINT_COUNT | PNT_COUNT | Il numero di punti contenuti nell'elemento. |
| LINE_BEARING | BEARING | L'azimut dall'inizio alla fine della linea, da 0 a 360. 0 è nord, 90 è est, 180 è sud e 270 è ovest. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento. |
MULTIPOLILINEA
| Attributo di geometria | Campi aggiunti automaticamente | Descrizione del campo |
|---|---|---|
| LENGTH | LENGTH | La lunghezza della linea. |
| LENGTH_GEODESIC | LENGTH_GEO | La lunghezza geodetica della linea. |
| LINE_START_MID_END | START_XSTART_YSTART_ZSTART_MMID_XMID_YMID_ZMID_MEND_XEND_YEND_ZEND_M | Le coordinate x/y/z/m del primo punto, del punto medio per lunghezza e dell'ultimo punto del confine della linea o del poligono. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Le coordinate x/y/z/m del punto baricentro. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Le coordinate x/y/z/m di un punto centrale all'interno o sulla funzione di input. |
| PART_COUNT | PART_COUNT | Il numero di parti contenute nell'elemento. |
| POINT_COUNT | PNT_COUNT | Il numero di punti contenuti nell'elemento. |
| LINE_BEARING | BEARING | L'azimut dall'inizio alla fine della linea, da 0 a 360. 0 è nord, 90 è est, 180 è sud e 270 è ovest. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento. |
POLIGONO/MULTIPOLIGONO
| Attributo di geometria | Campi aggiunti automaticamente | Descrizione del campo |
|---|---|---|
| AREA | POLY_AREA | L'area del poligono. |
| AREA_GEODESIC | AREA_GEO | L'area geodetica del poligono. |
| PERIMETER_LENGTH | PERIMETER | Il perimetro o la lunghezza del confine del poligono. |
| PERIMETER_LENGTH_GEODESIC | PERIM_GEO | La lunghezza geodetica del perimetro o confine del poligono. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Le coordinate x/y/z/m del punto baricentro. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Le coordinate x/y/z/m di un punto centrale all'interno o sulla funzione di input. |
| LINE_START_MID_END | START_XSTART_YSTART_ZSTART_MMID_XMID_YMID_ZMID_MEND_XEND_YEND_ZEND_M | Le coordinate x/y/z/m del primo punto, del punto medio per la lunghezza del confine e dell'ultimo punto del confine del poligono. |
| PART_COUNT | PART_COUNT | Il numero di parti contenute nell'elemento. |
| POINT_COUNT | PNT_COUNT | Il numero di punti contenuti nell'elemento. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento. |
I valori della geometria geodetica, come LENGTH_GEO, AREA_GEO e PERIM_GEO, vengono calcolati utilizzando un metodo geodetico. Le unità di uscita seguono l'impostazione dell'unità selezionata nell'interfaccia.
Sistema di coordinate e unità
- Le unità di calcolo della geometria sono fortemente correlate al sistema di coordinate:
- Un sistema di coordinate proiettato solitamente utilizza metri ed è più adatto per lunghezza e area.
- Un sistema di coordinate geografiche, che utilizza longitudine e latitudine, utilizza i gradi. I calcoli diretti della lunghezza planare o dell'area solitamente non corrispondono alle aspettative aziendali.
- Pratica consigliata:
- Quando sono necessari risultati in metri o metri quadrati, dare la priorità ai dati in un sistema di coordinate proiettato o scegliere il calcolo della geometria geodetica quando l'interfaccia fornisce tale opzione.
Consigli
- Aggiungi un campo prima di scrivere i valori: per i campi importanti, crea prima un nuovo campo, come
len_moarea_m2, e sostituisci il campo originale solo dopo aver confermato il risultato. - Convalida prima su un insieme piccolo: calcola prima alcune caratteristiche per verificare l'ordine di grandezza, quindi calcola tutti i record.
- Presta attenzione alle caratteristiche multiparte: linee e poligoni multiparte solitamente restituiscono un valore di lunghezza o area per l'intera geometria.
Calcola i campi
Calculate Fields assegna i valori dei campi in batch utilizzando le espressioni. Supporta operazioni matematiche comuni, decisioni logiche e chiamate di funzioni.
AI Scrittura di formule
Se conosci già il risultato desiderato ma non puoi scrivere immediatamente l'espressione completa, puoi utilizzare AI per generare una bozza di formula dal linguaggio naturale, quindi tornare alla tabella degli attributi per rivederla ed eseguirla.
AI è particolarmente utile quando è necessario:
- Assegnare livelli in base a più condizioni.
- Genera più campi contemporaneamente.
- Utilizza parole chiave della geometria come
AREAeLENGTHin un calcolo. - Converti una formula esistente in un modulo su più righe più semplice da rivedere.
Quando chiedi a AI, indica quanto segue nel modo più chiaro possibile:
- Il nome del campo di destinazione.
- I campi utilizzati nel calcolo.
- Le soglie di classificazione o condizioni di giudizio.
- Come gestire valori nulli, valori zero e valori anomali.
Esempio:
Add a density field. Calculate population density by dividing Population by AREA. If the area is 0 or the population is null, output nan.
AI può generare:
density = where(logical_or(isnan(Population), AREA == 0), nan, Population / AREA)
Un altro esempio:
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'.
AI può generare:
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'))
Cosa controllare quando si utilizza AI
- Se i nomi dei campi corrispondono esattamente alla tabella degli attributi.
- Indica se le condizioni al contorno devono includere segni di uguaglianza.
- Se i nomi dei campi di output seguono la convenzione di denominazione.
- Se i valori della geometria come area e lunghezza corrispondono al tipo di layer corrente e al metodo del sistema di coordinate.
- Indica se i valori null vengono gestiti in base alle aspettative aziendali.
Suggerimenti per la scrittura delle espressioni
- Riferimenti ai campi: solitamente è possibile utilizzare direttamente i nomi dei campi.
- Assegnazione condizionale: una forma comune è
where(condition, x, y). - Operazioni logiche: la logica per funzionalità solitamente utilizza
&per AND,|per OR e~per NOT. Utilizzare le parentesi per rendere esplicita la precedenza. - Assegnazione su più righe: è possibile calcolare prima le variabili intermedie e poi scrivere nel campo di destinazione, se l'interfaccia lo supporta.
Esempi comuni
- Calcola la densità per le caratteristiche del poligono:
Density = Population / AREA
- Classificazione condizionale:
Level = where(Value >= 80, 'A', where(Value >= 60, 'B', 'C'))
- Richiedi più condizioni contemporaneamente:
Flag = where((Type == 'main') & (Value > 0), 1, 0)
Le funzioni delle espressioni e le parole chiave possono differire leggermente tra le versioni. Se è necessario utilizzare funzioni geometriche, come AREA, LENGTH o valori di geometria geodetica, fare riferimento alla documentazione delle espressioni nel Geoprocessing Toolbox e utilizzare l'elenco delle funzioni nell'interfaccia come riferimento finale.
Relazione con lo strumento Calcolatore vettoriale
Se sono necessarie espressioni più complesse, come funzioni geometriche, funzioni geodetiche o assegnazioni su più righe, vedere Calcola campi (calcolatore vettoriale) nella casella degli strumenti di geoprocessing. I sistemi di espressione sono generalmente coerenti o molto simili.
Se si preferisce descrivere prima il requisito in linguaggio naturale e lasciare che sia il sistema a generare una formula, vedere l'articolo del blog Scrivere formule per la calcolatrice raster e la calcolatrice di campo con AI.
Domande frequenti
I risultati dei calcoli non sono quelli previsti
- Controlla prima il sistema di coordinate: il calcolo planare in un sistema di coordinate geografiche produce unità in gradi.
- Quindi controlla le unità: assicurati che le unità di lunghezza, come m o km, e le unità di area, come m2 o km2, siano selezionate correttamente.
- Infine, controlla il tipo di campo: un campo di output intero potrebbe troncare i decimali.
Il calcolo è lento
- Utilizza prima i filtri per ridurre l'intervallo di record da calcolare.
- Dai la priorità ai calcoli di lunghezza e area in un sistema di coordinate proiettato per evitare calcoli geodetici complessi e non necessari.