$30 off During Our Annual Pro Sale. View Details »

Oracle Database Technology Night #58 Oracle Databaseエンジニアに向けた地理空間データ活用

Oracle Database Technology Night #58 Oracle Databaseエンジニアに向けた地理空間データ活用

Oracle Database Technology Night #58 Oracle DatabaseエンジニアのためのAPEX & 地理空間データ活用入門(後半)

Oracle Databaseの標準機能であるOracle Spaitalの概要と事例をご紹介します。

前半のAPEX編はこちら

https://speakerdeck.com/oracle4engineer/oracle-database-technology-night-number-58-oracle-databaseenzinianotamenooracle-apexru-men

oracle4engineer
PRO

August 26, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Oracle Database Technology Night #58
    Oracle Database エンジニアに向けた地理空間データ活用
    日本オラクル株式会社
    Autonomous & Analytics ソリューション部
    2022年8月25日
    出口 龍之介

    View Slide

  2. Agenda
    Copyright © 2022, Oracle and/or its affiliates
    • 地理空間データとは
    • Oracle Spatial 概要
    • Oracle Spatial 事例
    • Oracle APEXで地理空間データを活用する - デモンストレーション
    2

    View Slide

  3. Agenda
    Copyright © 2022, Oracle and/or its affiliates
    • 地理空間データとは
    • Oracle Spatial 概要
    • Oracle Spatial 事例
    • Oracle APEXで地理空間データを活用する - デモンストレーション
    3

    View Slide

  4. 地理空間データとは
    Copyright © 2022, Oracle and/or its affiliates
    ベクター・データ
    色々な場所、形状を数値のベクトルで表現
    地球上の形や場所を表現(2D/3D) - 大抵は緯度経度
    • 点のデータ(位置、店舗、駅…)
    • 線のデータ(道路、線路、河川…)
    • 形(ポリゴン)のデータ(行政区画、国、農地…)
    • 面(点群、TIN)のデータ(地表面、地層、海水面…)
    4

    View Slide

  5. 地理空間データとは
    Copyright © 2022, Oracle and/or its affiliates
    ラスター・データ
    行と列に従って識別されるピクセル化orグリッド化されたセル
    • 航空写真
    • 衛星画像
    5

    View Slide

  6. 地理空間データとは
    Copyright © 2022, Oracle and/or its affiliates
    • 緯度経度などの座標データ
    • ラスターデータ(衛星画像、航空写真)
    • 地形、ビルなどの3Dデータ
    • GPSデータ
    車両、ヒト等の移動体の軌跡は位置以外に時間要素を含む
    • CityGML
    地理系のコンソーシアムOGCで標準化が進んでいる都市モデル表現
    データの形式
    6

    View Slide

  7. Agenda
    Copyright © 2022, Oracle and/or its affiliates
    • 地理空間データとは
    • Oracle Spatial 概要
    • Oracle Spatial 事例
    • Oracle APEXで地理空間データを活用する - デモンストレーション
    7

    View Slide

  8. Oracle Spatial とは
    Copyright © 2022, Oracle and/or its affiliates
    Oracle Spatial データベース機能
    との統合
    空間分析とデータ
    の可視化
    様々な地理空間
    データ
    8

    View Slide

  9. データベースのファンクション
    • 様々な種類の地理空間データ
    の保持・対応
    • DB内でのデータ格納と空間
    分析処理
    開発者向けのライブラリ
    • マップの可視化
    • ルーティングエンジンなどの
    コンポーネント
    Spatial Studio
    セルフサービス・ツール
    • 誰でも簡単にデータ分析
    が可能
    • 素早くアプリケーション
    開発
    Oracle Spatial とは
    Copyright © 2022, Oracle and/or its affiliates
    9

    View Slide

  10. Copyright © 2022, Oracle and/or its affiliates
    地理空間データ
    の管理・分析・
    処理
    Spatial Studio
    セルフサービス・
    ツール
    SQL, PL/SQL,
    Java などの専門的技術
    Application Express (APEX)
    ローコードのアプリケーション
    開発プラットフォーム
    Oracle Spatial とは
    10

    View Slide

  11. Oracle Spatial の価値
    多様な機能性
    • 変換、分析~バリデーションや修正まで
    • 空間分析、集計関数、線形参照システム..
    性能、スケーラビリティ
    • 高速な空間検索
    • Oracleの並列化/高速化技術を享受
    組み込み容易性
    • ほとんどの機能はSQLベースでのアクセスが可能
    • 空間関連処理をDBへオフロード
    Copyright © 2022, Oracle and/or its affiliates
    11

    View Slide

  12. シンプルな地理空間データの処理
    データの形式
    • 点ジオメトリ
    • 線ジオメトリ
    • 面ジオメトリ(ポリゴン)
    データの処理方式
    • 近傍検索
    • 位置関係の演算
    (例: 内部, 重複, 接触...)
    • 複数のジオメトリを1つに統合
    • 範囲内検索
    Oracle Spatial の機能
    Copyright © 2022, Oracle and/or its affiliates
    12

    View Slide

  13. ネットワークデータの分析
    Copyright © 2022, Oracle and/or its affiliates
    データ形式
    • 道路、鉄道、公共施設などのネッ
    トワーク
    • ノードとエッジで構成されるグラ
    フがベース
    経路分析
    • 最短経路計算、巡回セールスマン
    計算、コスト内到達性…
    Oracle Spatial の機能
    13

    View Slide

  14. ストリーミングデータのサポート
    Copyright © 2022, Oracle and/or its affiliates
    GPSデバイスやIoTセンサーから位置
    情報を取得
    • 位置情報と時系列データからトレー

    • ジオフェンシングー設定されたエリ
    アの出入りで警告を発する
    • 接触追跡
    Oracle Spatial の機能
    14

    View Slide

  15. ラスターデータのサポート
    Copyright © 2022, Oracle and/or its affiliates
    データ形式
    • 衛星画像、航空画像
    • 複数の画像をモザイク状につなぎ
    合わせる
    ラスター分析
    • 植生指数の算出
    • 気象データ
    Oracle Spatial の機能
    15

    View Slide

  16. Copyright © 2022, Oracle and/or its affiliates
    Oracle Spatial サンプル
    • まずは緯度経度データを使ってSpatialの基本的な操作を見ます
    • データはSDO_GEOMETRYに格納します
    • 距離計算や空間検索などの演算ができます
    16

    View Slide

  17. Copyright © 2022, Oracle and/or its affiliates
    Oracle Spatial サンプル
    表を作る
    • MDSYS.SDO_GEOMETRY型のある表を作ります
    • メタデータを登録(USER_SDO_GEOM_METADATA)
    CREATE TABLE TOKYO01 (
    GEO_ID number primary key,
    GEO_NAME varchar2(200),
    GEOM MDSYS.SDO_GEOMETRY
    );
    INSERT INTO USER_SDO_GEOM_METADATA VALUES (‘TOKYO01’, ‘GEOM’,
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT(‘longitude’, -180.0, 180.0, 0.05),
    SDO_DIM_ELEMENT(‘latitude’, -90.0, 90.0, 0.05)), 4326);
    COMMIT;
    17
    GEOM列に緯度経度
    データを格納します
    GEOM列の次元情報
    を反映します

    View Slide

  18. データを入れる
    INSERT INTO TOKYO01 VALUES(1, ‘オラクル青山センター’,
    SDO_GEOMETRY(2001, 4326,
    SDO_POINT_TYPE(139.7185446873325,35.67143936469159,null), null,null));
    INSERT INTO TOKYO01 VALUES(2, ‘東京ドーム’,
    SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(139.751919, 35.7056232,null),
    null,null));
    INSERT INTO TOKYO01 VALUES(3, ‘東京スカイツリー’,
    SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(139.8108103, 35.7100069,null),
    null,null));
    INSERT INTO TOKYO01 VALUES(4, ‘東京タワー’,
    SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(139.7454316, 35.658584,null),
    null,null));
    INSERT INTO TOKYO01 VALUES(5, ‘雷門’,
    SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(139.7963807, 35.7111434,null),
    null,null));
    INSERT INTO TOKYO01 VALUES(6, ‘新宿御苑’,
    SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(139.710645, 35.6871682,null),
    null,null));
    Oracle Spatial サンプル
    Copyright © 2022, Oracle and/or its affiliates
    18
    2001:2次元の点ジオメトリ
    4326:緯度経度(地理座標系)

    View Slide

  19. 空間索引の作成(12.2以降の場合)
    Oracle Spatial サンプル
    CREATE INDEX spidx_tokyo01 ON tokyo01(geom)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX_V2 ;
    Copyright © 2022, Oracle and/or its affiliates
    19

    View Slide

  20. 距離計算
    • オラクル青山センターと東京ドームの距離
    Oracle Spatial サンプル
    SELECT SDO_GEOM.SDO_DISTANCE(a.GEOM, b.GEOM) from
    (SELECT * FROM TOKYO01 WHERE GEO_NAME=‘オラクル青山センター’) a,
    (SELECT * FROM TOKYO01 WHERE GEO_NAME=‘東京ドーム’) b ;
    SDO_GEOM.SDO_DISTANCE(A.GEOM,B.GEOM)
    ------------------------------------
    4848.862
    Copyright © 2022, Oracle and/or its affiliates
    20
    ※測定単位を指定しない場合、データに関連付けられた測定単位が
    使用されます。今回はメートルですが、’unit=KM’など指定可能です。

    View Slide

  21. 空間検索
    • オラクル青山センターから近いオブジェクト(近傍検索)とその距離
    Oracle Spatial サンプル
    SELECT a.GEO_NAME, SDO_NN_DISTANCE(1) dist from
    TOKYO01 a , (SELECT * FROM TOKYO01 WHERE GEO_NAME=‘オラクル青山
    センター’) b
    WHERE SDO_NN( a.geom, b.geom,null,1) = ‘TRUE’;
    GEO_NAME DIST
    ---------- ----------
    オラクル青山センター 0
    新宿御苑 1886.005
    東京タワー 2821.509
    東京ドーム 4848.862
    雷門 8309.145
    東京スカイツリー 9383.861
    ※SDO_NNは近傍検索を行う演算子です。この例では全部取り出
    していますが、最近接だけを取り出したり、Top5を取ることもで
    きます。
    Copyright © 2022, Oracle and/or its affiliates
    21

    View Slide

  22. Agenda
    Copyright © 2022, Oracle and/or its affiliates
    • 地理空間データとは
    • Oracle Spatial 概要
    • Oracle Spatial 事例
    • Oracle APEXで地理空間データを活用する - デモンストレーション
    22

    View Slide

  23. 23 Copyright © 2022, Oracle and/or its affiliates,
    月報
    GPS情報から除雪を実施した道路の情報を自動収集
    自動収集した除雪実施情報から、
    日報、月報を作成
    北海道
    富良野市様
    除排雪車両にGPS機能端末を設置、IoTを活用
    し車両の走行データおよび職員の業務記録をリア
    ルタイムに収集し、それらのデータを地図やグラフで
    可視化し、除排雪作業の見える化を図る
    • 集計・報告業務の自動化による業務軽減
    • 病院(救急車)・交通機関への情報公開による市民
    生活の向上
    • 将来的には気象データと連携して事前予測による除雪
    作業の効率化と住民へのサービス向上
    自治体業務の効率化から住民サービス向上へ

    View Slide

  24. Copyright © 2021, Oracle and/or its affiliates,
    24
    24
    国立研究開発法人
    防災科学技術研究所様
    戦略的イノベーション創造プログラム(SIP)第2期における「避難・緊
    急活動支援統合システム開発」の活動をクラウド上に実装
    • 災害対応に必要な情報を共有する「SIP4D」を、災害対応を情報で牽
    引する「CPS4D: Cyber-Physical System for Disaster
    Resilience」への進化が必要
    • 地理空間情報を含む多種多様な災害動態情報を統合DBに格納、
    SNSなど情報と合わせて統合解析、予測、シミュレーションを可能とし、
    災害時の意思決定、支援、協働迅速に支援可能
    • 降雨や地震の観測データ、道路や建物の被害データなど多種多量な
    データを管理できる情報基盤の構築
    非構造である地理空間データをOracle Database
    に格納し、災害時の意思決定に活用するアーキテク
    チャ
    災害動態ビジュアライザ・プロトタイプ画面イメージ

    View Slide

  25. Copyright © 2022, Oracle and/or its affiliates
    利用サービス・製品
    • Database Cloud Service
    • Container Engine for Kubernetes
    • Oracle Consulting Service
    プレス・リリース (2021-08-06)
    採用ポイント
    • オープンソース・ベースの機能専用型クラウド・データベースを複数連携させた構成など複数の
    パブリック・クラウドを比較し OCI を採用
    • 地図制作に必要な空間データおよびグラフ・データなどのあらゆるデータ・モデルやデータ・ワーク
    ロードに対応する Oracle Database Cloud Service のコンバージド・データベース・エンジン
    • オラクルのコンサルティング部門の高い技術や知見
    Oracle Cloud Infrastructure (Tokyo Region)
    Application
    Database
    Database Cloud
    Service
    Container Engine
    for Kubernetes
    次期地図制作基盤
    現行の地図制作基盤
    トヨタマップマスター様
    現行システム
    編集
    アプリ
    データ加工
    アプリ
    更新
    アプリ
    B 工程
    A 工程 C 工程
    地図制作に必要なデータを
    Database Cloud Service で一元管理
    Graph
    Document
    {JSON}
    Spatial Relational
    道路情報 属性情報
    出典データ 施設情報
    25

    View Slide

  26. Agenda
    Copyright © 2022, Oracle and/or its affiliates
    • 地理空間データとは
    • Oracle Spatial 概要
    • Oracle Spatial 事例
    • Oracle APEXで地理空間データを活用する - デモンストレーション
    26

    View Slide

  27. 参考資料
    Copyright © 2022, Oracle and/or its affiliates
    27
    • OCIチュートリアル 「Spatial Studioで地理情報を扱おう」
    https://oracle-japan.github.io/ocitutorials/database/adb214-spatial-studio/
    • Oracle APEXで地理空間データを扱う
    https://qiita.com/wahagon/items/6d0dd35ce714a7f2d9f2
    • Oracle Spatial を使った接触追跡
    https://qiita.com/ryotayamanaka/items/6f9954e63dac03fd44d0

    View Slide

  28. View Slide