Colocar números de elevação em contornos com orientação e posição para cima no QGIS?

20

Quero orientar minhas etiquetas de elevação para cima.

Isso é possível?

Atualmente, estou usando a ferramenta de rotulagem do QGIS (não aquela nas configurações de camada). Quero que os rótulos sejam curvos e orientados para cima (e gostaria de definir com que regularidade os números são exibidos). É tudo para um mapa impresso.

MAPA
fonte
Consulte chat.stackexchange.com/rooms/939/gis . Receio que não seja uma resposta. Usuario.
N
Você estritamente usa apenas QGIS? Você já pensou em usar outro software para preparar dados para rotular?
Alex Markov
Também gostaria de usar outro software, se a sua aberto e livre :)
MAPA
Que você possa ler este articl Como gerar contornos usando dados de ponto no Quantum GIS (QGIS) e
sábio han

Respostas:

21

Aqui vamos nós, um método para obter algum controle sobre o posicionamento das etiquetas de contorno, veja a figura.

A primeira coisa que fiz foi carregar os contornos. Em seguida, em um novo shapefile de linha, desenhei uma linha do topo da colina até o fundo (os rótulos da imagem estão alinhados com isso). Em seguida, coloquei a linha em buffer e usei o buffer para cortar a camada de contorno. Depois disso, carreguei os contornos cortados sobre a camada de contorno, defina a simbologia para que as pequenas linhas não renderizem e rotulei a camada cortada usando o novo sistema de etiquetagem.

No exemplo mostrado, usei apenas uma linha reta, mas é claro que também seria possível usar polilinhas, para produzir etiquetas melhor colocadas.

Ah, você só precisa de um pequeno valor de buffer, 50 metros, acho que usei no exemplo, mesmo que isso tenha sido maior do que o estritamente necessário.

insira a descrição da imagem aqui

Nhopton
fonte
Método criativo. Eu poderia emprestar essa idéia para mapas futuros.
Sue Deforest
2
Parece uma ótima ideia, Nick! Mas parece muito trabalho para uma área de 1000 km² com centenas de colinas e montanhas ... :)
MAP
1
Um pouco de um truque sujo, você não acha? :)
blah238
1
Sim! Mas isso é um elogio no meu livro :) Sim, seria uma quantidade considerável de trabalho, Martin, mas mais rápido do que mudar os rótulos de pontos sobre mim. Você pode desenhar muitas linhas para armazenar buffer na mesma camada e, como mencionei antes, elas não teriam que ser retas. Não seria uma boa ideia cruzá-los, eu acho. Usuario.
N
Esse método combinado às camadas virtuais pode fornecer uma maneira interativa de definir o rótulo ao longo de uma linha.
Alexandre Neto
4

Usando posicionamento paralelo junto com "linha abaixo" e "posição dependente da orientação da linha", consegui colocar as etiquetas sempre no lado superior.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

O posicionamento curvo atualmente parece ignorar a orientação da linha. (Eu relatei o comportamento.)

Além disso, não parece possível obter rótulos invertidos, se você estava buscando isso.

submundo
fonte
orientação é como você sabe onde "para cima" é relativo ao contorno, mesmo que os rótulos estejam de cabeça para baixo.
Mike T
1
Obrigado! Mas não está funcionando muito bem. A orientação ainda é orientada para o ângulo da linha, não para o lado da subida, como 1700m e 1900m ou os números de contorno nas colinas do lado esquerdo. Mas obrigada!
MAP
@ MikeToews Estou ciente disso, mas atualmente não parece possível criar rótulos invertidos atualmente (como mencionei na resposta).
Subterrâneo
'Regras' é uma palavra muito forte, mas existem convenções sobre a rotulagem de linhas e o novo sistema de rotulagem faz um bom trabalho em respeitá-las. Acho que se você quisesse selecionar onde os rótulos apareceriam na linha, teria que dividir as linhas em seções apropriadas. Usuario.
N
Pode haver outra maneira de lidar com a colocação de etiquetas de contorno, deixe-me pensar sobre isso.
N
4

O que você pode fazer é criar um arquivo de ponto a partir dos contornos com um atributo da elevação (você pode fazer isso usando qualquer perfil da ferramenta de linha). Em seguida, adicione no ponto o valor do aspecto (você precisará da varredura do aspecto, mas isso é fácil de produzir) e, finalmente, gire a etiqueta de elevação nos pontos de acordo com o aspecto (na verdade, precisará ser 180 graus + aspecto, porque o aspecto é a direção em declive ). Você pode estilizar os pontos para que eles não apareçam. Espero que isso ajude, pois depende muito dos detalhes dos seus dados; se o aspecto não corresponder à direção do contorno, pode ser bastante irritante.

ardms
fonte
1
(+1) Abordagem inteligente - e geral o suficiente para trabalhar com muitos SIGs, e muito flexível também. (Infelizmente, esta solução não atende aos requisitos de rótulos que se curvam com os contornos.) Bem-vindo ao nosso site!
whuber
1

Freqüentemente, os vértices da linha de contorno são capturados de forma que a subida esteja sempre do mesmo lado da linha. Talvez seja o caso dos seus dados ...

julien
fonte
Esse parece ser o caso do plugin QGIS Contour. Mas isso ainda deixa a questão de como lidar com os rótulos.
Underdark
0

Suponho que o interlocutor queira que os rótulos dos contornos estejam voltados para cima, em vez de serem colocados no lado mais alto do contorno.

No QGIS 3.2, vá para

  • Camada -> Propriedades ...,
  • guia Rotulagem
  • subguia Renderização

e selecione Mostrar rótulos de cabeça para baixo = sempre . Sem isso, o QGIS se recusará a imprimir etiquetas de cabeça para baixo, e você terá uma mistura de orientações.

Se você achar que as etiquetas estão erradas, poderá usar a ferramenta Inverter direção da linha na Caixa de ferramentas de processamento.

Observe que isso pressupõe que todos os contornos da camada são orientados da mesma maneira. Esse deve ser o caso se a ferramenta Contour no QGIS tiver sido usada (que chama gdal_contour).

Tom Brennan
fonte