Foss4g2009tokyo Yachi Mapion

48
マピオン×FOSS4G 株式会社マピオン 技術開発部 谷内栄樹 http://www.mapion.co.jp/

description

FOSS4G 2009 Tokyo(フォスフォージー2009東京)-フリー&オープンソースGISの祭典-http://www.osgeo.jp/foss4g2009-in-tokyo/2009年11月1日(日) ~ 2日(月)

Transcript of Foss4g2009tokyo Yachi Mapion

Page 1: Foss4g2009tokyo Yachi Mapion

マピオン×FOSS4G

株式会社マピオン 技術開発部

谷内栄樹

http://www.mapion.co.jp/

Page 2: Foss4g2009tokyo Yachi Mapion

自己紹介

• 谷内栄樹(やち ひでき)

[email protected]

• 1976年生まれ。2004年入社。

• 2008年4月より発足した

「地図基盤プロジェクト」の

プロジェクトマネージャー。

Page 3: Foss4g2009tokyo Yachi Mapion

株式会社マピオンの紹介

• 1997年設立⇒ネット黎明期、「地図を無料で検索」は珍しかった

当時、地図業界から“タダで見せやがって”と怒られた

• 所在地は@神保町神保町神保町神保町

⇒業界では神保町の地図サイトと呼ばれる?らしい

筑波筑波筑波筑波(国土○○院)、目黒目黒目黒目黒(某社)、北九州北九州北九州北九州(某社)、みなとみらみなとみらみなとみらみなとみら

いいいい(某社) さてどこの会社でしょう?

• 株主構成凸版印刷、NTTコミュニケーションズ、電通、ヤフー、シャープ

⇒地図×ネットでビジネスができないか、という会社が集まった

Page 4: Foss4g2009tokyo Yachi Mapion

事業内容

• お店の登録やタイアップPRで

広告ビジネス(Mapion)

• 地図検索機能をカスタマイズして

企業にライセンス(地図ASP)

• 地図や位置情報を使った

モバイルビジネス(マピオンモバイル、ケータ

イ国盗り合戦)

Page 5: Foss4g2009tokyo Yachi Mapion

地図情報検索サイト「マピオン」

• 『マピオン』は、株式会社マピオンが提供する日本最大級のインターネット地図情報検索サ

イトです。

ユニークユーザー 900万人/月

ページビュー 6000万PV/月

※PC版のみの数値

http://www.mapion.co.jp/

Page 6: Foss4g2009tokyo Yachi Mapion

アジェンダ

• 地図リニューアルの背景

• FOSS4Gの活用

• 地図デザインの変遷

• マピオン地図デザイン紹介

• 数字いろいろ

• まとめ

Page 7: Foss4g2009tokyo Yachi Mapion

地図リニューアルの背景

Page 8: Foss4g2009tokyo Yachi Mapion

2009年4月22日マピオンリニューアル

「地図」も「検索」も刷新

Page 9: Foss4g2009tokyo Yachi Mapion

地図リニューアル前の課題

• マピオンの地図システムは名古屋で作っている地図しか扱えなかった

• 詳細縮尺に対応しているエリアが少ない

• ラスタライズされた地図画像を仕入れていたため、地図表現の拡張性が乏しい

地図デザインの自由度が高く、複数の地図ベ

ンダーからデータ調達が可能な独自システム

の開発

Page 10: Foss4g2009tokyo Yachi Mapion

地図基盤プロジェクト

• 2008年4月発足

• 背景地図にゼンリンを採用

• 複数ベンダーから地図データを調達

• 注記にはマピオン独自の情報も掲載

• 地図デザインはマピオン独自で企画・編集

• デザイン編集のツールとしてMapServerを採用

⇒MapServerに詳しい 社に

技術支援を要請。

Page 11: Foss4g2009tokyo Yachi Mapion

FOSS4Gの活用

Page 12: Foss4g2009tokyo Yachi Mapion

MapServer

• MapServer5.2を採用

• 実は地図配信には利用していません(cgiは使っていません)

⇒複雑なレイヤ構造の地図を高速に配信す

ることができないので。

• 地図画像タイル作成に利用

(shp2imgを主に利用してます)

Page 13: Foss4g2009tokyo Yachi Mapion

PostGIS

• 属性付与や線の単純化など、加工したいものはPostGISに入れる

• 線データの加工(結合、属性の追加)

–道路を結合する、道路に道路名をつける

• 注記データの加工

–注記を改行する、不要データを削除する

Page 14: Foss4g2009tokyo Yachi Mapion

システム構成図(画像作成)

PostgreSQL+PostGIS

ShapeFile

TileServer

Storage

注記

ポリライン(道路など)

地図データ

地図画像タイル作成

地図画像タイル(256*256

のpng)を保管

pngFileアイコンなど

FontData

Page 15: Foss4g2009tokyo Yachi Mapion

システム構成図(地図配信)

PostgreSQL

+PostGIS AppServer

Storage

ポリゴン地図画像合成

(自作アプリ)

pngFileアイコン

地図画像

Cache/ProxyServer

画像キャッシュ

地図画像配信

MySQL設定情報

Page 16: Foss4g2009tokyo Yachi Mapion

システム構成図(地図配信)

AppServer

地図画像合成

(自作アプリ)

TileCacheServer

画像キャッシュ

RouteServer

POIServer

PolygonServer

外部システムからのレスポンスを利用して、

地図画像を合成

http/xml/Protocol Buffer

Page 17: Foss4g2009tokyo Yachi Mapion

MapServerに行った改修

• 線幅等の描画サイズを実数指定

• ラベル背景形状の設定

• ラベルの文字間調整

などなど

描画のチューニングに必要な機能を追加した

Page 18: Foss4g2009tokyo Yachi Mapion

線幅等の描画サイズを実数指定

• LABEL

backgroundshadowsize, buffer, minsize, maxsize, offset, shadowsize, size(最低値4.0), spacing(最低値-1.0), outlinewidth

• STYLE

maxsize, minsize, maxwidth, minwidth, offset, size(最低値0.5), width(最低値0.5)

※赤文字は新規追加されたパラメータ

Page 19: Foss4g2009tokyo Yachi Mapion

ラベル背景形状の設定

長方形だけではなく、

角丸のラベルも表現。

色や透過度も指定。

LABELの

BACKGROUNDSH

APEに

ROUNDRECT,

BACKGROUNDO

UTLINECOLOR ,

BACKGROUNDO

PACITY

を追加

Page 20: Foss4g2009tokyo Yachi Mapion

地図デザインの変遷

Page 21: Foss4g2009tokyo Yachi Mapion

2008年5月

とりあえず作ってはみたものの

なんか寂しい。。。

Page 22: Foss4g2009tokyo Yachi Mapion

2008年6月

注記をアイコン表示

Page 23: Foss4g2009tokyo Yachi Mapion

2008年7月

交差点名を表示商用フォントを採用。

フォントはマピオン用に

特別オーダーした

高層の建物を影つきで

表現

Page 24: Foss4g2009tokyo Yachi Mapion

2008年8月

道路線にそって、

通りの名称を表示

一方通行の矢印を

表示駅舎をポリゴン表

Page 25: Foss4g2009tokyo Yachi Mapion

2009年4月(Ver1.0)

バス停を表示

信号を詳しく表示

Page 26: Foss4g2009tokyo Yachi Mapion

なかなか良く出来たと思います

2008年5月 2009年4月

Page 27: Foss4g2009tokyo Yachi Mapion

苦労した点

• 色を256色(8bit)に美しく納める

• 画像サイズの軽量化(特にモバイルで)

• MapServerの標準機能にない表現をする

Page 28: Foss4g2009tokyo Yachi Mapion

マピオン地図デザイン紹介

Page 29: Foss4g2009tokyo Yachi Mapion

駅出口の表現

Page 30: Foss4g2009tokyo Yachi Mapion

平成の大合併前の情報

Page 31: Foss4g2009tokyo Yachi Mapion

マピオン独自注記

例:ムダに詳しい姫路城

Page 32: Foss4g2009tokyo Yachi Mapion

小縮尺では道路を単純化して表現

1/8000 1/300000

例:いろは坂

Page 33: Foss4g2009tokyo Yachi Mapion

小縮尺では道路を単純化して表現

CONNECTIONTYPE postgis

DATA "T1.the_geom from (SELECT

ST_Simplify(the_geom,5000) as

the_geom,gid,elcode FROM z200k_road_croad)

as T1 USING unique gid USING srid=-1"

STATUS ON TYPE LINE PROJECTION

"proj=latlonmsec" "ellps=bessel" "towgs84=-

146.336,506.832,680.254,0,0,0,0"

END

Page 34: Foss4g2009tokyo Yachi Mapion

狭い国道「酷道」の表現

• 車線数に応じて道路幅を表現。

• 国道でありながら狭くて通行が

困難な道、いわ

ゆる“酷道”も判

断できる。

Page 35: Foss4g2009tokyo Yachi Mapion

狭い国道「酷道」の表現

著名なBlogやtwitterでも

話題に!

Page 36: Foss4g2009tokyo Yachi Mapion

モバイル地図の軽量化

• PC用はAGG、モバイル用はGDで描画

PC地図:30KB モバイル地図:19KB

Page 37: Foss4g2009tokyo Yachi Mapion

グッドデザイン賞受賞

• 審査員コメント 「日本の地図情報やナビゲー

ションのインフラのデザインとして、地に足の

ついた着実なアプローチを継続しているよう

に感じる。紙ベースの地図デザインの世界を

基本としながらも、WEBならではの様々な展

開が試みられていて、意欲的であると思う。 」

ありがとうございます

Page 38: Foss4g2009tokyo Yachi Mapion

数字いろいろ

Page 39: Foss4g2009tokyo Yachi Mapion

地図配信の規模

• 1秒あたりの地図配信数

最近の数値としては、

最大で 秒間:400 Connection

平均で 秒間:160 Connection

Page 40: Foss4g2009tokyo Yachi Mapion

地図作成

• 地図DBの更新:4日

• タイル生成:7日• タイル作成サーバを仮想環境で構築。マルチスレッドでタイル作成。

• 13サーバ、CPU60コアで分散処理

• 当初の見積もり30日を7日に短縮。

Page 41: Foss4g2009tokyo Yachi Mapion

地図作成

目標

• 地図DBの更新:4日 → 1日

• タイル生成:7日 → 1日

にできれば!

Page 42: Foss4g2009tokyo Yachi Mapion

地図タイル数、ストレージの容量

• 容量:652GB

• 地図タイル枚数:78,555,701枚

Page 43: Foss4g2009tokyo Yachi Mapion

Mapファイルの規模

• LEVEL4(1/300000) :

2290行 (51 Layer)

• LEVEL10(1/1500)

11190行 (123 Layer)

おつかれさまでした。。。

Page 44: Foss4g2009tokyo Yachi Mapion

まとめ

Page 45: Foss4g2009tokyo Yachi Mapion

MapServerを使って良かったところ

• PostGISとの親和性の高さ

• Shapeデータの扱いやすさ

• 地図ディレクションの必要に応じて、機能追加ができた = OSSであった

• 低コストでシステムが構築できた

• ありがとうございます!

Page 46: Foss4g2009tokyo Yachi Mapion

MapServer改善要望

• AGGでのレンダリング時にアンチエイリアス

を無効にしたい

–アンチエイリアスをかけると、画像サイズが大きく

なってしまう

• shp2imgの高速化

• Mapファイルに完全なSQLが書けるとうれし

Page 47: Foss4g2009tokyo Yachi Mapion

今後の取り組み

• 地図の品質を高めたい!

–地図表現、更新頻度、コンテンツ拡充

• コラボレーション

– クライアントはFOSS4Gで地図サーバはマピオン、

みたいな組み合わせとか?

• FOSS4Gコミュニティにも貢献できれば!

–アイディア、要望などお聞かせください。

Page 48: Foss4g2009tokyo Yachi Mapion

ありがとうございました

http://www.mapion.co.jp http://kntr.jp