QGIS Não há entrada em geometry_columns!

8

No PostgreSQL v9.3 com extensões do PostGIS v2.1, criei uma exibição de duas tabelas (sites e visitas). A tabela de sites continha uma coluna de geometria de pontos (the_geom), que foi incluída na visualização criada. Verificando a exibição da tabela, ela continha as informações esperadas.

No QGIS v2.4 em execução no Windows 8.1, a tabela de sites que contém a coluna de geometria pode ser adicionada como uma camada. No entanto, ao examinar a tabela de exibição criada no DB Manager, ela declara:

PostGIS

Coluna: the_geom Geometria: GEOMETRIA Dimensão: 2 Extensão: 482350.00000, 132750.00000 - 538750.00000, 177150.00000

 Não há entrada em geometry_columns!

A guia da tabela mostra o conteúdo da tabela conforme o esperado e a visualização mostra os pontos que parecem razoáveis. O ícone da tabela de exibição é mostrado como um ponto de interrogação.

Quando a visualização foi criada, ela não pôde ser adicionada como uma camada ao mapa. No entanto, a reinicialização do meu computador permitiu que a exibição fosse adicionada como uma camada ao mapa.

Duas questões:

  1. O que significa a mensagem de erro e como faço para me livrar dela?
  2. Por que precisei reiniciar o computador para adicionar a tabela de visualização ao mapa?
atormentar
fonte

Respostas:

10

Acabei de encontrar esse problema exato - e fiz as mesmas perguntas. Não tenho certeza sobre a pergunta número 2, além de um palpite de que o servidor precisou reiniciar para registrar os tipos de dados sem as restrições PostGIS aplicadas (a coluna de geometria ausente e tudo).

Encontrei este post, que funcionava em minhas tabelas que tinham exatamente os mesmos pontos de interrogação e erros que o seu. Eu executei isso com sucesso:

WITH
t AS (SELECT table_schema, table_name
                FROM information_schema.tables
                WHERE table_schema = 'public' AND table_type = 'BASE TABLE')
SELECT Populate_Geometry_Columns((table_schema::text || '.' || table_name::text)::regclass) FROM t;

As tabelas são registradas com suas restrições espaciais de forma adequada, para que tudo seja agradável e limpo!

Sam
fonte