Como o ArcGIS Desktop calcula o ponto INTERIOR para o Recurso a Ponto?

11

Deixe-me voltar e dizer que, pelo que entendi, existem duas maneiras comuns de calcular o centróide de um polígono no ArcGIS Desktop:

  1. Usando Calcular Geometria em campos na tabela de atributos da classe de recurso.
  2. Usando a Data Management -> Features -> Feature to Pointpartir da caixa de ferramentas.

Ambos dão o mesmo resultado - o centróide geométrico do polígono. No entanto, não há garantia de que esse ponto esteja dentro do polígono.

A ferramenta Feature to Point possui uma opção de caixa de seleção interna, que de acordo com a documentação:

Usa um local contido por um recurso de entrada como local do ponto de saída.

O que eu gostaria de saber é como esse ponto é calculado pelo ArcGIS Desktop e qual é o seu significado "teórico", se isso faz sentido.

mindless.panda
fonte
2
Dada a imprecisão geral da documentação da ESRI, é provável que você faça engenharia reversa do procedimento testando. Quando fiz isso com o AV 3.x há 15 anos, o algoritmo foi (1) encontrar o centróide geométrico e depois (2) movê-lo horizontalmente para o ponto mais próximo dentro do polígono.
whuber
@whuber - neste caso, o ponto interior pode ser diferente, mesmo se o próprio centróide é dentro do polígono, de modo que me faz pensar que é um completamente cálculo diferente
mindless.panda
3
Esta postagem no fórum do site da ESRI é interessante e parece indicar que é uma caixa preta.
mindless.panda
Usando python na 9.3.1, comparei algumas maneiras possíveis de gerar um 'centróide'. Pode ser visto aqui ! nos fóruns da ESRI.
SaultDon
@mindless No algoritmo antigo, se o centróide estava dentro do polígono, é claro que não foi movido: coincide com o ponto mais próximo dentro do polígono. No entanto, a postagem do fórum que você encontrou torna esse problema discutível: a ESRI mudou o algoritmo. Eu não deduziria que é "completamente diferente". Pode ser apenas um refinamento do anterior. Porém, não será fácil fazer engenharia reversa.
whuber

Respostas:

4

Os algoritmos são proprietários, mas existem dois conceitos básicos aqui. O centróide usa um algoritmo de centro de gravidade (existem muitas maneiras diferentes de calcular isso). A caixa de seleção "dentro" calcula um centróide, mas depois move o ponto para dentro, se cair fora, pois é desejável em alguns casos.

No nível do ArcObjects, essas abordagens são definidas como o Centroid e o Label Point . Veja o link do Centroid para imagens de exemplo.

Craig Williams
fonte
Embora isso não nos diga como o ponto interno é calculado, ele nos diz que é sinônimo do ponto do rótulo.
mindless.panda
1

Nós usamos o ArcMap 10.3. Recurso calculado (1) para apontar com a opção interna (2) recurso para apontar sem a opção interna (3) centróide por calcular a geometria.

Os pontos de (2) e (3) compartilham o local, às vezes esses pontos estão fora do polígono. (1) cria pontos dentro dos polígonos, como esperado, principalmente idênticos aos pontos de (3) e (2). Às vezes, os pontos de (1) são diferentes, mesmo onde os pontos de (3) ou (2) estão dentro do polígono (!): Não podemos detectar uma necessidade de uma mudança espacial para receber um ponto interno.

Os pontos deslocados de (1) não são rigorosamente deslocados na direção WE ou NS. Às vezes, pontos deslocados desnecessariamente são localizados em uma posição que definitivamente não representa um ponto de gravidade e são inesperados.

O trabalho científico precisa ser reproduzível. Não conseguimos encontrar uma documentação para o algoritmo nem explicar uma mudança, especialmente onde não é necessário. Portanto, o centróide com recurso ESRI não é aplicável.

Christoph
fonte