Procurando um algoritmo de crescimento de região

8

Trabalho com um conjunto raster que representa valores de terreno e gostaria de criar automaticamente polígonos com forma aleatória, mas com determinado tamanho e / ou valor de terreno, considerando um ponto centróide de cada polígono. O ponto centróide atuará como a célula rasterizada inicial (um pixel denominado célula-semente) que pertencerá a esse polígono e, em seguida, um algoritmo de crescimento de região começará a adicionar pixels em torno de um pixel centróide até a restrição de tamanho e / ou valor da terra de um polígono será satisfeito.

Alguém tem alguma idéia sobre um algoritmo de crescimento de região existente? ou pelo menos qual é a classe de ArcObjects ou Interfaces com a qual eu posso trabalhar, para ler o valor de cada pixel, criar um novo polígono adicionando um novo pixel a ele?

Espero que o acima faça sentido e alguém possa me ajudar.

Editar

Basicamente, pretendo criar polígonos automaticamente com formas regulares e uma série de restrições, como tamanho, valor da terra etc. usando um algoritmo genético (GA). Mas primeiro eu preciso criar um conjunto de soluções aleatórias para alimentar o GA. Por exemplo, no bloco de terra que é uma área cercada por estradas que eu já disse 4 pontos centróides. Cada ponto centróide representa a localização aproximada de cada nova parcela de terra. Além disso, cada centróide está associado aos atributos de cada parcela, ou seja, tamanho e valor da terra. Então, quero começar por cada centróide como um ponto inicial do algoritmo de crescimento da região para começar a criar uma forma aleatória para cada parcela com base em cada centróide.

Espero que o acima faça sentido. Estou ansioso como criar esse algoritmo de crescimento de região ou se já existe um no VBA e no ArcObjects.

Demetris
fonte
Você poderia dizer algo sobre o propósito de criar polígonos aleatórios? Afinal, existem muitos, muitos tipos de aleatoriedade. É improvável que alguns deles (como métodos simples para criar polígonos aleatórios de fractal) sejam do seu interesse. Se você estiver tentando simular algo realista, o procedimento terá que incorporar aspectos dos fenômenos que realmente criam os polígonos nos quais você está interessado.
whuber
Ao adicionar uma célula a uma região, você deseja adicionar a célula adjacente de menor custo ou a célula mais próxima do centróide do polígono?
Kirk Kuykendall
Me desculpe pelo atraso. Eu não notei esse comentário. Cada vez que eu quero adicionar uma célula adjacente na região atual até que algumas restrições sejam atendidas.
Demetris

Respostas:

1

Uma análise de distância de custo é uma abordagem: classifique a varredura com base no valor da terra, começando pelo ponto inicial, e limiar esse resultado fornecerá a área de custo cumulativa como varredura. Apenas traduza a varredura classificada em um polígono e você deverá obter o resultado. Dependendo das especificidades do que você está tentando fazer, você poderá usar a função Alocação de Custos com seus locais de semente e varredura do valor da terra para alcançar a produção desejada.

scw
fonte
A idéia é boa porque na verdade relaciona o polígono a algo real (valor da terra). Mas como "limiar esse resultado" (que presumivelmente significa selecionar todos os pontos com custos menores que um valor fixo) se traduz em um custo cumulativo direcionado ? Além disso, o procedimento não é "aleatório", mas não há problema: é possível aleatorizar aspectos da grade de custos antecipadamente, para que a saída seja um tanto aleatória.
whuber
1

Se você estiver disposto a investigar opções fora do ArcGIS, o SAGA GIS de código aberto / gratuito contém um algoritmo de crescimento por região, descrito neste documento: http://downloads.sourceforge.net/saga-gis/gga115_03.pdf

http://www.saga-gis.org

johanvdw
fonte
Muito obrigado por isso. A literatura é muito útil, mas gostaria de saber se já existe esse código no VBA e no ArcObjects.
Demetris 20/05
0

Você pode tentar o gdal_fillnodata .

EvilInside
fonte
Sua resposta foi sinalizada na fila de revisão como de baixa qualidade devido ao tamanho e ao conteúdo. Se você está sugerindo que o solicitante desta pergunta investigue software alternativo, recomendo que você edite sua resposta para fornecer mais detalhes sobre por que o que ele está tentando fazer não funciona e por que o que você sugere.
PolyGeo