私は多くの地理的にコード化されたデータを持つ通常のpostgresデータベースを持っています。これはちょうど緯度と経度として2つの列があります。通常のPostgresデータベースをPostGisデータベースに変換する
このデータベースをPostGIデータベースに変換します。誰も私に持っているデータベースを変換する方法を提案することはできますか?私は新しいPostgis tempalteベースのデータベースを作成してから、データ全体を1つずつ移動したくありません。
私は多くの地理的にコード化されたデータを持つ通常のpostgresデータベースを持っています。これはちょうど緯度と経度として2つの列があります。通常のPostgresデータベースをPostGisデータベースに変換する
このデータベースをPostGIデータベースに変換します。誰も私に持っているデータベースを変換する方法を提案することはできますか?私は新しいPostgis tempalteベースのデータベースを作成してから、データ全体を1つずつ移動したくありません。
まず、システムに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);
私は、これは古いです知っている...しかし、私は、以前の問題に対処するために何かを追加したい:
@Cerin、必ずapt-getを作りますpostgresql-xx-postgis-2.1をインストールしてください。apt-get install postgisだけではありません。以前にもその問題がありました
@Cerinと同じエラーが出ますが、 "/usr/share/postgresql/9.3/extension/postgis.control"が見つからないと言っています(私はDebianにpostgresql-9.4とpostgresql-9.4-postgis- 2.1) – FSp
PostGISドキュメントでは、データベースを「空間的に有効にする」方法について説明しています。 PostGISのカラムに適切なPostGIS関数を追加するだけで、基本的なジオデータをPostGISカラムにコピーし、古いカラムを削除するために 'UPDATE'を使います。 –
PostgreSQL 9.1以降を実行している場合は、テンプレートデータベースを気にする必要はありません。データベースを作成してから、pgAdminのSQLビューでタイプして実行してください CREATE EXTENSION postgis; これは空間的にデータベースを有効にします。 ソース:http://gis.stackexchange.com/questions/26508/how-to-create-postgis-template –