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
GitHub Actionsで始めるお手軽ベクトルタイル配信
Search
nao
November 09, 2023
Technology
0
570
GitHub Actionsで始めるお手軽ベクトルタイル配信
nao
November 09, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
Model Mondays S2E03: SLMs & Reasoning
nitya
0
110
AI導入の理想と現実~コストと浸透〜
oprstchn
0
100
"サービスチーム" での技術選定 / Making Technology Decisions for the Service Team
kaminashi
1
180
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
1
170
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
0
390
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.3k
Delegating the chores of authenticating users to Keycloak
ahus1
0
130
Kotlin Coroutine Mechanisms: A Surprisingly Deep Rabbithole
amanda_hinchman
2
100
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
200
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.3k
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.2k
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
310
Featured
See All Featured
KATA
mclloyd
30
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Balancing Empowerment & Direction
lara
1
380
Statistics for Hackers
jakevdp
799
220k
Thoughts on Productivity
jonyablonski
69
4.7k
Optimizing for Happiness
mojombo
379
70k
Navigating Team Friction
lara
187
15k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
The Invisible Side of Design
smashingmag
300
51k
RailsConf 2023
tenderlove
30
1.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Transcript
GitHub Actionsで始める お手軽ベクトルタイル配信 ⼤橋直記 2023/11/09 @ MapLibre Meetup Japan #01
©GSI Japan | ©Geolonia | ©OpenStreetMap
大橋 直記(おおはし なおき) 株式会社 Geolonia エンジニア 地図と位置情報の会社でエンジニアをしてい ます。 ‧MapLibre GL JS コントリビューター
‧Charites コントリビューター(国連ベクト ルタイルツールキット) GitHub: https://github.com/naogify Twitter: https://twitter.com/naogify
Geolonia Maps について Geolonia が提供するカスタマイズ可能な地図 • 開発者フレンドリー • カスタマイズ性が⾼い •
ベクトルタイル(機械判読可能)
ベクトルタイルとは? 機械判読が可能な地図タイル 東京都港区芝公園4丁目2−8 → 35.65872, 139.74539 「地理院地図|ベクトルタイルとその提供実験について」(https://maps.gsi.go.jp/development/vt_expt.html)より画像を引⽤
事例 https://codepen.io/geolonia/pen/oNZLPQP https://naogify.github.io/nankai-trough-map/
Webで位置情報を扱うためのファイル形式は? ‧GeoJSON 位置情報を扱うためのJSONファイル。緯度経度 + 属性を保存。 ‧ベクトルタイル(.pbf、.mvt) → GeoJSON をXYZで分割し、分割したGeoJSONをバイナリ(Protocol
Buffers)で保存。 → 表⽰速度が早い、機械判読が可能。 → .pbfや.mvt(Mapbox Vector Tile) に分割しxyzのディレクトリに保存。
ベクトルタイルを作ってみる
コマンドラインツールを使った ベクトルタイルの作り方 $brew install tippecanoe $tippecanoe -zg -o ./data.mbtiles ./data.geojson
お手軽に試すには?
vector-tiles-api 位置情報を含むCSVをアップロー ドすると、GitHub Actions でベク トルタイルに変換し、GitHub Pages にデプロイする。 つまり、 簡単にベクトルタイル化+ホス
ティングできる。 https://github.com/geolonia/vector-tiles-api
1.GitHub Pages を設定 1. 「Use this template」をクリック 2. 「Settings」 >「
Pages」 をクリック
2. CSV を編集 「Edit this file」をクリックして編集
3. 表示 map.addSource("example-data", { type: "vector", url: "https://<あなたのGitHubユーザー名>.github.io/<リポジトリ名>/tiles/tiles.json" }); ▼サンプルコード▼
https://codepen.io/naogify/pen/BaMWNpG
早速作ってみる
None
None
キャンプ場ベクトルタイルを作ってみる CSVを編集してキャンプ場情報を追加する
https://community-geocoder.geolonia.com/ 緯度経度の入力
https://codepen.io/naogify/pen/BaMWNpG 完成
制限事項 GitHubPagesの容量制限(100 MiB/ファイル) ‧ポイントデータのみ
更に大きいデータをホスティングする場合 $brew install tippecanoe $tippecanoe -o ./data.pmtiles ./data.geojson 更に⼤きいサイズのデータをホスティングしたい場合は PMTiles
がお勧め。 → ベクトルタイルを単⼀ファイル化 + 静的サイトでホスティング可能
Thank you! ©GSI Japan | ©Geolonia | ©OpenStreetMap GitHub: https://github.com/naogify
Twitter: https://twitter.com/naogify vector-tiles-api デモURL