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

# はじめに
[こちらの記事](https://qiita.com/k96mz/items/00221897215315841e8b)で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）　計２レイヤ
フォルダ名：PHYP_ANNO_L02_POINT/label
source-layer：PHYP_ANNO_L02_POINT
概要：海の名前など


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

２つのレイヤは、「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　計２レイヤ
フォルダ名：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　計２レイヤ
フォルダ名：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　計２レイヤ
フォルダ名：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となっています。
フィルターの処理が以下のような形でかかっています。
```yml
filter:
  - '=='
  - _symbol
  - 1
```

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

### DRAL10_L04（ズームレベル3~4）　計２レイヤ
フォルダ名：DRAL10_L04
source-layer：DRAL10_L04
概要：河川６

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

![スクリーンショット 2024-09-12 17.44.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/c31b0a87-857d-bdfd-5ad9-3dc69682a93d.png)

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


### DRAL10_L05（ズームレベル4~5）　計２レイヤ
フォルダ名：DRAL10_L05
source-layer：DRAL10_L05
概要：河川

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


### DRAL10_L06（ズームレベル5~5.89）　計２レイヤ
フォルダ名：DRAL10_L06
source-layer：DRAL10_L06
概要：河川

| レイヤ名 | type | フィルターの値 | 備考 |
|:-:|:-:|:-:|:-:|
| 1 | line | 0 | 河川（データ見当たらない）|
| 3 | line | 1 | 河川（データ見当たらない） |


### WBYA_WCOURSE_L06/Watercourse（ズームレベル5~5.89）　計２レイヤ
フォルダ名：WBYA_WCOURSE_L06/Watercourse
source-layer：WBYA_WCOURSE_L06
概要：河川

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

| レイヤ名 | type | フィルターの値 | 備考 |
|:-:|:-:|:-:|:-:|
| 0 | fill | 0 | 河川の水域 |
| 1 | line | 0 | 河川（川の端の線であり２本の線として流域を示す） |


## Global Boundaries（国境）　計45レイヤ
次にGlobal Boundariesを見ていきます。


### AUTONOMOUS_BNDL_L06（ズームレベル5~5.89）　計２レイヤ
フォルダ名：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のレイヤは、フィルターの処理が以下のような形でかかっています。
```yml
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レイヤ

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


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


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

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

レイヤ0のみ（点線で表示）
![スクリーンショット 2024-09-13 13.24.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/9449e293-34c4-7acc-8c75-efd270702649.png)


レイヤ1のみ（実線だが透過度をつけて表示）
![スクリーンショット 2024-09-13 13.25.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/bbee5ca3-b2b9-80bb-e41b-3e3d9c8c6c7c.png)


レイヤ0とレイヤ1の組み合わせ
![スクリーンショット 2024-09-13 13.29.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/a3c95a1f-7c25-9867-6442-f3c2739d0b26.png)


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

| レイヤ名 | type | フィルターの値 | 備考 |
|:-:|:-:|:-:|:-:|
| 0 | line | 0 | 国境（データ数多い） |
| 1 | line | 0 | 国境（データ数多い） |


レイヤ0のみ（line-width: 0.5で細く濃く表示）
![スクリーンショット 2024-09-13 13.45.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/a58cfc9b-5430-a7dc-7d0d-4959e4d18b42.png)


レイヤ1のみ（line-width: 3.66667で太く、line-color: rgba(230,230,223,0.65)で薄く表示）
![スクリーンショット 2024-09-13 13.45.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/e555cf05-7f56-c26b-9730-0d00928ef539.png)


レイヤ0とレイヤ1を重ねて表示
![スクリーンショット 2024-09-13 13.45.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/655cc8e5-cddc-353e-2533-3fec26cf396a.png)


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

| レイヤ名 | type | フィルターの値 | 備考 |
|:-:|:-:|:-:|:-:|
| 0 | symbol | 3 | 暫定的な国境？（インドカシミール地方） |
| 1 | line | 3 | 暫定的な国境？（インドカシミール地方） |


レイヤ0のみ（symbolを使用して、ドットのような表示）
![スクリーンショット 2024-09-13 13.57.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/dff229f2-045f-01d6-cecc-7f4b8a7acf92.png)


レイヤ1のみ（line-width: 3.66667で太く、line-color: rgba(230,230,223,0.65)で薄く表示）
![スクリーンショット 2024-09-13 13.55.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/1f2ba03f-290b-d197-2991-3480eca46a96.png)


レイヤ0とレイヤ1を重ねて表示
![スクリーンショット 2024-09-13 13.55.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/fcb7e155-5a77-0f0e-d6d8-a74310d7f4b7.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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/fc11adf8-fb8a-f815-1848-f9a64ad76fb6.png)


レイヤ1のみ（line-width: 3.66667で太く、line-color: rgba(227,227,220,0.65)で薄く表示）
![スクリーンショット 2024-09-13 14.05.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/929e46f7-5791-f106-940b-de766e1252dd.png)


レイヤ0とレイヤ1の組み合わせ
![スクリーンショット 2024-09-13 14.05.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/d7dfcd3a-0552-dd43-160d-982b52e0d53d.png)

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


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

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


フォルダ名：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の表現が使用出来れば、同一のレイヤにすることが出来るのかもしれませんが、[こちらの記事](https://qiita.com/T-ubu/items/666ffce5d00d3243e40f)によるとArcGIS Onlineでは使えなさそうです。
また、ズームレベル毎にフォルダが別れていますが、こちらはline-dasharrayをズームレベル毎に設定出来れば、レイヤの数を減らせそうです。そのような設定が可能かどうかは、今後確認していきたいと思います。


## POPULATED PLACES（居住地）　計７レイヤ
次に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）　計２レイヤ
フォルダ名：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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3684675/c7b574f8-3d04-42a3-66ef-6fc310975784.png)


### POPP_CTY_ANNO_L06_POINT/label（ズームレベル5~5.89）　計２レイヤ
フォルダ名：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）　計２レイヤ
フォルダ名：WBYA_L06
概要：湖沼等
| レイヤ名 | type | source-layer | 備考 |
|:-:|:-:|:-:|:-:|
| 0 | fill | WBYA_L06 | 琵琶湖、トルコの湖などの湖沼域 |
| 1 | line | WBYA_L06　| 琵琶湖、トルコの湖などの湖岸 |



### WBYA10_L01（ズームレベル0~1）　計２レイヤ
フォルダ名：WBYA10_L01
概要：湖沼等
| レイヤ名 | type | source-layer | 備考 |
|:-:|:-:|:-:|:-:|
| 0 | fill | WBYA10_L01 | 五大湖、カスピ海などの湖沼域 |
| 1 | line | WBYA10_L01　| 五大湖、カスピ海などの湖岸 |



### WBYA10_L02-L03（ズームレベル1~3）　計２レイヤ
フォルダ名：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の間に表れるレイヤですが、そのズームレベルの値を外れて設定されています。このような設定方法もあるのですね。

```yml: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）　計２レイヤ
フォルダ名：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）　計２レイヤ
フォルダ名：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

https://qiita.com/k96mz/items/00221897215315841e8b

https://qiita.com/T-ubu/items/02a9725dd6329d35d477

https://qiita.com/T-ubu/items/666ffce5d00d3243e40f

https://qiita.com/T-ubu/items/961176fb92fb66a927e0