QGIS Tidak ada entri di geometry_columns!

8

Dalam PostgreSQL v9.3 dengan ekstensi PostGIS v2.1 saya membuat tampilan dari dua tabel (situs & kunjungan). Tabel situs berisi kolom geometri titik (the_geom), yang dimasukkan dalam tampilan yang dibuat. Memeriksa tampilan tabel itu berisi informasi yang diharapkan.

Dalam QGIS v2.4 yang berjalan di bawah Windows 8.1, tabel situs yang berisi kolom geometri dapat ditambahkan sebagai layer. Namun, ketika melihat tabel tampilan yang dibuat di DB Manager, itu menyatakan:

PostGIS

Kolom: the_geom Geometri: GEOMETRI Dimensi: 2 Luas: 482350.00000, 132750.00000 - 538750.00000, 177150.00000

 Tidak ada entri di geometry_columns!

Tab tabel menunjukkan isi tabel seperti yang diharapkan, dan pratinjau menunjukkan poin yang terlihat masuk akal. Ikon untuk tabel tampilan ditampilkan sebagai tanda tanya.

Ketika tampilan pertama kali dibuat, itu tidak bisa ditambahkan sebagai layer ke peta. Namun, me-reboot komputer saya telah memungkinkan tampilan ditambahkan sebagai layer pada peta.

Dua pertanyaan:

  1. Apa arti pesan kesalahan itu, dan bagaimana saya menyingkirkannya?
  2. Mengapa saya perlu me-reboot komputer saya untuk menambahkan tabel tampilan ke peta?
Harry
sumber

Jawaban:

10

Jadi saya hanya menemukan masalah yang tepat ini - dan mengajukan pertanyaan yang sama. Saya tidak yakin tentang pertanyaan nomor 2, selain dugaan bahwa server harus memulai ulang untuk mendaftarkan tipe data tanpa batasan PostGIS yang diterapkan (geometri_kolom tidak ada dan semuanya).

Saya menemukan posting ini , yang berfungsi pada tabel saya yang memiliki tanda dan kesalahan pertanyaan yang sama persis dengan milik Anda. Saya berhasil menjalankan ini:

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;

Tabel terdaftar dengan batasan spasial mereka dengan tepat, jadi semuanya bagus dan bersih!

Sam
sumber