Cálculo da largura do polígono no ArcGIS Desktop?


10

É fácil calcular a largura de um polígono usando o ArcGIS 9.3.1 ou 10?

Encontrei alguns scripts para a 9.1, mas eles não funcionarão. Eu posso usar a largura no ponto mais largo, no ponto mais estreito ou na média. Não precisa ser exato, mas precisa ser um pouco automatizado, porque tenho algumas centenas para calcular.


1
No caso de outra pessoa procurar uma resposta anos depois: gis.stackexchange.com/a/181801/10919
— Tom

Respostas:


6

A largura do polígono pode ser obtida usando um retângulo delimitador de área mínima. Esse link ... contêineres delimitadores ... a fornece uma solução. Calcule isso como o mínimo do "comprimento" e "largura" do retângulo. Está disponível em todos os níveis de licença do ArcMap (atualizado em janeiro de 2016)


Esta resposta tem 5 anos. Houve alguma atualização no ArcGIS ou em outros métodos para fazer isso desde a publicação desta resposta?
— dassouki 16/09/2015

1
@Dassouki Dan Patterson (que postou em outro lugar neste tópico) codifica esses tipos de soluções há anos. Ele é o primeiro lugar em que eu procuraria atualizações e novas soluções no ArcGIS.
— whuber

@whuber atualizou o link ... graças a cabeça para cima

1

Esta é apenas uma resposta parcial à sua pergunta, mas pode ser um indicador na direção certa. Para esclarecer, isso encontrará a largura do envelope do polígono no ponto mais largo. Adicione um atributo com o tipo de campo double ao seu recurso. Abra a calculadora do campo e clique em Avançado. Cole esse código no bloco de código e defina o campo que você criou igual a Ouput

Dim Output As Double
Dim pPoly as IPolygon
Set pPoly = [Shape]
Dim pEnve as IEnvelope
Set pEnve = pPoly.Envelope
Output = pEnve.Width

Trabalhos em 9.3.1. Originalmente publicado aqui .


Essa parece ser a largura do envelope: não parece ser o que o OP está pedindo.
— whuber

Eu editei minha resposta para esclarecer isso, obrigado por apontar. A pergunta original dizia que não precisava ser exata, portanto a largura do envelope pode ser suficiente.
— Zachary

1
Infelizmente, a largura do envelope é a mais inexata possível. Por exemplo, quando o recurso está alinhado com sua largura na direção vertical, a "largura" do envelope realmente calcula o comprimento do recurso . Sua idéia de explorar a largura do envelope foi usada em código que gira sistematicamente o recurso em uma busca pela largura mínima do envelope: em muitos casos, há uma reivindicação legítima de ser uma estimativa razoável da largura. Acredito que Dan Patterson tenha uma contribuição dessa natureza no ArcScripts.
— whuber
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.