このトピックでは、shp2pgsql、ogr2ogr、またはQGISを使用してベクトルデータファイルをGanosBaseにロードする方法について説明します。
始める前に
ベクトルデータファイルを読み込む前に、データベースで次のコマンドを実行し、ganos_geometry拡張子を作成します。
CREATE EXTENSION ganos_geometry CASCADE;shp2pgsqlを使用してベクトルデータを読み込む
shp2pgsqlは、EsriシェープファイルをSQLファイルに変換するために使用されるコマンドラインツールです。 shp2pgsqlの詳細については、 Chapter 4. データ管理をご参照ください。変換後、SQLファイルをGanosBaseにロードできます。
構文
説明shp2pgsqlはPostGISに組み込まれています。 PostGISをインストールしている場合、shp2pgsqlは自動的にインストールされます。 PostGIS公式Webサイトからオペレーティングシステムに適したインストールパッケージをダウンロードし、インストールガイドに従ってPostGISをインストールできます。
Linuxオペレーティングシステムを使用している場合は、パッケージマネージャーを使用してPostGISをインストールできます。 たとえば、CentOSでは、
yum -y install postgisコマンドを実行してshp2pgsqlツールをインストールできます。
shp2pgsql -s <srid> -c -W <charset> <path_to_shpfile> <schema>.<table_name> | psql -d <dbname> -h <host> -U <user_name> -p <port>パラメーター
パラメーター
説明
値の例
-s <srid>
ベクトルデータファイルの空間参照システム識別子 (SRID) 。
4490
-c
テーブルを作成します。
次のパラメータを使用することもできます。
-a: テーブルにデータを追加します。
-d: データがロードされる前にテーブルを削除します。
-p: 空間データを記述せずにSQLでスキーマを作成します。
なし
-W <charset>
シェープファイルで使用される文字セット。
GBKまたはUTF8
<path_to_shpfile>
シェープファイルのストレージパス。 ストレージパスには、shp2pgsqlコマンドラインツールからアクセスできる必要があります。
/home/roads.shp
<schema>.<table_name>
作成したジオメトリテーブルの名前。
public.roads
-d <dbname>
データベースの名前。
mydb
-h <ホスト>
データベースが存在するインスタンスのエンドポイント。
pgm-xxxxxxx.pg.rds.aliyuncs.com
-U <user_name>
アカウントのユーザー名。
my_name
-p <port>
ポート番号。
5432
例:
5432shp2pgsql -s 4490 -c -W "GBK" /home/roads.shp public.roads | psql -d mydb -h pgm-xxxxxxx.pg.rds.aliyuncs.com -U my_name -p 5432説明スクリプトを使用して一度に複数のベクトルデータファイルをインポートする場合は、
export PGPASSWORD=my_passコマンドを実行して、環境変数PGPASSWORDをmy_passに設定します。
ogr2ogrを使用してベクトルデータを読み込む
ogr2ogrは、Geospatial Data Abstraction Library (GDAL) とOpenGIS Simple Features Reference Implementation (OGR) によって提供されるコマンドラインツールで、データを変換します。 ogr2ogrは、Esri ShapFile、MapInfo、FileGDBなどの一般的なベクトルデータ型をサポートします。 ogr2ogrの詳細については、「Vector drivers」をご参照ください。
ogr2ogrを使用してベクトルデータをロードする前に、GDALがPostGISベクトルドライバーをサポートしていることを確認してください。
構文
説明ogr2ogrはGDALで造られます。 GDALをインストールしている場合、ogr2ogrは自動的にインストールされます。 GDAL公式Webサイトからオペレーティングシステムに適したインストールパッケージをダウンロードし、インストールガイドに従ってGDALをインストールできます。
Linuxオペレーティングシステムを使用している場合は、パッケージマネージャーを使用してGDALをインストールできます。 たとえば、CentOSでは、次のコマンドを実行して
ogr2ogrツールをインストールできます。sudo yum install epel-release sudo yum install gdal gdal-devel ogr2ogr --version
ogr2ogr -nln <table_name> -f PostgreSQL PG:"dbname='<dbname>' host='<host>' port='<port>' user='<user_name>' password='<password>'" -lco SPATIAL_INDEX=GIST -lco FID=<FID_NAME> -overwrite "<PATH_TO_FILE>" -nlt GEOMETRYパラメーター
パラメーター
説明
値の例
-nln <table_name>
ベクトルテーブルの名前。
道路
-f PostgreSQL PG:"dbname='<dbname>' host='<host>' port='<port>' user='<user_name>' password='<password>'"
PostgreSQLデータベースへの接続に使用される情報。
dbname='mydb' host='pgm -xxxxxxx.pg.rds.aliyuncs.com 'port='5432' user='my_name' pass'='my_pass'
-lco SPATIAL_INDEX=GIST
作成する一般化検索ツリー (GiST) 空間インデックス。
なし
-lco FID=<FID_NAME>
指定されたフィーチャのID。
fid
-上書き
使用する書き換えモード。
-appendモードを選択することもできます。
なし
<PATH_TO_FILE>
ベクターデータファイルのストレージパス。 ogr2ogrコマンドラインツールからストレージパスにアクセスできることを確認してください。
/home/roads.shp
-nlt GEOMETRY
ジオメトリデータ型を指定します。 ベクトルデータファイルにポリゴンデータが含まれている場合は、このパラメーターを指定することを推奨します。 これにより、ベクトルデータファイルにMultiPolygon型のデータだけでなく、他の型のデータも含まれている場合に発生するエラーを防ぎます。
なし
例:
ogr2ogr -nln roads -f PostgreSQL PG:"dbname='mydb' host='pgm-xxxxxxx.pg.rds.aliyuncs.com' port='5432' user='my_name' password='my_pass'" -lco SPATIAL_INDEX=GIST -lco FID=fid -overwrite "/home/roads.shp" -nlt GEOMETRY
QGISを使用してベクトルデータを読み込む
QGISはQuantum GISとして知られていました。 これは、さまざまなベクターおよびラスター形式をサポートする、ユーザーフレンドリーなオープンソースのデスクトップツールです。 データベースをデータソースとして使用できます。 さらに、データを表示、管理、分析したり、マップを準備したりすることができます。 詳細については、「QGIS」をご参照ください。
GanosBaseへの接続を確立します。
[ブラウザー] ウィンドウで、[PostgreSQL] を右クリックし、[新しい接続...] を選択して接続を作成します。
必要なパラメーターを設定します。

下表に、各パラメーターを説明します。
パラメーター
説明
名前
接続 の名前です。
ホスト
RDSインスタンスのIPアドレス、またはRDSインスタンスまたはPolarDBクラスターのパブリックエンドポイント。 この情報は、Alibaba Cloud管理コンソールから取得できます。
ポート
RDSインスタンスのポート番号。 この情報は、Alibaba Cloud管理コンソールから取得できます。
データベース
接続するデータベースの名前。
SSLモード
SSLに基づいて暗号化接続を確立するかどうかを指定します。
[接続のテスト] をクリックします。 表示される [資格情報の入力] ウィンドウで、[ユーザー名] および [パスワード] パラメーターを指定し、[OK] をクリックして、接続が確立されるまで待ちます。
テストが成功したら、[OK] をクリックします。
ベクトルデータを読み込みます。
を選択します。
表示されるダイアログボックスで、ベクターデータをインポートするデータソースを選択し、レイヤー /ファイルをインポート...をクリックします。
表示されるダイアログボックスで、インポートするベクトルデータを指定し、インポートオプションを設定します。 次に、[OK] をクリックします。