dgterritorio / recart-plugin

3 stars 8 forks source link

Módulo 'Verificar Regras CarTop' pára com erro interno #23

Closed RainIsGood closed 2 years ago

RainIsGood commented 2 years ago

Bom dia,

Após importar com sucesso uma pequena cartografia codificada com ULink, selecionando NdD1, ' forçar geometria' e 'forçar fecho', com sucesso a 100 %,

Processar Dataset
Foram processadas 1571 features
Converter dados
    Foram convertidas 26 features para a camada area_agricola_florestal_mato
    Foram convertidas 16 features para a camada areas_artificializadas
    Foram convertidas 1 features para a camada area_trabalho
    Foram convertidas 3 features para a camada cabo_electrico
    Foram convertidas 29 features para a camada conduta_de_agua
    Foram convertidas 163 features para a camada constru_linear
    Foram convertidas 38 features para a camada constru_polig
    Foram convertidas 5 features para a camada curso_de_agua_area
    Foram convertidas 17 features para a camada curso_de_agua_eixo
    Foram convertidas 42 features para a camada curva_de_nivel
    Foram convertidas 64 features para a camada edificio
    Foram convertidas 205 features para a camada elem_assoc_agua
    Foram convertidas 71 features para a camada elem_assoc_eletricidade
    Foram convertidas 6 features para a camada elem_assoc_telecomunicacoes
    Foram convertidas 22 features para a camada linha_de_quebra
    Foram convertidas 8 features para a camada obra_arte
    Foram convertidas 562 features para a camada ponto_cotado
    Foram convertidas 41 features para a camada ponto_interesse
    Foram convertidas 97 features para a camada seg_via_rodov
    Foram convertidas 155 features para a camada via_rodov_limite

    Total convertido: 1571 features (100.00%)

não é possível fazer a 'Verificação das Regras CarTop' porque o módulo pára com um erro interno, não fazendo qualquer verificação ou relatório, com o erro,

Validar base de dados...
    A criar estrutura de validação ...
[Erro 10]
    Exception: Error while connecting to PostgreSQL line_interpolate_point: 1st arg isn't a line

    A executar validações ...

    A executar validação 'rg_1 Dimensão mínima dos polígonos' (1 de 48)
[Erro 11]
    Exception: Error while connecting to PostgreSQL procedure validation.do_validation(boolean, unknown) does not exist
LINE 1: call validation.do_validation(true, 'rg_1');
             ^
HINT:  No procedure matches the given name and argument types. You might need to add explicit type casts.

Terminada a validação

Aqui o ficheiro para o erro poder ser reproduzido.

PP_v7.zip

A versão do plugin usada é a 1.2.8 contudo nas recentes versões anteriores o erro é o mesmo.

As restantes versões usadas: Windows 10 QGis 3.22 GDAL/OGR 3.3.3 Python 3.9.5 PostgreSQL 14

Agradecíamos podermos ultrapassar este erro. Obrigado.

jgrocha commented 2 years ago

Confirmo. Na criação do TIN de suporte, a função utilizada para a interpolação está à espera de ST_LineString. A script validation_setup.sql falha aparentemente por haver curvas de nível do tipo ST_MultiLineString.

Parece-me pacífico aceitar ambas as formas. Vou submeter uma alteração para a interpolação funcionar em ambos os casos.

RainIsGood commented 2 years ago

Ok. A título informativo este exemplo de cartografia, originalmente em DGNv8, tem apenas geometrias simples, 'linestrings' e 'shapes'. Foi o comando de exportação para formato DGNv7 do MicroStation que passou automaticamente algumas dessas geometrias originais para 'complexchain' (i.e. ST_MultiLineString) como é o caso das curvas de nível e para 'complexshape' como por exemplo a 'Área de Trabalho', que originalmente é apenas 'shape'.