PowerPoint プレゼンテーション

Similar documents
あっと! デジタル ver.7

Delphi/400開発ノウハウお教えします Googleマップ連携によるリッチなGUIアプリ開発

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

目 次 1. はじめに 動作システム 起動方法 本ツールの機能 計算方法 使用方法 緯度 経度への換算 平面直角座標への変換 一度に計算可能なデータ数と追加方法

MapFan / 13

はじめに 開催の目的 今回の内容 Any Questions?

<93F195D C E706466>

受信機時計誤差項の が残ったままであるが これをも消去するのが 重位相差である. 重位相差ある時刻に 衛星 から送られてくる搬送波位相データを 台の受信機 でそれぞれ測定する このとき各受信機で測定された衛星 からの搬送波位相データを Φ Φ とし 同様に衛星 からの搬送波位相データを Φ Φ とす

データベース暗号化ツール「D’Amo」性能検証

OSS Mtg

九州大学学術情報リポジトリ Kyushu University Institutional Repository 緯度 経度から平面直角座標系への変換について 石井, 大輔九州大学応用力学研究所技術室 出版情報 : 九州大学応用力学研

1. 52

扉 序文 目次DVD用 .indd

すぐできる冬の省エネ・節電ガイド

”Žfi¶‰s‚ÒŒh”~”ŒŠá‘WŁ\”ƒ



Microsoft PowerPoint - 12NInst02-5.ppt [互換モード]

地図ナビリンク(Android)技術仕様書

情報システム設計論II ユーザインタフェース(1)

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

スライド 1

Microsoft Word - JP-AppLabs-MySQL_Update.doc

PowerPoint プレゼンテーション

<4D F736F F F696E74202D2093B CC8BE68AD B B82CC8AD AF95FB96405F88EA94CA ED28CFC82AF82C995D28F575F826C A6D94462E >

Microsoft Word - 05kc056_deim2009_090220mono.docx

1

目次 はじめに Introduction Analyzing Big Data Vectorwise and Hadoop Environments Vectorwise Hadoop Connector Perform

Sylpheed とは オープンソースのメールソフト ライセンスは GPL+LGPL 高速 軽量 高機能 高い操作性 高い信頼性 導入が容易 マルチプラットフォーム Windows, Linux, etc. 多言語対応 ( 約 30 ヶ国語 )

目次 1 はじめに 稼働環境 GUI の起動 画面構成 メニュー Google Map 検索データ一覧 データの検索 出典情報の確認 検索領域の指定と

人芯経営論 ・・・リーダーシップ考②

平成13年度 地域工業活性化支援事業報告書(多摩全域)

はたらく若者ハンドブック


裏技情報ファイル3

( ) ver.2015_01 2



DX-PC55_−ç(0)-A


第2章 位置の計算

時空間情報事業紹介

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗


PDF

(1)2004年度 日本地理

MATLAB®製品紹介セミナー

mysql56_load_r2

Microsoft Word - 03基準点成果表

2表紙

1 2

untitled

INDEX

INDEX

1002goody_bk_作業用

外為オンライン FX 取引 操作説明書



untitled

untitled

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

よく活用された Redmine 情報の宝庫問題解決の経緯 Wiki に整理したノウハウ

Th~

2 key. 3

-2-

< C D928696CA5F E706466>

LandBrowser   ユーザマニュアル 

スライド 1

Chap2.key

橡rito98.PDF

Microsoft Word - hyokorev_HELP_サイト修正前

: 1: 3:

PostgreSQL 9.3パーティションの効果検証

Microsoft PowerPoint tokura.pptx

SMv6menyu02Express.graffle

タイトルを1~2行で入力 (長文の場合はフォントサイズを縮小)

デジカメ天文学実習 < ワークシート : 解説編 > ガリレオ衛星の動きと木星の質量 1. 目的 木星のガリレオ衛星をデジカメで撮影し その動きからケプラーの第三法則と万有引 力の法則を使って, 木星本体の質量を求める 2. ガリレオ衛星の撮影 (1) 撮影の方法 4つのガリレオ衛星の内 一番外側を

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

BELCA_p08-09

スライド 1

PGECons技術ドキュメントテンプレート Ver.3

nlp1-12.key

平成20年度成果報告書

Technical Information Document ERDAS IMAGINE 2011 による ALOS データのジオコーディング方法 v1.0-1 / 24 - 管理番号 :T-IMC Copyright PASCO CORPORATION All Right

プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; } Point; 問題 18. 問題 17 の

- 1 -

Microsoft PowerPoint - algo ppt [互換モード]

<4D F736F F D B4988C994BC E88E695578D8289FC92E881698F4390B A>

Microsoft Word - Android_SQLite講座_画面800×1280

RS-MS1A ~オフライン地図について~

国土地理院時報119.indb

スライド 1

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

2

CAD CAD

コンテンツメディアプログラミング実習2

スライド 1

全文検索 Google Bing が提供している機能

FormatCreator

スライド 1

Transcription:

groonga 位置情報検索 - モーショノロジー #1 - Gurunavi, Inc. 塩畑公一 2012/01/26 1

groonga との歩みその壱 2008 年 06 月 ~ 新規検索システム構築プロジェクト開始 商用パッケージからオープンソース化 a. ファセット分類機能 b. 緯度経度範囲検索機能 c. 同義語 類義語指定機能 d. 自動補完 ( サジェスト ) 機能 2010 年 01 月 ~ senna 後継検索エンジン groonga が誕生 有限会社未来検索ブラジル様協力のもと 各種機能を開発パフォーマンス向上を目指す 2

groonga との歩みその弐 2010 年 04 ~ 現在 1. groonga を利用したサービス開始 リリース後も協力関係を継続し 新規機能開発やパフォーマンス向上に従事 2. 弊社内での主な利用コンテンツ a. レストラン検索 b. 地図検索 c. 駅検索 d. GPS 検索 ( モバイル ) etc 3

緯度経度検索機能の実現その壱 緯度経度検索とは 二点の座標から形成される範囲以内を対象としたレコードを検索 groonga の機能として 矩形と円形にて対応 4

緯度経度検索機能の実現その弐 矩形による範囲検索 左上と右下の座標から形成される矩形以内に存在するデータを検索 図例 1. geo_in_rectangle() 関数にて実現 5

緯度経度検索機能の実現その参 円形による範囲検索 中心と半径から形成される円形以内に存在するデータを検索 図例 2. geo_in_circle() 関数にて実現 6

緯度経度検索機能の実現その四 距離について 指定された一点の座標から検索結果対象が保持する座標までの距離 G groonga での取り扱い単位は m( メートル ) 図例 3. E A x C F D B 座標点 x から各検索データが保持している座標までの距離を算出できる 図例 3. は矩形だが 円形でも可能 7

緯度経度検索機能の実現その伍 距離の計算手法について ( 壱 ) 三つの手法にて距離を算出 a. 方形近似 平面地図上にて距離を算出する手法メリット ) アルゴリズムがシンプルで計算速度が速い 三平方の定理 デメリット ) 精度の高い距離算出ができない 8

緯度経度検索機能の実現その伍 距離の計算手法について ( 弐 ) b. 球面近似 球形地図 (e.g. 地球儀 ) 上にて距離を算出する手法 9

緯度経度検索機能の実現その伍 距離の計算手法について ( 参 ) c. ヒュベニ 楕円体上にて距離を算出する手法 地球は自転の遠心力により 楕円体となっている為メリット ) 精度の高い距離計算が可能 地軸 デメリット ) 複雑な計算式を用いる為 計算速度が遅い 10

緯度経度検索機能の実現その伍 距離の計算手法について ( 四 ) a. 方形近似 geo_distance([location column], [latitude]x[longitude], ( [rectangle rect] )) b. 球形近似 geo_distance([location column], [latitude]x[longitude], [sphere sphr] ) c. ヒュベニ geo_distance([location column], [latitude]x[longitude], [ellipsoid ellip ] ) : 第一引数緯度経度用カラムを指定 : 第二引数基点となる座標を指定 : 第三引数距離算出方法を指定 第三引数を省略した場合は 方形近似で距離を算出 11

緯度経度検索機能の実現その陸 測地系について ( 壱 ) 日本測地系と世界測地系といわれる二系統の座標の存在 それぞれの座標では 地域によって差異が生じる e.g.) 北海道稚内市東京都近辺福岡県近辺 12

緯度経度検索機能の実現その陸 測地系について ( 弐 ) 二つの測地系座標を利用した検索 a. 日本測地系座標 1. 日本各地に設置された基準点から日本天文台が作り上げた測地基準系座標 - ベッセル楕円体を準拠楕円体として扱う - 日本周辺でのみ利用可能 - 2002 年 04 月以前まで使用されていた e.g.) Yahoo! Japan 地図情報 Mapion Mapfan etc... 2. TokyoGeoPoint 型にて対応 13

緯度経度検索機能の実現その陸 測地系について ( 参 ) b. 世界測地系座標 1. WGS84(World Geodetic System 1984 の略 ) を採用 - GPS 等にて使用されている測地基準系座標 GPS からのフィードバックにて精度を向上 - GRS 楕円体を準拠楕円体として扱う - 世界標準として扱える e.g.) Google Maps etc... 2. WGS84GeoPoint 型にて対応 14

設定 使用方法についてその壱 DDL の構成について ( 壱 ) groonga にて緯度経度検索を行う為には 下記の様な DDL の設定となる - 2010 年 04 月時点 create_table gnavi TABLE_HASH_KEY ShortText column_create gnavi name COLUMN_SCALAR ShortText column_create gnavi lct_wgs COLUMN_SCALAR WGS84GeoPoint HASH 型のテーブルにより検索速度を向上させ WGS84GeoPoint 型のカラムに対して 検索を実施 期待していた検索速度が出なかった 15

設定 使用方法についてその壱 DDL の構成について ( 弐 ) 転置インデックス用テーブルを追加 - 2010 年 08 月以降 create_table gnavi TABLE_HASH_KEY ShortText column_create gnavi name COLUMN_SCALAR ShortText column_create gnavi lct_wgs COLUMN_SCALAR WGS84GeoPoint create_table wgs TABLE_PAT_KEY WGS84GeoPoint column_create wgs index COLUMN_INDEX gnavi lct_wgs 緯度経度用のカラムに転置インデックスを施し 検索速度の向上を図る 16

パフォーマンスについてその壱 テスト環境について パフォーマンステストに利用したサーバスペックやデータ数 CPU メモリ総データ数 :Intel(R) Xeon(R) 2.00GHz x4 :8GB : 約 54 万件 17

パフォーマンスについてその弐 Query パラメータについて 指定座標から半径 1km(1000m) 以内のレコードを検索した場合 $ /usr/local/bin/groonga > --log-path /var/log/groonga.log > /db/gnavi.db > select --table gnavi --offest 0 --limit 15 > --filter geo_in_circle(lct_wgs, 128418599x503159518, 1000) > --scorer _score=geo_distance(lct_wgs, 128418599x503159518, rect ) > --output_columns _key, name, _score > --sortby _score 擬似カラム _score へ算出した距離を代入する事で 絞込み条件 ( 範囲検索 ) とは独立した形で 距離の表示やソートが可能な仕様となっている Cf.) --sortby geo_distance() とする事も可 18

パフォーマンスについてその参 パフォーマンス比較結果 総データ数ヒット件数レスポンス時間 2010 年 04 月 ver. : 約 54 万件 :3,734 件 : 約 0.34 秒 2010 年 08 月 ver. : 約 0.03 秒 約 90% のパフォーマンスアップを実現!! 19

ご挨拶 ご静聴 ありがとうございました 20