Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マピオン、ベクタータイルはじめました〜京都編〜

Dfa36f596af5e15d0b28bac7516b1f81?s=47 One compath
October 15, 2017

 マピオン、ベクタータイルはじめました〜京都編〜

FOSS4G 2017 KYOTO.KANSAI の発表資料です。

Dfa36f596af5e15d0b28bac7516b1f81?s=128

One compath

October 15, 2017
Tweet

More Decks by One compath

Other Decks in Technology

Transcript

  1. マピオン ベクタータイル はじめました 株式会社マピオン 清水珠里 FOSS4G 2017 KYOTO.KANSAI

  2. ਗ਼ਫचཬʢ͠Έͣ͡ΎΓʣ ৽ଔͰ๭ෆಈ࢈ձࣾʹೖࣾ ɹ→͍Ζ͍Ζ͋ͬͯ̍೥Ͱୀ৬ ๭SIerʹస৬ ɹ→͍Ζ͍Ζ͋ͬͯ̔೥Ͱୀ৬ גࣜձࣾϚϐΦϯೖࣾ̐೥໨ ओʹ஍ਤλΠϧͷੜ੒ͱ഑৴Λ୲౰ ࣗݾ঺հ

  3. マピオンとは

  4. 1996೥ʹ೔ຊॳͷ஍ਤΠϯλʔωοταʔϏεΛ։࢝

  5. ໊শɹɹɹ ɿ גࣜձࣾϚϐΦϯ ઃཱɹɹɹ ɿ 1997೥ 1݄ 20೔ ࢿຊۚɹɹ ɿ

    6ԯԁ ैۀһ਺ ɿ 97໊ʢ2017೥6݄ݱࡏʣ גओɹɹɹ ɿ ತ൛ҹ࡮ ʢ100%ʣ εϩʔΨϯ ɿʮίίϩ΋ɺΧϥμ΋ɺಈ͔͢ϚϐΦϯʯ ࢀՃஂମ ɿOSGeoࡒஂ೔ຊࢧ෦ ๏ਓձһ Ԋֵ 20प೥Λܴ͑·ͨ͠ʂ
  6. ࣄۀ಺༰

  7. マピオン ベクタータイル はじめてました

  8. 2016/10 ϥϘαΠτʹͯ ϚϐΦϯϕΫλʔެ։

  9. า͚ͩ͘ͰϓϨθϯτ͕΋ Β͑ΔɺҰาઌߦ͘΢Υʔ ΩϯάΞϓϦ 2016/11 aruku&ʢ͋Δ͘ͱʣϦϦʔε

  10. ܙํרΛ৯΂Δํ͕֯෼͔ Δɺ೥ʹҰ౓஫໨͞ΕΔΞ ϓϦ 2017/1 ܙํϚϐΦϯ(iOS൛)ͷ஍ਤΛ ϥελʔ͔ΒϕΫλʔʹมߋ

  11. 2017/9 ϥϘαΠτʹOSM௥Ճ

  12. ベクタータイルを 描画するしくみ

  13. ϕΫλʔλΠϧ εϓϥΠτ ϑΝΠϧ ϑΥϯτ ϑΝΠϧ ελΠϧ ϑΝΠϧ ϕΫλʔλΠϧʹ͸఺ɾઢɾ໘ͷ஍෺ͷσʔλͱ ଐੑ৘ใ͕ೖ͍ͬͯΔ͚ͩͳͷͰɺ஍෺͝ͱͷද ࣔͷ༗ແɺσβΠϯɺϑΥϯτɺΞΠίϯͳͲ͸

    ελΠϧϑΝΠϧͰઃఆ͢Δ ϨϯμϦϯά
  14. ݱࡏͷϚϐΦϯͷߏ੒ ϕΫλʔλΠϧ Mapbox Vector Tile ϨϯμϦϯά Mapbox GL Native ελΠϧϑΝΠϧ

    Mapbox Style
  15. ɾϕΫλʔ஍ਤΛෳ਺ͷϓϥοτϑΥʔϜ্ ͷωΠςΟϒΞϓϦέʔγϣϯʹຒΊࠐΉͨ ΊͷϥΠϒϥϦ ɹJS൛ɺUnity൛΋ผ్༻ҙ͞Ε͍ͯΔ ɾΦʔϓϯιʔεɺBSDϥΠηϯε ɾ։ൃ͕͔͞ΜͰɺͲΜͲΜόʔδϣϯΞο ϓ͞Ε͍ͯΔʢલόʔδϣϯͱޓ׵ੑ͕ͳ͍ ͜ͱ΋ଟ͍ͨΊɺ஫ҙ͕ඞཁʣ .BQCPY(-/BUJWFͱ͸

  16. ɾMapboxͷ஍ਤΛදࣔͤ͞Δʹ͸ΞΫηε τʔΫϯͷൃߦ͕ඞཁ ɹαʔυύʔςΟ੡ͷ஍ਤΛදࣔ͢Δ৔߹͸ ΞΫηετʔΫϯෆཁ ϚϐΦϯͰ͸ΧελϚΠζΛߦ͍ɺ ΞΫηετʔΫϯʹରԠ͍ͯ͠Δ .BQCPY(-/BUJWFͱ͸

  17. Mapbox GL で 地図を描画するために 必要なもの

  18. ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ

  19. ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ

  20. ϕΫλʔλΠϧ ʢMapbox Vector Tileʣ ɾMapbox͕ఆΊͨϕΫλʔλΠϧͷΦʔϓ ϯͳ࢓༷ ɾProtocol Buffers ܗࣜ ɾGeometryͷ૬ର࠲ඪΛΤϯίʔυͨ͠΋

    ͷͱଐੑ৘ใͷू·Γ
  21. sample MBZFST\ OBNFYYYY GFBUVSFT\ UBHT UBHT UZQF10-:(0/ HFPNFUSZ HFPNFUSZ ʜ

    ^ LFZTDPEF WBMVFT\ JOU@WBMVF ^ WFSTJPO ^ ʜ Geometryͷ ૬ର࠲ඪ ଐੑ৘ใ
  22. ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ

  23. ελΠϧϑΝΠϧ ʢMapbox Styleʣ ɾ஍ਤͷσβΠϯΛܾΊΔϑΝΠϧ ɾjsonܗࣜ ɾϚϐΦϯͰ͸ MVT Styler Λ࢖ͬͯɺ࡞੒/ ฤूΛߦ͍ͬͯΔ

  24. ʜ MBZFST<  \   JETBNQMF   

    UZQFpMM    TPVSDFTBNQMF    TPVSDFMBZFSTBNQMF    pMUFS<         DPEF        >    QBJOU\    pMMDPMPSCF   ^  ^  >  ʜ sample
  25. ׬શGUIͷϕΫλʔλΠϧελΠϧΤσΟλ MVT Styler

  26. MVT Styler ɾϦΞϧλΠϜͰσβΠϯͷมߋ ͕֬ೝͰ͖Δ ɾγϯϓϧͳػೳͰɺ௚ײతʹૢ ࡞Ͱ͖Δ ɾ஍ਤ্ͰϨΠϠʔΛ֬ೝͰ͖Δ ͷͰศར ɾϚϐΦϯͰ͸ΧελϚΠζͯ͠ɺ ϑΝΠϧग़ྗ

    / ը૾ग़ྗͳͲͷػ ೳΛ௥Ճ͍ͯ͠Δ
  27. MVT Styler Maputnik

  28. ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ

  29. εϓϥΠτϑΝΠϧ ɾ஍ਤ্ͷΞΠίϯΛ·ͱΊͨεϓϥΠτϑΝΠϧ ɾpngϑΝΠϧͱjsonϑΝΠϧͰߏ੒͞ΕΔ ɾMVT Styler Ͱ࡞੒Ͱ͖Δ

  30. \lTBNQMFTWH\XJEUI IFJHIU  Y Z QJYFM3BUJP^  lTBNQMFTWH\XJEUI IFJHIU 

    Y Z QJYFM3BUJP^  ʜ KTPO QOH sample
  31. ɾϕΫλʔλΠϧ ɹʢMapbox Vector Tileʣ ɾελΠϧϑΝΠϧ ɹʢMapbox Styleʣ ɾεϓϥΠτϑΝΠϧ ɾϑΥϯτϑΝΠϧ

  32. ϑΥϯτϑΝΠϧ ɾϑΥϯτϑΝΠϧʢttfͳͲʣ͔ΒglyphΛ 256୯ҐͰ෼ׂͯͦ͠ΕΛpbfԽͨ͠΋ͷ ɹttfϑΝΠϧ ɹ→ 0-255.pbf, 256-511.pbf ... 256ݸ ɾMVT

    Styler Ͱ࡞੒Ͱ͖Δ
  33. マピオンの ベクタータイルの 生成/配信のしくみ

  34. ϨϯμϦϯά ɹ஍ਤσβΠϯ λΠϧੜ੒ σʔλ ४උ ϑΝΠϧ ετϨʔδ 4IBQF pMF %#

    1PTUHSFT  1PTU(*4 ετϨʔδ ΫϥΠΞϯτ ੜ੒༻ αʔό ϕΫλʔλΠϧ ʢQCG .75 4UZMFS εϓϥΠτ ϑΝΠϧ ʢQOH KTPO ϑΥϯτ ϑΝΠϧ ʢQCG ελΠϧ ϑΝΠϧ ʢKTPO ४උɾੜ੒ ໿24࣌ؒ
  35. σʔλ ४උ ϑΝΠϧ ετϨʔδ ݱࡏɺϚϐΦϯͰରԠ͍ͯ͠Δ ஍ਤσʔλ ɹɾθϯϦϯ ɹɾOSM ɹɾNatural Earth

    ɹɾࠃ౔਺஋৘ใͷ ɹɹ௡೾ਁਫ૝ఆσʔλ ɹɹਓޱूத஍۠σʔλ 4IBQF pMF %# 1PTUHSFT  1PTU(*4
  36. ϨϯμϦϯά ɹ஍ਤσβΠϯ λΠϧੜ੒ σʔλ ४උ ϑΝΠϧ ετϨʔδ 4IBQF pMF %#

    1PTUHSFT  1PTU(*4 ετϨʔδ ΫϥΠΞϯτ ੜ੒༻ αʔό ϕΫλʔλΠϧ ʢQCG .75 4UZMFS εϓϥΠτ ϑΝΠϧ ʢQOH KTPO ϑΥϯτ ϑΝΠϧ ʢQCG ελΠϧ ϑΝΠϧ ʢKTPO
  37. ετϨʔδ ɾPostGIS 2.4.0͔Β௥Ճ͞ΕͨST_ASMVTͱ ͍͏ؔ਺ͰλΠϧ৘ใ͕औಘͰ͖Δ ɹRDS͕PostGIS 2.4.0ʹରԠ͍ͯ͠ͳ͍ͨΊɺ ϚϐΦϯͰ͸SQLΛΨϦΨϦॻ͍͍ͯ·͢… λΠϧੜ੒ %# 1PTUHSFT

     1PTU(*4 ੜ੒༻ αʔό ϕΫλʔλΠϧ ʢQCG
  38. ετϨʔδ ɾϑΝΠϧʹग़ྗͤͣɺDB͔Β௚઀ϦΞϧλ ΠϜͰλΠϧΛ഑৴͢Δ͜ͱ΋Ͱ͖Δ ύϑΥʔϚϯε͕ѱ͘ͳͬͯ͠·͏ՄೳੑΞϦ λΠϧੜ੒ %# 1PTUHSFT  1PTU(*4 ੜ੒༻

    αʔό ϕΫλʔλΠϧ ʢQCG
  39. ϥϘαΠτ BSVLV ಉ͡ϕΫλʔλΠϧΛ ࢖͍ͬͯΔ

  40. ϚϐΦϯͷʮඒ͍͠ʯʮ໎Θͳ͍ʯ஍ਤ ελΠϧϑΝΠϧɿ25000ߦҎ্ ϨΠϠʔ਺ɿ691

  41. MapboxGLの弱点 現時点の

  42. λΠϧ಺ͷςΩετ͕ॏͳͬͨ৔߹͸ͲͪΒ ͔ҰํͷΈදࣔ͞ΕΔ͕ɺ λΠϧͷڥքͩͱͦͷ൑ผ͕Ͱ͖ͣɺςΩε τ͕ॏͳͬͯ͠·͏ λΠϧڥքͷ஫ه͕ॏͳͬͯ͠·͏ ஫ه͕ॏͳ͍ͬͯΔ

  43. TZNCPMBWPJEFEHFTUSVF λΠϧڥ໨ͷςΩετΛඇදࣔʹ͢ΔΦϓγϣ ϯ΋͋Δ͕ɺͲͪΒͷ஫ه΋ফ͑ͯ͠·͏ Issueొ࿥ࡁ λΠϧڥքͷ஫ه͕ॏͳͬͯ͠·͏ ফ͑ͨ…

  44. ϚϧνόΠτͷॎॻ͖஫ه͕ෆ҆ఆ

  45. ϚϧνόΠτͷॎॻ͖஫ه͕ෆ҆ఆ ࢼ͠ʹ௨Γͷ໊લΛ ʮژ౎ͰFOSS4GͩΑʯʹมߋ͢Δͱɺ จࣈ͕͔Ϳͬͯ͠·͏ γϯάϧόΠτจࣈͱϚϧνόΠτจࣈ͕ ࠞࡏ͢Δ஫هΛॎॻ͖ʹ͢Δͱɺจࣈ͕͔Ϳͬ ͯ͠·͏

  46. ϚϧνόΠτͷॎॻ͖஫ه͕ෆ҆ఆ ೋॏʹͳ͍ͬͯͯɺ ಡΊͳ͍… ஫هͷॎॻ͖Λແޮʹ͢ΔΦϓγϣϯΛ͚ͭ Δͱจࣈ͕ೋॏʹͳͬͯ͠·͏ UFYULFFQVQSJHIUGBMTF

  47. ϚϧνόΠτͷॎॻ͖஫ه͕ෆ҆ఆ ϚϐΦϯͰ͸ɺ൒֯จࣈΛશ֯ʹม׵ͯ͠ର Ԡ͍ͯ͠Δ FOSS4GΛશ֯ʹ͢Ε͹ɺ ໰୊ͳ͘දࣔ͞ΕΔ

  48. 今後の展望

  49. ɾMapbox Vector Tile ͸σϑΝΫτελϯ μʔυʹͳΓͭͭ͋ΔΦʔϓϯͳ࢓༷ ɾMapbox Vector TileʹରԠͨ͠πʔϧ͸਺ ଟ͋͘Γɺ͜Ε͔Β΋૿͍͑ͯ͘ͱࢥΘΕΔ ex)

    Mapzen, Klokan Technologies, MVT Styler, Maputnik etc… ͍ΖΜͳՄೳੑ͕޿͕ͬͨʂ
  50. ϚϐΦϯͰ΋ ɾ஍ਤͷ഑৴ ɾ஍ਤAPIͷఏڙ ɾ஍ਤSDKͷఏڙ ɾ஍ਤσβΠϯπʔϧͷఏڙ ɾ஍ਤ഑৴γεςϜͷఏڙ ͳͲͷGIS։ൃࢧԉαʔϏεΛߏ૝தʂ λʔήοτ͸ ɹҐஔ৘ใΛ׆༻͍ͨ͠શͯͷਓ ɹҐஔ৘ใΛఏڙ͍ͨ͠શͯͷਓ

  51. 乞うご期待!

  52. ࢀߟ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ɹ
  53. おわり