0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Clear Mapベクトルタイルを見てみる

Posted at

はじめに

こちらの記事でUN Clear Mapをベクトルタイルで作成しました。本記事では、こちらのベクトルタイルの構造を観察して、今後のスタイル作成の参考とすることを目的とします。

作業方針

ベクトルタイルの構造を観察するにあたっての方針としては、以下とします。

  1. unvt/charitesを用いてレイヤを分解
  2. 各レイヤの概要を把握
  3. 各レイヤの詳細を調べる

各レイヤの概要

unvt/charitesを用いてレイヤを分解することは実施済みであり、以下の通りとなります。数字は各まとまりをさらに分けたフォルダなどの数。

Annotations(注記) 5

  • L02(ズームレベル1~2)
  • L03(ズームレベル2~3)
  • L04(ズームレベル3~4)
  • L05(ズームレベル4~5)
  • L06(ズームレベル5~5.89)

Base Layers(ベースレイヤー) 4

  • Coastline(海岸線)
  • Country areas(陸域(白色の大陸等))
  • Ocean(海)
  • Urban areas(都市(事例はみつけられませんでした))

DRAL Features(河川) 4

  • DRAL10_L04(ズームレベル3~4)
  • DRAL10_L05(ズームレベル4~5)
  • DRAL10_L06(ズームレベル5~5.89)
  • WBYA_WCOURSE_L06(ズームレベル5~5.89)

DRALについて調べてみたところ、河川のようです。WBYA_WCOURSE_L06は河川域を表していました。アメリカのナイアガラの滝周辺に事例があります。

Global Boundaries(国境) 6

  • AUTONOMOUS_BNDL_L06(ズームレベル5~5.89)
  • Global Boundaries L02(ズームレベル1~2)
  • Global Boundaries L03(ズームレベル2~3)
  • Global Boundaries L04(ズームレベル3~4)
  • Global Boundaries L05(ズームレベル4~5)
  • Global Boundaries L06(ズームレベル5~5.89)

AUTONOMOUS_BNDL_L06は事例を見つけられませんでした。
Global Boundariesは国境などを示しています。

POPULATED PLACES(居住地) 3

  • POPP_CTY_ANNO_L05_POINT(ズームレベル4~5)
  • POPP_CTY_ANNO_L06_POINT(ズームレベル5~5.89)
  • Populated Places_SYMBOLS(ズームレベル4~5.89)

「POPP_CTY_ANNO_L05_POINT」と「POPP_CTY_ANNO_L06_POINT」は都市名のテキスト、「Populated Places_SYMBOLS」はアイコンを示します。

WBYA Features(湖沼等) 5

  • WBYA_L06(ズームレベル5~5.89)
  • WBYA10_L01(ズームレベル0~1)
  • WBYA10_L02-L03(ズームレベル1~3)
  • WBYA10_L04(ズームレベル3~4)
  • WBYA10_L05(ズームレベル4~5)

WBYAは湖沼等を示します。

各レイヤの詳細

次に各レイヤの詳細を見ていきます。

Annotations(注記) 計149レイヤ

まずはAnnotationsからです。
全てのレイヤは共通して、「type: symbol」を持ち、アイコンは示さずテキストのみを示します。注記なので当然ですね。
Annotationsの下にぶら下がるフォルダを見ていきます。

L02(ズームレベル1~2) 計2レイヤ

フォルダ名:PHYP_ANNO_L02_POINT/label
source-layer:PHYP_ANNO_L02_POINT
概要:海の名前など

レイヤ名 備考
OCEAN_LV02 海一般
SOUTERN OCEAN_LV02(OCEAN_LV02) SOUTERN OCEANのみ

2つのレイヤは、「text-max-width」と「text-field」のみ異なります。さらに「SOUTERN OCEAN_LV02(OCEAN_LV02)」はひとつの地物のみを表しているようです。

L03(ズームレベル2~3) 計26レイヤ

フォルダ名:BNDA_CTY_ANNO_L03_POINT/label
source-layer:BNDA_CTY_ANNO_L03_POINT
概要:国名など
計20レイヤ

レイヤ名 備考
Antarctica_LV03 ANTARCICAのみ
DOMINICA REP._LV03(Member State_SMALL SURF) DOMINICA REPのみ
FRENCH GUIANA_LV03(Self Gov + Territories_LV03) FRENCH GUIANAのみ
GREENLAND_LV03(Self Gov + Territories_LV03) GREENLANDのみ
INDONESIA_LV03(Memeber State_AVG SURF) INDONESIAのみ
Member State_AVG SURF_1 LINE_LV03 MALAYSIA、SRI LANKAなど
Member State_AVG SURF_2 LINE_LV03 北朝鮮のみ?
Member State_LARGE SURF_LV03 CHINA、BRAZILなど
Member State_SMALL SURF_1 LINE_LV03 EQUATORIAL GUINEA、COSTARICAなど
Member State_SMALL SURF_LV03 CONGO、QATARなど
Memeber State_AVG SURF_LV03 JAPAN、INDIAなど
MICRONESIA_LV03(Member State_SMALL SURF_LV03) MICRONESIAのみ
MOLDOVA_LV03(Member state small surface LV03) MOLDOVAのみ
NEW CALEDONIA_LV03(Non Self. Gov. + Sovreignity Unsettled_LV03) NEW CALEDONIAのみ
Non Self. Gov. + Sovreignity Unsettled_1LINE_LV03 ジブラルタル海峡、ゴフ島など
Non Self. Gov. + Sovreignity Unsettled_LV03 Saint Helena、Ascencion島など
Self Gov + Territories_LV03 Bouvet Island、Howland Islandなど
SOUTH GEORGIA_LV03(Self Gov + Territories_LV03) SOUTH GEORGIAのみ
Svalbard & Jan Mayen Is. (Norw.)_LV03(Self Gov + Territories_LV03) スヴァールバル諸島およびヤンマイエン島のみ
UNITED STATES OF AMERICA_LV03(Member State_LARGE SURF) アメリカのみ

こちらも「text-field」が異なるため、レイヤを分けていますが、同じtext-fieldが使える構造を持ったベクトルタイルならレイヤ数を大幅に減らせると思います。

フォルダ名:PHYP_ANNO_L03_POINT/label
source-layer:PHYP_ANNO_L03_POINT
概要:海の名前など
計6レイヤ

レイヤ名 備考
Black Sea_LV03 (Sea) 黒海のみ
Gulfs and Bays LV03 Gulf of Guinea、Gulf of Mexicoなど
NORTH ATLANTIC OCEAN_LV03(Ocean_LV03) NORTH ATLANTIC OCEANのみ
Ocean LV03 North Pacific Ocean, Indian Oceanなど
Sea LV03 Sea of Japan, Solomon Seaなど
SOUTHERN OCEAN_LV03(Ocean_LV03) SOUTHERN OCEANのみ

L04(ズームレベル3~4) 計31レイヤ

フォルダ名:BNDA_CTY_ANNO_L04_POINT/label
source-layer:BNDA_CTY_ANNO_L04_POINT
概要:国名など
計25レイヤ

L03と類似しているため詳細省略

フォルダ名:PHYP_ANNO_L04_POINT/label
source-layer:PHYP_ANNO_L04_POINT
概要:海の名前など
計6レイヤ

L03と類似しているため詳細省略

L05(ズームレベル4~5) 計40レイヤ

フォルダ名:BNDA_CTY_ANNO_L05_POINT/label
source-layer:BNDA_CTY_ANNO_L05_POINT
概要:国名など
計30レイヤ

L03と類似しているため詳細省略

フォルダ名:PHYP_ANNO_L05_PROE_02_POINT_/label
source-layer:PHYP_ANNO_L05_PROE_02_POINT_
概要:海や島の名前など
計9レイヤ

L03と類似しているため詳細省略

フォルダ名:WBYA_ANNO_L05_PROE_02_POINT/label
source-layer:WBYA_ANNO_L05_PROE_02_POINT
概要:湖の名前
計1レイヤ

レイヤ名 備考
Water Bodies_LV05 Lake Balkhash、Lake Ontarioなど

L06(ズームレベル5~5.89) 計50レイヤ

フォルダ名:BNDA_CTY_ANNO_L06_PROE_02_POINT/label
source-layer:BNDA_CTY_ANNO_L06_PROE_02_POINT
概要:国名など
計25レイヤ

L03と類似しているため詳細省略

フォルダ名:BNDA_CTY_ANNO_L06_PROE_02_POINT_BIS/label
source-layer:BNDA_CTY_ANNO_L06_PROE_02_POINT_BIS
概要:島国や面積の小さい国の国名など
計13レイヤ

L03と類似しているため詳細省略

フォルダ名:PHYP_ANNO_L06_PROE_02_POINT/label
source-layer:PHYP_ANNO_L06_PROE_02_POINT
概要:海や島の名前など
計10レイヤ

L03と類似しているため詳細省略

フォルダ名:WBYA_ANNO_L06_PROE_02_POINT/label
source-layer:WBYA_ANNO_L06_PROE_02_POINT
概要:湖の名前
計2レイヤ

L05と類似しているため詳細省略

Annotationsの考察

source-layerは同じものを使用していますが、「text-field」が異なると新たなレイヤを作成する必要があると理解しています。そのため、レイヤの数を減らすには、「text-field」の数を減らす必要があり、なるべく同じ属性を持つデータからベクトルタイルを作ることが重要です。
また、ズームレベル毎にフォルダが別れていますが、Expressionを工夫することでテキストの大きさを調整すれば、レイヤの数を大幅に減らせそうです。

Base Layers(ベースレイヤ) 計7レイヤ

次にBase Layersを見ていきます。typeはline or fillとなっています。source-layerがズームレベルによって分けられていますが、一緒にしても問題なさそうなので、一緒にすることでレイヤの数が減らせそうです。

Coastline 計2レイヤ

フォルダ名:Coastline
概要:海岸線

レイヤ名 type source-layer ZL 備考
Coastline_L01-L04 line Coastline_L01-L04 0~4 海岸線(レイヤは存在するが表示されないためベクトルタイルデータがないかも)
Coastline_L05-L06 line Coastline_L05-L06  4~5.89 海岸線

Country areas 計2レイヤ

フォルダ名:Country areas
概要:陸域

レイヤ名 type source-layer ZL 備考
BNDA_L01-L04 fill NDA_L01-L04 0~4 陸域
BNDA_L05-L06 fill BNDA_L05-L06  4~5.89 陸域

Ocean 計2レイヤ

フォルダ名:Ocean
概要:海

レイヤ名 type source-layer ZL 備考
Ocean_L0-L03 fill Ocean_L0-L03 0~3
Ocean_L04-L06 fill Ocean_L04-L06  3~5.89

なし 計1レイヤ

フォルダ名:なし
概要:都市域

レイヤ名 type source-layer ZL 備考
Urban areas fill Urban areas 4~5.89 都市域(データなしかも)

DRAL Features(河川) 計8レイヤ

次にDRAL Featuresを見ていきます。typeは基本的にはlineですが、一つのレイヤだけfillとなっています。
フィルターの処理が以下のような形でかかっています。

filter:
  - '=='
  - _symbol
  - 1

こちらも、source-layerがズームレベルによって分けられていますが、一緒にしても問題なさそうなので、ズームレベル3~5を一緒にすることでレイヤの数が減らせそうです。

DRAL10_L04(ズームレベル3~4) 計2レイヤ

フォルダ名:DRAL10_L04
source-layer:DRAL10_L04
概要:河川6

レイヤ名 type フィルターの値 備考
1 line 0 河川(一本の線のみ)
3 line 1 河川(川の端の線であり2本の線として流域を示す、後述のWBYA Featuresと重なる部分あり)

スクリーンショット 2024-09-12 17.44.13.png

レイヤ3は2条河川と言われるものだと思います。
※2条河川とは
https://www.gsi.go.jp/KIDS/map-sign-tizukigou-2022nijyoukasen.html

DRAL10_L05(ズームレベル4~5) 計2レイヤ

フォルダ名:DRAL10_L05
source-layer:DRAL10_L05
概要:河川

レイヤ名 type フィルターの値 備考
1 line 0 河川(一本の線のみ)
3 line 1 河川(川の端の線であり2本の線として流域を示す、後述のWBYA Featuresと重なる部分あり)

DRAL10_L06(ズームレベル5~5.89) 計2レイヤ

フォルダ名:DRAL10_L06
source-layer:DRAL10_L06
概要:河川

レイヤ名 type フィルターの値 備考
1 line 0 河川(データ見当たらない)
3 line 1 河川(データ見当たらない)

WBYA_WCOURSE_L06/Watercourse(ズームレベル5~5.89) 計2レイヤ

フォルダ名:WBYA_WCOURSE_L06/Watercourse
source-layer:WBYA_WCOURSE_L06
概要:河川

ここでfillを使いポリゴンを塗りつぶすことで、ズームレベルが大きい場合により河川流域を分かりやすく示しているのだと思います。

レイヤ名 type フィルターの値 備考
0 fill 0 河川の水域
1 line 0 河川(川の端の線であり2本の線として流域を示す)

Global Boundaries(国境) 計45レイヤ

次にGlobal Boundariesを見ていきます。

AUTONOMOUS_BNDL_L06(ズームレベル5~5.89) 計2レイヤ

フォルダ名:AUTONOMOUS_BNDL_L06
source-layer:AUTONOMOUS_BNDL_L06
概要:自治境界

レイヤ名 type 備考
0 line 自治境界?(データ見当たらない)
1 line 自治境界?(データ見当たらない)

Global Boundaries L02(ズームレベル1~2) 計4レイヤ

フォルダ名:Global Boundaries L02
source-layer:Global Boundaries L02
概要:国境

Global Boundariesのレイヤは、フィルターの処理が以下のような形でかかっています。

filter:
  - '=='
  - _symbol
  - 2
レイヤ名 type フィルターの値 備考
Armistice or International Administrative line line 2 暫定的な国境?(インドカシミール地方やエジプト付近)
International Boundary line 0 国境(データ数多い)
Other line of Separation symbol 3 暫定的な国境?(インドカシミール地方)※symbolを使用することでlineで表すことが出来ない表現としているのだと思います。
Special Boundary line line 1 暫定的な国境?(イスラエル周辺)

Global Boundaries L03(ズームレベル2~3) 計4レイヤ

フォルダ名:Global Boundaries L03
source-layer:Global Boundaries L03
概要:国境

レイヤ名 type フィルターの値 備考
Armistice or International Administrative line line 2 暫定的な国境?(インドカシミール地方やエジプト付近)
International Boundary line 0 国境(データ数多い)
Other line of Separation symbol 3 暫定的な国境?(インドカシミール地方)
Special Boundary line line 1 暫定的な国境?(イスラエル周辺)

Global Boundaries L04(ズームレベル3~4) 計4レイヤ

フォルダ名:Global Boundaries L04
source-layer:Global Boundaries L04
概要:国境

レイヤ名 type フィルターの値 備考
Armistice or International Administrative line line 2 暫定的な国境?(インドカシミール地方やエジプト付近)
International Boundary line 0 国境(データ数多い)
Other line of Separation symbol 3 暫定的な国境?(インドカシミール地方)
Special Boundary line line 1 暫定的な国境?(イスラエル周辺)

Global Boundaries L05(ズームレベル4~5) 計16レイヤ

このズームレベルから、下層にさらにフォルダがある構成となっています。
source-layerは共通して、Global Boundaries L05です。
filterの値を変えることで、異なるソースから値を抽出しています。

フォルダ名:Armistice or International Administrative line
計2レイヤ

こちらは2レイヤありますが、「minzoom: 5」、「maxzoom: 5」となっており、記載が間違っているのではないかと思われます。
同様にInternational Boundaryの2レイヤ、Other line of Separationの2レイヤ、Special Boundary lineの2レイヤも同様のズームレベルとなっており、記載が間違っているのではないかと思われます。

フォルダ名:Armistice or International Administrative line_1
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 line 2 暫定的な国境?(インドカシミール地方やエジプト付近)
1 line 2 暫定的な国境?(インドカシミール地方やエジプト付近)

上記2つは同一のsource-layer、同一のフィルターのため同時に表示されます。それぞれ、以下のように異なる表現となっており、組み合わせることでリッチな表現としています。

レイヤ0のみ(点線で表示)
スクリーンショット 2024-09-13 13.24.16.png

レイヤ1のみ(実線だが透過度をつけて表示)
スクリーンショット 2024-09-13 13.25.43.png

レイヤ0とレイヤ1の組み合わせ
スクリーンショット 2024-09-13 13.29.11.png

フォルダ名:International Boundary_1
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 line 0 国境(データ数多い)
1 line 0 国境(データ数多い)

レイヤ0のみ(line-width: 0.5で細く濃く表示)
スクリーンショット 2024-09-13 13.45.13.png

レイヤ1のみ(line-width: 3.66667で太く、line-color: rgba(230,230,223,0.65)で薄く表示)
スクリーンショット 2024-09-13 13.45.31.png

レイヤ0とレイヤ1を重ねて表示
スクリーンショット 2024-09-13 13.45.39.png

フォルダ名:Other line of Separation_1
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 symbol 3 暫定的な国境?(インドカシミール地方)
1 line 3 暫定的な国境?(インドカシミール地方)

レイヤ0のみ(symbolを使用して、ドットのような表示)
スクリーンショット 2024-09-13 13.57.09.png

レイヤ1のみ(line-width: 3.66667で太く、line-color: rgba(230,230,223,0.65)で薄く表示)
スクリーンショット 2024-09-13 13.55.32.png

レイヤ0とレイヤ1を重ねて表示
スクリーンショット 2024-09-13 13.55.40.png

上記のように非常に細かく分けていますが、「レイヤ0のみ」と「レイヤ0とレイヤ1を重ねて表示」を比べて見てもほとんど違いは分からないため、レイヤ1は無くても良いのではないかという気もします。。

フォルダ名:Special Boundary line_1
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 line 1 暫定的な国境?(イスラエル周辺)
1 line 1 暫定的な国境?(イスラエル周辺)

レイヤ0のみ(line-width: 0.6で細く濃く表示)
スクリーンショット 2024-09-13 14.05.03.png

レイヤ1のみ(line-width: 3.66667で太く、line-color: rgba(227,227,220,0.65)で薄く表示)
スクリーンショット 2024-09-13 14.05.17.png

レイヤ0とレイヤ1の組み合わせ
スクリーンショット 2024-09-13 14.05.26.png

こちらもレイヤを組み合わせて、表現しています。

Global Boundaries L06(ズームレベル5~5.89) 計15レイヤ

このズームレベルでも、下層にフォルダがある構成となっています。
source-layerは共通して、Global Boundaries L06です。
filterの値を変えることで、異なるソースから値を抽出しています。

Global Boundaries L05と同様に、「minzoom: 5」、「maxzoom: 5」となっており、記載が間違っているのではないかと思われるレイヤは以下の7レイヤです。
Armistice or International Administrative line_1の1レイヤ
International Boundary_1の2レイヤ
Other line of Separation_1の2レイヤ
Special Boundary line_1の2レイヤ

フォルダ名:Armistice or International Administrative line
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 line 2 暫定的な国境?(インドカシミール地方やエジプト付近)
1 line 2 暫定的な国境?(インドカシミール地方やエジプト付近)

Global Boundaries L05と同様の表現となっています。

フォルダ名:International Boundary
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 line 0 国境(データ数多い)
1 line 0 国境(データ数多い)

Global Boundaries L05と同様の表現となっています。

フォルダ名:Other line of Separation
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 symbol 3 暫定的な国境?(インドカシミール地方)
1 line 3 暫定的な国境?(インドカシミール地方)

Global Boundaries L05と同様の表現となっています。

フォルダ名:Special Boundary line
概要:国境
計2レイヤ

レイヤ名 type フィルターの値 備考
0 line 1 暫定的な国境?(イスラエル周辺)
1 line 1 暫定的な国境?(イスラエル周辺)

Global Boundaries L05と同様の表現となっています。

Global Boundariesの考察

同じズームレベル値(例えば1~2)では、filterの値が異なればレイヤを分けています。もし、matchの表現が使用出来れば、同一のレイヤにすることが出来るのかもしれませんが、こちらの記事によるとArcGIS Onlineでは使えなさそうです。
また、ズームレベル毎にフォルダが別れていますが、こちらはline-dasharrayをズームレベル毎に設定出来れば、レイヤの数を減らせそうです。そのような設定が可能かどうかは、今後確認していきたいと思います。

POPULATED PLACES(居住地) 計7レイヤ

次にPOPULATED PLACESを見ていきます。「POPP_CTY_ANNO_L05_POINT」と「POPP_CTY_ANNO_L06_POINT」はsymbol(text)で、「Populated Places_SYMBOLS」はsymbol(icon)となっています。

POPP_CTY_ANNO_L05_POINT/label(ズームレベル4~5) 計2レイヤ

フォルダ名:POPP_CTY_ANNO_L05_POINT/label
概要:都市名

レイヤ名 type source-layer 備考
L05 - ABU DHABI symbol(text) POPP_CTY_ANNO_L05_POINT データ見られない
POPP_LV05 symbol(text) POPP_CTY_ANNO_L05_POINT  各国の首都のテキスト(注記)

レイヤL05 - ABU DHABIについては、名前からアブダビ付近の都市名の表示だと思われますが、ここのタイルの表示がうまくいかないので、詳細不明です。
スクリーンショット 2024-09-14 9.03.05.png

POPP_CTY_ANNO_L06_POINT/label(ズームレベル5~5.89) 計2レイヤ

フォルダ名:POPP_CTY_ANNO_L06_POINT/label
概要:都市名

レイヤ名 type source-layer 備考
L06 - ABU DHABI symbol(text) POPP_CTY_ANNO_L06_POINT データ見られない
POPP_LV06 symbol(text) POPP_CTY_ANNO_L06_POINT 各国の首都のテキスト(注記)

レイヤL06 - ABU DHABIについては、同様に名前からアブダビ付近の都市名の表示だと思われますが、ここのタイルの表示がうまくいかないので、詳細不明です。

Populated Places_SYMBOLS 計3レイヤ

フォルダ名:Populated Places_SYMBOLS
概要:都市アイコン

フィルターの値を0, 1, 2と分けることで、参照するデータを分けています。

レイヤ名 type source-layer フィルターの値 備考
Alternative capital symbol(icon) Populated Places_SYMBOLS 1 ホーチミン、アビジャンなど
National Capital symbol(icon) Populated Places_SYMBOLS  0 各国の首都のアイコン
Territorial capital symbol(icon) Populated Places_SYMBOLS  2  グアム、セントヘレナなど

POPULATED PLACESの考察

Annotationと同じく、source-layerは同じものを使用していますが、「text-field」が異なるため、レイヤの数を減らすには、なるべく同じ属性を持つデータからベクトルタイルを作ることが必要だと思います。text-max-widthなどの値も、微妙に異なるため、matchなどの表現を使うことが出来るのかも検証する必要がありそうです。
また、ズームレベル毎にフォルダが別れていますが、Expressionを工夫することでテキストの大きさを調整すれば、レイヤの数を減らせそうです。

WBYA Features(湖沼等) 計10レイヤ

次にWBYA Featuresを見ていきます。それぞれのズームレベル毎にfillとlineのレイヤが存在し、fillで湖沼域を、lineで湖岸を描画しています。

WBYA_L06(ズームレベル5~5.89) 計2レイヤ

フォルダ名:WBYA_L06
概要:湖沼等

レイヤ名 type source-layer 備考
0 fill WBYA_L06 琵琶湖、トルコの湖などの湖沼域
1 line WBYA_L06  琵琶湖、トルコの湖などの湖岸

WBYA10_L01(ズームレベル0~1) 計2レイヤ

フォルダ名:WBYA10_L01
概要:湖沼等

レイヤ名 type source-layer 備考
0 fill WBYA10_L01 五大湖、カスピ海などの湖沼域
1 line WBYA10_L01  五大湖、カスピ海などの湖岸

WBYA10_L02-L03(ズームレベル1~3) 計2レイヤ

フォルダ名:WBYA10_L01
概要:湖沼等

レイヤ名 type source-layer 備考
0 fill WBYA10_L02-L03 五大湖、カスピ海などの湖沼域
1 line WBYA10_L02-L03  五大湖、カスピ海などの湖岸

レイヤ1のところでは、以下のようなExpressionが使用されています。これはズームレベル0.56ではline-widthを0.26667として、ズームレベル2.56ではline-widthを0.4とすることを示しています。つまり拡大していくに従って、ラインを太くしています。ズームレベル1~3の間に表れるレイヤですが、そのズームレベルの値を外れて設定されています。このような設定方法もあるのですね。

1.yml
paint:
  line-color: rgba(107,152,179,0.9)
  line-width:
    stops:
      - - 0.56
        - 0.266667
      - - 2.56
        - 0.4

WBYA10_L04(ズームレベル3~4) 計2レイヤ

フォルダ名:WBYA10_L04
概要:湖沼等

レイヤ名 type source-layer 備考
0 fill WBYA10_L04 五大湖、カスピ海などの湖沼域
1 line WBYA10_L04  五大湖、カスピ海などの湖岸

こちらはズームレベルの範囲が3~4までの間と狭いからなのか、stopsを使用したline-widthの変動はなく、line-width:1の固定値を使用しています。

WBYA10_L05(ズームレベル4~5) 計2レイヤ

フォルダ名:WBYA10_L05
概要:湖沼等

レイヤ名 type source-layer 備考
0 fill WBYA10_L05 五大湖、カスピ海などの湖沼域
1 line WBYA10_L05  五大湖、カスピ海などの湖岸

こちらも同様にline-width:1.5の固定値を使用しています。

WBYA Features(湖沼等)の考察

ズームレベル0~5まではfill, lineともに単純な表現が多いので、ズームレベル毎に分けなくてもstopsを使用した表現を使用することで、レイヤ数を減らすことが出来そうです。

まとめ

本記事では、Clear Mapで使用されているベクトルタイルの構造を見てきました。合計で226ものレイヤが使用されていることが分かり、スタイル作成には多大な労力が必要なことが分かりました。レイヤ数が多いと描画に時間がかかるらしいので、自身でスタイルを作成する場合は、いかに工夫してレイヤ数を減らすことが出来るのかが大事なのだと思います。スタイルのExpressionは奥が深そうなので、今後も勉強していきたいと思います。

Reference

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?