このトピックでは、ST_ImportOSGB 関数について説明します。この関数は、OSGB 形式のオブジェクトストレージベースの斜め写真プロジェクトをデータベースにインポートします。
構文
boolean ST_ImportOSGB(cstring table_name, cstring url, cstring options default '{}');パラメーター
パラメーター | 説明 |
table_name | osg テーブルの名前と、そのタイルテーブルのプレフィックス。 |
url | Object Storage Service (OSS) バケット内のファイルのパス。 説明 データアクセスを確保するには、クラスターと OSS が同じリージョンにあり、アクセスに内部エンドポイントを使用していることを確認してください。詳細については、「オブジェクトストレージサービスのパス」をご参照ください。 |
options | インポートのフィールド。
|
説明
この関数は、オブジェクトストレージベースの OSGB ファイルをデータベースにインポートします。
インポートの制限:
OSGB ファイルのみがサポートされています。
metadata.xmlという名前のファイルが指定されたディレクトリに存在する必要があります。ファイルはルートディレクトリまたはサブディレクトリに配置できます。完全な OSGB ファイルをインポートする必要があります。そうしないと、データが失われます。
クライアントを使用してデータベースに接続し、大量の OSGB ファイルをインポートする場合は、タイムアウトエラーによるインポートの失敗を回避するために、クライアントのタイムアウト期間を調整してください。
インポートが成功すると、データベースに 2 つのテーブルが生成されます。
並列処理の次数が 1 でない場合、テーブルの自動作成はサポートされていません。事前に次の文を実行して、手動でテーブルを作成する必要があります。
# この例では、デフォルトスキーマに test_osgb という名前のテーブルを作成します。
# プライマリテーブルを作成します。
CREATE TABLE IF NOT EXISTS test_osgb(
project_id uuid primary key,
project_name text,
srid integer,
ref_point geometry,
extent geometry,
aux text,
tiletable varchar(64) NOT null
);
# タイルテーブルを作成します。
CREATE TABLE IF NOT EXISTS test_osgb_tile(
project_id uuid NOT NULL,
project_name text,
uid uuid NOT NULL,
lod integer,
precision float8,
parent uuid,
children uuid[],
aux jsonb,
tile scene NOT NULL,
PRIMARY KEY(project_id, uid)
);例
-- 標準インポート
SELECT ST_ImportOSGB('test_osgb', 'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/path_to_oblique_project/');
---------
t
-- 並列インポート
SELECT ST_ImportOSGB('test_osgb', 'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/path_to_oblique_project/', '{"parallel": 4}');
---------
t