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.
fonte
Respostas:
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.
fonte
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
fonte
Você pode tentar o gdal_fillnodata .
fonte