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


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".


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ê.


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
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.