Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle Database Technology Night #58 Oracle Dat...

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

August 26, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Agenda Copyright © 2022, Oracle and/or its affiliates • 地理空間データとは

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

    • Oracle Spatial 概要 • Oracle Spatial 事例 • Oracle APEXで地理空間データを活用する - デモンストレーション 3
  3. 地理空間データとは Copyright © 2022, Oracle and/or its affiliates ベクター・データ 色々な場所、形状を数値のベクトルで表現

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

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

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

    Oracle Spatial データベース機能 との統合 空間分析とデータ の可視化 様々な地理空間 データ 8
  7. データベースのファンクション • 様々な種類の地理空間データ の保持・対応 • DB内でのデータ格納と空間 分析処理 開発者向けのライブラリ • マップの可視化

    • ルーティングエンジンなどの コンポーネント Spatial Studio セルフサービス・ツール • 誰でも簡単にデータ分析 が可能 • 素早くアプリケーション 開発 Oracle Spatial とは Copyright © 2022, Oracle and/or its affiliates 9
  8. Copyright © 2022, Oracle and/or its affiliates 地理空間データ の管理・分析・ 処理

    Spatial Studio セルフサービス・ ツール SQL, PL/SQL, Java などの専門的技術 Application Express (APEX) ローコードのアプリケーション 開発プラットフォーム Oracle Spatial とは 10
  9. Oracle Spatial の価値 多様な機能性 • 変換、分析~バリデーションや修正まで • 空間分析、集計関数、線形参照システム.. 性能、スケーラビリティ •

    高速な空間検索 • Oracleの並列化/高速化技術を享受 組み込み容易性 • ほとんどの機能はSQLベースでのアクセスが可能 • 空間関連処理をDBへオフロード Copyright © 2022, Oracle and/or its affiliates 11
  10. シンプルな地理空間データの処理 データの形式 • 点ジオメトリ • 線ジオメトリ • 面ジオメトリ(ポリゴン) データの処理方式 •

    近傍検索 • 位置関係の演算 (例: 内部, 重複, 接触...) • 複数のジオメトリを1つに統合 • 範囲内検索 Oracle Spatial の機能 Copyright © 2022, Oracle and/or its affiliates 12
  11. ネットワークデータの分析 Copyright © 2022, Oracle and/or its affiliates データ形式 •

    道路、鉄道、公共施設などのネッ トワーク • ノードとエッジで構成されるグラ フがベース 経路分析 • 最短経路計算、巡回セールスマン 計算、コスト内到達性… Oracle Spatial の機能 13
  12. ストリーミングデータのサポート Copyright © 2022, Oracle and/or its affiliates GPSデバイスやIoTセンサーから位置 情報を取得

    • 位置情報と時系列データからトレー ス • ジオフェンシングー設定されたエリ アの出入りで警告を発する • 接触追跡 Oracle Spatial の機能 14
  13. ラスターデータのサポート Copyright © 2022, Oracle and/or its affiliates データ形式 •

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

    • まずは緯度経度データを使ってSpatialの基本的な操作を見ます • データはSDO_GEOMETRYに格納します • 距離計算や空間検索などの演算ができます 16
  15. 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列の次元情報 を反映します
  16. データを入れる 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:緯度経度(地理座標系)
  17. 距離計算 • オラクル青山センターと東京ドームの距離 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’など指定可能です。
  18. 空間検索 • オラクル青山センターから近いオブジェクト(近傍検索)とその距離 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
  19. Agenda Copyright © 2022, Oracle and/or its affiliates • 地理空間データとは

    • Oracle Spatial 概要 • Oracle Spatial 事例 • Oracle APEXで地理空間データを活用する - デモンストレーション 22
  20. 23 Copyright © 2022, Oracle and/or its affiliates, 月報 GPS情報から除雪を実施した道路の情報を自動収集

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

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

    • Oracle Spatial 概要 • Oracle Spatial 事例 • Oracle APEXで地理空間データを活用する - デモンストレーション 26
  24. 参考資料 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