2013-02-24 8 views
8

私は多くの地理的にコード化されたデータを持つ通常のpostgresデータベースを持っています。これはちょうど緯度と経度として2つの列があります。通常のPostgresデータベースをPostGisデータベースに変換する

このデータベースをPostGIデータベースに変換します。誰も私に持っているデータベースを変換する方法を提案することはできますか?私は新しいPostgis tempalteベースのデータベースを作成してから、データ全体を1つずつ移動したくありません。

+0

PostGISドキュメントでは、データベースを「空間的に有効にする」方法について説明しています。 PostGISのカラムに適切なPostGIS関数を追加するだけで、基本的なジオデータをPostGISカラムにコピーし、古いカラムを削除するために 'UPDATE'を使います。 –

+2

PostgreSQL 9.1以降を実行している場合は、テンプレートデータベースを気にする必要はありません。データベースを作成してから、pgAdminのSQLビューでタイプして実行してください CREATE EXTENSION postgis; これは空間的にデータベースを有効にします。 ソース:http://gis.stackexchange.com/questions/26508/how-to-create-postgis-template –

答えて

7

まず、システムにPostGIS 2.xをインストールします。ここではpsqlまたはpgAdminでIIIからのワークフローは次のとおりです。

-- Spatially enable the database 
CREATE EXTENSION postgis; 

-- Spatially enable each table with a geometry column 
--  [ also consider using "geog geography(Point,4326)" ] 
ALTER TABLE mytable ADD COLUMN geom geometry(Point,4326); 
UPDATE mytable SET geom = ST_SetSRID(ST_MakePoint(long, lat), 4326); 
+0

私はPostgis Ubuntuパッケージをインストールしましたが、それでも私は "ERROR:拡張機能コントロールファイルを開くことができませんでした"/usr/share/postgresql/9.1/extension/postgis.control":そのようなファイルやディレクトリはありません。 " – Cerin

+0

@Cerin詳細情報をパッケージマネージャーに通知します。 –

+0

これをUbuntu 14でもう一度試してみてください。 – Cerin

2

私は、これは古いです知っている...しかし、私は、以前の問題に対処するために何かを追加したい:

@Cerin、必ずapt-getを作りますpostgresql-xx-postgis-2.1をインストールしてください。apt-get install postgisだけではありません。以前にもその問題がありました

+0

@Cerinと同じエラーが出ますが、 "/usr/share/postgresql/9.3/extension/postgis.control"が見つからないと言っています(私はDebianにpostgresql-9.4とpostgresql-9.4-postgis- 2.1) – FSp

関連する問題