Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Charites + GitHub で完結 ベクトルタイルのスタイリングをしてみよう
Search
Hidenori FUJIMURA
December 05, 2021
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Charites + GitHub で完結 ベクトルタイルのスタイリングをしてみよう
2021-12-05T13:00/16:00 @ FOSS4G 2021 Japan Online
Hidenori FUJIMURA
December 05, 2021
More Decks by Hidenori FUJIMURA
See All by Hidenori FUJIMURA
みんなに伝わる防災マップ
hfu
0
180
未来の繁栄のためのスマート地図
hfu
0
210
Smart Maps for the prosperity in the future
hfu
0
300
Smart Maps and Bazaar
hfu
0
230
Sensemaking with Smart Maps
hfu
0
160
Smart Mapsfor the United Nations,with the United Nations
hfu
0
210
UN Smart Maps
hfu
0
250
スマート地図バザールによる地図XMLのタイル配信
hfu
0
150
国土地理院におけるベース・レジストリの整備とDX推進への取り組み
hfu
0
360
Other Decks in Technology
See All in Technology
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
200
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
WasmをRustにする
sansantech
PRO
0
260
USB PDを使ってスマホを労わりたい
raspython3
0
180
大型犬好きによるPugの紹介
yamanoku
1
160
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.2k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
200
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
190
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
340
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
130
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
Speed Design
sergeychernyshev
33
2.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Un-Boring Meetings
codingconduct
0
460
Agile that works and the tools we love
rasmusluckow
331
22k
Automating Front-end Workflow
addyosmani
1369
210k
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