Rasterebene reparieren: Provider ist beim Laden von PostGIS-Rastern kein gültiger Fehler?


9

Ich habe den aktuellen QGIS-Master wie gewohnt kompiliert und installiert und einige Rasterdaten mit der Erweiterung postgis 2.0.2 in meine postgres 9.3-Datenbank importiert. Immer wenn ich versuche, die Rasterdaten mit dem Datenbankmanager in qgis zu importieren, wird folgende Meldung angezeigt:

GDAL provider: Cannot get GDAL raster band: 
Raster layer: Provider is not valid (provider: gdal, URI: PG: dbname=gis host=127.0.0.1 user=xxx password=xxx port=5432 mode=2 schema=public table=elevation

In der Kommandozeile bekomme ich

ERROR 1: Computed PostGIS Raster dimension is invalid. You've probably specified unappropriate resolution.

Ich habe keine Ahnung, wo ich nach dem Fehler suchen soll.


Ich bin gerade zu Postgis 2.1.2 gewechselt und das gleiche Problem ist dort zu sehen.


3
Mit der Postgis-Version ist dies kein Problem. Ich verwende Postgis 2.1.3 unter Debian und QGIS 2.1 und es hat perfekt funktioniert, aber wenn ich dieselbe Datenbank mit QGIS 2.4 verwende, wird dieselbe Fehlermeldung angezeigt.
Ronny

1
Ich bin auf QGIS 2.4 mit Xubuntu 14.04, PostgreSQL 9.1 und PostGIS 2.X und bekomme das gleiche Problem. Benötigen Sie einige Lösungen oder Mittel zu einigen Lösungen.
Phil Donovan

Antworten:


5

Ich habe den gleichen Fehler in QGIS 2.8.5 mit Ubuntu erhalten und das Problem durch Hinzufügen von Einschränkungen für mein Raster mit dem folgenden SQL-Satz gelöst.

Beachten Sie, dass die letzten drei Parameter genau so übergeben werden sollten, wie es unten beschrieben ist. Sie müssen sie nicht ändern. Ändern Sie einfach die ersten drei: Rastertabellenschema, Rastertabellenname, Rastertabellenfeld.

SELECT AddRasterConstraints('<schema>'::name, '<raster table>'::name, '<raster field, ex: rast>'::name,'srid','out_db','extent')
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.