Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Charites + GitHub で完結 ベクトルタイルのスタイリングをしてみよう
Search
Hidenori FUJIMURA
December 05, 2021
Technology
0
280
Charites + GitHub で完結 ベクトルタイルのスタイリングをしてみよう
2021-12-05T13:00/16:00 @ FOSS4G 2021 Japan Online
Hidenori FUJIMURA
December 05, 2021
Tweet
Share
More Decks by Hidenori FUJIMURA
See All by Hidenori FUJIMURA
みんなに伝わる防災マップ
hfu
0
69
未来の繁栄のためのスマート地図
hfu
0
130
Smart Maps for the prosperity in the future
hfu
0
210
Smart Maps and Bazaar
hfu
0
150
Sensemaking with Smart Maps
hfu
0
85
Smart Mapsfor the United Nations,with the United Nations
hfu
0
120
UN Smart Maps
hfu
0
160
スマート地図バザールによる地図XMLのタイル配信
hfu
0
110
国土地理院におけるベース・レジストリの整備とDX推進への取り組み
hfu
0
250
Other Decks in Technology
See All in Technology
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
110
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
210
How Community Opened Global Doors
hiroramos4
PRO
1
120
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.4k
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
3
470
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
260
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
150
M3 Expressiveの思想に迫る
chnotchy
0
100
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
950
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
530
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
130
Featured
See All Featured
Practical Orchestrator
shlominoach
188
11k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
GitHub's CSS Performance
jonrohan
1031
460k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Building an army of robots
kneath
306
45k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Scaling GitHub
holman
459
140k
Unsuck your backbone
ammeep
671
58k
Transcript
Charites + GitHub で完結 ベクトルタイルのスタイリングをし てみよう 国連ベクトルタイルツールキット・国土地理院 藤村 英範 国連ベクトルタイルツールキット・Geolonia 大橋 直記 2021-12-05T13:00/ @
FOSS4G 2021 Japan Online
藤村 英範(ふじむら ひでのり) 情報工学採用(今でいうデジタル採用)の国土 地理院職員 国連ベクトルタイルツールキット共同主任
大橋 直記(おおはし なおき) 株式会社 Geolonia所属 エンジニア 国連ベクトルタイルツールキットメンバー Geolonia では地図スタイル開発を担当。 UNVTでは、主に Charites に貢献しています。
GitHub: https://github.com/naogify Twitter: https://twitter.com/naogify
国連ベクトルタイルツールキットの概要 南極ベクトルタイルの設計・生産
ベクトルタイル 私たちの時代の地図刊行技術 デジタル・プラットフォーマー以外の私たちにも使える形を確保したい → 国連ベクトルタイルツールキット 藤村の国連出向を機会に、ベクトルタイルの生産・ホスト・スタイル・最適化の技術を オープンソース・ソフトウェア・プロジェクトとして構成したもの
国連ベクトルタイルツールキット 第一世代 第二世代 生産 produce tippecanoe ホスト host budo, nginx
スタイル style hocon-parser charites 最適化 optimize vt-optimizer 利用 use storytelling 開発・能力構築インフラとして、GitHub 及び Raspberry Pi を好んで使う
https://github.com/unvt タミル語で友達という意味。 アルバニアへの技術移転の中でタ ミル語を話す技術者がいたことに ちなむ。 JICAプロジェクトを通じた アルバニア当局への能力構築に 使用。国章にちなむ。 Equinox にリリース。
毎年2回記念日がくる。
UNVT 国連ベクトルタイルツールキット ソフトウェア optgeo 里親ジオデータ データ FTS Kit 自由なタイルサービス ハードウェア
ハンズオンで実施すること UNVT 利用 最 適 化 ス タイ ル 生産
ホスト
ハンズオンで実施しないこと 1. ベクトルタイルの生産 2. ベクトルタイルのホスト 3. ベクトルタイルの最適化 4. ベクトルタイルの利用
ベクトルタイルの生産
ベクトルタイルのホスト • 多くのケースでは、データ量が 1GB を超えないので、GitHub Pages で ホスト することをお勧めしている。ソースデータが 500MB 以下なら、GithHub
Pages でホストできる場合が多い。 • データ量が 50GB 程度までの場合、ウェブサーバーにベクトルタイルを 素直に おく方法をお勧めしている。 ◦ 国土地理院でも、タイルは素直にオブジェクトストレージに置いている。 • データ量がさらに大きい場合のホスト方法もある。UNVTの場合は、mbtiles ファ イルを複数並べ、 Node.js でオリジンサーバーを書く。
FTS Kit 1 自宅からベクトルタイルサービス
FTS Kit とは? FTS は UNVT で構築されたタイルサービス FTS Kit は
FTS の物理パッケージであり、複数の Raspberry Pi 4B で構成 FTS Kit は 自由で(Free), 速く(Fast), フェアで(Fair), 楽しく(Fun), 柔軟で (Flexible), 現場指向(Field-oriented) 🙂 FTS Kit 1 は FTS Kit の最初のプロトタイプで、在宅勤務で作ったもの
FTS Kit 1: 物理的配備 https://x.optgeo.org/kid-c 毎日24時間連続で稼働中 Let’s Encrypt と Route
53 を利用
FTS Kit 1: system diagram m321 m330 m343 m349 m354
m358 Wi-Fi アクセ スポイント Web / NFS サーバー ベクトルタイル生産
ベクトルタイルの最適化
今回チュートリアルに用いるタイルに vt-optimizer を実行 最大タイルサイズ 100KB 以下 平均タイルサイズ 25KB 以下 → 等高線を間引いて実現
小縮尺に大縮尺のデータを使いま わさず、小縮尺にはそのために設 計されたデータを使うのが好みで ある。
スタイル&利用
UNVT / optgeo / FTS Kit 全体像 https://github.com/orgs/unvt/projects/2/views/1
国連ベクトルタイルツールキットの概要 南極ベクトルタイルの設計・生産
https://www.nipr.ac.jp/antarctic/
南極地域観測第X期6か年計画(2021-10-27 南極地域観測統合推進本部 最終案) 1. 空中写真等により大縮尺地形情報を、衛星画像により小縮尺地形情報を整備 2. 積極的にインターネット等を活用し測量成果の公開・提供を行う 3. 昭和基地デジタルトランスフォーメーション(エネルギーマネジメントシステムとローカル 5Gシステムによるスマートシティ化)
4. 観測データは、人類の共有資産であり、広く社会にオープンにして、還元すべき
1:2,500 南極地形図 in 地理院地図
https://www.youtube.com/watch?v=Z3-S4EtlpD8 第63次南極地域観測隊本隊は、 2021年11月10日(水)、海上 自衛隊横須賀地方総監部で南極観測船「しらせ」に 乗船し、南 極に向けて出発
https://yab.yomiuri.co.jp/adv/hosei/voice/post_85.php 澤柿隊長のUNVTへの期待 基地の建物・道路・雪上車の ルートなどの地理情報をベクト ルタイルにして,インターネット が使えない場所でもオンプレミ スで使えるようにするのが最終 目標となります.そのシステム としてUNVTに期待していると ころです.
Source: https://github.com/optgeo/63a nts/discussions/2
63次隊本隊現在位置 https://www.nipr.ac.jp/antarctic/jare/map63.html しらせ →インターネットなし 昭和基地 →インターネットあり
https://github.com/optgeo/63ants/discussions
https://github.com/optgeo/63ants/discussions/2
https://x.optgeo.org/a-1
南極ベクトルタイルの設計
南極ベクトルタイルの配備 FTS Kit 1 に配備。理由はデータセットのサイズではなく、 南極 でオンプレミス配備できることを実証するため。
“Hit me!” https://x.optgeo.org/(a-1 | kid-c | hrlulc)
南極ベクトルタイルのスタイル UNVT の最新コンポーネントである Charites を用いて実装
Charites を採用して達成したいゴール 1. スタイルを自由にする 2. 良いスタイルができる 3. 南極で役に立つ ※ベクトルタイル設計も改善していく よろしければ、ご一緒に!
現場運用を「紙地図とハンディGPS」から「スマー トフォン端末」に順次切り替えていきたい。イン キュベーション的な試行ののち、数年のうちに本 格導入できると良い。 https://github.com/optgeo/a-1
Charites によるスタイルの変更
Charites とは? https://github.com/unvt/charites
Charites とは? ・オープンソースの地図のデザインツールキット(@UNVT) スタイル、アイコン(sprite)、フォント(glyphs) のビルドなど、 スタイルに必要な作業が完結できるCLIツール(アイコンやフォント関連の機能は今後リリース予定 ) 特徴 ・オープンソース ・Mapbox
や MapLibre のスタイルと互換性がある ・CLIツール
世の中には色んな地図があります
地図のスタイルをデザインするとは? ベクトルタイル transportation(道路など) water(川・湖など) タイルのレイヤー poi(駅、飲食店など) name: 東京駅 class:station coordinates:139.7,35.6
name: ラーメン屋 class:restaurant coordinates:xxx, xxx データ:座標や、 classなど属性を持 つ スタイル タイルURL: https://xxxxx.com layers water レイヤー source: タイル名 source-layer: poi paint: … layout : ... poi レイヤー スタイルのレイヤー
地図のスタイルをデザインするとは? タイルに入っているデータを、 データの種類別にデザインを決め、 レイヤー形式で表示する。
スタイルの指定の形式 ・Mapbox :Mapbox GL JS Style Spec ・JSON形式で指定 ・Charites ・JSON形式のスタイルファイルを、分かりやすいYAML形式に変換する
・今回はYAML形式のスタイルファイルを触っていきます。
地図のデザインをする方法
ハンズオンで使用するリポジトリ - 南極地図のスタイル https://github.com/optgeo/antarctica-style
style.yml の中身を見てみる
レイヤーの中身を見てみる
開発の準備
開発の準備 1. https://github.com/optgeo/antarctica-style にアクセス 2. [Use this template] でテンプレートをコピー 3.
GitHubPages を設定 4. https://<あなたのGitHubユーザー名>.github.io/antarctica-style/ で地図が 表示されるか確認
まずは色を変えてみる 背景色を変えてみる。 background.yml の paint の background-color を rgb(255, 0,
0) に変更する。
None
次にサイズを変えてみる 道路の太さを変えてみる。 road.yml の paint の line-width を 10 に変更する。
None
テキストサイズを変更してみる テキストの大きさを変えてみる。 symbol.yml の layout の text-size を 50 に変更する。
paint / layout について type ( fiill, line, symbol )ごとに指定できる
paint / layout のプロパティが違います。
ドキュメントの読み方 MapLibre GL JS Style Spec の レイヤーセクションにアクセス。 右のサイドバーでレイヤータイプを選 んで下さい。
1. レイヤータイプを選ぶ https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/
ドキュメントの読み方 そのタイプで使えるオプションの一覧 が表示されます。 使いたいオプションを選びます。 2. オプションを選ぶ
ドキュメントの読み方 使用したいオプションをクリックすると paint か layout プロパティかを書い ています。 それに沿ってお使いください。 3. プロパティの種類に注意
実践・スタイルを改善していく
成果発表・ハッカソン
地図に自由を Let maps fly データに愛着を Passion for data
Thanks! Contact us: https://github.com/unvt