oracle direct seminarinsert picture here> oracle direct seminar...
TRANSCRIPT
<Insert Picture Here>
Oracle Direct Seminar
位置ゲー基盤からGISまで!Oracle Spatial入門
日本オラクル株式会社 データベースソリューション本部2011年2月
Copyright© 2011, Oracle. All rights reserved.
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
2
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
Agenda
• Oracle Spatialとは• オンライン地図との違い
• Oracle Spatialのアーキテクチャ• データモデル
• 空間索引
• 空間演算子
• Appendix
• 事例
• 関連URL
3
Copyright© 2011, Oracle. All rights reserved.
位置情報活用の兆し
• 従来の主体
• 官庁・公共・防衛など膨大なインフラ情報を管理
• GISによる高度な分析
• ユーザー数は少なめ
• 専門知識を有する技術者による長期間開発
• 近年• 民間ベンチャー発のGPSを使った位置ゲーム
• 短期スクラッチ開発
• 流行るとユーザー、データともに激増
• 他社と競争しながらの短期開発
4
http://oracledatabase.jp/data-integrator/entry_000134.html も御覧ください
これからの位置情報基盤に求められること
短期開発 (しかもなるべく簡単に…)
ユーザー / データ増への柔軟な対応
Copyright© 2011, Oracle. All rights reserved.
Oracle Spatialとは
• spatial (スペイシャル) = 空間の、空間的な
• Oracle Databaseで、緯度・経度・測地座標系を解釈するための仕組み(データ型、関数、プロシージャ)を提供するオプション• 点、線、ポリゴン(多角形)の情報を、DBの表で管理
• 距離、面積、体積の算出、ジオメトリ間の包含関係の判別などを行う関数を提供
• 座標系変換の係数を事前定義済みであるため、異なる座標系間でもこれらの操作が可能
• Oracle 7.3の実装以来、継続して機能追加 / 強化あり
5
Copyright© 2011, Oracle. All rights reserved.
Oracle Spatialの歩み
1995~ Oracle7
Spatialの初リリースポイント情報、ポリゴンSpatial演算子
1999~ Oracle8i
オブジェクト・サポート円、円弧R-Tree索引Spatial関数のサポート
2001~ Oracle9i
空間参照システム(座標系のサポート)
線形参照システムSpatial Partitioning
Spatial Replication(Adv.rep)
2004~Oracle Database 10g
ラスター・データのサポートトポロジのサポートネットワーク・データ・モデルジオコーディングとルーティング
2007~Oracle Database 11gR1
3DデータサポートSpatial Webサービス
Oracle Database 11gR2
Google Maps対応
スケーラビリティ
可用性
6
Copyright© 2011, Oracle. All rights reserved.
Oracle Spatialが無いと…
• 緯度経度:数値で格納
• 距離計算、面積計算
• 緯線に沿って経度が1度違うと…
• 赤道付近…111km
• 北極点、南極点…0に近似
• 座標系の変換
• WGS84(GPS)で取得した座標を、日本測地系の地図上に表示させるには…
• チューニング
• 要件通りの性能が出ない場合、コードの見直しが必要
• Oracle Spatialが提供するデータ型/関数がこれらの煩雑さを解消
• 地球の丸みを考慮した距離計算
• 旧測地系(日本測地系)/新測地系(世界測地系)を含む、全世界の測地系の変換
• Oracle Databaseと同じチューニングアプローチ
地球は丸いので複雑
座標系が増えるたびに変換式を手作り
プログラマーの長期拘束
7
Copyright© 2011, Oracle. All rights reserved.
オンライン地図とOracle Spatial
• オンライン地図で事足りるのでは?
• 静的な地図情報の表示(東京都、埼玉県 etc / 店舗情報)としてはオンライン地図で十分
• 動的な位置情報を基にした検索を行う場合Oracle Spatialが必要
• ジオゲーム等で取得したユーザーの位置情報を基に、広告メールを送信したいときは?
• [例] 渋谷ハチ公像から半径500メートル以内にいる人のリストを作る
• 必要なデータ
• ユーザー個々人の位置情報…動的な情報
• ジオゲームを介して緯度・経度を取得
• 渋谷ハチ公像の緯度経度…静的な情報
• 主要なランドマークの位置情報集を地図ベンダーから購入可能
8
Copyright© 2011, Oracle. All rights reserved.
ハチ公から半径500メートル以内にいる人のリストを作る –データの格納
• SDO_GEOMETRYデータ型を用いて格納• Oracle Spatialが提供するデータ型
9
create table user_data( -- ユーザー個々人の位置情報を格納
user_id number,
user_mail varchar2(320),
datetime date,
user_loc sdo_geometry);
create table landmark( -- ランドマークの位置情報を格納
id number,
lm_name varchar2(500),
lm_loc sdo_geometry);
Copyright© 2011, Oracle. All rights reserved.
ハチ公から半径500メートル以内にいる人のリストを作る –データの検索
• SQLで記述
• 空間検索とそれ以外の検索(時刻、IDなど) を1つのSQL文で記述可能
• Oracle Spatialが提供する関数群を使用
10
declare
hachi_loc landmark.lm_loc%TYPE;
begin
select lm_loc into hachi_loc from landmark where lm_name='ハチ公';
declare
cursor mail_cur is
select user_mail from user_data ud
where sdo_within_distance(
ud.user_loc, hachi_loc, 'distance=500 unit=M') = 'TRUE';
mail_rec mail_cur%ROWTYPE;
begin
open mail_cur;
...
landmark表より、ハチ公の位置情報を取得
user_data表より、sdo_within_distance空間演算子を用いてハチ公の半径500m以内にいるユーザのメールアドレスを取得
Copyright© 2011, Oracle. All rights reserved.
ハチ公から半径500メートル以内にいる人のリストを作る –検索結果の描画
• 左図にオンライン地図を重ね合わせる
11
• 500メートル以内にいる人を赤で表示
©INCREMENT P CORP.
Copyright© 2011, Oracle. All rights reserved.
オンライン地図とOracle Spatial
• 位置情報を扱うシステムにおいて、両者は補完関係
• 位置情報を基にした検索はOracle Spatialで実現できる
• 検索結果を地図画像上に表示したい場合、オンライン地図または地図画像が必要
• オンライン地図のASP契約
• 地図画像の購入
• SDO_GEORASTER型を使用してDBへ格納
12
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
Agenda
• Oracle Spatialとは• オンライン地図との違い
• Oracle Spatialのアーキテクチャ• データモデル
• 空間索引
• 空間演算子
• Appendix
• 事例
• 関連URL
13
Copyright© 2011, Oracle. All rights reserved.
Spatialのデータ型 SDO_GEOMETRY
• Oracle Databaseで位置情報を扱うために”必要な項目”
をオブジェクト型を用いて格納
• “必要な項目”とは• 位置情報の形状
• 点、直線、円弧、多角形、円、これらの組み合わせ、など
• サポートする形状については後述
• 緯度経度、座標系
• 緯度経度の情報はVARRAY(可変長配列)として格納する
• 形状が点の場合に限り、VARRAYでなくSDO_POINTTYPE
(NUMBER型)として格納することも可能
• 座標系とは、地球上の位置を緯度・経度・高度で特定するとき、前提となる条件のこと
14
Copyright© 2011, Oracle. All rights reserved.
SDO_GEOMETRY型の構造
• SDO_GEOMETRY
• SDO_POINT_TYPE...点オブジェクト用座標情報
X NUMBER
Y NUMBER
Z NUMBER
VARRAY (1048576) OF NUMBER
VARRAY (1048576) OF NUMBER
• SDO_ELEM_INFO_ARRAY...各座標点の解釈情報
• SDO_ORDINATE_ARRAY...各座標点の集合
SDO_GTYPE NUMBER
SDO_SRID NUMBER
SDO_POINT SDO_POINT_TYPE
SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY
SDO_ORDINATES SDO_ORDINATE_ARRAY
基本形状情報
座標系
緯経度そのものを格納
円弧+直線、ドーナツ型などは複数の解釈情報を定義。配列は0でなく1から数える
15
Copyright© 2011, Oracle. All rights reserved.
サポートされる位置情報の形状
点(ポイント) 線(ライン)
ポリゴン(多角形)
穴空きポリゴン
自己交差するライン
自己交差するポリゴン
サポートされない
円弧線ストリング 複合線ストリング
円弧ポリゴン 複合ポリゴン
円 最適化された矩形
点クラスタ
店舗、目的地などの地点 道路、河川、鉄道など線系の構造物、地形の表現など
地域、公園、区画、湖、池など特定の場所の表現
ポリゴンの特殊例滋賀県などネスト不可
CADでの利用特定の地点から周囲xxメートルという表現など
CADでの利用整理された区画での矩形表現など
2つの三角形として、表では2行で定義
16
Copyright© 2011, Oracle. All rights reserved.
Oracle Spatial データモデル
レイヤー
点 ライン ポリゴン 複合ポリゴン複合ライン
ジオメトリジオメトリ ジオメトリ…… ……
要素…… …… 要素要素
例)全国市区町村
例)小笠原村
例)父島、母島
要素を描画する形状
17
Copyright© 2011, Oracle. All rights reserved.
空間索引とは
• 空間検索を高速に行うために作成する索引
• 空間演算子を使用した問合せに必要
• R-Tree索引と呼ばれ、内部的に空間索引表が作成される
• 索引作成やメンテナンスは通常の索引と同様CREATE /
ALTER INDEX文で可能
CREATE INDEX <index-name>
ON <table-name> (<column-name>)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
18
Copyright© 2011, Oracle. All rights reserved.
空間索引とは
• 空間索引表と順序が実体
• CREATE INDEX文で指定した索引名で索引セグメントが作られるわけではない
• 空間索引作成ユーザーで以下のオブジェクトが生成される
• MDRT_xxxx$ という命名規則で、座標やrowidの 情報を格納する空間索引表
• MDRS_xxxx$ という命名規則で順序
• 空間索引と、空間索引表の組み合わせの確認
• USER_SDO_INDEX_METADATA ビューの SDO_INDEX_TABLE とSDO_INDEX_NAME
19
Copyright© 2011, Oracle. All rights reserved.
空間索引の考え方
• ジオメトリの位置関係を、最小境界矩形(MBR)を基に木構造で管理する• 最小境界矩形(MBR)…ジオメトリを囲む最小の長方形のこと
MBRはMinimum Bounding Rectangleの略
20
a
b
c
da b c d
ジオメトリへのポインタ
R
S
R S
root
R-tree
root
Copyright© 2011, Oracle. All rights reserved.
空間索引を用いた検索例
• 点a-gのうち、埼玉県内にある点を検索する• 一次フィルタ
• 空間索引を使ってMBRを基に、候補を点bと点cに絞り込む
• 二次フィルタ
• 県の形の凹凸も考慮した厳密なマッチングを行う
• 点cが結果として返る
21
MBR
ab
c
d
f
e
g
Copyright© 2011, Oracle. All rights reserved.
空間演算子
• クエリのwhere句内で用いる関数で、対象の表に、空間索引が必要
• SDO_NN
• ある地点から最も近いジオメトリを検索(最近傍探索)
• ex) 外苑前から最も近い蕎麦屋
• SDO_WITHIN_DISTANCE
• ある地点から指定した距離内にあるジオメトリを検索
• ex) ハチ公から500メートル以内にいる人
• SDO_RELATE
• 指定した位置関係に合致するジオメトリを検索
• ex) 国道246号線を横切る河川、港区内を走行中のタクシー
• 空間演算子以外の条件句(時刻、ID、文字列)も1文で記述可能• パーティションプルーニングによる検索の高速化
22
Copyright© 2011, Oracle. All rights reserved.
データ加工、管理用パッケージ
• 空間集計ファンクション• SDO_AGGR_UNION
• 指定したジオメトリの和集合(OR)を取る
• パッケージ• SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT
• 空間データを検証し、無効なデータを返す。大量ロード後などに使用
• SDO_GEOM.SDO_LENGTH
• 線の長さを返す
• SDO_UTIL.FROM_KMLGEOMETRY
• KMLをSDO_GEOMETRYへ変換
• その他多数...
23
Copyright© 2011, Oracle. All rights reserved.
Oracle Database 他機能の活用
• Databaseの他機能とOracle Spatialはもちろん併用可能
• Real Application Clusters、Partitioning、パラレル実行、Automatic
Storage Management...
• エンジニアはOracle Databaseに関する知識をそのまま流用可能
• Oracle Master取得者数20万人(2009/07時点)
• 新たに習得すべきは地図や位置情報に関わる若干の知識のみ
24
Oracle Databaseトランザクション管理
セキュリティ、権限管理
領域管理
チューニング
パーティション
トランスポータブル表領域
バックアップ / リカバリ
Enterprise Managerによる監視
Oracle Spatial空間データ型空間関数空間索引座標系変換
地図データだけでなく、契約者住所座標も同じDBへ格納する場合セキュリティは特に重要
Copyright© 2011, Oracle. All rights reserved.
Oracle Spatial利用のメリット -開発から
• 空間索引 + Oracle Database機能を併用した高パフォーマンスアーキテクチャ
• 定義済みの空間演算子、豊富なパッケージの活用で工数削減
• 通常の検索と空間検索を1つのSQLで記述可能
• Oracle Databaseのスキルセットをそのまま流用可能• Spatial用のプロセスが上がるわけではなく、内部的にはOracle
Databaseの仕組みを組み合わせて実装されている
25
Copyright© 2011, Oracle. All rights reserved.
Oracle Spatial利用のメリット -用途から
• 標準化団体へのコミットメント
• オラクルは、空間およびロケーション・サービス分野における最新のオープン標準の構築、推進、実施、およびサポートを一貫して支援
• Open Geospatial Consortium(OGC)の主要メンバーで、積極的に技術委員会に参加
• 先進のSpatial機能をいち早くサポート• ラスターデータ(画像データ)のサポート
• 画像の圧縮も可能
• 3Dデータモデル
• 多数のGISベンダーがOracle Spatialをサポート• Autodesk, ESRI, Geoconcept, Intergraph, インフォマティクス…
• エンタープライズ向け空間DBにおいてシェア8割
26
Copyright© 2011, Oracle. All rights reserved.
• Spatial対応製品ベンダー
Oracle Spatial パートナー
27
Copyright© 2011, Oracle. All rights reserved.
日本国内のOracle Spatialパートナー
• http://www.oracle.com/technology/global/jp/products/spatial/index.html
ベンダー名 製品名
AutodeskAutodesk MapGuide
Autodesk Map Series
Autodesk OnSite
Bentley SystemsMicroStation GeoGraphics
Bentley PowerMap
ESRIジャパン ArcGIS / ArcView / ArcSDE / ArcIMS
株式会社ジオプラン Geoconcept
IntergraphジャパンGeoMedia / GeoMedia WebMap
GeoMedia Professional / IntelliWhere
株式会社インフォマティクス 空間情報システムSIS
MapInfo ジャパンMapXtreme / MapMarker
MapX / MapInfo Professional
GEスモールワールド株式会社 Smallworld
日立ソリューションズ GeoMation
28
Copyright© 2011, Oracle. All rights reserved.
まとめ
• 位置情報システム基盤は、Oracle Spatial + Oracle Databaseで!
• 短期開発を実現• 豊富なパッケージ、空間演算子を提供
• これらの実装に必要だった、位置情報に関する高度な知識は不要
• ユーザー / データ増への柔軟な対応 を実現• 空間索引による高速な空間検索
• データが急に増えても性能劣化なし
• Oracle Databaseの機能を併用可能
• チューニングアプローチはOracle Databaseと同様
• RAC、パーティション、ASM、パラレルクエリ...
29
これからの位置情報基盤に求められること
短期開発 (しかもなるべく簡単に…)
ユーザー / データ増への柔軟な対応
Copyright© 2011, Oracle. All rights reserved.
伊Cotral
• イタリアのラーツィオ州内の都市近郊公共交通を業務とする株式会社• 所有バス1600台
• 1日20時間、のべ9000往復
• 376の自治体をカバー
• 1年当たりの乗客1億400万人、走行距離8100万km
• サービス管理基盤をOracle製品で構築• 空間データとしてバスルート、バス停、バス時刻表、営業所情報を格納
• 携帯電話網を使用しバスの位置情報を逐次センターサーバーへ送信
• 走行監視
• 運行状況、乗客の行き先などを監視
• サービス計画
• 時刻表の改変、季節やイベントによる運行ルート変更など
Copyright© 2011, Oracle. All rights reserved.
伊Octo Telematics / 米OnStar
• 車載テレマティクスのセンターサーバーでOracle Spatial
を使用し、位置情報の格納および問合せを実現• 車載テレマティクスとは
• カーナビ + 移動体通信システムにより、地図更新、渋滞回避ルートの
案内、オペレーターによる目的地設定、ニュースなどの情報配信に加え、エアバッグと連動した緊急通報、盗難車の追跡などリアルタイムなサービスを提供
• スクラッチ開発だった従来のサービス基盤をOracle
Spatialで刷新• 新サービスのリードタイムを短期化
• システム管理コストの削減
Copyright© 2011, Oracle. All rights reserved.
Oracle Spatial 関連URL
• マニュアル• 11gR2
• http://download.oracle.com/docs/cd/E16338_01/nav/portal_3.htm
• 上記内、「Spatial Developer„s Guide(英語)」
• 11gR1
• http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc
_dvd/nav/portal_3.htm
• 上記内、「Spatial開発者ガイド」
• 製品情報• http://www.oracle.com/technetwork/jp/database/options/spatia
l/index.html
32
Copyright© 2011, Oracle. All rights reserved. 33
OTN×ダイセミ でスキルアップ!!
※OTN掲示版は、基本的にOracleユーザー有志からの回答となるため100%回答があるとは限りません。ただ、過去の履歴を見ると、質問の大多数に関してなんらかの回答が書き込まれております。
Oracle Technology Network(OTN)を御活用下さい。
・一般的な技術問題解決方法などを知りたい!・セミナ資料など技術コンテンツがほしい!
一般的技術問題解決にはOTN掲示版の
「データベース一般」をご活用ください
http://forums.oracle.com/forums/main.jspa?categoryID=484
過去のセミナ資料、動画コンテンツはOTNの
「OTNセミナー オンデマンド コンテンツ」へ
http://www.oracle.com/technetwork/jp/testcontent/index-086873-ja.html
※ダイセミ事務局にダイセミ資料を請求頂いても、お受けできない可能性がございますので予めご了承ください。ダイセミ資料はOTNコンテンツ オン デマンドか、セミナ実施時間内にダウンロード頂くようお願い致します。
Copyright© 2011, Oracle. All rights reserved. 34
OTNセミナー オンデマンド コンテンツダイセミで実施された技術コンテンツを動画で配信中!!
ダイセミのライブ感はそのままに、お好きな時間で受講頂けます。
※掲載のコンテンツ内容は予告なく変更になる可能性があります。期間限定での配信コンテンツも含まれております。お早めにダウンロード頂くことをお勧めいたします。
OTN オンデマンド
最新情報つぶやき中
oracletechnetjp
・人気コンテンツは?
・お勧め情報
・公開予告 など
Copyright© 2011, Oracle. All rights reserved. 35
Oracle エンジニアのための技術情報サイト
オラクルエンジニア通信http://blogs.oracle.com/oracle4engineer/
• 技術資料
• ダイセミの過去資料や製品ホワイトペーパー、スキルアップ資料などを多様な方法で検索できます
• キーワード検索、レベル別、カテゴリ別、製品・機能別
• コラム
• オラクル製品に関する技術コラムを毎週お届けします
• 決してニッチではなく、誰もが明日から使える技術の「あ、そうだったんだ!」をお届けします
こんな資料が人気です
6か月ぶりに資料ダウンロードランキングの首位が交代!新王者はOracle Database構築資料でした。
データベースの性能管理手法について、Statspack派もEnterprise Manager派も目からウロコの技術特集公開中
オラクルエンジニア通信
最新情報つぶやき中
oracletechnetjp
Copyright© 2011, Oracle. All rights reserved. 36
■パフォーマンス診断サービス
•Webシステム ボトルネック診断サービス
•データベースパフォーマンス診断サービス
オラクル社のエンジニアが 直接ご支援しますお気軽にご活用ください!
オラクル 無償支援 検索
NEW
■システム構成診断サービス
•Oracle Database構成相談サービス
•サーバー統合支援サービス
•仮想化アセスメントサービス
•メインフレーム資産活用相談サービス
•BI EEアセスメントサービス
•簡易業務診断サービス
■バージョンアップ支援サービス
•Oracle Databaseバージョンアップ支援サービス
•Weblogic Serverバージョンアップ支援サービス
•Oracle Developer/2000(Froms/Reports)
Webアップグレード相談サービス
■移行支援サービス
•SQL Serverからの移行支援サービス
•DB2からの移行支援サービス
•Sybaseからの移行支援サービス
•MySQLからの移行支援サービス
•Postgre SQLからの移行支援サービス
•Accessからの移行支援サービス
•Oracle Application ServerからWeblogicへ移行支援サービス
ITプロジェクト全般に渡る無償支援サービス
Oracle Direct Conciergeサービス
NEW
NEW
Copyright© 2011, Oracle. All rights reserved. 37
インストールすることなく、すぐに体験いただけます
製品無償評価サービス
http://www.oracle.com/jp/direct/services/didemo-195748-ja.html
Web問い合わせフォーム「ダイデモ」をキーワードに検索することで申し込みホームページにアクセスできます
提供シナリオ一例
・データベースチューニング
・アプリケーション性能・負荷検証
・無停止アップグレード
・Webシステム障害解析
1日5組限定!
※サービスご提供には事前予約が必要です
サービスご提供までの流れ
1. お問合せフォームより「製品評価サービス希望」と必要事項を明記し送信下さい
2. 弊社より接続方法手順書およびハンズオン手順書を送付致します
3. 当日は、弊社サーバー環境でインターネット越しに製品を体感頂けます
Copyright© 2011, Oracle. All rights reserved. 38
http://www.oracle.com/jp/direct/inquiry-form-182185-ja.html
Oracle Direct 検索
あなたにいちばん近いオラクル
Oracle Directまずはお問合せください
Web問い合わせフォーム フリーダイヤル
専用お問い合わせフォームにてご相談内容を承ります。
※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。
0120-155-096
※月曜~金曜 9:00~12:00、13:00~18:00
(祝日および年末年始除く)
システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。
システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。
Copyright© 2011, Oracle. All rights reserved. 39
Copyright© 2011, Oracle. All rights reserved.
40