Ir diretamente para o conteúdo

Como apresentar a localização e a orientação de uma fotografia

A orientação das fotografias tiradas através da aplicação móvel pode ser apresentada no projeto, para que se possa ver a direção para a qual a câmara está virada.

Mergin Maps A aplicação móvel mostra a direção da fotografia

Para tal, iremos:

  • utilizar metadados EXIF para guardar a localização e a orientação das fotografias
  • utilizar uma camada virtual para apresentar um ponto para cada fotografia (local onde a fotografia foi tirada)
  • aplicar um estilo à camada virtual para visualizar a orientação da fotografia

Projeto de exemplo disponível

Para explorar esta configuração, descarregue este projeto público Mergin Maps Documentação do projeto/formulários_com_várias_fotografiasdocumentação/formulários_com_várias_fotografias.

Armazenamento da orientação e da localização das fotografias

Aqui, utilizamos um projeto que permite anexar várias fotografias numa única publicação. Contém uma camada de levantamento de pontos (aqui: Inquérito) e uma tabela não espacial para fotografias (aqui: fotografias).

A camada de fotografias tem campos para armazenar a localização (latitude lat, longitude longo) e direção (direção) das fotografias. Estes valores são guardados automaticamente, utilizando os metadados EXIF como valores predefinidos (ver Geolocalização (para mais informações).

Utilizamos os seguintes valores por predefinição, uma vez que as fotografias são guardadas em uma pasta personalizada denominado fotografia:

  • latitude: read_exif_latitude(@project_home + '/' + "photo")
  • longitude: read_exif_longitude(@project_home + '/' + "photo")
  • orientação: read_exif_img_direction(@project_home + '/' + "photo")

QGIS Atributos: valor predefinido da orientação da fotografia

Etiquetas de localização

Para guardar os valores dos metadados EXIF, é necessário que as etiquetas de localização estejam ativadas nas definições da câmara.

Camada virtual de locais das fotografias

A localização e a orientação das fotografias são armazenadas numa tabela não espacial fotografias. Aqui, vamos criar uma camada virtual, na qual a localização de cada fotografia é apresentada como um ponto.

Camadas virtuais

As camadas virtuais são, na essência, vistas de bases de dados. São criadas a partir de uma consulta SQL, pelo que não contêm quaisquer dados e não podem ser editadas.

As camadas virtuais podem ser incorporadas no projeto, sincronizadas e utilizadas na aplicação móvel.

Ver QGIS DocumentaçãoQGIS Manual do Utilizador para mais informações sobre camadas virtuais.

  1. Criar um Nova camada virtualQGIS Nova camada virtual

  2. Clique no Importar botão para selecionar uma camada do projeto QGIS Nova camada virtual

  3. Selecione a camada que contém as fotografias (neste caso: fotografias) QGIS Nova camada virtual

  4. Definir a camada virtual:

    • Nome da camada pode ser definido conforme necessário (aqui: Local da fotografia)
    • Camadas incorporadas deve conter a camada importada (neste caso: fotografias)
    • Consulta para a camada virtual. Neste caso:
SELECT fid,
photo,
topógrafo,
Data,
lat,
long,
direção, 
transform(  MakePoint(long, lat, 4326) , 'EPSG:4326', 'EPSG:3857' ) as geometria
DE fotos
  • A geometria da camada virtual é definida manualmente da seguinte forma:

    • Coluna de geometria: geometria (conforme definido na consulta)
    • Tipo: Ponto
    • CRS: EPSG: 3857 (tal como utilizado pelo MakePoint função na consulta)

    QGIS Criar uma camada virtual

  1. Utilize o botão «Adicionar» para adicionar a camada virtual ao projeto.

    Deve aparecer como uma camada de pontos com os mesmos dados que a fotografias camada.

Símbolos para a localização e orientação da fotografia

Aqui iremos definir a simbologia da camada virtual. Iremos utilizar um marcador SVG para indicar a localização da fotografia, combinado com uma visualização da direção da fotografia.

  1. Aceda ao separador «Simbologia» das «Propriedades da camada»

  2. Primeiro, vamos criar um símbolo para indicar a localização da fotografia.

    No tipo de camada «Símbolo», altere o «Marcador simples» para Marcador SVG e:

    • Encontre um símbolo adequado no Navegador SVG. Neste caso, utilizamos um símbolo fotográfico da pasta «App Symbols > shopping ».
    • Definir o tamanho e a cor adequados do símbolo

    QGIS simbologia de orientação fotográfica

  3. Agora vamos criar uma visualização da orientação da fotografia.

    Utilize o botão «Adicionar camada de símbolos» para adicionar um novo marcador localizado por baixo do marcador SVG.

    Configure-o da seguinte forma:

    • Tipo de camada de símbolos: Gerador de geometria
    • Tipo de geometria: Polígono / Multipolígono
    • Expressão:
    wedge_buffer(center:=$geometry, azimuth:= to_int( "direction" ), width:=45, outer_radius:=100)

    QGIS simbologia de orientação fotográfica

    Isto define a geometria do símbolo. Pode alterar o seu tamanho modificando o largura e raio_externo variáveis no wedge_buffer função.

  4. Por fim, vamos aplicar um estilo a este símbolo.

    • Altere o tipo da camada «Símbolo» de «Preenchimento simples » para «PreenchimentoShapeburst»
    • Para as cores dos gradientes, utilize a opção «Duas cores » e escolha as cores. Recomendamos a utilização de cores semitransparentes.
    • Na opção «Estilo de sombreado», defina a distância conforme necessário; neste caso, utilizamos 5,00

    QGIS simbologia de orientação fotográfica

E eis como fica a nossa configuração no QGIS:

QGIS exibir a orientação da foto

Quando adicionares uma fotografia na aplicação móvel, esta será apresentada nesta camada virtual:

Mergin Maps A aplicação móvel mostra a direção da fotografia