3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Db2地理空間分析: Db2の地理空間分析機能

Last updated at Posted at 2022-09-24

Db2地理空間分析シリーズ

当記事は「1. Db2の地理空間分析機能」です。具体的な操作の前の基礎知識の説明です。

  1. Db2の地理空間分析機能
  2. 地理空間分析機能を有効にする
  3. JGD2011座標系の設定
  4. SHAPEファイルのインポート
  5. 緯度・経度情報をインポート
  6. DBeaverでDb2の地理空間情報を表示してみる
  7. 空間処理変数を使ってみる

1. Db2の地理空間分析機能

Db2の地理空間分析機能はDb2 Spatial Analyticsとして以下にドキュメントがあります:
https://www.ibm.com/docs/ja/db2/11.5?topic=data-db2-spatial-analytics

簡単に説明すると以下ができる機能です:

  • 空間データ・タイプで地理空間データを保管

    • 最大 4 MB まで保持できる特殊なデータ・タイプ(BLOB)
  • 空間処理関数を使用して、テーブルに保管されている空間データ・タイプのデータを分析

対応製品は以下です(2022/08/22現在):

  • Db2 (SW版・コンテナ版)
  • Db2 Warehouse
  • Db2 Warehouse on Cloud

Db2 on Cloud(StandardプランとEnterpriseプラン)は一部機能が使えませんでした。サポートに問い合わせたところ、Db2 Spatial Analyticsはサポートしていないとのことでした。また無料のDb2 on Cloud Liteプランは権限が足りないため、地理空間分析機能を有効にすることができず、地理空間分析機能は使用できません。

なので、無料で試してみたい、という場合は、Db2 Community Edition(SW版またはコンテナ版)を使用するがよいかと思います。コンテナ版についてはこちらのDocker hubから導入可能です。 

2. Db2の空間データ・タイプ

ドキュメントURL: https://www.ibm.com/docs/ja/db2/11.5?topic=concepts-spatial-data-types

以下のタイプで列定義が可能です。

  • Point(点): ST_Point, ST_MultiPoint 
  • Line(線): ST_Linestring, ST_MultiLineString
  • Polygon(面): ST_Polygon, ST_MultiPolygon

Point, Line, Polygonが複数の場合はST_Multixxxxを使います。
またPoint, Line, Polygon どれでも入れられるのがST_Geometry です。

image.png

3. Db2の空間処理関数

ドキュメントURL: https://www.ibm.com/docs/ja/db2/11.5?topic=analytics-spatial-functions

空間処理関数を使用して、形状間の距離やある形状が別の形状に含まれるかどうかの判別などが可能です。 これをSQLのWHERE句として使用することができます。

例1: 日本IBM箱崎事業所(139.7869482 35.6783300)から距離1km以内のLOCATION:
ST_Distance関数   (↓LOCATIONはST_Point属性の列)

WHERE ST_Distance(
ST_Point (139.7869482, 35.6783300), LOCATION, 'KILOMETER') <= 1

image.png

例2: 中央区内のLOCATION:
ST_Within関数    

(↓LOCATIONはST_Point属性の列、中央区の形状はSHAPEにあるとする)(↓LOCATIONはST_Point属性の列)

WHERE ST_Within (LOCATION, SHAPE)

image.png

4. Db2で地理空間分析の利点

専用GISツールなどもありますが、利点は以下のようなとこかと思います。

  • いつも使っているテーブルのデータと位置情報を組み合わせた分析がDb2にデータを置いたままできる
  • 空間分析のワークロードをDb2サーバー上で実行できる

以上が基礎知識となります。
今後のシリーズで具体的な操作を説明予定です。

3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?