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
埼玉県の描き方.pdf
Search
anozon
October 25, 2021
Technology
39
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
埼玉県の描き方.pdf
anozon
October 25, 2021
More Decks by anozon
See All by anozon
VSVimの間合いですよ
anozon
0
110
PWAを活用している_ガジェットアプリの話.pdf
anozon
0
25
Other Decks in Technology
See All in Technology
Rancherの紹介&Update情報(RancherJP Online Meetup #09)
yoshiyuki_kono
0
130
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
180
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
580
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
170
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
230
Ruby::Boxでできること、Refinementsでできること
joker1007
3
400
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.2k
Agentic Defenseとともにセキュリティエンジニアが輝き続けるには / How Security Engineers Can Keep Excelling with Agentic Defense
yuj1osm
0
130
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
530
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
2
220
Featured
See All Featured
Design in an AI World
tapps
1
230
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
KATA
mclloyd
PRO
35
15k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Paper Plane (Part 1)
katiecoart
PRO
0
8.7k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
Prompt Engineering for Job Search
mfonobong
0
340
Transcript
埼玉県の描き方 あのぞん(えるざっぷ)
About me @anozon あのぞん (@anozon) elzup · GitHub 株式会社プランクユニッツ 埼玉県
川越市出身(22年) →東京(研究室ぐらし 3年) →東京(2年) React,TypeScript
埼玉県の描き方は2ステップ 埼玉県の描き方 • 埼玉の輪郭を手に入れる • 埼玉の描画する
埼玉の輪郭を手に入れる
GADM で地理境界線データを取得する 埼玉の輪郭を手に入れる • GADM https://gadm.org/download_co untry_v3.html • level2(市町村)までの 区域データがある
• shape,kmlなど様々なデータ形式
GADM データを見てみる KML の中に47都道府県確認できる 埼玉の輪郭を手に入れる • 解凍 KMZ → KML
• gadm36_JPN_0.kml 日本の? • gadm36_JPN_1.kml 都道府県の輪郭 ←今回はこれ • gadm36_JPN_2.kml 市町村の輪郭
GADM データを見てみる Google Earth で確認できる 埼玉の輪郭を手に入れる
余談 kml からデータを抜き出す(うまく行かなかった) 埼玉の輪郭を手に入れる • xml → json • jq
で抜き出し
埼玉を描画する SVG で描いてみた
そのまま SVG <polygon /> に入れてみると 埼玉の描画する
そのまま SVG <polygon /> に入れてみると 埼玉の描画する line-weight が 太いせい 北半球なので
SVG の座 標系と上下が反対
ちゃんと描画できた 埼玉の描画する stroke-width="0.4%" svg { transform: scaleY(-1); } 強引に
正規化するために 埼玉県の東西南北の先端を出してみる 埼玉の描画する
埼玉県の東西南北の先端を出してみる 【永久保存版!】(埼玉の地理が変わらない限り) 埼玉の描画する n: 36.2759285 s: 35.75846481 e: 139.90383911 w:
138.71534729 GADM パスデータ依存
Fit しました 埼玉の描画する サイズ: 11KB 頂点数: 420
埼玉を圧縮する
正規化と緯度経度を丸め込んで ちょっと軽くしてみる 埼玉を圧縮する
正規化と緯度経度を丸め込んで ちょっと軽くしてみたい 埼玉を圧縮する
解像度1000でSVGで30%くらいに減った 埼玉の描画する サイズ: 11KB → 3KB プチ圧縮であって *1000 して +
先端分shift 切り捨て部分の情報失われる
おまけ解像度100 埼玉の描画する 元の 解像度100
成果物はこちら CodePen コード https://codepen.io/anozon/pen/vYZZrgO?edito rs=1011
終わりに こんなに埼玉を意識してコーディングしたのは人生で初めてだった GADM データは地球ハッカーになるための 偉大なツールの1つである