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
290
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
86
未来の繁栄のためのスマート地図
hfu
0
140
Smart Maps for the prosperity in the future
hfu
0
210
Smart Maps and Bazaar
hfu
0
160
Sensemaking with Smart Maps
hfu
0
90
Smart Mapsfor the United Nations,with the United Nations
hfu
0
130
UN Smart Maps
hfu
0
160
スマート地図バザールによる地図XMLのタイル配信
hfu
0
110
国土地理院におけるベース・レジストリの整備とDX推進への取り組み
hfu
0
260
Other Decks in Technology
See All in Technology
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
170
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
120
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
130
実践AIガバナンス
asei
3
340
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
7
2.3k
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
210
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
760
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
200
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
380
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
0
130
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
110
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
2
320
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Balancing Empowerment & Direction
lara
3
610
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Six Lessons from altMBA
skipperchong
28
4k
Code Review Best Practice
trishagee
70
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Navigating Team Friction
lara
189
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Agile that works and the tools we love
rasmusluckow
330
21k
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