QGIS geometry_columnsにエントリがありません!


8

PostGIS v2.1拡張機能を備えたPostgreSQL v9.3では、2つのテーブル(サイトと訪問)からビューを作成しました。サイトテーブルには、作成されたビューに含まれていたポイントジオメトリ列(the_geom)が含まれていました。テーブルビューを確認すると、予期した情報が含まれていました。

Windows 8.1で実行されているQGIS v2.4では、geometry列を含むサイトテーブルをレイヤーとして追加できます。ただし、DB Managerで作成されたビューテーブルを見ると、次のように記載されています。

PostGIS

列:the_geomジオメトリ:GEOMETRYディメンション:2エクステント:482350.00000、132750.00000-538750.00000、177150.00000

geometry geometry_columnsにエントリがありません!

テーブルタブには期待どおりにテーブルの内容が表示され、プレビューには妥当と思われるポイントが表示されます。ビューテーブルのアイコンは疑問符として表示されます。

ビューが最初に作成されたとき、マップにレイヤーとして追加できませんでした。ただし、コンピューターを再起動すると、ビューがレイヤーとしてマップに追加されます。

2つの質問:

  1. エラーメッセージの意味と、それを取り除く方法を教えてください。
  2. ビューテーブルをマップに追加するためにコンピューターを再起動する必要があるのはなぜですか?

回答:


10

だから私はちょうどこの正確な問題に遭遇しました-そして同じ質問をしました。PostGISの制約を適用せずにデータタイプを登録するためにサーバーが再起動しなければならなかったという問題(geometry_columnが欠落していてすべて)を除いて、質問番号2についてはわかりません。

私はこの投稿を見つけました、それはあなたのものとまったく同じ疑問符とエラーがあった私のテーブルで機能しました。私はこれを正常に実行しました:

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;

テーブルは空間的制約とともに適切に登録されているため、すべてがきれいです!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.