前回作った仮想環境に、
PostGISをインストールしてみます。
PostGISを入れるとPostgreSQLで地理空間情報が扱えるようになってしまうのです。
データベースで地理情報を扱えるなんてビックリです。
PostgreSQL/PostGISをインストール
前回作成した仮想環境に接続して、Postgisをインストールします
仮想環境に接続
PostgreSQLとPostGISインストール
1 2 3 4
| $ rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm $ yum -y install postgresql93 postgresql93-server postgresql93-libspostgresql93-contrib postgresql93-devel $ rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ yum -y install Postgis2_93
|
バージョン確認
1 2
| $ psql --version psql (PostgreSQL) 9.3.5
|
自動起動をonにする
1 2 3
| $ chkconfig postgresql-9.3 on $ chkconfig postgresql-9.3 0:off 1:off 2:on 3:on 4:on 5:on 6:off
|
DB初期化
1 2
| $ service postgresql-9.3 initdb Initializing database: [ OK ]
|
外部からのアクセスを許可するように設定を変更する
postgresql.conf編集
1 2 3 4 5 6
| $ vi /var/lib/pgsql/9.3/data/pg_hba.conf 変更前 host all all 127.0.0.1/32 ident 変更後 host all all 0.0.0.0/0 trust
|
pg_hba.conf編集
1 2 3 4 5 6 7 8
| $ vi /var/lib/pgsql/9.3/data/pg_hba.conf 変更前 変更後 listen_addresses = ‘*’ port = 5432
|
サーバ起動
1 2
| $ service postgresql-9.3 start Starting postgresql-9.3 service: [ OK ]
|
Geoなデータベースを作成
まずは普通にデータベースを作成
後で日本地図のデータを入れたいので、名前はjapanにします
1 2
| $ sudo su - postgres $ createdb japan
|
ログインしてcreate extension Postgis;
を実行します
1 2 3 4 5 6 7 8
| japan=# create extension Postgis; CREATE EXTENSION japan=# SELECT Postgis_full_version() ; Postgis_full_version Postgis="2.1.5 r13152" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March2012" GDAL="GDAL 1.9.2, released 2012/10/08" LIBXML="2.7.6" LIBJSON="UNKNOWN" RASTER (1 row)
|
これでGeoなデータベースの出来上がりです!
ここでデータベースの中身を確認してみます
1 2 3 4 5 6 7 8 9 10
| japan=# \d List of relations Schema | Name | Type | Owner public | geography_columns | view | postgres public | geometry_columns | view | postgres public | raster_columns | view | postgres public | raster_overviews | view | postgres public | spatial_ref_sys | table | postgres (5 rows)
|
まだ何もしてないのに、テーブルとビューができてます。
このおかげでGeoなデータが扱えるようになるみたいですね。
spatial_ref_sys
の中身を除いてみます。
1 2 3 4 5 6 7 8 9 10 11 12 13
| japan=# \d spatial_ref_sys Table "public.spatial_ref_sys" Column | Type | Modifiers srid | integer | not null auth_name | character varying(256) | auth_srid | integer | srtext | character varying(2048) | proj4text | character varying(2048) | Indexes: "spatial_ref_sys_pkey" PRIMARY KEY, btree (srid) Check constraints: "spatial_ref_sys_srid_check" CHECK (srid > 0 AND srid <= 998999)
|
このテーブルはデータベース中で利用できるすべての空間参照情報を定義しています。
空間参照情報って何???って感じですが、要はその空間情報がどういう基準で作成されているか?ってことだと思います。
(たぶんもっともっと奥深いものですが、まだあまり理解できてません、、、)
この辺はもうちょっと勉強してから記事を書きたいと思います。
次回は、このデータベースにデータを入れていきたいと思います!!!