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

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

最終更新日:Nov 14, 2024

このトピックでは、ベクトルデータファイルを

shp2pgsql、ogr2ogr、またはQGISを使用したGanosBase

準備

ベクトルデータファイルを読み込む前に、データベースで次のステートメントを実行して、ganos_geometryという名前の拡張子を作成します。

CREATE EXTENSION ganos_geometry CASCADE

shp2pgsqlを使用してベクトルデータを読み込む

shp2pgsqlは、EsriシェープファイルをSQLファイルに変換するために使用されるコマンドラインツールです。 shp2pgsqlの詳細については、第4章をご参照ください。 データ管理 変換後、SQLファイルを

ガノスベース

  • 構文

    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 <ホスト>

    データベースが存在するAnalyticDB for PostgreSQLインスタンスのエンドポイント。

    pgm-xxxxxxx.pg.rds.aliyuncs.com

    -U <user_name>

    AnalyticDB for PostgreSQLインスタンスへの接続に使用されるデータベースアカウントの名前。

    my_name

    -p <port>

    AnalyticDB for PostgreSQLインスタンスへの接続に使用されるポート番号。

    3433

  • 例:

    shp2pgsql -s 4490 -c -W "GBK" /home/roads.shp public.roads | psql -d mydb -h pgm-xxxxxxx.pg.rds.aliyuncs.com -U my_name -p 3433
    説明

    スクリプトを使用して一度に複数のベクトルデータファイルをインポートする場合は、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コマンドラインツールを使用してベクトルデータをロードする前に、GDALがPostGISベクトルドライバーをサポートしていることを確認してください。

  • 構文

    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>'"

    AnalyticDB for PostgreSQLインスタンスへの接続に使用されるパラメーター。

    dbname='mydb' host='pgm -xxxxxxx.pg.rds.aliyuncs.com 'port='3433' user='my_name' pass'='my_pass'

    -lco SPATIAL_INDEX=GIST

    作成する空間インデックスのタイプ。 GiSTの値は、一般化探索木 (GiST) 空間インデックスを指定する。

    なし

    -lco FID=<FID_NAME>

    機能ID (FID) 列の名前。

    fid

    -上書き

    使用する書き換えモード。

    -appendパラメーターを指定して、追加モードを使用することもできます。

    なし

    <PATH_TO_FILE>

    ベクターデータファイルのストレージパス。 ogr2ogrコマンドラインツールからストレージパスにアクセスできることを確認してください。

    /home/roads.shp

    /home/land.tab

    -nlt GEOMETRY

    ジオメトリデータ型。 ベクトルデータファイルにポリゴンデータが含まれている場合は、このパラメーターを指定することを推奨します。 これにより、ベクトルデータファイルにMULTIPOLYGONジオメトリタイプおよびその他のジオメトリタイプのデータが含まれている場合に発生するエラーを防ぎます。

    なし

  • 例:

    ogr2ogr -nln roads -f PostgreSQL PG:"dbname='mydb' host='pgm-xxxxxxx.pg.rds.aliyuncs.com' port='3433' 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. 右側にブラウザウィンドウで、PostGIS接続を作成します。

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

      Ganos加载矢量数据—QGIS—创建Ganos连接

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

      パラメーター

      説明

      名前

      接続 の名前です。

      ホスト

      AnalyticDB for PostgreSQLインスタンスへの接続に使用されるIPアドレスまたはパブリックエンドポイント。 IPアドレスまたはパブリックエンドポイントは、AnalyticDB for PostgreSQLコンソールから取得できます。

      ポート

      AnalyticDB for PostgreSQLインスタンスへの接続に使用されるポート番号。 ポート番号は、AnalyticDB for PostgreSQLコンソールから取得できます。

      データベース

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

      SSLモード

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

    3. [接続のテスト] をクリックします。 次に、接続が確立されるまで待ちます。

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

    1. 選択データベース > DBマネージャ ...

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

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