このトピックでは、ラスタモデルの詳細と使用方法について説明します。
概要
概要
ラスターは、行と列 (またはグリッド) に編成されたセル (またはピクセル) のマトリックスで構成されます。 各セルは、温度などの情報を表す値を含みます。 ラスタモデルは、航空写真、衛星画像、デジタル画像、スキャンマップなどのラスタデータの保存と計算に最適です。
GanosBase Rasterは、 PolarDB for PostgreSQL (Oracleと互換性があります) の時空間拡張機能です。 これにより、データベースはラスタデータを効果的に保存および管理できます。 リモートセンシング、写真測量、テーママッピングなど、さまざまなソースからのラスターデータの統合と分析をサポートします。 さらに、GanosBase Rasterは、ユーザーがWMSやWMTSサービスなどのOGC準拠のサービスとしてラスタデータを公開できるようにするGeoServerプラグインを提供します。 GanosBase Rasterは、気象学、環境モニタリング、地質探査、天然資源管理、国防、緊急対応、電気通信、メディア、輸送、都市計画、国土安全保障など、分析と意思決定のためにラスターデータに依存する分野に最適です。
機能
TIFF、IMG、HDF、NetCDF、GRIBなど、さまざまな入出力フォーマットをサポートします。
ラスタオブジェクトの基本属性、バンド統計、ピクセル値統計を照会し、ピクセルマトリックスを複数の方法で取得できます。
投影変換、トリミング、バンド操作、モザイク、カラーバランスなど、ラスターオブジェクトに対してさまざまな操作を実行できます。
ラスタオブジェクトのオンデマンド視覚化のための動的ラスタタイルを提供します。
シナリオ
GanosBase Rasterは、次のシナリオでラスタデータセットを保存および分析するのに適しています。
スマート農業
GanosBase Rasterは、大量のリモートセンシング衛星データを効率的に保存および取得できます。 GanosBase Rasterは、多様な空間テーマデータ、リモートセンシング画像データ、バンド計算、および空間統計を利用することにより、農業生産分析を支援できます。 データ視覚化ツールであるDataVを使用すると、マップや統計グラフを通じてデータをグラフィカルに表示します。
気象および水文予测
GanosBase Rasterは、HDF、NetCDF、GRIBなどの標準的な気象および水文形式でデータをインポートおよびクエリできます。 空間補間と輪郭 /等値面抽出機能を活用して、重要な気象および水文学情報を迅速に取得でき、防災に不可欠な技術サポートを提供します。
農業金融と保険
GanosBase Rasterは、金融機関が農業金融および保険サービスを提供するのに役立ちます。 バンド計算および分類技術により、GanosBase Rasterを使用すると、ユーザーはさまざまな時間的および空間的条件の下で作物の種類、カバレッジ、および成長の迅速な統計分析を行うことができます。 専門のリスク管理モデルと組み合わせて、農民からの自己申告、農地移転記録、気候、地理的位置、および農業市場の勢いに基づいて、作物の収量と価値を推定できます。 このアプローチは、農家の合理的な与信限度額と返済サイクルを決定するのに役立ちます。
コンポーネント
ラスター要素
ラスタデータモデルは、次の要素で構成されています。
ラスタ: リモートセンシング画像やTIFFファイルなどのラスタデータセット。
タイル: ピクセルのブロック。 タイルは、ラスターオブジェクトの基本的なストレージユニットです。 各タイルはデフォルトで256x256ピクセルです。
バンド: ラスタデータセット内の単一の2Dレイヤー。 各バンドは複数のタイルを含み、各タイルはそれ自身の座標番号を有します。
セル: タイル内のピクセル。 セルは、byte、short、int、doubleなどのさまざまなデータ型にすることができます。
ピラミッド: ラスタデータの表示を高速化するために使用されるラスタの一連の低解像度バージョン。 ピラミッドにはさまざまなレベルがあり、各レベルはレイヤーに対応しています。 レベル0は生データを指します。
メタデータ: ラスタメタデータ (空間範囲、投影タイプ、ピクセルタイプなど) 。
前の図に示すように、GanosBase Rasterは、シンプルで効率的なラスタモデルを使用して、テーマデータとリモートセンシング画像データを管理します。 データベースシステムでは、ラスタイメージがラスタオブジェクトとして格納されます。 ラスターオブジェクトは複数のバンドに論理的に分割され、それぞれがインポートプロセス中に取得された生の画像データを保持します。 ラスターオブジェクトは、タイルによって保存および管理されます。 タイルのサイズはデフォルトで256x256ピクセルですが、必要に応じて変更できます。 各タイルは、1つ以上のバンドを含みます。 タイルは、ピクセルを表すセルからなります。 各ラスタオブジェクトには、空間範囲、データ型、投影情報、座標番号などの独自のメタデータがあります。 ラスターがピラミッド構造で構成されている場合、各バンドは独自のピラミッドを持ちます。
空間参照システム
空間参照システム (SRS) は、Sfmeshオブジェクトを地球の表面上の特定の場所に関連付ける方法を定義します。
GanosBaseはSRIDを使用して、ラスターオブジェクトをそれぞれのSRS定義にリンクします。
詳細については、「空間リファレンス」をご参照ください。
データ列ビュー
GanosBaseでは、raster_columnsビューは、データベース内のラスタ型のすべての列のカタログです。 その構造は次のとおりです。
列 | タイプ | 説明 |
r_table_catalog | varchar(256) | テーブルがあるデータベース。通常は「postgres」に固定されています。 |
r_table_schema | varchar(256) | ラスタテーブルが属するデータベーススキーマ。 |
r_table_name | varchar(256) | ラスタテーブルの名前。 |
r_raster_column | varchar(256) | テーブル内のラスター列の名前。 |
次のステートメントを実行して、現在のデータベースのすべてのジオメトリデータ列を照会できます。
SELECT * FROM raster_columns;
インデックス
空間インデックスは、データベースの完全なシーケンシャルスキャンの必要性を排除することによって、大きな空間データセットを照会する効率を大幅に向上させます。 これは、空間データを検索ツリーに編成することによって達成され、これによりレコードの迅速な走査および検索が可能になります。
GanosBaseラスターは、ラスターデータに2つのインデックス方法を提供します。
インデックス | 説明 | 特性 |
B-treeインデックス | Bツリーインデックスは、ラスタファイルの名前によるクエリに適しています。 | これは、データベースシステムで最も一般的に使用されるインデックス作成方法であり、幅広いクエリ操作を高速化できます。 |
GINインデックス | 一般化反転インデックス (GIN) インデックスは、フルテキスト検索に最適で、指定されたキーワードを含むタプルをすばやく検索できます。 ラスター列にGINインデックスを作成できます。 | 経験則として、検索が高速であるため、静的データにはGINインデックスが最適です。 ただし、GINインデックスは、GiSTインデックスよりも更新が適度に遅くなります。 |
利点
GanosBase Rasterは、ビジネス適応、ストレージ節約、計算機能の点でPostGIS Rasterよりも優れています。
より良いビジネス適応
PostGIS Rasterはデータを完全にラスタライズしますが、GanosBase Rasterはオブジェクト指向のストレージ構造を提供します。 各ラスタは、画像であろうとDEMファイルであろうと、1対1のマッピングを形成する単一のデータベースレコードとして格納されます。 これらの各レコードには、最大1テラバイトのラスターを含めることができます。 さらに、GanosBase Rasterはタイルに対する直接操作を許可せず、メタデータの整合性を保証します。 また、時系列データとの相関性が高い。 つまり、GanosBase Rasterを使用すると、ラスタデータをビジネスプロセスに統合することができます。
ストレージの節約
GanosBase Rasterは、データベース内のラスタメタデータと低コストOSS (Object Storage Service) 上のラスタ属性データを保持するアーキテクチャを採用しています。 これは、膨大な数の画像の分析など、大容量の記憶容量を必要とするユースケースに有益です。 これにより、ストレージコストを大幅に削減して、ラスターの空間分析を実行できます。
より多くの時空間演算子
GanosBase Rasterは、空間関係の評価、画像の処理、ピラミッド、ピクセル値、属性の標準的な操作の実行に加えて、さまざまな独自の統計的および代数的操作に加えて、特殊な画像色バランスアルゴリズムと概要マップの高速レンダリングを提供します。大規模なラスターデータセットを処理する場合でも。
クイックスタート
概要
このセクションでは、GanosBaseラスター拡張機能の使用方法 (拡張機能のインストール、テーブルの作成、ラスターデータのインポート、クエリの実行、ピラミッドの作成、クリップ領域の計算、結果のエクスポートなど) について説明します。
構文
拡張機能をインストールする:
CREATE extension ganos_raster cascade;
説明パブリックスキーマに拡張機能をインストールして、潜在的なアクセス許可の問題を回避します。
CREATE extension ganos_raster WITH schema public cascade;
ラスタテーブルを作成する:
CREATE TABLE raster_table(id integer, rast raster);
OSSからラスターデータをインポートする:
INSERT INTO raster_table VALUES(1, ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-internal.aliyuncs.com/bucket/data/image.tif'))
説明OSSドメイン名からOSSにアクセスする必要があります。 詳細については、「オブジェクトストレージサービスパス」をご参照ください。
<ak>
と<ak_secret>
を実際のアクセスキーとアクセスシークレットに置き換えます。
ラスタオブジェクトに関する情報を照会する:
SELECT ST_Height(rast),ST_Width(rast) FROM raster_table WHERE id = 1; ----------- 1241 (1 rows)
指定されたバンドの統計を照会する:
SELECT ST_Statistics(rast,0) FROM raster_table WHERE id=1; --------------------- {"approximate":false,"min":8969.0,"max":12351.0,"mean":9407.330013839151,"std":193.4268180351078,"count":70091,"sum":659369168.0,"mode":9366.0,"median":9392.0} (1 row)
ピラミッドを作成する:
UPDATE raster_table SET rast = ST_BuildPyramid(rast) WHERE id = 1; UPDATE 1
ビューポートのワールド座標範囲、幅、高さに基づいて最適なピラミッドレベルを計算します。
SELECT ST_BestPyramidLevel(rast, '((128.0, 30.0),(128.5, 30.5))', 800, 600) FROM raster_table WHERE id = 10; --------------------- 3
指定した境界ボックス内のピクセルマトリックスを照会します。
SELECT ST_Clip(rast, 0, '((128.980,30.0),(129.0,30.2))', 'World') FROM raster_table WHERE id = 1;
クリップされた領域の座標境界を計算する:
SELECT ST_ClipDimension(rast, 2, '((128.0, 30.0),(128.5, 30.5))') FROM raster_table WHERE id = 10; ------------------------- '((600, 720),(200, 300))'
クリップとエクスポート:
指定したジオメトリを使用してラスタオブジェクトの一部をクリップし、結果をCOG形式にエクスポートします。
SELECT ST_ExportTo( ST_ClipToRast(rast, ST_GeomFromText('POLYGON((128.0 30.0,129.0 30.0,129.0 31.0,128.0 31.0,128.0 30.0))',4326),0), 'COG', 'OSS://<ak>:<ak_secret>@oss-cn.aliyuncs.com/mybucket/data/image_clip.tif' ); ------------- t (1 row)
拡張子をドロップする (オプション):
DROP extension ganos_raster cascade;
SQL文
詳細については、「ラスター SQL リファレンス (Raster SQL reference)」をご参照ください。