Passa al contenuto principale

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

  1. Apre la tabella degli attributi del layer di destinazione.
  2. 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 geometriaCampi aggiunti automaticamenteDescrizione del campo
POINT_X_Y_Z_MPOINT_X
POINT_Y
POINT_Z
POINT_M
Le coordinate x/y/z/m del punto.

MULTIPOINT

Attributo di geometriaCampi aggiunti automaticamenteDescrizione del campo
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Le coordinate x/y/z/m del punto baricentro.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento.
PART_COUNTPART_COUNTIl numero di parti contenute nell'elemento.

POLILINEA

Attributo di geometriaCampi aggiunti automaticamenteDescrizione del campo
LENGTH_GEODESICLENGTH_GEOLa lunghezza geodetica della linea.
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
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.
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Le coordinate x/y/z/m del punto baricentro.
CENTROID_INSIDEINSIDE_X
INSIDE_Y
INSIDE_Z
INSIDE_M
Le coordinate x/y/z/m di un punto centrale all'interno o sulla funzione di input.
PART_COUNTPART_COUNTIl numero di parti contenute nell'elemento.
POINT_COUNTPNT_COUNTIl numero di punti contenuti nell'elemento.
LINE_BEARINGBEARINGL'azimut dall'inizio alla fine della linea, da 0 a 360. 0 è nord, 90 è est, 180 è sud e 270 è ovest.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento.

MULTIPOLILINEA

Attributo di geometriaCampi aggiunti automaticamenteDescrizione del campo
LENGTHLENGTHLa lunghezza della linea.
LENGTH_GEODESICLENGTH_GEOLa lunghezza geodetica della linea.
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
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.
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Le coordinate x/y/z/m del punto baricentro.
CENTROID_INSIDEINSIDE_X
INSIDE_Y
INSIDE_Z
INSIDE_M
Le coordinate x/y/z/m di un punto centrale all'interno o sulla funzione di input.
PART_COUNTPART_COUNTIl numero di parti contenute nell'elemento.
POINT_COUNTPNT_COUNTIl numero di punti contenuti nell'elemento.
LINE_BEARINGBEARINGL'azimut dall'inizio alla fine della linea, da 0 a 360. 0 è nord, 90 è est, 180 è sud e 270 è ovest.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento.

POLIGONO/MULTIPOLIGONO

Attributo di geometriaCampi aggiunti automaticamenteDescrizione del campo
AREAPOLY_AREAL'area del poligono.
AREA_GEODESICAREA_GEOL'area geodetica del poligono.
PERIMETER_LENGTHPERIMETERIl perimetro o la lunghezza del confine del poligono.
PERIMETER_LENGTH_GEODESICPERIM_GEOLa lunghezza geodetica del perimetro o confine del poligono.
CENTROIDCENTROID_X
CENTROID_Y
CENTROID_Z
CENTROID_M
Le coordinate x/y/z/m del punto baricentro.
CENTROID_INSIDEINSIDE_X
INSIDE_Y
INSIDE_Z
INSIDE_M
Le coordinate x/y/z/m di un punto centrale all'interno o sulla funzione di input.
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
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_COUNTPART_COUNTIl numero di parti contenute nell'elemento.
POINT_COUNTPNT_COUNTIl numero di punti contenuti nell'elemento.
EXTENTEXT_MIN_X
EXT_MIN_Y
EXT_MAX_X
EXT_MAX_Y
I valori minimi e massimi delle coordinate x/y del rettangolo di delimitazione dell'elemento.
suggerimento

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

  1. Aggiungi un campo prima di scrivere i valori: per i campi importanti, crea prima un nuovo campo, come len_m o area_m2, e sostituisci il campo originale solo dopo aver confermato il risultato.
  2. Convalida prima su un insieme piccolo: calcola prima alcune caratteristiche per verificare l'ordine di grandezza, quindi calcola tutti i record.
  3. 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 AREA e LENGTH in 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

  1. Calcola la densità per le caratteristiche del poligono:
Density = Population / AREA
  1. Classificazione condizionale:
Level = where(Value >= 80, 'A', where(Value >= 60, 'B', 'C'))
  1. Richiedi più condizioni contemporaneamente:
Flag = where((Type == 'main') & (Value > 0), 1, 0)
warning

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.