このトピックでは、ST_ImportFrom関数について説明します。 この関数は、Object Storage Service (OSS) オブジェクト、Multi-Cloud object Storage (MinIO) オブジェクト、またはHadoop Distributed File System (HDFS) ファイルをGanosのラスターオブジェクトにインポートするために使用されます。
構文
ラスターST_ImportFrom(cstring chunkTableName、
cstring url,
cstring storageOptionのデフォルト '{}' 、
cstring importOptionデフォルト '{}');
パラメーター
パラメーター | 説明 |
chunkTableName | OSSオブジェクトの名前。 OSSオブジェクトはチャンクテーブルです。 名前は、PolarDBのテーブル命名規則に準拠している必要があります。 |
url | OSSオブジェクトのURL。 詳細については、ST_CreateRast ST_CreateRastのurlパラメーターの説明をご参照ください。 |
storageOption | ラスターオブジェクトに関するストレージ情報を指定するために使用されるJSON文字列。 |
importOption | OSSオブジェクトインポートのパラメーターを設定するために使用されるJSON文字列。 |
次の表に、storageOptionのパラメーターを示します。
パラメーター | データ型 | デフォルト値 | 説明 |
チャンキング | Boolean | true | データをチャンクとして保存するかどうかを指定します。 |
chunkdim | String | デフォルト値は、生データの値と同じです。 | データのチャンクに使用されるディメンション。 形式: w, h, b. 説明 このパラメーターは、chunkingパラメーターをtrueに設定した場合にのみ有効になります。 |
compression | String | lz4 | OSSオブジェクトのデータを圧縮するために使用される形式。 有効な値:
デフォルト: lz4 |
品質 | integer | 75 | 圧縮後のラスターオブジェクトの画質。 このパラメーターは、JPEGおよびJPEG 2000圧縮形式に対してのみ有効です。 |
interleaving | 文字列 | デフォルト値は、生データの値と同じです。 | OSSオブジェクトのデータをインターリーブするために使用されるメソッド。 有効な値:
|
blockendian | 文字列 | 「NDR」 | 各データチャンクのバイトを格納するために使用されるシーケンス。 有効な値:
|
セルタイプ | String | デフォルト値は、生データの値と同じです。 | ラスターオブジェクトのピクセルタイプ。 有効な値:
|
次の表に、importOptionのパラメーターを示します。
パラメーター | データ型 | デフォルト値 | 説明 |
mapping_oss_ファイル | Boolean | false | OSSオブジェクトをメモリオブジェクトにマップするかどうかを指定します。 説明 ラスターデータを読み取るとき、一部のドライバーはOSSに保存されているデータを最適化しません。 結果として、少量のデータを必要とする多数の要求が生成される。 これは性能を低下させる。 このパラメーターは、パフォーマンスを向上させるためにOSSオブジェクトをメモリオブジェクトにマッピングできます。 グローバルユーザー設定 (GUC) パラメーターganos.raster.memory_oss_file_max_size ganos.raster.memory_oss_file_max_sizeを使用して、OSSオブジェクトのサイズを指定できます。 |
パラレル | integer | GUCパラメーターganos.parallel.de gree ganos.parallel.de greeの値 | 並列処理の程度。 有効な値: 1 ~ 64。 |
説明
この関数は、ラスターオブジェクトを作成し、作成したラスターオブジェクトにOSSオブジェクトをインポートするために使用されます。
ST_RasterDrivers関数を使用して、ST_ImportFrom関数でサポートされているデータ型を照会できます。 ST_RasterDrivers機能の詳細については、「ST_RasterDrivers ST_RasterDrivers」をご参照ください。
例
-- インポートするOSSオブジェクトの名前とパスのみを指定します。
ST_ImportFrom('chunk_table' 、'OSS://<ak >:< ak_secret>@ oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif') を選択します。-- サブセットを含むNetCDFイメージを指定します。
ST_ImportFrom('chunk_table' 、'OSS://<ak >:< ak_secret>@ oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc') を選択します。-OSSオブジェクトをインポートするプロセスで、チャンクあたりのサイズと圧縮形式を指定します。
ST_ImportFrom('chunk_table' 、'OSS://<ak >:< ak_secret>@ oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif' 、'{"chunkdim":"(128,128、3)" 、"compression":"none"}') を選択します。-- OSSオブジェクトをインポートするプロセスの並列度を指定します。
ST_ImportFrom('chunk_table','OSS://<ak >:< ak_secret>@ oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4}');