Ich versuche, den Anweisungen hier zu folgen , um ein Raster in eine PostGIS-Datenbank zu laden:
python raster2pgsql.py -s 4269 -I -r *.tif -F myschema.demelevation -o elev.sql
Ich verstehe, dass ich durch *
den Pfad zu meinem Raster ersetze , aber ich verstehe den Teil myschema.demelevation
oder nicht elev.sql
. Sollte ich ein eigenes Schema für diese Datei haben? Und was bedeutet der elev.sql
Teil?
Ich habe auch den PostGIS-Rastertreiber von gdal durchgelesen , um dies anhand weiterer Beispiele zu verstehen. Ebenso schlagen sie vor, ein Raster zu ladenkatrina
python raster2pgsql.py -r /path/to/katrina.tif -t katrina -l 1 -k 64x64 -o katrina.sql -s 4326 -I -M
Mit meinem aktuellen Setup habe ich versucht, das katrina
Raster zu laden in:
python2.6 ~/src/postgis-2.0.0SVN/raster/scripts/python/raster2pgsql.py -r ~/tmp/katrina.tif -t katrina -l 1 -k 64x64 -o katrina.sql -s 4326 -I -M
Ich habe jedoch die folgenden Fehler erhalten:
Traceback (most recent call last):
File "/home/src/postgis-2.0.0SVN/raster/scripts/python/raster2pgsql.py", line 34, in <module>
from osgeo import gdal
File "/home/lib/python2.6/GDAL-1.8.1-py2.6-linux-i686.egg/osgeo/__init__.py", line 21, in <module>
_gdal = swig_import_helper()
File "/home/lib/python2.6/GDAL-1.8.1-py2.6-linux-i686.egg/osgeo/__init__.py", line 17, in swig_import_helper
_mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: /home/lib/python2.6/GDAL-1.8.1-py2.6-linux-i686.egg/osgeo/_gdal.so: undefined symbol: GDALSetRasterUnitType
Ich verstehe diese Fehler nicht ganz. Hätte ich beim Kompilieren gdal
ein Argument für angeben sollen GDALSetRasterUnitType
?
Im Allgemeinen habe ich Schwierigkeiten zu verstehen, warum ich die Datenbank, in die ich diese Daten laden möchte, nicht spezifiziere.
Nachdem ich den Ratschlägen von MerseViking gefolgt war, lief ich:
python /usr/lib/postgresql/8.4/bin/raster2pgsql.py -r /home/celenius/Downloads/katrina.tif -t katrina -l 1 -k 64x64 -o katrina.sql -s 4326 -I -M
welches die folgende Ausgabe zurückgab:
------------------------------------------------------------
Summary of GDAL to PostGIS Raster processing:
------------------------------------------------------------
Number of processed raster files: 1 (/home/celenius/Downloads/katrina.tif)
List of generated tables (number of tiles):
1 katrina (256)
Dann rannte ich:
psql -d test -f katrina.sql - U postgres -W
welches das folgende zurückgab:
addrastercolumn
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public.katrina.rast srid:4326 pixel_types:{8BUI,8BUI,8BUI} out_db:false regular_blocking:true nodata_values:NULL scale_x:'0.029325513196481' scale_y:'-0.029325513196481' blocksize_x:'64' blocksize_y:'64' extent:POLYGON((-100.014662756598 9.98533724340176,-100.014662756598 40.0146627565982,-69.9853372434018 40.0146627565982,-69.9853372434018 9.98533724340176,-100.014662756598 9.98533724340176))
(1 row)
(END)
Diese Meldung und ein blinkender Cursor erscheinen auf dem Bildschirm. Ich gehe davon aus, dass es in die Datenbank geladen wird, bin mir aber nicht sicher. Die tif
Datei ist nur 3 MB groß - ich hatte angenommen, dass das Laden einer Datei dieser Größe nicht lange dauern würde, aber der blinkende Cursor ist bereits seit ~ 1 Stunde auf dem Bildschirm. Ist das abgestürzt oder muss ich nur lange warten? Ich habe 4 GB RAM und einen Dual-Prozessor von 2,5 GHz.
q
drücke, dieser Befehl ausgeführt wird und die Daten in die Datenbank eingefügt werdentest
. Ist das normal und sollte ich das tun?