top of page

Conteúdo Exclusivo.

Necessário adquirir o plano (em desenvolvimento) para acessar este conteúdo.

BLOG

ArcMap 10.4: Gerando Números Aleatórios no Field Calculator

Você sabia que é possível somar valores aleatórios a um campo no ArcMap usando o Field Calculator em Python?


Por padrão, o ArcMap executa o bloco de código apenas uma vez, o que faz muitos acharem que o random não funciona.


Por exemplo, se você fizer:


def calc(valor):
     import random
     return valor + random.randint(1,20)

À primeira vista, pode parecer que o resultado exibirá um número aleatório entre 1 e 20 somado ao valor original. No entanto, o que ocorre é que a parte aleatória permanece idêntica em todas as feições, como se o sorteio tivesse congelado.


A solução é simples: o truque é se quiser um resultado diferente para cada feição, usar um outro campo numérico como semente.


def calc(valor, oid):
	import random
	random.seed(oid)
	return valor + random.randint(1,20)

A linha random.seed(oid) reinicializa o gerador de números aleatórios para cada feição, usando o valor único de um campo numérico do shapefile como base.


Basta agora calcular seus números aleatórios corretamente!


calc( !VEG_NATIVA! , !FID! )

Nesse exemplo, o campo VEG_NATIVA é o valor base, e o FID serve como semente para gerar um número aleatório exclusivo em cada feição do shapefile.


Veja como fica tudo no exemplo da imagem abaixo:


Aqui, os valores do campo AREANA2017 são calculados somando-se um número aleatório aos valores existentes no campo VEG_NATIVA.
Aqui, os valores do campo AREANA2017 são calculados somando-se um número aleatório aos valores existentes no campo VEG_NATIVA.

Compartilhe este conteúdo!

Comentários


Aviation Summit 2025

Tecnologias para Elaboração e Geração de Bases de Dados Espaciais

Eurocopter EC130 B41

Corrigindo Pixels Zerados no ArcGIS

Edificações: Mapeamento Global do Google

Temperatura do Ar: Dados Geoespaciais do ERA5

Boeing 737-400

Vertiportos, por Igor Rafailov

bottom of page