Mapas do Geopackage ENC no QGis Versão final: segunda parte

O projeto de integração dos mapas ENC ao QGis na forma de Geopackage está concluído. Este artigo completa os dois artigos já publicados sobre a simbologia ENC do banco de dados do Geopackage.

Adição de simbologia ao Geopackage

A simbologia padrão para as tabelas em um geopacote está contida em uma tabela chamada layer_styles, que só é criada se você usar a opção salvar por padrão no botão de estilo.

Depois de clonar as tabelas no arquivo ENC, a tabela não existe. Portanto, vamos importar a tabela que contém toda a simbologia para os mapas ENC.

Observação: a tabela layer_styles é uma tabela de sistema, ao contrário da tabela natsurf, que é uma tabela de dados simples. Ao contrário das tabelas de dados, as tabelas de sistema não aparecem no painel do explorador. Você precisa usar o Gerenciador de banco de dados QGis (menu Banco de dados -> Gerenciador de banco de dados) para visualizar e manipular tabelas de sistema, como a layer_styles. No entanto, o natsurf estará visível e poderá ser manipulado como qualquer outra camada de dados.

Baixar layer_natsurfV3.gpkg

Esse geopacote contém uma tabela, denominada layer_styles, com as definições de simbologia de 153 tabelas S57, bem como uma tabela denominada natsurf, que será usada para formatar a renderização da tabela “nature of the seabed” (SBDARE).

Para integrar essas tabelas ao seu arquivo ENC (aqui ENC.gpkg):

  • Abra o gerenciador de banco de dados no QGis.
  • Você já deve ter a conexão geopackage->ENC.gpkg. Caso contrário, clique com o botão direito do mouse em “Geopackage”->nova conexão e aponte para o arquivo ENC.gpkg.
  • Conecte-se à tabela layers_natsurf.gpkg baixada (clique com o botão direito do mouse em “Geopackage” ->nova conexão e aponte para o geopackage baixado)
  • Selecione layer_styles em layers_natsurf.gpkg e, em seguida, clique com o botão direito do mouse em->add to canvas e você terá a tabela layer_styles na lista de camadas carregadas.
  • Selecione natsurf em layers_natsurf.gpkg e, em seguida, clique com o botão direito do mouse em->adicionar à tela e você terá a tabela natsurf na lista de camadas carregadas.
  • Selecione o geopackage ENC.gpkg no gerenciador de banco de dados.
  • No menu Tabela, selecione Importar camada/arquivo
  • Na lista de camadas, selecione natsurf e, em seguida, OK
  • Repita a operação para a camada layer_styles.

A versão atual de layer_styles contém layouts de simbologia para 153 camadas. Lembre-se de verificar regularmente se há alguma atualização disponível para download.

Essa simbologia usa símbolos svg que você precisa baixar em seu computador. Ao clicar aqui, você fará o download de um arquivo “nauticalV3” que contém todos os símbolos svg necessários, bem como um diretório chamado “XML” com símbolos adicionais para o QGis.

Para instalar o diretório náutico, consulte o artigo Criação de um banco de dados Geopackage para mapas ENC (parte 2: adição de simbologia).

A tabela layer_styles contém a simbologia de 153 camadas, as camadas usuais para arquivos ENC. No entanto, pode haver até 210 camadas possíveis. Se, no seu caso, a tabela layer_styles não contiver uma ou mais das camadas do seu projeto, consulte o artigo Atualização (2): simbologia ENC com o Geopackage no QGis para adicionar essas simbologias ausentes dos arquivos de estilo .qml para todas as camadas (V1, V2 e V3), que podem ser baixados aqui.

Simbologias que mudam com essa nova versão

Os arquivos qml contidos no diretório qmlV3 são adaptados à cadeia de processamento atualizada, que recupera as primitivas e atribui os valores POSACC e QUAPOS às várias camadas S57, mas também a determinadas simbologias que foram especificadas. Se você começar com a cadeia de processamento V3, não precisará fazer nada para configurar essas simbologias. Elas são definidas por padrão em layer_stylesV3. Se estiver migrando de uma base de geopacote V2 para a V3, consulte o artigo Update(2): ENC symbology with Geopackage under QGis para a adição dessas simbologias ausentes nos arquivos de estilo .qml para todas as camadas (V1, V2 e V3).

Soundg (sondas batimétricas)

A tabela a seguir mostra a simbologia V3 da camada SOUNDG e os valores dos atributos usados para formatá-la.

SymboleQUASOUQUAPOSLabel
1Sounding in true position
Sonde dans sa position vraie
5No bottom found at depth shown
Pas de fond trouvé à la profondeur indiquée
44Soundings which are unreliable or taken from smaller scale
source
Sondes qui sont nonfiables ou provenant de sources à plus
petite échelle
1 (DEPTH<0)Drying heights above chart datum
Sondes découvrantes audessus du zéro des cartes
3Sounding doubtful
Sonde douteuse
98Reported, but not confirmed sounding or danger
Sonde ou danger signalé mais non confirmé

Obstrn (Obstruções)

A tabela a seguir mostra a simbologia V3 da camada OBSTRN (pontos) e os valores dos atributos usados para formatá-la

SymboleQUASOUTECSOULabel
2Obstruction, depth unknown
Obstruction de profondeur inconnue
1 or 6Obstruction, least depth known by sounding only
Obstruction, profondeur moindre connue, a été déterminé
seulement par sondage
66Obstruction, least depth known, swept by wire drag or diver
Obstruction, profondeur moindre connue, vérifiée à la
drague hydrographique ou par plongeur

UWTROC (rocha submersa/exposta)

A tabela a seguir mostra a simbologia V3 da camada UWTROC e os valores dos atributos usados para formatá-la

SymboleWATLEVQUASOULabel
42Rock which covers and uncovers, with height
unknown above chart datum
Roche qui couvre et découvre, avec cote audessus du zéro
des cartes inconnue
4!=2Rock which covers and uncovers, with height known above chart datum
Roche qui couvre et découvre, avec cote audessus du zéro
des cartes connue
5Rock awash at chart datum
Roche à fleur d’eau au zéro des cartes
32Underwater rock of unknown depth, dangerous to surface
navigation
Roche submergée de profondeur inconnue, présentant un
danger à la navigation de surface
3!=2Underwater rock of known depth
Roche submergée, de profondeur connue

WRECKS (Destroços)

A tabela a seguir mostra a simbologia V3 da camada WRECKS e os valores dos atributos usados para formatá-la

SymboleCATWRKWATLEVQUASOUTECSOULabel
5Wreck showing any portion of hull or superstructure at level
of chart datum
Épave montrant une portion de la coque ou superstructure
au niveau du zéro des cartes
4Wreck of which only the mast or masts are visible at chart
datum
Épave dont seul(s) le(s) mât(s) est (sont) visible(s) au niveau
du zero des cartes
31 or 6Wreck, least depth known by sounding only
Épave, la profondeur connue a été déterminé seulement par
sondage
31 or 64Wreck, least depth known, swept by wire drag or diver
Épave, profondeur moindre connue vérifiée à la drague
hydrographique ou par plongeur
232Wreck, least depth unknown, considered to be potentially
dangerous to some surface vessels
Épave de brassiage inconnu, constituant un danger
potentiel pour certains bâtiments de surface.
132Wreck, least depth unknown
Caution: On many charts, this symbol is used for wrecks of
unknown least depth, but considered to be covered by more
than 20m of water. The wrecks thus represented are then
potentially dangerous to vessels with a draught greater than
20m. Note: This symbol is also used for all wrecks in water
over 200m deep.
Épave de brassiage inconnu
Avertissement important : sur de nombreuses cartes, ce
symbole est utilisé pour les épaves de brassiage inconnu,
supposées couvertes de plus de 20 mètres d’eau. Les
épaves ainsi représentées sont alors potentiellement
dangereuses pour les navires d’un tirant d’eau supérieur à
20 mètres. Note : ce symbole est aussi utilisé pour toutes
les épaves dans des fonds supérieurs à 200m
37Wreck, least depth unknown, but considered to have a safe
clearance to depth shown
Épave, profondeur moindre inconnue, mais avec estimation
du plafond de brassiage à la profondeur indiquée
3Remains of a wreck or other foul ground, non dangerous to
navigation but to be avoided by vessels anchoring, trawling etc.
Vestige d’une épave ou autre sol de fonds malsains, non dangereux
pour la navigation mais qui constituent un danger pour le mouillage,
le chalutage, etc.

DEPCNT (Contornos batimétricos)

A nova versão da simbologia leva em conta a qualidade dos dados (isóbatas aproximadas).

SymboleVALDCOQUAPOSLabel
>=0Isobathes
Depth contours
<0Isobathe découvrante
Drying contour
4 ou 5Isobathes approchées
Approximate depth
contours

COALNE (litoral)

Foi adicionada uma nova categoria: Não pesquisado quando o atributo QUAPOS é 4 ou 5. Ela é simbolizada por uma linha tracejada

LNDELV (Linhas de contorno)

Assim como as isóbatas, as linhas de contorno agora são simbolizadas com uma linha tracejada quando o valor de QUAPOS é 4 ou 5.

LNDMRK, SEAARE, UWTROC, LNDELV, OBSTRN, WRECKS (Tipo de ponto)

Os rótulos dos valores de profundidade ou elevação dessas camadas levam em conta o valor QUAPOS. Eles agora têm um prefixo PA (Approximate Position, posição aproximada) quando o QUAPOS tem um valor de 4 e um prefixo PD (Doubtful Position, posição duvidosa) quando o QUAPOS tem um valor de 5.

SBDARE (natureza dos fundos)

A nova simbologia requer algum trabalho especial. Nas primeiras versões, implementamos uma simbologia que usava a tabela natsurf para formatar os rótulos necessários para a natureza do plano de fundo. Todo o processo era gerenciado no nível da expressão de geração de rótulos. Embora essa solução fosse viável para um pequeno número de mapas no banco de dados, os tempos de cálculo necessários para grandes números tornaram-se proibitivos.
Para esta versão final, optamos por implementar um script python que gera um atributo “Label” na tabela SBDARE. Esse atributo é usado como um rótulo e permite que a camada seja exibida quase instantaneamente.

Carregue a camada pt_SBDARE e a tabela natsurf em seu projeto.

Você precisa criar o atributo Label na tabela pt_SBDARE:

Abra a tabela de atributos -> Calculadora de campos

Nomeie o campo Label, do tipo Text, e insira um valor padrão de ”.

No console python, carregue o script Label_sbdare.py, que pode ser baixado aqui.

Depois de executados, os rótulos aparecerão no atributo Label (Rótulo) da tabela:

LIGHTS (Luzes)

A simbologia das luzes foi aprimorada. Agora, três tipos de luzes são simbolizados

  • Luzes de setor

  • Luzes direcionais

  • Luzes principais e secundárias

Para essa última categoria, há dois tipos de representação disponíveis

  • Tipo ECDIS com círculos coloridos

  • Tipo de mapa em papel com símbolos coloridos

No diretório qmlV3, há dois arquivos de simbologia para a camada Luzes

  • pt_lightsPoint.qml
  • pt_lightsMultipoint.qml

A tabela Lights resultante do processo de importação V1 e V2 é do tipo Point. No entanto, para que seja possível recuperar as primitivas, as modificações no comando ogr2ogr produzem uma camada de luzes multiponto. Por padrão, a simbologia da tabela layer_styles V3 é a de Multipoints.

Se estiver trabalhando com uma base com a tabela do tipo Pontos, poderá carregar a simbologia correspondente e salvá-la como a simbologia padrão em layer_styles.

Essas duas simbologias foram corrigidas por um desvio angular em comparação com as versões anteriores. Trabalhar com camadas em coordenadas geográficas significa que as distâncias latitudinais e longitudinais não estão em uma proporção constante. Se um delta X e um delta Y tiverem o mesmo comprimento no equador, quanto mais longe você estiver do equador, mais o delta X diminuirá em relação ao delta Y. Para desenhar as linhas dos setores a partir do fogo, criamos um ponto à mesma distância X e Y na direção do setor. Para que o ângulo resultante seja o do setor, uma correção deve ser aplicada multiplicando-se pela tangente da latitude do ponto. Os ângulos reais exibidos nas versões anteriores desviavam-se em até 10° do valor dos atributos SECTR1 e SECTR2. A correção tangente(Latitude) é uma aproximação que reduz esse desvio para cerca de 1°.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *