dgterritorio / recart-plugin

3 stars 8 forks source link

Suporte para a leitura do formato DGNv8 ou DWG #18

Closed RainIsGood closed 2 years ago

RainIsGood commented 2 years ago

Bom dia,

O módulo de importação não está a aceitar ficheiros em formato Dgn v8 ou DWG, (apenas ficheiros Dgn v7), produz o erro:

File"C:\Users/MS/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\recartDGT\convert_dialog.py", line 112, in changeInputFile
    data_source = gdal.OpenEx(test_file, gdal.OF_VECTOR)
    RuntimeError: 'C:\DATA\Work\dgn\023-456.dgn' not recognized as a supported file format.`

Sabemos que não tem diretamente a ver com o plugin mas sim com as bibliotecas do GDAL. O GDAL tem suporte nativo para Dgn v7 e para Dxf, mas para Dgn v8 e Dwg precisa da biblioteca (de código não aberto) Open Design Alliance Teigha.

Se alguém puder dar as indicações de configuração necessárias para se poder usar o formato Dgn v8 ou Dwg no plugin agradecíamos.

As versões que estamos a usar são as últimas de: Windows 10 QGis 3.22 GDAL/OGR 3.3.3 Python 3.9.5 PostgreSQL 14

Docs : https://gdal.org/drivers/vector/dgn.html https://gdal.org/drivers/vector/dgnv8.html

https://gdal.org/drivers/vector/dwg.html https://gdal.org/drivers/vector/dxf.html

jgrocha commented 2 years ago

A compilação das bibliotecas do GDAL+ODA está fora do âmbito do plugin. De qualquer mode, aqui ficam umas notas breves. Notas mais detalhadas estão incluídas na documentação do GDAL (para versões < 3.5), sem cmake.

Depois de compiladas as bibliotecas do ODA, a compilação do GDAL (a partir da versão 3.5) com esse suporte é relativamente simples, usando o cmake:

mkdir build
cd build
cmake -DTEIGHA_ROOT=/home/jgr/dev/cpp/ODA22.3/base_8.3 ..
cmake --build . -j16

Contudo, não é algo trivial.