以下の手順に従って、ラスタをPostGISデータベースにロードしようとしています。
python raster2pgsql.py -s 4269 -I -r *.tif -F myschema.demelevation -o elev.sql
私*
がラスターへのパスに置き換えることを理解していますが、パーツmyschema.demelevation
またはを理解していませんelev.sql
。このファイル用に独自のスキーマを用意する必要がありますか?そして、そのelev.sql
部分はどういう意味ですか?
私はまた、gdal PostGISラスタードライバーを読んで、より多くの例でこれを試して理解しました。同様に、彼らはラスターをロードすることを提案しますkatrina
python raster2pgsql.py -r /path/to/katrina.tif -t katrina -l 1 -k 64x64 -o katrina.sql -s 4326 -I -M
現在の設定を使用して、katrina
ラスターを次の場所にロードしてみました。
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
ただし、次のエラーが発生しました。
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
これらのエラーの意味を完全には理解していません。コンパイル時にgdal
引数を指定する必要がありますGDALSetRasterUnitType
か?
より一般的には、このデータをロードしようとしているデータベースを指定していない理由を理解することが困難です。
MerseVikingのアドバイスに従って、私は実行しました。
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
これは次の出力を返しました:
------------------------------------------------------------
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)
それから私は走った:
psql -d test -f katrina.sql - U postgres -W
これは以下を返しました:
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)
このメッセージと点滅するカーソルが画面に表示されます。データベースに読み込まれていると思いますが、よくわかりません。tif
ファイルはちょうど3メガバイトです-私はそれがこのサイズのファイルをロードするために長い時間がかかるしないことを想定していたが、点滅するカーソルはすでに〜1時間のために、画面になっています。これはクラッシュしましたか、それとも長時間待つ必要がありますか?4GBのRAMと2.5 GHzのデュアルプロセッサを持っています。
q
、このコマンドが実行され、データベースにデータが挿入されることがわかりましたtest
。これは正常な動作ですか、これを実行する必要がありますか?