Estou deixando de criar mapas com o Illustrator para torná-los com QGIS e dados reais. Uma das coisas que não consegui recriar no QGIS são as linhas curvas suaves que posso obter no Illustrator. Não estou falando de estilos de junção e de limite, mas como uma linha inteira é renderizada.
Estou procurando uma resposta que não inclua a exportação como SVG para o Illustrator e o acabamento do mapa.
Além disso, eu sei que eles podem ser considerados uma representação imprecisa, mas, na maioria dos casos, esses mapas são para dar aos motociclistas uma idéia de onde eles estão e não necessariamente precisam ser uma representação exata.
Aqui está um exemplo do que quero dizer:
Respostas:
Confira o plug-in Generalizer, ele deve fazer o que você deseja. O plugin possui opções de suavização que funcionam muito bem.
Ele não altera a forma como suas linhas são renderizadas, mas cria um novo arquivo de forma com suavização (ou simplificação / generalização) aplicada.
fonte
Usando o plugin QGIS + GRASS:
Adicione a barra de ferramentas Grass na janela "Gerenciar plug-ins".
Suas linhas precisarão ser um vetor de grama, então converta-as em um conjunto de mapas GRASS novo ou existente.
Na barra de ferramentas do GRASS, selecione Ferramentas GRASS ...
Procure o módulo: v.generalize ( tutorial WIKI aqui )
Você pode escolher vários algoritmos de generalização diferentes:
Observe os algoritmos: Chaiken, Hermite ou até Sliding Average. Existem vários outros também!
As diferenças podem ser vistas nas imagens da wiki:
Usando uDig + jgrasstools ou grama:
Se você tiver dificuldade em obter resultados desejáveis com o v.generalize do GRASS, tente a versão mais recente do uDig com o jgrasstools . Você também pode pegar o pote de grama no mesmo local que o jgrasstools.
Depois que o uDig estiver instalado e funcionando, ative a Caixa de ferramentas espaciais : Janela> Mostrar exibição> Outros ...
Desmarque a barra de ferramentas para facilitar a legibilidade (clique com o botão direito do mouse na guia Spatial Toolbox> Desanexar ...):
Carregue os módulos jgrasstools e grass (opcional) necessários:
Não se esqueça de definir seus parâmetros de grama (aponte para executável ou arquivo bat no windows, ou comando grass no linux, por exemplo, / usr / bin / grass) se você carregar o arquivo jar jar:
Finalmente! Usando as ferramentas do jgrasstools (não grama), você pode generalizar a linha facilmente com Vector Processing> LineSmootherJaiTools
Certifique-se de definir a entrada e a saída corretamente (funciona apenas em Shapefiles, portanto, não é necessário converter seus dados em conjuntos de mapas / locais para grama) :
Depois de definir a tolerância de suavização (0,0 - 1,0) e a entrada / saída, pressione o botão Play na janela Spatial Toolbox (canto superior direito):
Resultados:
fonte
Existe outra maneira, possivelmente dessa maneira apenas desde a versão QGIS 2.0:
Em Processamento> Caixa de ferramentas, você pode acessar as ferramentas GRASS e SAGA. Para suavização, você encontra v.generalize, mas também simplificação de linha do SAGA. Essas ferramentas funcionam em arquivos de forma regulares, portanto, nenhum vetor de grama é necessário:
O modo de lote ainda não está bem resolvido (clique com o botão direito do mouse no menu à direita e escolha "Executar como lote", pois é necessário escolher cada arquivo manualmente. O plug-in generalizador mencionado acima permite que você escolha muitos arquivos de maneira mais simples , mas isso só funciona no momento se não for especificado um arquivo para salvar, caso contrário, o plug-in trava.
fonte
Existe um algoritmo de geometria suave abaixo
Processing Toolbox -> QGis geoalghoritms -> Vector
.fonte