Atribuição de teclas de atalho QGIS: “selecione o próximo recurso e faça zoom para o recurso”

11

Eu tenho um conjunto de dados com mais de 2000 recursos com base em endereços. Preciso ampliar cada ponto individualmente e movê-los um pouco (sem mudança consistente, portanto não há outra maneira de fazê-lo).

Selecionar o próximo recurso na tabela de atributos e pressionar o botão "zoom to selected" é um pouco arrumado. Existe uma maneira (ou script python) de atribuir uma tecla de atalho que automaticamente seleciona e amplia o zoom para o próximo recurso?

Hannes Ledegen
fonte
com base em quais critérios você está mudando os pontos?
Nightwatch
Os pontos do @ Nightwatch foram plotados com base em um endereço. Como os pontos são igrejas que geralmente não têm um endereço, os locais reais ficam nas proximidades, mas não com um determinado turno (por exemplo, como resultado de uma reprojeção). A única maneira de fazer isso é olhar manualmente em cada ponto e movê-lo para o local onde google street ou OSM humano mostram o ícone da igreja. O que eu quero é mudar mais rapidamente da "vizinhança da igreja" para a vizinhança da igreja.
Hannes Ledegen 17/07/19
1
Você já pensou em uma abordagem diferente para o seu problema? Talvez consultando dados de pontos osm para igrejas e encaixando seus pontos nos pontos osm?
Nightwatch
@ Nightwatch que seria realmente a melhor opção. Alguma idéia de como eu poderia fazer isso? Eu dei uma olhada rápida antes de começar, mas percebi que o conector do mecanismo do Google Maps para QGIS não está emitindo mais contas gratuitas? Vou adicionar uma captura de tela para ter uma idéia do que preciso fazer.
Hannes Ledegen 17/07
1
download.geofabrik.de/europe/belgium-latest-free.shp.zip Fornecedor alemão de OSM. Não se preocupe, os nomes são belgas. você está interessado em "gis.osm_pofw_free_1.shp" e "gis.osm_pofw_a_free_1.shp" pofw = local de culto
Nightwatch

Respostas:

5

Isso pode ser feito criando um plug-in usando o construtor de plug-ins, adicione zoom ao próximo recurso com a lógica python pyqgis e defina as configurações de atalho, veja as instruções abaixo:

  1. Crie um plug-in usando o QGIS Plugin Builder (plug-in) para criar um plug-in "botão de ferramenta com caixa de diálogo" regular
  2. No yourPluginName.py (localizado em, C: \ Users \ yourUserName.qgis2 \ python \ plugins \ yourPluginName), abra o yourPluginName.py (no Bloco de notas ou melhor no Notepad ++) e comente todas as linhas na função def run (self):
  3. Adicione o zoom python à próxima lógica de recurso na definição def run (self): function (você terá que fazer alguma pesquisa sobre como fazer isso, se ficar preso, poste outra pergunta neste fórum com sua tentativa de código e forneça onde está preso )
  4. Por fim, na opção QGIS> Configurações> Configurar atalhos ..., navegue até encontrar o nome desse plug-in e defina uma tecla do teclado como o atalho

Isso permitirá que você passe clicando no botão do plug-in e chame-o de clicar na tecla de atalho.

artwork21
fonte
Obrigado obras de arte! Vou dar uma olhada nos diferentes scripts PyGis por aí e tentar criar meu primeiro plugin.
Hannes Ledegen
@HannesLedegen Você construiu um? Gostaria da mesma coisa e gostaria de ver se você teve sucesso.
brink
@brink, infelizmente não encontrei tempo para criar um. Gostaria de ajudar a testá-lo, caso você tente construir um você mesmo.
Hannes Ledegen
@HannesLedegen Vou tentar, mas não sei quase nada sobre codificação em python ou criação de um plugin. Eu já vi isso solicitado algumas vezes e estou surpreso que ninguém tenha construído um. É nesse ponto que me pergunto se seria mais rápido tentar construí-lo ou apenas fazer o trabalho com as ferramentas disponíveis.
Br
Aqui está uma resposta bastante simples sem a criação de um plugin. gis.stackexchange.com/questions/133189/…
brink
2

No QGIS 3.10, agora você pode configurar um atalho de teclado para Editar o recurso anterior / seguinte na tabela de atributos . No meu sistema, ele é definido como Ctrl+ Alt+ [e Ctrl+ Alt+, ]respectivamente, por padrão.

Veja também esta resposta a uma pergunta muito semelhante sobre como fazer o mesmo usando a interface gráfica.

onietosi
fonte