Topik ini menjelaskan fungsi ST_ImportFrom, yang digunakan untuk mengimpor objek Object Storage Service (OSS), objek Multi-Cloud Object Storage (MinIO), atau file Hadoop Distributed File System (HDFS) ke dalam objek raster di Ganos.
Sintaksis
raster ST_ImportFrom(cstring chunkTableName,
cstring url,
cstring storageOption default '{}',
cstring importOption default '{}');Parameter
Parameter | Deskripsi |
chunkTableName | Nama tabel chunk. Nama tersebut harus mematuhi konvensi penamaan tabel Ganos. |
url | URL objek OSS, objek MinIO, atau file HDFS. Untuk informasi lebih lanjut, lihat Jalur penyimpanan objek. |
storageOption | String JSON yang digunakan untuk menentukan informasi penyimpanan tentang objek raster. |
importOption | String JSON yang digunakan untuk mengonfigurasi parameter untuk impor objek OSS, objek MinIO, atau file HDFS. |
Tabel berikut menjelaskan bidang dalam parameter storageOption.
Bidang | Tipe | Nilai default | Deskripsi |
chunking | boolean | true | Menentukan apakah akan menyimpan data objek raster baru sebagai chunk. |
chunkdim | string | Nilainya sama dengan nilai dalam data konfigurasi asli. | Dimensi berdasarkan sistem membagi data objek raster baru. Format: (w, h, b). Catatan Bidang ini hanya berlaku ketika Anda mengatur bidang chunking ke true. |
compression | string | lz4 | Format yang digunakan sistem untuk menekan data objek raster baru. Nilai valid:
Nilai default: lz4. |
quality | integer | 75 | Kualitas gambar objek raster baru setelah kompresi. Bidang ini hanya berlaku ketika Anda mengatur bidang kompresi ke jpeg atau jp2k. |
interleaving | string | Nilainya sama dengan nilai dalam data konfigurasi asli. | Metode yang digunakan untuk menginterleaving data objek raster baru. Nilai valid:
|
blockendian | string | 'NDR' | Urutan yang digunakan untuk menyimpan byte dalam setiap chunk data. Nilai valid:
|
celltype | string | Nilainya sama dengan nilai dalam data konfigurasi asli. | Tipe piksel objek raster baru. Nilai valid:
|
Tabel berikut menjelaskan bidang dalam parameter importOption.
Bidang | Tipe | Nilai default | Deskripsi |
mapping_oss_file | boolean | false | Menentukan apakah akan memetakan objek OSS ke file dalam memori di Ganos. Catatan Ketika data raster dibaca, beberapa driver tidak mengoptimalkan data yang disimpan dalam objek OSS. Akibatnya, sejumlah besar permintaan yang memerlukan volume data kecil dihasilkan. Hal ini mengurangi kinerja. Anda dapat menggunakan bidang ini untuk memetakan objek OSS ke file dalam memori di Ganos untuk meningkatkan kinerja. Ukuran maksimum objek OSS ditentukan oleh parameter Grand Unified Configuration (GUC) ganos.raster.memory_oss_file_max_size. |
parallel | integer | Sama dengan nilai parameter GUC ganos.parallel.degree. | Tingkat paralelisme yang diizinkan. Nilai valid: 1 hingga 64. |
compute_stats | boolean | false | Menentukan apakah akan secara otomatis menghitung statistik band selama proses impor. |
approx | boolean | false | Menentukan apakah akan menggunakan metode pengambilan sampel. Catatan Jika bidang ini diatur ke true, nilai statistik dihitung menggunakan metode pengambilan sampel. Hasilnya mungkin tidak akurat. |
factor | integer | 4 | Faktor pengambilan sampel n menunjukkan bahwa setiap unit pengambilan sampel terdiri dari n piksel selama proses pengambilan sampel. Pengaturan ini hanya valid ketika parameter approx diatur ke true. |
exclusive_nodata | boolean | true | Menentukan apakah akan mengecualikan nilai nodata. |
Deskripsi
Fungsi ini digunakan untuk membuat objek raster dan mengimpor objek OSS, objek MinIO, atau file HDFS ke dalam objek raster tersebut.
Anda dapat memperoleh tipe data yang didukung dengan menggunakan fungsi ST_RasterDrivers.
Contoh:
-- Tentukan ID AccessKey, Rahasia AccessKey, dan titik akhir dalam URL objek OSS untuk membuat objek raster.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');
-- Tentukan skema.
Select ST_ImportFrom('schema.chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');
-- Tentukan host dan port dalam URL objek MinIO.
Select ST_ImportFrom('chunk_table', 'MIO://<ak>:<ak_secret>@10.0.0.1:443/mybucket/data/image.tif');
-- Tentukan parameter user_name dalam URL file HDFS.
Select ST_ImportFrom('chunk_table', 'HDFS://<user_name>@10.0.0.1:8020/path/image.tif');
-- Tentukan gambar Network Common Data Form (NetCDF) yang berisi subset.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');
-- Tentukan gambar HDF5 yang berisi subset.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.hdf5://ds/hcc');
-- Tentukan ukuran per chunk dan format kompresi dalam proses impor.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif', '{"chunkdim":"(128,128,3)", "compression":"none"}');
-- Tentukan tingkat paralelisme dalam proses impor.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4}');
-- Peta objek OSS ke file dalam memori di Ganos.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4, "mapping_oss_file":true}');
-- Hitung statistik band secara otomatis setelah impor.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif','','{"compute_stats":true}');