A aplicação recartDGT oferece algumas funcionalidades para se tirar o melhor partido do modelo CartTop (até à base de dados v1.1.2). Esta aplicação resulta das especificações técnicas de cartografia topográfica publicadas pela Direção Geral do Território até 1 de maio de 2024. Existem novas especificações técnicas v2.0 a partir de 1 de maio de 2024.
O módulo recartDGT é uma aplicação informática, que funciona a partir do QGIS, com as seguintes funcionalidades:
O módulo recartDGT está disponível em recartDGT.zip.
No repositório do recart está disponível o código fonte. Pode-se e deve-se usar o repositório para reportar questões.
Para instalar o módulo, escolhe-se no menu a opção Módulos → Gerir e instalar módulos...
recartDGT.zip
em "Ficheiro ZIP:"Instalar módulo
O módulo é instalado e fica disponível no menu Módulos.
O plugin deve ser instalado numa versão do QGIS 3.x.
Para instalar o plugin, escolhe-se no menu a opção Plugins → Manage and Install Plugins...
recartDGT.zip
em "ZIP file:"Install Plugin
O plugin é instalado e fica disponível no menu Plugins.
O módulo tem várias funcionalidades distintas e, por isso, tem desde logo três opções no menu, consoante o trabalho pretendido.
Esta opção permite visualizar no QGIS um trabalho guardado em PostgreSQL. O utilizador tem que definir ou escolher a ligação à base de dados e carregar as camadas existentes. Depois escolhe as camadas para acrescentar ao projeto. É criada uma tabela public.layer_styles
se não existir, com os estilos que serão aplicados às camadas adicionadas ao projeto.
As relações entre as tabelas do modelo CartTop são também adicionadas ao projeto.
Esta opção permite identificar elementos que possam não estar a cumprir as regras definidas nas especificações técnicas de cartografia topográfica publicadas pela Direção Geral do Território até 1 de maio de 2024.
As regras dividem-se em Regras Gerais (RG) e Regras Específicas (RE). Cada uma destas regras são concretizadas em PostgreSQL através de uma ou mais queries.
Caso julgue que alguma das queries não traduz a regra correspondente de uma forma conveniente, reporte o problema no repositório.
Esta opção permite converter cartografia antiga em DGN ou DWG para o novo modelo CartTop. O resultado é uma cartografia em PostgreSQL.
Caso tenha dificuldades em converter uma cartografia antiga, reporte o problema no repositório. Ao reportar o problema, se possível, anexe a cartografia em causa.
Se pretender enviar a cartografia para alguém que não tenha acesso a um servidor de base de dados PostgreSQL, pode empacotar toda a informação num GeoPackage ou em Shapefiles.
Por desenho, a conversão de DGN/DWG deve ser feita para um esquema novo, sem dados. O módulo não tem a capacidade de acrescentar dados a uma conversão anterior. Por essa razão, deve-se escolher um esquema novo para o destino da conversão de MNT para CartTop.
Segue uma breve descrição das opções de conversão de MNT para CartTop.
O CartTop estabelece as geometrias que têm que ser 2D ou 3D.
Com esta opção ativada, o módulo tenta ajustar a dimensão da geometria original para a adequada em CartTop. Por exemplo, se a geometria tiver que ser 3D, como no caso das curvas de nível, é acrescentada essa dimensão se estiver em falta (com o valor 0).
Com esta opção ativada, o módulo tenta correr um algoritmo de poligonização de linhas. Por exemplo, se uma construção estiver como linha, tenta-se formar um polígono com as linhas das geometrias originais.
Na cartografia DGN, se estiverem a ser utilizados elementos "cell headers", todos os elementos gráficos que compoõem esse "cell header" são convertidos para elementos distintos.
Ativando a opção Aproveitar apenas origem células CAD só é criado um elemento do tipo POINT para cada "cell header". As coordenadas do ponto referem-se à origem (ponto de inserção) do "cell header".
Esta possibilidade depende de uma versão do GDAL >= 3.5. Pode-se usar uma versão compilada, que inclua o PR#5664.
Na conversão de cartografia, podem surgir códigos nos DGN/DWG desconhecidos.
Os códigos desconhecidos podem ser tratados de duas formas:
plugin/convert/mapping.py
.É um ficheiro com pares: código desconhecido x código conhecido. Exemplo fictício:
{
"04060704-T_IGREJA": "04060704",
(...)
}
No caso ilustrado, sempre que o multicódigo 04060704-T_IGREJA
apareça, é substituído pelo multicódigo 04060704
.
Para ajudar a identificar os multicódigos presentes num arquivo que se pretende converter, pode-se usar a ferramenta create_map.py
. Exemplo de invocação:
python3 create_map.py -f 29_2_31MNT2K.dwg -a Layer
É gerado um arquivo map.json
com todos os multicódigos presentes em 29_2_31MNT2K.dwg
. Deve ser posteriormente editado manualmente.