PostGISをインストール[PostgreSQL9.2 – Cent6.4]


最古のDBMS空間データ格納にして現役を戦える偉大なるPostGIS
全ての空間データはここに格納されここから配信される。
っと適当な枕言葉を付けてみる。

やや古感は否めないが、すべてのOpen関連はこれに接続できるし、これに格納できる。
大抵はPostGISなので覚えておいて損はない?

まずは、Cent6.4を使えるようにする
CentOS 6.4にHyper-V統合サービスを入れる

PostgreSQLを入れる
CentOS6.4にPostgreSQLを入れる

ArcSDEにする
“PostgreSQL9.2をArcSDEジオデータベース化

そしてPostGISへ。 ちなみにArcSDにしなくてもArcGIS10.1からデータ投入だけはできるよう。
編集はArcSDE化しないと駄目っぽい。 PostGISかつArcSDE管理もできるので、まあ寛容である。
PostGIS形は表示もできない!だったら面倒だが。

手順

とりあえず、PostgreSQLを入れるとPostGISが見れるはず。

yum list | grep postgis

とりあえずそのままインストール

yum install postgis2_92.x86_64

依存ライブラリのエラーが出るはず

Error: Package: postgis2_92-2.0.3-2.rhel6.x86_64 (pgdg92)
           Requires: json-c
Error: Package: postgis2_92-2.0.3-2.rhel6.x86_64 (pgdg92)
           Requires: hdf5
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: librx.so.0()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libcfitsio.so.0()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libgeotiff.so.1.2()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libdapclient.so.3()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libhdf5.so.6()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libogdi.so.3()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libdap.so.11()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libdapserver.so.7()(64bit)
Error: Package: gdal-1.7.2-1.el6.x86_64 (pgdg92)
           Requires: libnetcdf.so.6()(64bit)
Error: Package: postgis2_92-2.0.3-2.rhel6.x86_64 (pgdg92)
           Requires: libjson.so.0()(64bit)

GDAL等も足りないので確認

yum list | grep gdal

1.7.2 結構古いのでelgis入れてしまう

sudo rpm -Uvh http://elgis.argeo.org/repos/6/elgis-release-6-6_0.noarch.rpm

これで1.8.1になる。

yum list | grep gdal

とりあえず足りないライブラリを手作業で入れるのは面倒 Makeした方が楽、だがyumは優秀! epelを入れてしまえば依存ライブラリを解決できる。

rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

例えば以下のように探したりできる

yum --enablerepo=epel provides \*/libhdf5.so.6

yum  --enablerepo=epel install hdf5-openmpi-1.8.5.patch1-7.el6.x86_64

makeすると抜くの大変だし、chkinstallでRPM化するのも怠いのでパッケージ関連をうまく使おう。

インストール

yum --enablerepo=epel,elgis install postgis2_92.x86_64

色々入るはず インストールに成功したらDBでPostGISを有効化できる

su - postgres

psql -d データベース名 -c "CREATE EXTENSION postgis;"
psql -d データベース名 -c "CREATE EXTENSION postgis_topology;"

まあ、入れてしまえば、PgAdminⅢやArcCatalogで扱える。
ArcCatalogでは[PG_GEOMETRY]と言う扱いになる。

以下のように一覧 [ ST_AsGeoJSON / ST_AsSVG ] などクライアントに直持っていける関数なんかが便利か?
http://postgis.net/docs/reference.html#Geometry_Outputs

SELECT
 ST_AsSVG(Shape)
FROM
 JPN71pg;
カテゴリー: 開発環境 タグ: , パーマリンク