Como remover picos em polígonos com o ArcGIS 10 / Python?

8

Na figura abaixo, você pode ver uma camada de polígono, representando declives acentuados, extraídos de um NIF. Os polígonos têm muitos picos neles. Gostaria de remover esses picos enquanto o restante das fronteiras permanece exatamente no mesmo local. Eu gostaria de fazer isso em um script Python, usando funções arcpy ou Python.

Mais informações: ArcGIS 10.0, Python 2.6.5, camada de polígono está em um GDB

cenário

Vincent Udo
fonte
3
Não tenho certeza de que você encontrará um método automatizado para corrigir seus picos. O problema é: como você distingue ângulos agudos dentro de polígonos versus fora? Ou como você diz ao seu software o que é um pico ou não? E como você não deseja que o restante do polígono se mova / mude, isso limita quais ferramentas funcionarão. Essa é difícil.
19413 Baltok
Com que extensão espacial você está trabalhando? Você gostaria de editar manualmente seus dados vetoriais (se possível)?
Aaron
1
Se você pode obter acesso ao FME, a ferramenta SpikeRemover pode fazer o que você procura . Não é realmente a solução que você pediu, mas seria rápida.
Fezter
@Baltok, obrigado pela sua resposta. Nada é impossível é ?;) Concordo que é uma dura um ...
Vincent Udo
@ Aaron A extensão espacial é grande demais para fazer isso manualmente. Tem que fazer isso em grande parte da Holanda.
Vincent Udo

Respostas:

2

Sugiro que você brinque com a ferramenta Simplificar polígono (primeiro) ou a ferramenta Polígono suave (segundo), para ver se elas atendem aos seus requisitos de que "o restante da borda fique exatamente no mesmo local".

andytilia
fonte
Obrigado pela resposta! Infelizmente, simplificar e suavizar não dão o resultado que estou procurando.
Vincent Udo
Oi Vincent - você pode dar mais informações sobre como o resultado se desvia de suas necessidades? Isso pode nos ajudar a descobrir se alguns ajustes de parâmetros podem fornecer uma saída aceitável ou se uma solução diferente seria melhor.
19713 Andy
Eu tenho que usar os polígonos para selecionar linhas que estão nas bordas dos polígonos, mas não quero selecionar as linhas que cruzam os pontos. Simplificar e Suavizar alteram as bordas, o que torna impossível selecionar as linhas corretas. As linhas são usadas para criar o TIN, portanto, elas estão exatamente no mesmo local que as bordas do polígono.
Vincent Udo
0

Pela sua imagem, posso dizer que essa abordagem o ajudará.

O procedimento é simples

  1. Primeiro, tampe a camada original com uma distância razoável.

  2. Em seguida, execute o buffer inverso com a mesma distância no resultado da etapa um.

  3. Após este clipe, você camada original com o resultado da etapa 2.

pode ser necessário simplificar sua camada final.

Espero que ajude você.

iRfAn
fonte
Obrigado pela sua resposta. Infelizmente, este método não tem o resultado que estou procurando. Preenche as lacunas entre os espigões e as encostas. Gostaria de encontrar uma maneira de remover os pontos removendo o vértice no ponto do ponto.
Vincent Udo