Como executar a declaração If na calculadora de campo do ArcGIS for Desktop?


10

Eu tenho um shapefile contendo dois campos numéricos ("Dist_1" e "Dist_2"). Quero um cálculo de campo que preencha um campo adicional ("Resultado") com uma das três respostas:

Primeiro se Dist_1 for maior que Dist_2 preencher Resultado com 'True' Segundo se Dist_1 for menor que Dist_2 preencher com 'False' e Terceiro se Dist_1 e Dist_2 forem iguais com "Igual"


Por favor, não adicione "obrigado" como resposta. Depois de ter reputação suficiente , você poderá votar nas perguntas e respostas que achou úteis. - Da avaliação
Midavalo

Respostas:


15

Analisador:

Python

Bloco de código:

def calc(f1,f2):

    if f1 > f2:
        return "True"
    elif f1 < f2:
        return "False"
    else:
        return "Equal"

Expressão:

calc(!Dist_1!, !Dist_2!)

Ou graficamente (você não pode ver todo o bloco de códigos aqui, infelizmente)

insira a descrição da imagem aqui


PolyGeo, obrigado - mas obtendo um erro 000989 - Erro de análise: unindent não corresponde a nenhum nível de recuo externo (linha 3). Você pode decodificar isso? !!
Chris L

2
Mantenha um espaçamento consistente para as instruções if, elif, else (2), bem como as instruções de retorno (4). Cada um deve estar em sua própria linha.
Paul

1
Paul / PolyGeo, muito obrigado, isso funciona um prazer!
você
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.