すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ベクトルデータを読み込む

最終更新日:Oct 18, 2024

このトピックでは、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」をご参照ください。

  1. GanosBaseへの接続を確立します。

    1. [ブラウザー] ウィンドウで、[PostgreSQL] を右クリックし、[新しい接続...] を選択して接続を作成します。image.png

    2. 必要なパラメーターを設定します。

      image.png

      下表に、各パラメーターを説明します。

      パラメーター

      説明

      名前

      接続 の名前です。

      ホスト

      RDSインスタンスのIPアドレス、またはRDSインスタンスまたはPolarDBクラスターのパブリックエンドポイント。 この情報は、Alibaba Cloud管理コンソールから取得できます。

      ポート

      RDSインスタンスのポート番号。 この情報は、Alibaba Cloud管理コンソールから取得できます。

      データベース

      接続するデータベースの名前。

      SSLモード

      SSLに基づいて暗号化接続を確立するかどうかを指定します。

    3. [接続のテスト] をクリックします。 表示される [資格情報の入力] ウィンドウで、[ユーザー名] および [パスワード] パラメーターを指定し、[OK] をクリックして、接続が確立されるまで待ちます。

    4. テストが成功したら、[OK] をクリックします。

  2. ベクトルデータを読み込みます。

    1. データベース > DBマネージャ ..を選択します。

    2. 表示されるダイアログボックスで、ベクターデータをインポートするデータソースを選択し、レイヤー /ファイルをインポート...をクリックします。

    3. 表示されるダイアログボックスで、インポートするベクトルデータを指定し、インポートオプションを設定します。 次に、[OK] をクリックします。