Calcular Geometria e Calcular Campos
O cálculo de campos gera ou atualiza valores em lote na tabela de atributos. Usos comuns:
- Calcular atributos geométricos: coordenadas, comprimento, área e perímetro.
- Calcular indicadores de negócio: densidade, nível e códigos a partir de campos existentes.
Cálculo de Campos
- Abra a tabela de atributos da camada alvo.
- Em Tools, selecione Calculate geometry ou Calculate Fields.
Para operações básicas, consulte Edição de Tabelas de Atributos Vetoriais.
Calculate Geometry
Grava informações geométricas em campos de atributos.
POINT
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| POINT_X_Y_Z_M | POINT_XPOINT_YPOINT_ZPOINT_M | Coordenadas x/y/z/m do ponto. |
MULTIPOINT
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Coordenadas do centroide. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | Valores mínimos e máximos x/y da extensão. |
| PART_COUNT | PART_COUNT | Número de partes. |
POLYLINE / MULTIPOLYLINE
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| LENGTH | LENGTH | Comprimento da linha. |
| LENGTH_GEODESIC | LENGTH_GEO | Comprimento geodésico. |
| LINE_START_MID_END | START_XSTART_YSTART_ZSTART_MMID_XMID_YMID_ZMID_MEND_XEND_YEND_ZEND_M | Coordenadas do primeiro ponto, ponto médio por comprimento e último ponto. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Coordenadas do centroide. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Ponto interno ou sobre a feição. |
| PART_COUNT | PART_COUNT | Número de partes. |
| POINT_COUNT | PNT_COUNT | Número de pontos. |
| LINE_BEARING | BEARING | Azimute de 0 a 360. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | Extensão envolvente. |
POLYGON / MULTIPOLYGON
| Geometry attribute | Automatically added fields | Field description |
|---|---|---|
| AREA | POLY_AREA | Área do polígono. |
| AREA_GEODESIC | AREA_GEO | Área geodésica. |
| PERIMETER_LENGTH | PERIMETER | Perímetro ou limite. |
| PERIMETER_LENGTH_GEODESIC | PERIM_GEO | Comprimento geodésico do perímetro. |
| CENTROID | CENTROID_XCENTROID_YCENTROID_ZCENTROID_M | Coordenadas do centroide. |
| CENTROID_INSIDE | INSIDE_XINSIDE_YINSIDE_ZINSIDE_M | Ponto interno ou sobre a feição. |
| PART_COUNT | PART_COUNT | Número de partes. |
| POINT_COUNT | PNT_COUNT | Número de pontos. |
| EXTENT | EXT_MIN_XEXT_MIN_YEXT_MAX_XEXT_MAX_Y | Extensão envolvente. |
dica
Valores geodésicos como LENGTH_GEO, AREA_GEO e PERIM_GEO são calculados por método geodésico. As unidades seguem a interface.
Sistema de Coordenadas e Unidades
- Sistemas projetados geralmente usam metros e são melhores para comprimento e área.
- Sistemas geográficos usam graus; cálculos planares diretos podem não atender expectativas.
- Para resultados em metros ou metros quadrados, prefira sistema projetado ou cálculo geodésico.
Calculate Fields
Assigna valores em lote usando expressões, lógica e funções.
Escrita de Fórmulas com AI
Descreva o resultado desejado, campos envolvidos, limites de classificação e tratamento de nulos.
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 pode gerar:
density = where(logical_or(isnan(Population), AREA == 0), nan, Population / AREA)
Outro exemplo:
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'))
O Que Verificar
- Nomes de campos exatamente iguais.
- Inclusão ou não de igualdade nos limites.
- Nomes de saída conforme convenção.
- Compatibilidade de geometria, tipo de camada e sistema de coordenadas.
- Tratamento de nulos conforme expectativa.
Dicas de Expressão
- Referencie campos diretamente.
- Use
where(condition, x, y)para condição. - Use
&,|e~para AND, OR e NOT, com parênteses. - Use variáveis intermediárias se a interface suportar múltiplas linhas.
Density = Population / AREA
Level = where(Value >= 80, 'A', where(Value >= 60, 'B', 'C'))
Flag = where((Type == 'main') & (Value > 0), 1, 0)
aviso
Funções e palavras-chave podem variar entre versões. Para AREA, LENGTH e valores geodésicos, use a documentação da Geoprocessing Toolbox e a lista da interface como referência final.
FAQ
Resultados Não São os Esperados
- Verifique o sistema de coordenadas.
- Verifique unidades como m, km, m2 ou km2.
- Verifique o tipo do campo de saída.
Cálculo Lento
- Use filtros para reduzir registros.
- Priorize comprimento e área em sistema projetado para evitar cálculo geodésico desnecessário.