SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド

地図データに代表される「空間データ」とは何か? データベースでの扱い方を紹介

オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド 第10回

  • X ポスト
  • このエントリーをはてなブックマークに追加

空間データが空間データを求める

 ここまでベクターデータという空間データ自体のデータ表現方法と実装の側面から利用のされ方を実装の側面から見てきましたが、もう少し俯瞰して空間データというものを眺めてみたいと思います。

 先ほどのフランチャイズの例では、自社の店舗の位置からその周辺の世帯数を取得するということを実施しました。これは店舗の位置という空間データと世帯数という別な空間データとを掛け合わせることで、その店舗に関する新しい情報を得たということになります。世帯数のほかの空間データ、例えば近隣の世帯数、労働者人口、世帯年収、消費推計といったデータがあればさらに店舗の立地における情報を取得することができるということになります。

 もう1つ、空間データがよく利用される防災関連の例を挙げますと、避難所の位置のデータ単独で存在しているよりも、雨量のデータや土砂災害危険地域のデータ、自力避難困難者のデータ、通行可能な道路などの他の空間データがあった方が避難所のデータがより有効に活用できるようになります。

 このように空間データは、他の空間データと併せて利用されることでその価値が高まり、活用の幅が広がる、つまり「空間データが空間データを求める」というような現象が起こります。また空間データには動体の位置情報や人口推移、気候や気温などの時系列に累積する種類のものも少なくありません。このように増えていく空間データを統合的に扱い、利用可能な状態で管理し続けるには、データベースという仕組みは非常に有効に働くため地理空間系のアプリケーションの多くが空間機能を持つデータベースと連携する機能を持っています。

 1995年時点から空間機能を提供しているOracle Databaseでは、空間データのこのような特徴を踏まえ、本連載第3回で説明したパーティショニング機能やさまざまな並列化の機能と空間機能は併用が可能となっており、銀河系の星々のデータストアや国家レベルの大規模な空間データベースとして利用されています。

コラム:空間データの難しさ

 本記事では、地理空間データの代表的なものである地図データがベクターデータの「点」「線」「ポリゴン」という形状タイプに分けられ、それぞれは数値のセットである座標点や座標点の組とで表現することを述べました。これらは、地理空間データに限らず、より広義の空間データでも共通の概念となります。

 もう1つ重要な問題があります。これらの地理空間データの座標点の基準がどうなっているかという問題です。

 普段、我々が緯度経度と言った場合、それが絶対的な位置を表現するものとなっていると誤解しがちですが、厳密には緯度経度にもさまざまな基準が存在しています。

 この基準を測地系といいます。測地系は、地球をどのような形の回転楕円体とみなすか(準拠楕円体)、ジオイド面(平均海面)、座標系などから定義されます。これらの詳しい説明は日本の測地系のオーソリティである国土地理院のサイトにありますが、日本では2002年4月に施行された測量法の改正に伴って、「世界測地系(測地成果2000/JGD2000)」というものが測地系として定義されています。また東北地方太平洋沖地震による大きな地殻変動の結果を測量し修正された「測地成果2011/JGD2011」もまた世界測地系と呼ばれています。また測地成果2000が出るまで、明治から使われてきた日本測地系(TOKYO)と呼ばれるものもあります。

 このように日本だけでも3種類の測地系が存在し、古い測地系のデータを目にすることも珍しくありません。また国内の測地系だけではなく、スマートフォンなどで位置情報を取得するGPSではWGS84という米国が規定している測地系が採用されています。現時点で世界測地系とWGS84の間で実用上問題となるような差はありませんが、測地系の定義はそれぞれ違う基準に則ったものになっています。

 世界測地系(JGD2011)での緯度経度は座標系になっており、「緯度は、赤道を0度として南北方向にそれぞれ北緯南緯90度までを表現し、経度はグリニッジ天文台で有名な本初子午線を基準として、東西に東経/西経180度までを表現する」という座標系となります。データ表現としては、北緯や東経といった表現の代わりに正負の符号での表現、緯度は赤道から見て北(北緯)をプラス、南(南緯)をマイナスで表現し、経度は東(東経)をプラス、西(西経)をマイナスで表現することになっているものとなります。

 一般に位置情報というと緯度経度での表現を思い起こされる方が多いかと思いますが、緯度経度は回転楕円体上の角度によるデータ表現なので日常での距離の計算や差の計算上はいろいろな問題が付きまといます。緯度経度で格子が切ってある地球儀を思い描いていただくと、赤道付近の格子と極付近の格子の大きさが全然違うことが分かるかと思いますが、同じ経度緯度1度の差であったとしても、実際楕円体上、或いは近似のために球面上での緯線を考慮して計算する必要があり、距離を求めるだけでも一苦労となります。

北緯による距離の違い
北緯による距離の違い

 狭い範囲内では平面に投影した座標系でも誤差が少ないことや緯度経度の取り回しの煩雑さから、多くの国や地域でメルカトル法などによる投影座標系も規定されています。日本でも国内に19の座標原点が設けられ、各原点を基準として平面に投影された平面直角座標系というものが規定されています。この座標系では、位置は緯度経度ではなく、各座標原点からのメートル単位の位置座標で表現されるため、座標の値の取り扱い自体も緯度経度とは全く違ったものが必要となります。

 また日本測地系でも同じ投影座標系(日本測地系の平面直角座標系)が提供されていますが、世界測地系とは測地系が違うため、座標原点の実際の位置が異なり、結果として同じ場所は違う値で表現される(つまり取り違えると場所がズレる)こととなっています。データの基準を規定するものとなるため、この測地座標系の情報は、地理空間データを正しく解釈し、取り扱うためにとても重要な要素となっています。

まとめ

 ここまで空間データの中のベクターデータを中心に空間データのデータ表現、取り回しの難しさや使われ方などについて述べました。次回はベクターデータ以外にもあるさまざまな空間データやその活用の展望などについて説明したいと思います。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド連載記事一覧

もっと読む

この記事の著者

中井 亮矢(日本オラクル株式会社)(ナカイ リョウヤ)

 日本オラクル株式会社でOracle Databaseを担当するエンジニア。主に地理空間機能、グラフ機能、機械学習機能を中心とするデータ活用や性能チューニングの領域で、製造業、小売業、公共・公益などの様々な問題解決およびコンサルティングに従事。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16867 2022/12/14 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング