Uma coisa a ter em mente aqui é que você não está tentando representar exatamente quais áreas são realmente usadas para alimentar a planta. Um município pode ter toda a sua produção de milho na metade oriental, por exemplo. (E uma planta pode até não estar sendo retirada de municípios adjacentes.)
Você deseja apenas uma convenção cartográfica que mostre uma escala relativa aproximada com base nos municípios adjacentes. Aqui está como eu iria sobre isso ...
Na camada pontual de sua usina de etanol, eu teria quatro atributos: milho necessário, rendimento médio, raio do buffer e residual. O milho necessário permaneceria constante. Raio do buffer é o raio do buffer usado atualmente. O rendimento médio é o rendimento médio por milha quadrada dentro desse raio, e residual é a diferença entre o milho necessário e o rendimento médio * pi * raio ^ 2. A camada da planta de etanol também deve ter um identificador exclusivo (para junções).
Você está tentando minimizar seus resíduos. Você deseja definir um ponto de corte para seus resíduos (por exemplo, se a quantidade calculada estiver dentro de 100 alqueires do milho necessário, não será necessário refinar ainda mais o raio).
Você também precisa de uma camada de município que possua dois atributos, o rendimento médio de milho por milha quadrada e a quantidade de milho produzido (que você pode obter da área * rendimento médio de milho). A última é realmente uma variável fictícia para cálculo posterior. Se você tiver municípios com um rendimento médio de milho por milha quadrada de zero, defina-o como um número arbitrariamente pequeno. Zeros nesse campo causarão problemas mais tarde.
Escolha um raio arbitrário inicial, menor que a largura normal de um município, como 1 milha, e defina o valor do raio como o de todas as plantas. Execute essas operações em um geodatabase, para que o atributo area seja mantido automaticamente.
Nesta próxima seção, você pode automatizar como um script python ou modelo de geoprocessamento:
- Execute um buffer em suas usinas de etanol usando a coluna raio para a distância do buffer.
- Interseja o buffer resultante com a camada de condados, mantendo todos os atributos.
- Para a saída de interseção, para cada recurso recalcule o milho produzido usando o rendimento médio de milho * nova área do recurso.
- Execute uma mesclagem na saída de interseção usando o ID exclusivo da usina de etanol como o atributo de mesclagem. Tenha uma estatística resumida que resuma o milho produzido a partir de todos os recursos mesclados. Agora você fornecerá o milho produzido dentro do raio do buffer para cada planta.
- Usando a estatística de resumo, recalcule o atributo de rendimento médio na saída de mesclagem, usando o processo de remessa resumido produzido dividido pela área do recurso.
- Usando o ID exclusivo da usina de etanol, junte a saída de mesclagem às usinas de etanol originais. Calcule o rendimento médio na usina de etanol igual ao rendimento médio no recurso de mesclagem correspondente. Remova a junção.
- Calcular o residual. Isso deve ser muito grande com seu raio inicial, mas diminuirá consideravelmente com a próxima passagem depois que você calcular o novo raio.
- Para apenas aquelas plantas cujo resíduo é maior que o seu ponto de corte, recalcule o raio do buffer. O novo raio é (milho necessário / (pi * rendimento médio)) ^ 0,5
- Repita as etapas de 1 a 8 até que todos os seus recursos tenham resíduos menores que o seu ponto de corte. Se for necessário mais do que 3-4 passagens, convém aumentar o ponto de corte, pois, novamente, essa é apenas uma convenção cartográfica e não uma representação precisa da área exata usada para a produção de etanol.
Como mencionei acima, convém criar scripts ou modelar as etapas de 1 a 8, pois você as repetirá várias vezes. Você também pode executar tudo manualmente manualmente. Além disso, opcionalmente, em vez de usar um resíduo na etapa 8, você sempre pode recalcular o raio de todos os recursos até obter uma saída do passo 7, onde todos os recursos têm um resíduo satisfatório.
Quando você chegar ao ponto em que está satisfeito com os resíduos, a saída do buffer da etapa 1 na última passagem será o buffer que você deseja usar para o seu mapa.