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
マピオン、ベクタータイルはじめました
Search
One compath
July 01, 2017
Technology
4
1.5k
マピオン、ベクタータイルはじめました
FOSS4G 2017 Hokkaido の発表資料です
One compath
July 01, 2017
Tweet
Share
More Decks by One compath
See All by One compath
社内の制度を使って新規事業を⽴ち上げてみた話 OCEM#3
mapion
0
130
新規事業のアプリ、Flutterで作ってます〜U-ROUTEのポイ活対応編〜 OCEM#3
mapion
0
140
ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3
mapion
0
160
ONE COMPATH/ワンコンパス Company Deck For Engineer(会社紹介資料)
mapion
0
5k
ONE COMPATHの地図の開発技術~入門編~ OCEM #2
mapion
0
200
脱レガシー! Aurora PostgreSQLに移行してみた OCEM #2
mapion
1
730
エンジニアなので「技術」で仕事を効率化してみた ~Slack連携でチームの生産性が向上~ OCEM#2
mapion
0
180
20221112_FOSS4G2022Online.pdf
mapion
0
1.5k
ONE COMPATH/ワンコンパス Company Deck(会社資料)
mapion
0
310
Other Decks in Technology
See All in Technology
LangChainとLangGiraphによるRAG・AIエージェント実践入門「10章 要件定義書生成Alエージェントの開発」輪読会スライド
takaakiinada
0
130
LLM as プロダクト開発のパワードスーツ
layerx
PRO
1
200
Lightdashの利活用状況 ー導入から2年経った現在地_20250409
hirokiigeta
2
270
Startups On Rails 2025 @ Tropical on Rails
irinanazarova
0
250
Classmethod AI Talks(CATs) #20 司会進行スライド(2025.04.10) / classmethod-ai-talks-aka-cats_moderator-slides_vol20_2025-04-10
shinyaa31
0
130
Creating Awesome Change in SmartNews
martin_lover
1
240
NLP2025 参加報告会 / NLP2025
sansan_randd
4
520
Spice up your notifications/try!Swift25
noppefoxwolf
2
350
Would you THINK such a demonstration interesting ?
shumpei3
1
160
DuckDB MCPサーバーを使ってAWSコストを分析させてみた / AWS cost analysis with DuckDB MCP server
masahirokawahara
0
740
入社後SREチームのミッションや課題の整理をした話
morix1500
1
250
システムとの会話から生まれる先手のDevOps
kakehashi
PRO
0
220
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Docker and Python
trallard
44
3.3k
Designing for humans not robots
tammielis
252
25k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A Tale of Four Properties
chriscoyier
158
23k
Faster Mobile Websites
deanohume
306
31k
Being A Developer After 40
akosma
91
590k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
GitHub's CSS Performance
jonrohan
1030
460k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Transcript
ϚϐΦϯ ϕΫλʔλΠϧ ͡Ί·ͨ͠ גࣜձࣾϚϐΦϯɹਗ਼ਫचཬ FOSS4G 2017 HOKKAIDO
ਗ਼ਫचཬʢ͠Έͣ͡ΎΓʣ ৽ଔͰෆಈ࢈ձࣾʹೖࣾ ɹ→͍Ζ͍Ζ͋ͬͯ̍Ͱୀ৬ SIerʹస৬ ɹ→͍Ζ͍Ζ͋ͬͯ̔Ͱୀ৬ גࣜձࣾϚϐΦϯೖࣾ̐ ओʹਤλΠϧͷੜͱ৴Λ୲ ࣗݾհ
ϚϐΦϯͱ
1996ʹຊॳͷਤΠϯλʔωοταʔϏεΛ։࢝
໊শɹɹɹ ɿ גࣜձࣾϚϐΦϯ ઃཱɹɹɹ ɿ 1997 1݄ 20 ࢿຊۚɹɹ ɿ
6ԯԁ ैۀһ ɿ 97໊ʢ20176݄ݱࡏʣ גओɹɹɹ ɿ ತ൛ҹ ʢ100%ʣ εϩʔΨϯ ɿʮίίϩɺΧϥμɺಈ͔͢ϚϐΦϯʯ ࢀՃஂମ ɿOSGeoࡒஂຊࢧ෦ ๏ਓձһ Ԋֵ 20पΛܴ͑·ͨ͠ʂ
ࣄۀ༰
ਤϚϐΦϯ ͷग़ͷೖΓ ࠃ౪Γ߹ઓ ͓Ͱ͔͚ΞϧόϜ ΩϣϦଌ ϚϐΦϯ·ͱΊ ϐϯϙΠϯτఱؾ ܙํϚϐΦϯ ͪΜ͋ͳ͝ υίστολʔ
ίίστολʔ ΞϓϦ͍Ζ͍Ζ BSVLV
ϚϐΦϯ ϕΫλʔλΠϧ ͡Ίͯ·ͨ͠
2016/10 ϥϘαΠτʹͯ ϚϐΦϯϕΫλʔެ։
า͚ͩ͘ͰϓϨθϯτ͕ Β͑ΔɺҰาઌߦ͘Υʔ ΩϯάΞϓϦ 2016/11 aruku&ʢ͋Δ͘ͱʣϦϦʔε
ܙํרΛ৯Δํ͕͔֯ ΔɺʹҰ͞ΕΔΞ ϓϦ 2017/1 ܙํϚϐΦϯ(iOS൛)ͷਤΛ ϥελʔ͔ΒϕΫλʔʹมߋ
ϕΫλʔλΠϧ ·ͰͷಓͷΓ
2013ࠒ ɹϥϘ׆ಈͱͯ͠ʢࡉʑͱʣ ɹϕΫλʔλΠϧͷ։ൃʹணख
2014ࠒ ɹಠࣗγεςϜʢ΄΅ʣʂ
ಠࣗγεςϜͷߏ ϕΫλʔλΠϧ Protocol Buffers ܗࣜ ϑΥʔϚοτಠ༷ࣗ ϨϯμϦϯά Android/OpenGL ES 2.0Ͱ
ಠࣗʹ։ൃ ελΠϧϑΝΠϧ XMLܗࣜ
ਤͷඳը͕͍ɺiPhone൛͕ผ్ඞཁ… ͳͲͷ՝͕ൃੜ ϨϯμϦϯάΤϯδϯΛωΠςΟϒʢC++ʣ Ͱθϩ͔Β࡞Δ͔͠ͳ͍͔… Mapbox͕ϕΫλʔλΠϧ Mapbox Vector Tile ͱϨϯμϦϯάΤϯδϯ Mapbox
GL Native ΛΦʔϓϯʹ։ൃ͍ͯ͠Δ͜ͱΛൃݟʂʂʂ
2014ࠒ ɹಠࣗγεςϜΛΊɺ ɹMapbox Vector Tile ͷ ɹ࠾༻ΛܾΊΔ
ݱࡏͷϚϐΦϯͷߏ ϕΫλʔλΠϧ Mapbox Vector Tile ϨϯμϦϯά Mapbox GL Native ελΠϧϑΝΠϧ
Mapbox Style
࣌ɺ Mapbox GL Native ʹඞཁͳػೳ ʢminzoom,maxzoomͷࢦఆͳͲʣ͕ͳ͍͜ ͱଟ͘ɺΧελϚΠζͯ͠ิ͍ͬͯͨ ͦΕ͔ΒɺͲΜͲΜػೳՃ͞ΕɺݱࡏͰ Γͳ͍ػೳ΄΅ͳ͘ͳͬͨ ݱࡏɺMapbox
Vector Tile esri Ͱ࠾༻͞ ΕɺσϑΝΫτελϯμʔυʹͳΓͭͭ͋Δ
ݱࡏʹࢸΔ
.BQCPY(-/BUJWF ʹ͍ͭͯ
ɾϕΫλʔਤΛෳͷϓϥοτϑΥʔϜ্ ͷωΠςΟϒΞϓϦέʔγϣϯʹຒΊࠐΉͨ ΊͷϥΠϒϥϦ ɹJS൛ɺUnity൛ผ్༻ҙ͞Ε͍ͯΔ ɾΦʔϓϯιʔεɺBSDϥΠηϯε ɾ։ൃ͕͔͞ΜͰɺͲΜͲΜόʔδϣϯΞο ϓ͞Ε͍ͯΔʢલόʔδϣϯͱޓੑ͕ͳ͍ ͜ͱଟ͍ͨΊɺҙ͕ඞཁʣ .BQCPY(-/BUJWFͱ
ɾMapboxͷਤΛදࣔͤ͞ΔʹΞΫηε τʔΫϯͷൃߦ͕ඞཁ ɹαʔυύʔςΟͷਤΛදࣔ͢Δ߹ ΞΫηετʔΫϯෆཁ ϚϐΦϯͰΧελϚΠζΛߦ͍ɺ ΞΫηετʔΫϯʹରԠ͍ͯ͠Δ .BQCPY(-/BUJWFͱ
Mapbox GL NativeͰ ਤΛඳը͢ΔͨΊʹ ඞཁͳͷ
ϕΫλʔλΠϧ εϓϥΠτ ϑΝΠϧ ϑΥϯτ ϑΝΠϧ ελΠϧ ϑΝΠϧ ϕΫλʔλΠϧʹGeometryͷσʔλͱଐੑใ͕ ೖ͍ͬͯΔ͚ͩͳͷͰɺGeometry͝ͱͷදࣔͷ༗ແɺ σβΠϯɺϑΥϯτɺΞΠίϯͳͲελΠϧϑΝΠϧ
Ͱઃఆ͢Δ
ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ
ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ
ϕΫλʔλΠϧ ʢMapbox Vector Tileʣ ɾMapbox͕ఆΊͨϕΫλʔλΠϧͷΦʔϓ ϯͳ༷ ɾProtocol Buffers ܗࣜ ɾGeometryͷ૬ର࠲ඪΛΤϯίʔυͨ͠
ͷͱଐੑใͷू·Γ
sample MBZFST\ OBNFYYYY GFBUVSFT\ UBHT UBHT UZQF10-:(0/ HFPNFUSZ HFPNFUSZ ʜ
^ LFZTDPEF WBMVFT\ JOU@WBMVF ^ WFSTJPO ^ ʜ Geometryͷ ૬ର࠲ඪ ଐੑใ
ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ
ελΠϧϑΝΠϧ ʢMapbox Styleʣ ɾਤͷσβΠϯΛܾΊΔϑΝΠϧ ɾjsonܗࣜ ɾϚϐΦϯͰ MVT Styler Λͬͯɺ࡞/ ฤूΛߦ͍ͬͯΔ
ʜ MBZFST< \ JETBNQMF
UZQFpMM TPVSDFTBNQMF TPVSDFMBZFSTBNQMF pMUFS< DPEF > QBJOU\ pMMDPMPSCF ^ ^ > ʜ sample
શGUIͷϕΫλʔλΠϧελΠϧΤσΟλ MVT Styler
MVT Styler ɾϦΞϧλΠϜͰσβΠϯͷมߋ ͕֬ೝͰ͖Δ ɾγϯϓϧͳػೳͰɺײతʹૢ ࡞Ͱ͖Δ ɾਤ্ͰϨΠϠʔΛ֬ೝͰ͖Δ ͷͰศར ɾϚϐΦϯͰΧελϚΠζͯ͠ɺ ϑΝΠϧग़ྗ
/ ը૾ग़ྗͳͲͷػ ೳΛՃ͍ͯ͠Δ
ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ
εϓϥΠτϑΝΠϧ ɾਤ্ͷΞΠίϯΛ·ͱΊͨεϓϥΠτϑΝΠϧ ɾpngϑΝΠϧͱjsonϑΝΠϧͰߏ͞ΕΔ ɾMVT Styler Ͱ࡞Ͱ͖Δ
\lTBNQMFTWH\XJEUI IFJHIU Y Z QJYFM3BUJP^ lTBNQMFTWH\XJEUI IFJHIU
Y Z QJYFM3BUJP^ ʜ KTPO QOH sample
ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ
ϑΥϯτϑΝΠϧ ɾϑΥϯτϑΝΠϧʢttfͳͲʣ͔ΒglyphΛ 256୯ҐͰׂͯͦ͠ΕΛpbfԽͨ͠ͷ ɹttfϑΝΠϧ ɹ→ 0-255.pbf, 256-511.pbf ... 256ݸ ɾMVT
Styler Ͱ࡞Ͱ͖Δ
ϚϐΦϯͷ ϕΫλʔλΠϧͷ ੜ/৴ͷ͘͠Έ
ϨϯμϦϯά ɹਤσβΠϯ λΠϧੜ σʔλ ४උ ϑΝΠϧ ετϨʔδ 4IBQF pMF %#
1PTUHSFT 1PTU(*4 ετϨʔδ ΫϥΠΞϯτ ੜ༻ αʔό ϕΫλʔλΠϧ ʢQCG .75 4UZMFS εϓϥΠτ ϑΝΠϧ ʢQOH KTPO ϑΥϯτ ϑΝΠϧ ʢQCG ελΠϧ ϑΝΠϧ ʢKTPO ४උɾੜ 24࣌ؒ
ϥϘαΠτ BSVLV ಉ͡ϕΫλʔλΠϧΛ ͍ͬͯΔ
ϚϐΦϯͷʮඒ͍͠ʯʮ໎Θͳ͍ʯਤ ελΠϧϑΝΠϧɿ25000ߦҎ্ ϨΠϠʔɿ691
ϕΫλʔλΠϧͷ ͭ͘Γ͔ͨ
ਤʢࠃجຊใʣͷαϯϓϧσʔλ ͔ΒϦΞϧλΠϜͰϕΫλʔλΠϧΛੜ 4IBQF pMF %# 1PTUHSFT 1PTU(*4 ελΠϧ ϑΝΠϧ
ʢKTPO SQLͰϦΞϧλΠϜʹ ϕΫλʔλΠϧΛੜ
ࣄલʹؔΛ࡞ map.tile_to_box(bigint, bigint, integer, integer) ɹλΠϧใ͔ΒBoundingBoxΛٻΊΔ map.pixel_at_zoom(integer) ɹͦͷζʔϜʹ࠷దͳΛٻΊΔ ɹST_SimplifyST_SnapToGridͰར༻ map.safe_intersection(geometry,
geometry) ɹηʔϑςΟͳST_Intersectionɻ ɹST_IntersectionͰException͕ൃੜͨ͠߹ ɹਫ਼ΛԼ͛ͯST_IntersectionΛߦ͏
ಓ࿏ΛϕΫλʔλΠϧԽ͢Δαϯϓϧ 4&-&$5 SEDUH 45@"T(FP+40/ 45@5SBOTGPSN 45@4JNQMJGZ
[email protected]
45@$PMMFDU HFPN NBQQJYFM@BU@[PPN \[^ "4HFPN@HFPKTPO '30. 4&-&$5 SEDUH 45@%VNQ NBQTBGF@JOUFSTFDUJPO HFPN NBQUJMF@UP@CPY \Y^ \Z^ \[^ HFPNHFPN '30. SEDM 8)&3& HFPNNBQUJMF@UP@CPY \Y^ \Z^ \[^ B(3061#:BSEDUH αΠζΛ͑ΔͨΊʹϥΠϯΛܨ ͛ͯؒҾ͘ ରͷλΠϧʹશʹऩΊΔͨΊ λΠϧ֎ʹΈग़ͨ͠෦ΛΧοτ ରͷλΠϧʹؚ·ΕΔ geometryͷΈΛநग़
ਤ
ղઆ http://qiita.com/honjo/items/ 8ea61f5a9c1bbaa669c0 ιʔείʔυ https://github.com/mapion/simple- vectorizer ͥͻ͓ͨΊ͍ͩ͘͠͞ʂ
ࠓޙͷల
ɾMapbox Vector Tile σϑΝΫτελϯ μʔυʹͳΓͭͭ͋ΔΦʔϓϯͳ༷ ɾMapbox Vector TileʹରԠͨ͠πʔϧ ଟ͋͘Γɺ͜Ε͔Β૿͍͑ͯ͘ͱࢥΘΕΔ ex)
Mapzen, Klokan Technologies, MVT Styler, Maputnik etc… ͍ΖΜͳՄೳੑ͕͕ͬͨʂ
ϚϐΦϯͰ ɾਤͷ৴ ɾਤAPIͷఏڙ ɾਤSDKͷఏڙ ɾਤσβΠϯπʔϧͷఏڙ ɾਤ৴γεςϜͷఏڙ ͳͲͷGIS։ൃࢧԉαʔϏεΛߏதʂʂʂ
৽αʔϏεͷλʔήοτ ɹҐஔใΛ׆༻͍ͨ͠શͯͷਓ ɹҐஔใΛఏڙ͍ͨ͠શͯͷਓ ͭ·Γ͜͜ʹ͍Δօ͞ΜͰ͢ʂ
ޤ͏͝ظʂʂ
ࢀߟURL ɹ˙ϚϐΦϯϕΫλʔ IUUQTNBQJPOHJUIVCJPNBQJPOWFDUPS ˙BSVLV IUUQTXXXBSVLVUPKQ ˙ܙํϚϐΦϯ J04൛ IUUQTJUVOFTBQQMFDPNKQBQQܙํϚϐΦϯJE NU
˙.BQCPY(-/BUJWF IUUQTHJUIVCDPNNBQCPYNBQCPYHMOBUJWF ˙.BQCPY(-+4 IUUQTHJUIVCDPNNBQCPYNBQCPYHMKT ˙.BQCPYVOJUZTEL IUUQTHJUIVCDPNNBQCPYNBQCPYVOJUZTEL ˙.BQCPY7FDUPS5JMF4QFDJpDBUJPO IUUQTXXXNBQCPYDPNWFDUPSUJMFTTQFDJpDBUJPO ˙.BQCPY4UZMF4QFDJpDBUJPO IUUQTXXXNBQCPYDPNNBQCPYHMKTTUZMFTQFD ˙.754UZMFS IUUQTTQVUOJLNBQTHJUIVCJPNWUTUZMFS ˙εϓϥΠτϑΝΠϧΛ࡞Δπʔϧ IUUQTHJUIVCDPNNBQCPYTQSJUF[FSP IUUQTHJUIVCDPNNBQCPYTQSJUF[FSPDMJ ˙ϑΥϯτϑΝΠϧΛ࡞Δπʔϧ IUUQTHJUIVCDPNNBQCPYOPEFGPOUOJL ˙ࠃใʢߦ۠Ҭσʔλɺమಓσʔλʣ͔ΒϕΫλʔλΠϧΛ࡞ͬͨαϯϓϧ IUUQTNZHTJIFSPLVBQQDPNɹ
͓ΘΓ