diff --git a/dataset/geonames/allentries.parquet/country_code=AT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=AT/data_0.parquet
deleted file mode 100644
index eb4af19..0000000
--- a/dataset/geonames/allentries.parquet/country_code=AT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2fb8560ab4df02df14d979bdd2575fa1482816e1f88df805e1041ebc2009e2fe
-size 952386
diff --git a/dataset/geonames/allentries.parquet/country_code=AU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=AU/data_0.parquet
deleted file mode 100644
index 0b90f00..0000000
--- a/dataset/geonames/allentries.parquet/country_code=AU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6f15f128c06bbe286d3938b24749dd763d031b8f66afa26ff4025c1debf4d840
-size 791874
diff --git a/dataset/geonames/allentries.parquet/country_code=BG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BG/data_0.parquet
deleted file mode 100644
index 1c8365c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ab2a1f08cd50d6a525c16461f6f384210561febd32ba87b6609fddf6cc73ed2d
-size 465168
diff --git a/dataset/geonames/allentries.parquet/country_code=BI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BI/data_0.parquet
deleted file mode 100644
index 6f4d4cd..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f501f05136206aa6bdb97131d4d01f9084e9d5ded801655d1ae8e274e2ae8002
-size 293783
diff --git a/dataset/geonames/allentries.parquet/country_code=BJ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BJ/data_0.parquet
deleted file mode 100644
index d64639f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BJ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:81a08a26e74da8a7f7ca81cb753a74bbab3198e3f1e5eaf213c21bea6dd65e4a
-size 166119
diff --git a/dataset/geonames/allentries.parquet/country_code=BO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BO/data_0.parquet
deleted file mode 100644
index 34b98b6..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b69248c00fcfc62ff42a89a40fdf7924fe4fe3fc3a4fefbb574b770bf664fc1e
-size 719268
diff --git a/dataset/geonames/allentries.parquet/country_code=BR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BR/data_0.parquet
deleted file mode 100644
index d7e1f5b..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ad9745ed62d9f017527374557c13fbdad1561281c00c6d74ec5f9ef00ea42cc0
-size 2879399
diff --git a/dataset/geonames/allentries.parquet/country_code=BS/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BS/data_0.parquet
deleted file mode 100644
index d19994b..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BS/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b1456baf74725d6c7b39859e416444fe393fbc920c61d4b945609b30b0723ab9
-size 20238
diff --git a/dataset/geonames/allentries.parquet/country_code=BY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BY/data_0.parquet
deleted file mode 100644
index 06feee7..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:63c743a4b12004cc7cd942931cf28da70b94e22466298aad864821a3c28ecb90
-size 682948
diff --git a/dataset/geonames/allentries.parquet/country_code=BZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=BZ/data_0.parquet
deleted file mode 100644
index 89bcaf4..0000000
--- a/dataset/geonames/allentries.parquet/country_code=BZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:99325673199fbb0a1b5a1a8140f583cd22b3cebf8f1d14f1be5fc1354c7f45b8
-size 25161
diff --git a/dataset/geonames/allentries.parquet/country_code=CA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CA/data_0.parquet
deleted file mode 100644
index 3d6f165..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bee23aca408506a30bb036025ba869668786bf22479fbda6b28242c84033f45f
-size 1171870
diff --git a/dataset/geonames/allentries.parquet/country_code=CD/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CD/data_0.parquet
deleted file mode 100644
index d6410e9..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CD/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3523a6d8adb749ad801c52df45d645b2b5a2d74ac13c937d9f01e878b78ae484
-size 1098078
diff --git a/dataset/geonames/allentries.parquet/country_code=CF/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CF/data_0.parquet
deleted file mode 100644
index 988cce1..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CF/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bbead078c8f0335a1a8dc94d413d2c02b23261815919182fae7994e8d8d1b0fd
-size 191336
diff --git a/dataset/geonames/allentries.parquet/country_code=CG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CG/data_0.parquet
deleted file mode 100644
index ab0577a..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:075d3e0c33243ec284c9c39c52be4ba37d56e3f94ba7aa5626d209b5d1ef47eb
-size 163990
diff --git a/dataset/geonames/allentries.parquet/country_code=CH/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CH/data_0.parquet
deleted file mode 100644
index fa71e37..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CH/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:40403ae203e2ce17b2734c0ad03d5944c67b842cdf10bb1f8a7b4b2ff704ccd1
-size 725471
diff --git a/dataset/geonames/allentries.parquet/country_code=CI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CI/data_0.parquet
deleted file mode 100644
index 94c3c6f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d19c8eb819a079a8b20d6b8692a1e044664a75f9c7dd6698460246cbee9ff829
-size 401690
diff --git a/dataset/geonames/allentries.parquet/country_code=CL/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CL/data_0.parquet
deleted file mode 100644
index 7ce14e2..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CL/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fff0579d0db990ed21574ae46cd95e6fd4c5d7e4540991448381667481e2e6b7
-size 287772
diff --git a/dataset/geonames/allentries.parquet/country_code=CM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CM/data_0.parquet
deleted file mode 100644
index 388e904..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4202efa19bed6ff052456c60401fe649bfeeb358b031d405584df2a1236404b4
-size 382852
diff --git a/dataset/geonames/allentries.parquet/country_code=CN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CN/data_0.parquet
deleted file mode 100644
index 0b3a73f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:836763087100289bc6af61bf28d12c8697d3269889cec4019d5738ccafec3d6d
-size 22062156
diff --git a/dataset/geonames/allentries.parquet/country_code=CO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CO/data_0.parquet
deleted file mode 100644
index a56279b..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d0a3a33880d4ccfc291d449a76bb0c908505e7d4b02d525ab53c0ca2830cbe58
-size 1210239
diff --git a/dataset/geonames/allentries.parquet/country_code=CR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CR/data_0.parquet
deleted file mode 100644
index dd27134..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:468519b4e6364b1a0932724c15e0481b36a13f60afd1389d85da84eee6c4888d
-size 238049
diff --git a/dataset/geonames/allentries.parquet/country_code=CU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CU/data_0.parquet
deleted file mode 100644
index d8560b9..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7069d9bacdde25071a4a331895f9bfb2a9e1ae73c6fc2e74a419a4862c8102c6
-size 550608
diff --git a/dataset/geonames/allentries.parquet/country_code=CV/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CV/data_0.parquet
deleted file mode 100644
index ceef20f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CV/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:27c77cd58a5df8f4547899511b9cb6035be9b503abd7b3ec6410b5f89f202c51
-size 107499
diff --git a/dataset/geonames/allentries.parquet/country_code=CW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CW/data_0.parquet
deleted file mode 100644
index 146b1f0..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:dd7833e5068b18bcf72b6c11be78047d29ef7c31fef1b44a92c360936ee4e6a3
-size 7457
diff --git a/dataset/geonames/allentries.parquet/country_code=CX/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CX/data_0.parquet
deleted file mode 100644
index 963e998..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CX/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b8c8570c16cc751540b80aeeadace345ce81cbb6c21bc07c0b9c4e287f7a4214
-size 4268
diff --git a/dataset/geonames/allentries.parquet/country_code=CY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CY/data_0.parquet
deleted file mode 100644
index 7c9b777..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cc16fbfb225700a7d5ceedcf7357f1dfdd8aee5d6d3ee89e8252a2633425dded
-size 77745
diff --git a/dataset/geonames/allentries.parquet/country_code=CZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=CZ/data_0.parquet
deleted file mode 100644
index fa81625..0000000
--- a/dataset/geonames/allentries.parquet/country_code=CZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3106380c6dc97f2580bd5186dd4d55a7fe4755ae80e7528b0386ca561f4bd5ed
-size 1161790
diff --git a/dataset/geonames/allentries.parquet/country_code=DE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=DE/data_0.parquet
deleted file mode 100644
index 2ba4fe1..0000000
--- a/dataset/geonames/allentries.parquet/country_code=DE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:55c709202040d962821cc65b230a617f802a9b6aa4851b9d90d50c8c1cac93a8
-size 4692379
diff --git a/dataset/geonames/allentries.parquet/country_code=DK/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=DK/data_0.parquet
deleted file mode 100644
index edafe33..0000000
--- a/dataset/geonames/allentries.parquet/country_code=DK/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:42958f01c50c3d07389bab9352f9dcad51dc1748108ef24cbbd220e500874865
-size 254466
diff --git a/dataset/geonames/allentries.parquet/country_code=DO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=DO/data_0.parquet
deleted file mode 100644
index 3da02c3..0000000
--- a/dataset/geonames/allentries.parquet/country_code=DO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:723e37f7667772e40906b5d9210c88fa627dc230982fc242cf724074be1d5d4e
-size 1049661
diff --git a/dataset/geonames/allentries.parquet/country_code=DZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=DZ/data_0.parquet
deleted file mode 100644
index eb68e65..0000000
--- a/dataset/geonames/allentries.parquet/country_code=DZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b083ee12cabaa25e69857f74b1b6826ad111e87844023ef61532d8c949c78088
-size 545153
diff --git a/dataset/geonames/allentries.parquet/country_code=EC/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=EC/data_0.parquet
deleted file mode 100644
index 4f30011..0000000
--- a/dataset/geonames/allentries.parquet/country_code=EC/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1265a712e8fba9bcd7451b3ce3e312d3c1aaefc0d6bab23192b5393b87750480
-size 563307
diff --git a/dataset/geonames/allentries.parquet/country_code=EE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=EE/data_0.parquet
deleted file mode 100644
index 88a81d6..0000000
--- a/dataset/geonames/allentries.parquet/country_code=EE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:348fe63b6fd5625d2632d225505f64e7c29b2ba91203c9df8fe4bf76cbe3757d
-size 604998
diff --git a/dataset/geonames/allentries.parquet/country_code=EG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=EG/data_0.parquet
deleted file mode 100644
index 0a8c406..0000000
--- a/dataset/geonames/allentries.parquet/country_code=EG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e60cfd412c5059f98cc2c607aa48ae24ef79a78258b5cb197f3012ed1a9b740e
-size 395985
diff --git a/dataset/geonames/allentries.parquet/country_code=EH/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=EH/data_0.parquet
deleted file mode 100644
index 49e0c6a..0000000
--- a/dataset/geonames/allentries.parquet/country_code=EH/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0a037986cb1835318f290b807eceedce126800cda1c0ce41c37d637db1196303
-size 6279
diff --git a/dataset/geonames/allentries.parquet/country_code=ER/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ER/data_0.parquet
deleted file mode 100644
index 4090b11..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ER/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:78f2a8f2db2a2dfb11563099243af027a2d069ae3ac1d4df7ab9b6a3e9fa4f7a
-size 58867
diff --git a/dataset/geonames/allentries.parquet/country_code=ES/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ES/data_0.parquet
deleted file mode 100644
index 2f3bca4..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ES/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c915656302f935dc381ccb7f70556e5dbf45abad3614012d3c028728189676e5
-size 1953468
diff --git a/dataset/geonames/allentries.parquet/country_code=ET/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ET/data_0.parquet
deleted file mode 100644
index 91c2205..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ET/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5e1721f03a20e144b3358e4c87b7dd0b969d37b13443c9721eb89e848b913bc4
-size 309552
diff --git a/dataset/geonames/allentries.parquet/country_code=FI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=FI/data_0.parquet
deleted file mode 100644
index 401cdb5..0000000
--- a/dataset/geonames/allentries.parquet/country_code=FI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:15514700d0ea6c5b7b5c67b46302efdc0bb78800a10f8c422f5249e7cf21a06e
-size 955278
diff --git a/dataset/geonames/allentries.parquet/country_code=FM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=FM/data_0.parquet
deleted file mode 100644
index ec05698..0000000
--- a/dataset/geonames/allentries.parquet/country_code=FM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:dc8c7cfde759db612709e2d07091af8592b4c9e8f691b8bffcadbb6873b79916
-size 28743
diff --git a/dataset/geonames/allentries.parquet/country_code=FO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=FO/data_0.parquet
deleted file mode 100644
index 9db0d97..0000000
--- a/dataset/geonames/allentries.parquet/country_code=FO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fc49e6a7a30c478eec6c2a09d326c29ad9f0831b85f4505a46e874f6967911ea
-size 16158
diff --git a/dataset/geonames/allentries.parquet/country_code=FR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=FR/data_0.parquet
deleted file mode 100644
index 62233d7..0000000
--- a/dataset/geonames/allentries.parquet/country_code=FR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c506183c92891b5eba9f1932092c7db9e0316255287d4bef6276c707749a14f0
-size 6792489
diff --git a/dataset/geonames/allentries.parquet/country_code=GA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GA/data_0.parquet
deleted file mode 100644
index 4d1ac22..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7a6c67bca1431ae0eb8db92ab410503c67c4c1791f749ab640e28d3f5fc038f6
-size 110434
diff --git a/dataset/geonames/allentries.parquet/country_code=GB/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GB/data_0.parquet
deleted file mode 100644
index 157ebce..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GB/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ce7bc8a0788d4a775907f12f4f559e0c27756ddea41e9b2fc9a4fca5421ea080
-size 2614434
diff --git a/dataset/geonames/allentries.parquet/country_code=GE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GE/data_0.parquet
deleted file mode 100644
index 76177b6..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0c58ea4dd5491ee7e7acf04ba8adf3166fba12768bf073ef5e5065edc448ca39
-size 193773
diff --git a/dataset/geonames/allentries.parquet/country_code=GH/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GH/data_0.parquet
deleted file mode 100644
index 06f5308..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GH/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7e6fa09d6b0162a1178f83b71ec658418e8eeb03da93ffa056ed299698e059df
-size 547048
diff --git a/dataset/geonames/allentries.parquet/country_code=GL/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GL/data_0.parquet
deleted file mode 100644
index 1639796..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GL/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1fb5091960b8887e327d0f88e95ab87824f24ae89964e8db782a7b7098e69062
-size 16329
diff --git a/dataset/geonames/allentries.parquet/country_code=GM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GM/data_0.parquet
deleted file mode 100644
index 8bfc16f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a20f5dbaa09ed26ff78148248c2322260921a3b30b58305855b18d25f27868f2
-size 57017
diff --git a/dataset/geonames/allentries.parquet/country_code=GN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GN/data_0.parquet
deleted file mode 100644
index 5b11e5c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f4c386505bac646b3039f35cb66c20970e66e16168b435567d58be2accf0cdaa
-size 206307
diff --git a/dataset/geonames/allentries.parquet/country_code=GP/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GP/data_0.parquet
deleted file mode 100644
index 268e7ce..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GP/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:04cb9680a486be188dc1415db1b988ff549a9834ee043334042faeea2e14b037
-size 57092
diff --git a/dataset/geonames/allentries.parquet/country_code=GQ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GQ/data_0.parquet
deleted file mode 100644
index 47e69b7..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GQ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:43c756314c456c4d2239aafdfad2606ff6a9f48360f9c65a4cda05e645471518
-size 65589
diff --git a/dataset/geonames/allentries.parquet/country_code=GR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GR/data_0.parquet
deleted file mode 100644
index 65dc9fd..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ce691a56852cd95888bec7e0d28d73710f1a73f4af6576afdd768ee87c52b342
-size 655205
diff --git a/dataset/geonames/allentries.parquet/country_code=GT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GT/data_0.parquet
deleted file mode 100644
index a95b7d8..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c8b6bb3297b2eaa34e4766ec191010bfbadcd45d50a82981484993e474013af5
-size 570500
diff --git a/dataset/geonames/allentries.parquet/country_code=GU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GU/data_0.parquet
deleted file mode 100644
index abcc23c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0c73264a2a9e04426446fd0811af67a96f476ef5d789d3aeaba687af117c70af
-size 12197
diff --git a/dataset/geonames/allentries.parquet/country_code=GW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GW/data_0.parquet
deleted file mode 100644
index 83c4c5f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:23d05e4117ee5ef043397577caabaa6595e8fb2d0914384b85330481fbe65ea6
-size 91553
diff --git a/dataset/geonames/allentries.parquet/country_code=GY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=GY/data_0.parquet
deleted file mode 100644
index 9b3bdfc..0000000
--- a/dataset/geonames/allentries.parquet/country_code=GY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:79dda14e8d09fe27bd6112fd42179f99a112b8630484bf98ee110b744c473139
-size 38498
diff --git a/dataset/geonames/allentries.parquet/country_code=HK/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=HK/data_0.parquet
deleted file mode 100644
index f6c1df0..0000000
--- a/dataset/geonames/allentries.parquet/country_code=HK/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0babfd0c1bf61fc2a984fb0b7c5d7e9e30f020388f033a42021326076bab86ec
-size 49453
diff --git a/dataset/geonames/allentries.parquet/country_code=HN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=HN/data_0.parquet
deleted file mode 100644
index 1fd34f1..0000000
--- a/dataset/geonames/allentries.parquet/country_code=HN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:284844dca027b35e39d093d6cbb4ceff6ec74f5b7465831994901eab42776aee
-size 407046
diff --git a/dataset/geonames/allentries.parquet/country_code=HR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=HR/data_0.parquet
deleted file mode 100644
index 1fe15c1..0000000
--- a/dataset/geonames/allentries.parquet/country_code=HR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:17220e8d6b19bde9b6ba4b17b308466b1c9c3d02b6e873ad29392a2c4411336f
-size 435330
diff --git a/dataset/geonames/allentries.parquet/country_code=HT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=HT/data_0.parquet
deleted file mode 100644
index f5809a4..0000000
--- a/dataset/geonames/allentries.parquet/country_code=HT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e04de295d0740a0cf9365ba9874fc3984e0af92ac21e80af5e3950d207459409
-size 361273
diff --git a/dataset/geonames/allentries.parquet/country_code=HU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=HU/data_0.parquet
deleted file mode 100644
index f636c4a..0000000
--- a/dataset/geonames/allentries.parquet/country_code=HU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1e6039018f95417f1dc2774d5dc92d0fbb5f9156ecf00302a7718f13df84407a
-size 452561
diff --git a/dataset/geonames/allentries.parquet/country_code=ID/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ID/data_0.parquet
deleted file mode 100644
index fa01981..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ID/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9fade08112f7c89472d959d2b04431f8cf8536b41beeaed165d22ca1a83cef6c
-size 10138861
diff --git a/dataset/geonames/allentries.parquet/country_code=IE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IE/data_0.parquet
deleted file mode 100644
index 686a314..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bf7205d8d4a77688e0ca4685c2adb3198e3a1c49ffbb060e940823acace926bd
-size 342958
diff --git a/dataset/geonames/allentries.parquet/country_code=IL/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IL/data_0.parquet
deleted file mode 100644
index 6715163..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IL/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d23132da2f734f5de8ecf087a60653b73395df6ddc28c712bd1ace2467bdef39
-size 80563
diff --git a/dataset/geonames/allentries.parquet/country_code=IN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IN/data_0.parquet
deleted file mode 100644
index c6f1fa3..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8a5c10301f188aace766ad6af458af47e2f81846914f13191632aae772afcf2f
-size 15307175
diff --git a/dataset/geonames/allentries.parquet/country_code=IO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IO/data_0.parquet
deleted file mode 100644
index 3f9d82d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e92fba6a909bb09bb6fbb14620c407171ef610c62e71225a0630f0d4c1dd6188
-size 4410
diff --git a/dataset/geonames/allentries.parquet/country_code=IQ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IQ/data_0.parquet
deleted file mode 100644
index 8c8bd64..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IQ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:13549448c8e4d17bee6823013e82919b64061f99766ca77f8a778188af616ede
-size 772182
diff --git a/dataset/geonames/allentries.parquet/country_code=IR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IR/data_0.parquet
deleted file mode 100644
index b8f7177..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2eba96cd111e017fc9d0570631e42ec1e5fef17a26757c1f7fe9a8e26c7a1fea
-size 2382709
diff --git a/dataset/geonames/allentries.parquet/country_code=IS/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IS/data_0.parquet
deleted file mode 100644
index 6afba23..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IS/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:84bc39fdaf6be4b15008075279aea6d20553da8cc2d10da8baa2e72b7360ed53
-size 24757
diff --git a/dataset/geonames/allentries.parquet/country_code=IT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=IT/data_0.parquet
deleted file mode 100644
index e110ea9..0000000
--- a/dataset/geonames/allentries.parquet/country_code=IT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4f1cf50538bd9302971f802d8c9cdf25b83c0c629a03537737144f7e9dead171
-size 3260616
diff --git a/dataset/geonames/allentries.parquet/country_code=JE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=JE/data_0.parquet
deleted file mode 100644
index 6748aa5..0000000
--- a/dataset/geonames/allentries.parquet/country_code=JE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0fa9297048f0760b642742c6def84456a1bfbd044caeb0273e384a63df1eb6e6
-size 9117
diff --git a/dataset/geonames/allentries.parquet/country_code=JM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=JM/data_0.parquet
deleted file mode 100644
index a741a1c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=JM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:15bc321a134e4d2bb0da5f43420ba30e788e3b5d8af4bb345c374a7539cc8570
-size 205893
diff --git a/dataset/geonames/allentries.parquet/country_code=JO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=JO/data_0.parquet
deleted file mode 100644
index f6875b8..0000000
--- a/dataset/geonames/allentries.parquet/country_code=JO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:23464aafda085c82d72808caa2d4da5acd555647a0794d048556f5bf4195fff3
-size 73333
diff --git a/dataset/geonames/allentries.parquet/country_code=JP/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=JP/data_0.parquet
deleted file mode 100644
index 1ef0ce3..0000000
--- a/dataset/geonames/allentries.parquet/country_code=JP/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6002c28408c3e76d63ba972e01bbae8859be178d389670c33d4995504a169519
-size 1695194
diff --git a/dataset/geonames/allentries.parquet/country_code=KE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KE/data_0.parquet
deleted file mode 100644
index 524fa9d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:687eebf808fd348692c5f079b4dea66563ccadbd3704f0ac78fc59d27bb6f7c9
-size 296672
diff --git a/dataset/geonames/allentries.parquet/country_code=KG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KG/data_0.parquet
deleted file mode 100644
index 88cf2f9..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cc0bd94bb4c9a3f9ea657d183d8e6010e5cb6424afd76f79ab7bfe45243a19ae
-size 91362
diff --git a/dataset/geonames/allentries.parquet/country_code=KH/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KH/data_0.parquet
deleted file mode 100644
index b64bb23..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KH/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:477c62033cb20759de7e697e41797df2fe7ac3464c18e0c9eb25e9fbb8fb5b1f
-size 597594
diff --git a/dataset/geonames/allentries.parquet/country_code=KI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KI/data_0.parquet
deleted file mode 100644
index f2433bb..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:25ba0488f62869fd25d2f0b10c27df984f6d48fca16107079956eedf7689b5d8
-size 15993
diff --git a/dataset/geonames/allentries.parquet/country_code=KM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KM/data_0.parquet
deleted file mode 100644
index 97e6c32..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ea9cc837c95d66c6bef7dd62a977d8eadb58bfe7e87529296b2debeb1b07b43c
-size 17112
diff --git a/dataset/geonames/allentries.parquet/country_code=KP/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KP/data_0.parquet
deleted file mode 100644
index ba2edc7..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KP/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:eecc1f88a11b52c8e174c309f42947559e67c7071b4e5094e729a143e2a7c704
-size 1012602
diff --git a/dataset/geonames/allentries.parquet/country_code=KR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KR/data_0.parquet
deleted file mode 100644
index e354688..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:af4c551c1042bbf10c2473a6fe11bb2f3d4ccc8b2fae698329d7880aa2ce459d
-size 2184942
diff --git a/dataset/geonames/allentries.parquet/country_code=KW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KW/data_0.parquet
deleted file mode 100644
index 35fcf5d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:700992c090311b348f627ad953cdef7b180569d0fbe4c76c14450c9452d6dc7a
-size 17011
diff --git a/dataset/geonames/allentries.parquet/country_code=KY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KY/data_0.parquet
deleted file mode 100644
index b607fe5..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1164110dba734e3af2e46649c9be15b96d88f418822d8a18d4d5918b75594bf5
-size 8795
diff --git a/dataset/geonames/allentries.parquet/country_code=KZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=KZ/data_0.parquet
deleted file mode 100644
index 348badc..0000000
--- a/dataset/geonames/allentries.parquet/country_code=KZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:db0582da9a60a308d98e8479f9618b32e235064009adadf397c1e73e4da1670b
-size 423113
diff --git a/dataset/geonames/allentries.parquet/country_code=LA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LA/data_0.parquet
deleted file mode 100644
index 1990bd9..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6e6a835a51288e39bb05131007324d33bffe5b9bc939771c727ddf293ac18df9
-size 425446
diff --git a/dataset/geonames/allentries.parquet/country_code=LB/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LB/data_0.parquet
deleted file mode 100644
index fb90b79..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LB/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:005e89e67607a4ec2c23881e57fda93236a9b3b973b5be21dcb247e2b8be19f3
-size 117403
diff --git a/dataset/geonames/allentries.parquet/country_code=LC/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LC/data_0.parquet
deleted file mode 100644
index 9dfafc5..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LC/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6064e90bea916138a0f89e899cb65bd5eb268590db66528f9f84564df40ccdc5
-size 54988
diff --git a/dataset/geonames/allentries.parquet/country_code=LI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LI/data_0.parquet
deleted file mode 100644
index aa3aed8..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7e58eecfb36c67cb18c2c982d07a71fd0fd89f789de5a0291e4a12a3b972d55b
-size 17261
diff --git a/dataset/geonames/allentries.parquet/country_code=LK/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LK/data_0.parquet
deleted file mode 100644
index bd73f53..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LK/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9ed176c0a2da93375b7f5e885ddf32f94a9269cc4320d25c3bc621bf5c0bdda2
-size 1760224
diff --git a/dataset/geonames/allentries.parquet/country_code=LR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LR/data_0.parquet
deleted file mode 100644
index f8fa06d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:588f4245ae833f1f30efab2a28e2274226095b7e494545d6dafb178f9cd5db88
-size 229294
diff --git a/dataset/geonames/allentries.parquet/country_code=LT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LT/data_0.parquet
deleted file mode 100644
index d60c30b..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:acff7a3af34b85b4b4abb96b0901a3c546c9b3eed2bd38de1027d5628a6cec68
-size 705424
diff --git a/dataset/geonames/allentries.parquet/country_code=LU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LU/data_0.parquet
deleted file mode 100644
index 3d35cbf..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5dd25d8f8ac9df94cfcc98b35e8105b4be0457e552b09135f61c4d0d5af2abc4
-size 39896
diff --git a/dataset/geonames/allentries.parquet/country_code=LV/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LV/data_0.parquet
deleted file mode 100644
index af5cfce..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LV/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7ad6e5d6f8c572d057964bf3f94cb7a45e53334c0ee1fd17b171e6e1f9a3ba4a
-size 333562
diff --git a/dataset/geonames/allentries.parquet/country_code=LY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=LY/data_0.parquet
deleted file mode 100644
index b181a93..0000000
--- a/dataset/geonames/allentries.parquet/country_code=LY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:965fbb05d7227a271fb04f96f57858f5bdb34461c1de0e21c64ab2e3619b40b3
-size 42474
diff --git a/dataset/geonames/allentries.parquet/country_code=MA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MA/data_0.parquet
deleted file mode 100644
index ef5bd78..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:683c8ed5beccf24141593910e4e597122d9402ffa3b996f999c531aeabb4d1f0
-size 1561562
diff --git a/dataset/geonames/allentries.parquet/country_code=MC/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MC/data_0.parquet
deleted file mode 100644
index 9ece64f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MC/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8b4211d325b90926edcd11eec628a5b30d3881c9c329803e2d9c8b185efbf5d2
-size 5860
diff --git a/dataset/geonames/allentries.parquet/country_code=MD/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MD/data_0.parquet
deleted file mode 100644
index f33728a..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MD/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4d740eea9988ca5d77b19c05183364f933ed27d76de7e7df6e140655db414a67
-size 69651
diff --git a/dataset/geonames/allentries.parquet/country_code=ME/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ME/data_0.parquet
deleted file mode 100644
index fc62986..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ME/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bee8fa26973a73b6c97541a79cf153e234a1602a7a9134475c712ab29b1dc58a
-size 107251
diff --git a/dataset/geonames/allentries.parquet/country_code=MF/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MF/data_0.parquet
deleted file mode 100644
index 1b54504..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MF/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a35d654df46e84346c9c964dd6c73e2941d89e8181a53b3ab4ee27181092b43f
-size 6969
diff --git a/dataset/geonames/allentries.parquet/country_code=MG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MG/data_0.parquet
deleted file mode 100644
index fa7c9aa..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:74b24267e4c98349030da4abd605eb888a2d86ee8c1f2f1184422745e0a45aca
-size 2552031
diff --git a/dataset/geonames/allentries.parquet/country_code=MH/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MH/data_0.parquet
deleted file mode 100644
index 2ea0914..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MH/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0683922c7b1684ad74921b8ac186c65ae1f26212e004d80df03fe3c5636cde71
-size 11688
diff --git a/dataset/geonames/allentries.parquet/country_code=MK/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MK/data_0.parquet
deleted file mode 100644
index 3eb04a4..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MK/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:81f499fa0e9c91fc293a43192409a06e5256e09acd35b788629d1c904a5d7060
-size 105215
diff --git a/dataset/geonames/allentries.parquet/country_code=ML/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ML/data_0.parquet
deleted file mode 100644
index 4e5b730..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ML/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f6af40e88a8c5bc788039fd3d76dbf24d8fc15470d53179811cb65959e8d624f
-size 458557
diff --git a/dataset/geonames/allentries.parquet/country_code=MM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MM/data_0.parquet
deleted file mode 100644
index 58f732d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bda5cf6b1259f5945d7d9aebfc3bdf06828219e3f65c72a5e6e426d66a4683c6
-size 1851651
diff --git a/dataset/geonames/allentries.parquet/country_code=MN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MN/data_0.parquet
deleted file mode 100644
index 53993de..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8d2c905d2e568c39650e109d02db4ab896653b5627fef7acb4953522f9b7d95e
-size 74066
diff --git a/dataset/geonames/allentries.parquet/country_code=MQ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MQ/data_0.parquet
deleted file mode 100644
index b1b22c4..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MQ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f0ed95bfa1b9b4dde5856cad7a1887183aeb638d2c382d1be83cb0be12293b60
-size 53092
diff --git a/dataset/geonames/allentries.parquet/country_code=MR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MR/data_0.parquet
deleted file mode 100644
index 9939939..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b1eb2e0ca581c047707be81df7785ef931f75c1d4cab8127d9d8c1b7da72da04
-size 264329
diff --git a/dataset/geonames/allentries.parquet/country_code=MS/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MS/data_0.parquet
deleted file mode 100644
index 60f0084..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MS/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cf97d2cf0d4e0e0ff37bb2eab8e3b1b6f11573628f8a496591338f5423b29d1e
-size 8528
diff --git a/dataset/geonames/allentries.parquet/country_code=MT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MT/data_0.parquet
deleted file mode 100644
index d4a27ed..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b48cd2817762d6d58f9d9249a81728f7d1207929d019230cef53e4d0b7a99675
-size 19674
diff --git a/dataset/geonames/allentries.parquet/country_code=MU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MU/data_0.parquet
deleted file mode 100644
index ead40f9..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cac0fbd40b6384badbbc5ed3f01e6a829d65f45249a03dbbfa642ae9e159da86
-size 25140
diff --git a/dataset/geonames/allentries.parquet/country_code=MV/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MV/data_0.parquet
deleted file mode 100644
index 15c6785..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MV/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d064644cce4b7ed45bf49a58e263fff5f81ffb532f0e865d9d5334aeeb9f86fa
-size 11382
diff --git a/dataset/geonames/allentries.parquet/country_code=MW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MW/data_0.parquet
deleted file mode 100644
index da23664..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f22a995126b879dc4fd46e0368c2b133026187b9602252d0d3bdb50817848e17
-size 236148
diff --git a/dataset/geonames/allentries.parquet/country_code=MX/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MX/data_0.parquet
deleted file mode 100644
index a444983..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MX/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5682117c0f7fdc2866628c56ef71d805a1fc06b02a3967c6e0d2da3122f5bb2c
-size 9792239
diff --git a/dataset/geonames/allentries.parquet/country_code=MY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MY/data_0.parquet
deleted file mode 100644
index cb47e0f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:07b219b2e7398709c83b9a03b6e621dd250428e3d080aba4ae57c45ed9e2abf2
-size 686546
diff --git a/dataset/geonames/allentries.parquet/country_code=MZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=MZ/data_0.parquet
deleted file mode 100644
index 7307355..0000000
--- a/dataset/geonames/allentries.parquet/country_code=MZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:31e31250aa5e8dd21e670624059d6960cb1f6592448bf5ca5ddd8675c0914bfa
-size 561322
diff --git a/dataset/geonames/allentries.parquet/country_code=NA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NA/data_0.parquet
deleted file mode 100644
index 444004a..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:24134f01468193de598088770bc4838521b84d1b392a4bc4681ffb217508d972
-size 100914
diff --git a/dataset/geonames/allentries.parquet/country_code=NC/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NC/data_0.parquet
deleted file mode 100644
index 50ec4e6..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NC/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c76c753a726027ce13d219b7445822444284f6e2df5de5be34d138fc18272a5a
-size 35088
diff --git a/dataset/geonames/allentries.parquet/country_code=NE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NE/data_0.parquet
deleted file mode 100644
index 7a72a18..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5fe653a303ee80ab13a2a352ea5ac2ec3b05a2d5f98c210c0c51b6550011944a
-size 384881
diff --git a/dataset/geonames/allentries.parquet/country_code=NF/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NF/data_0.parquet
deleted file mode 100644
index 0a43f5f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NF/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0f33f53514c34327a0a608f77883cb3c49fd0a657c87f040b2d463f229a214a4
-size 4248
diff --git a/dataset/geonames/allentries.parquet/country_code=NG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NG/data_0.parquet
deleted file mode 100644
index 93629aa..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8af07571ae18aa549ac5b29cd4ea270c9f4c1a3696295b4950228ec2b5980860
-size 2254581
diff --git a/dataset/geonames/allentries.parquet/country_code=NI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NI/data_0.parquet
deleted file mode 100644
index 474e1d8..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8684175c2a4b137b7af950c222a3f47b281dd5eac401a120eb785460f0669d86
-size 116358
diff --git a/dataset/geonames/allentries.parquet/country_code=NL/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NL/data_0.parquet
deleted file mode 100644
index 1302e4f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NL/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:678a71088fac705856722240fc7a87ef05b41d7983e99a3c1863185fcfad7a3d
-size 317168
diff --git a/dataset/geonames/allentries.parquet/country_code=NO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NO/data_0.parquet
deleted file mode 100644
index 26dec36..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4d98b605fd40ea84f1732f99afea3f35e3fe1b39d734541525bd761e63860e40
-size 494654
diff --git a/dataset/geonames/allentries.parquet/country_code=NP/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NP/data_0.parquet
deleted file mode 100644
index bf8a089..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NP/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:72f73160993f0729eb98ae5df20a0fb9043e68c427d72f068dea33b56e90a134
-size 3059360
diff --git a/dataset/geonames/allentries.parquet/country_code=NR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NR/data_0.parquet
deleted file mode 100644
index 85283f2..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f1bf21524308649ce61925c93b730381eafe33182f0e99dc810d49f87f5fae21
-size 6129
diff --git a/dataset/geonames/allentries.parquet/country_code=NU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NU/data_0.parquet
deleted file mode 100644
index c2f95b4..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b06f1b7bfe5e0506ee16f3a7504abb44af5e66d176bcc2c5e1abd410a706ebe9
-size 5743
diff --git a/dataset/geonames/allentries.parquet/country_code=NZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=NZ/data_0.parquet
deleted file mode 100644
index 80639af..0000000
--- a/dataset/geonames/allentries.parquet/country_code=NZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1f2235ad9a4b791b1bde307e6a3ec2659cb6335b97956ed77fc2a55828675679
-size 118071
diff --git a/dataset/geonames/allentries.parquet/country_code=OM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=OM/data_0.parquet
deleted file mode 100644
index 8755621..0000000
--- a/dataset/geonames/allentries.parquet/country_code=OM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ea6b3afeac038696cb094ea23442f82a0158bb792f2b2ce608cb9706484a87ee
-size 188172
diff --git a/dataset/geonames/allentries.parquet/country_code=PA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PA/data_0.parquet
deleted file mode 100644
index dce53bf..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:367a8e08f23c13cb3b80fb3fbbcbf366f85c7896433e0e08f43f4668c7217373
-size 601579
diff --git a/dataset/geonames/allentries.parquet/country_code=PE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PE/data_0.parquet
deleted file mode 100644
index dc911c2..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:47ff5e5f020726a05a7b76c5e403fb926428d982924e2e280eab1ee476959408
-size 1798463
diff --git a/dataset/geonames/allentries.parquet/country_code=PF/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PF/data_0.parquet
deleted file mode 100644
index 9f0d4a4..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PF/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3cd4d0462e7d5cd769d1bdeda9681966ddbb571dd05a85e411e9a60529f90884
-size 24786
diff --git a/dataset/geonames/allentries.parquet/country_code=PG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PG/data_0.parquet
deleted file mode 100644
index 1efc9ef..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:735ca86085f1dec41b4f4aa6c0873a2d5596bd77da163a157a6f512c11e25067
-size 341203
diff --git a/dataset/geonames/allentries.parquet/country_code=PH/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PH/data_0.parquet
deleted file mode 100644
index 50cad57..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PH/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a36b28273080f170240f02d6e8ff751d8351318554e9e0097fe92b2710611963
-size 2557980
diff --git a/dataset/geonames/allentries.parquet/country_code=PK/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PK/data_0.parquet
deleted file mode 100644
index 1866dd5..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PK/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d6a8cc8005ac1fb357bc77cd3055d1ba84d4252cc07d78719cc462b7f537f51f
-size 4125913
diff --git a/dataset/geonames/allentries.parquet/country_code=PL/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PL/data_0.parquet
deleted file mode 100644
index de1d058..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PL/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:aa9189ca38e837dcf491aefbbf74c106d1458fd04a35bbe0e391a162e048488e
-size 2145784
diff --git a/dataset/geonames/allentries.parquet/country_code=PR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PR/data_0.parquet
deleted file mode 100644
index 8206935..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:15f7ddf33a3f5f0dfb8db4b92763489b8067d73765b35b2df9980d23a7b75e1b
-size 182358
diff --git a/dataset/geonames/allentries.parquet/country_code=PS/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PS/data_0.parquet
deleted file mode 100644
index ebb228a..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PS/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f82c53e0e06b81502fb4d262bc60678acb116dbbde144861a9113ef9a9acfd7f
-size 52573
diff --git a/dataset/geonames/allentries.parquet/country_code=PT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PT/data_0.parquet
deleted file mode 100644
index 5220c70..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:20a3739d9621ff5482e90b53ba6f5d54ed48f570713ae826478ada23de814d13
-size 1055499
diff --git a/dataset/geonames/allentries.parquet/country_code=PW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PW/data_0.parquet
deleted file mode 100644
index 42a5d68..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3e10d955bc9030c7b9c8582ccb7ea18de6f57220cbc469d94798b8245ca4acd9
-size 10135
diff --git a/dataset/geonames/allentries.parquet/country_code=PY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=PY/data_0.parquet
deleted file mode 100644
index 97cd96b..0000000
--- a/dataset/geonames/allentries.parquet/country_code=PY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f98e56730b2cf96d9e3784a7b4fb261c1c6d9047ea545b80a9a109ed237fde8a
-size 775914
diff --git a/dataset/geonames/allentries.parquet/country_code=QA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=QA/data_0.parquet
deleted file mode 100644
index b5e0027..0000000
--- a/dataset/geonames/allentries.parquet/country_code=QA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:746bde3411577e2b3ceeaebf9a3258ef34207062ccac637a5ab2d031106fa399
-size 16533
diff --git a/dataset/geonames/allentries.parquet/country_code=RO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=RO/data_0.parquet
deleted file mode 100644
index 0255a7f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=RO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:59066f88c2df4f03f2ada0dcfa0858b78abc25cefde6aed2e96b7235b1729e09
-size 918336
diff --git a/dataset/geonames/allentries.parquet/country_code=RS/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=RS/data_0.parquet
deleted file mode 100644
index 0c22569..0000000
--- a/dataset/geonames/allentries.parquet/country_code=RS/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:149fa4fd555012e6d287405adfde16fb77645e30bc56bf7801f4baf8b4fb7aaa
-size 323406
diff --git a/dataset/geonames/allentries.parquet/country_code=RU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=RU/data_0.parquet
deleted file mode 100644
index 7b2fc44..0000000
--- a/dataset/geonames/allentries.parquet/country_code=RU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e36b2998da0cfc09c6ca226b414455ff362829776d9e79a3996268d6970ada60
-size 6018894
diff --git a/dataset/geonames/allentries.parquet/country_code=RW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=RW/data_0.parquet
deleted file mode 100644
index f4365b7..0000000
--- a/dataset/geonames/allentries.parquet/country_code=RW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ca8c422948cefec55abb1934a46031ee02595a549e9d54f5ea13f1041f3ab009
-size 531118
diff --git a/dataset/geonames/allentries.parquet/country_code=SA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SA/data_0.parquet
deleted file mode 100644
index 8a7a522..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2b5d58454e7f0894f62d0091b0c5e7e243cf818b97bc9bd34d08c92ad54b2a49
-size 171650
diff --git a/dataset/geonames/allentries.parquet/country_code=SB/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SB/data_0.parquet
deleted file mode 100644
index 8614335..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SB/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d222544830043d64091660c9311106e99ac52e02be4b70973ce6e270f4efaee9
-size 120460
diff --git a/dataset/geonames/allentries.parquet/country_code=SD/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SD/data_0.parquet
deleted file mode 100644
index 1ae8949..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SD/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:24dbd9a33c9aced058422c456dbb78681fe663f9d13d1515fc8cb3e9f689ddab
-size 243949
diff --git a/dataset/geonames/allentries.parquet/country_code=SE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SE/data_0.parquet
deleted file mode 100644
index 612ac68..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2e44ab46f97bce02f5087c0f437c27cf8038280f54a23b3987cab6a6b875c6e6
-size 1227429
diff --git a/dataset/geonames/allentries.parquet/country_code=SI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SI/data_0.parquet
deleted file mode 100644
index 663f7ec..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1b59e5895c37d909eefb52d5b74509590b2955babdbab6a7b3e96e1c5dfae641
-size 248522
diff --git a/dataset/geonames/allentries.parquet/country_code=SK/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SK/data_0.parquet
deleted file mode 100644
index adbc2c7..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SK/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7309a2ea5eb153a22236bec7edd3f11f1ecd73d5a515a543896174efb5c82346
-size 437843
diff --git a/dataset/geonames/allentries.parquet/country_code=SL/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SL/data_0.parquet
deleted file mode 100644
index 51a2a31..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SL/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6e01b07382fe7e9a85d6a3c8199f77c67837886db9d2a3c2385ef7bed0cb0cee
-size 373687
diff --git a/dataset/geonames/allentries.parquet/country_code=SN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SN/data_0.parquet
deleted file mode 100644
index c16ed78..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9fbdc6ac977231ff93f6c8f3b2d71f9e26ec346d055df7ce36dcfef914a70021
-size 349799
diff --git a/dataset/geonames/allentries.parquet/country_code=SO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SO/data_0.parquet
deleted file mode 100644
index 8eeedae..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3db5119f6f64232dedcb35ea242685b979fff776c2221ef27221b61a8f923807
-size 151218
diff --git a/dataset/geonames/allentries.parquet/country_code=SR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SR/data_0.parquet
deleted file mode 100644
index b674b75..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4560c0c04b09d41335ee4d50f03247fa35405dc343e610cbdbcd511a9dd705c1
-size 28719
diff --git a/dataset/geonames/allentries.parquet/country_code=SS/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SS/data_0.parquet
deleted file mode 100644
index 21dda57..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SS/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:70a1d2a1f5028c6032268a11cf76b826157e19f1c7a3b3e09cf492cda7eac18c
-size 168734
diff --git a/dataset/geonames/allentries.parquet/country_code=ST/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ST/data_0.parquet
deleted file mode 100644
index cac7c2a..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ST/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2eab24d062bfe3eef57fa93fc48f6d94dca3698722b4f2bafcb7608cc0100405
-size 26317
diff --git a/dataset/geonames/allentries.parquet/country_code=SV/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SV/data_0.parquet
deleted file mode 100644
index 5990162..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SV/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f26df3d1fa1b6e1defd9d42eee7884d8e9329d9d58bcba0e77ad440549ce74e4
-size 160884
diff --git a/dataset/geonames/allentries.parquet/country_code=SY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SY/data_0.parquet
deleted file mode 100644
index 653df51..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:23b30f7cb5f6a261ed2de86e0e04db7e204c50b6c6c03f90b51e9f433b44fefd
-size 388284
diff --git a/dataset/geonames/allentries.parquet/country_code=SZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=SZ/data_0.parquet
deleted file mode 100644
index 8416616..0000000
--- a/dataset/geonames/allentries.parquet/country_code=SZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c6e2b8b0a613f87add696ff759dbc2efd3d1d01d4e5d85347931d527352eea46
-size 31886
diff --git a/dataset/geonames/allentries.parquet/country_code=TC/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TC/data_0.parquet
deleted file mode 100644
index 8e6eef3..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TC/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:617c82e392fa8e87f1fd557008acf4771027ea5a1a2a678293c6f8c395691317
-size 5945
diff --git a/dataset/geonames/allentries.parquet/country_code=TD/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TD/data_0.parquet
deleted file mode 100644
index 5e59257..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TD/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b02a1aa9dc4dfe25a8d6717b679364c3b7f05185acadc5d3a5e2908c30a34c1f
-size 356853
diff --git a/dataset/geonames/allentries.parquet/country_code=TG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TG/data_0.parquet
deleted file mode 100644
index 8109206..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d1654254fe4f85232df6595e561c2d1ded5cb6e0bb5097736c8ba4869996a026
-size 93347
diff --git a/dataset/geonames/allentries.parquet/country_code=TH/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TH/data_0.parquet
deleted file mode 100644
index c0c741e..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TH/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b2ace468b945f568cae7590ed6360feefbffa4f85bc5a221562d60605cd8c264
-size 3695114
diff --git a/dataset/geonames/allentries.parquet/country_code=TJ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TJ/data_0.parquet
deleted file mode 100644
index f56b5d7..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TJ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9b04307d68013dbd85e612a5e1efa55c26e0aa5850a8633ce4f248d4c6f0d3d7
-size 100406
diff --git a/dataset/geonames/allentries.parquet/country_code=TL/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TL/data_0.parquet
deleted file mode 100644
index 3362f30..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TL/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a762cc0886d68d9709194064dc82f4b3d0bc2df2e2df9d963c4f6233c008088a
-size 147648
diff --git a/dataset/geonames/allentries.parquet/country_code=TM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TM/data_0.parquet
deleted file mode 100644
index dce8015..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:826393abb4a647f3eddac1c7cb5ac25fe872ddd9fb59885b86a87cb2a10e005c
-size 57777
diff --git a/dataset/geonames/allentries.parquet/country_code=TN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TN/data_0.parquet
deleted file mode 100644
index 516730c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:03c42c759de45c26a107fb3ed8ab519363e2caf789d87d921ae427143e7817f2
-size 265543
diff --git a/dataset/geonames/allentries.parquet/country_code=TO/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TO/data_0.parquet
deleted file mode 100644
index 6af4a39..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TO/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:db87c50d37c1352fa1e5d0a9f482853b4c10192e0afbd9c30a693efa49813d36
-size 12286
diff --git a/dataset/geonames/allentries.parquet/country_code=TR/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TR/data_0.parquet
deleted file mode 100644
index a7fefda..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TR/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7918c2d146095a44d53eca30d67013472cc014d9488f308ce539f93a6d6e6225
-size 2041189
diff --git a/dataset/geonames/allentries.parquet/country_code=TT/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TT/data_0.parquet
deleted file mode 100644
index 116560d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TT/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:aecf46521891ce444a5fa107e2bc94a400840c45c10d13ef2387e36ae2f11c66
-size 25286
diff --git a/dataset/geonames/allentries.parquet/country_code=TV/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TV/data_0.parquet
deleted file mode 100644
index bb4de3f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TV/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9f234ee2bfe117c1e9c7019ddb8f4f6ea4107a15416222bf516a54480c596b00
-size 6910
diff --git a/dataset/geonames/allentries.parquet/country_code=TW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TW/data_0.parquet
deleted file mode 100644
index 29cd626..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9ac9472ff3c4e28a8f7425e54d1c6b2b19e0f42190f3f785816a228d69de358c
-size 1144013
diff --git a/dataset/geonames/allentries.parquet/country_code=TZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=TZ/data_0.parquet
deleted file mode 100644
index 3f7700d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=TZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a095f522987736250479a4b4173f5f19da099687b87d1aed60183f097d3ef4a7
-size 554021
diff --git a/dataset/geonames/allentries.parquet/country_code=UA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=UA/data_0.parquet
deleted file mode 100644
index bf3fce3..0000000
--- a/dataset/geonames/allentries.parquet/country_code=UA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:987f70b3600def04e8e770fe73a54a105fc9894a9ccc65a07f154cdda473b49f
-size 1576842
diff --git a/dataset/geonames/allentries.parquet/country_code=UG/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=UG/data_0.parquet
deleted file mode 100644
index 0553e1f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=UG/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a9358dc6a70317aafb8c9fc4a975d9ad38f41e002677e41b63a03302209e0d7e
-size 641146
diff --git a/dataset/geonames/allentries.parquet/country_code=UM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=UM/data_0.parquet
deleted file mode 100644
index 4c9cc06..0000000
--- a/dataset/geonames/allentries.parquet/country_code=UM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a3192c7d9a602f45021e9b9d283c3d6d3180598e6b6fe0de6cfb4f45f3f8f640
-size 5941
diff --git a/dataset/geonames/allentries.parquet/country_code=US/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=US/data_0.parquet
deleted file mode 100644
index cfad8e3..0000000
--- a/dataset/geonames/allentries.parquet/country_code=US/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d8e294748798891f9bbb7c2811f215ff5bd2c8dd42cc3ef9225dfa7f430a647d
-size 10206795
diff --git a/dataset/geonames/allentries.parquet/country_code=UY/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=UY/data_0.parquet
deleted file mode 100644
index f4001c0..0000000
--- a/dataset/geonames/allentries.parquet/country_code=UY/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:dd66ac4607b0715fbbe00efa03a920878e1a7799fafccf6b47c3a70edabbde00
-size 56237
diff --git a/dataset/geonames/allentries.parquet/country_code=UZ/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=UZ/data_0.parquet
deleted file mode 100644
index c5a059c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=UZ/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:dd44d64d7b6c89d7d0952f92e27be9004564abe4ef44a0c9c793a81119461a6f
-size 247729
diff --git a/dataset/geonames/allentries.parquet/country_code=VE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=VE/data_0.parquet
deleted file mode 100644
index 3d25c55..0000000
--- a/dataset/geonames/allentries.parquet/country_code=VE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3be97b7481943b1ed1617a13ac30da21210cab98e0f384768dcbb14b0709d51d
-size 884331
diff --git a/dataset/geonames/allentries.parquet/country_code=VI/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=VI/data_0.parquet
deleted file mode 100644
index 369e82c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=VI/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9bf83a98099502a5415480b036042e7bba4aee5a47fcb3d4ad69b10e3de6bf30
-size 25198
diff --git a/dataset/geonames/allentries.parquet/country_code=VN/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=VN/data_0.parquet
deleted file mode 100644
index 8ccbb2d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=VN/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:adcd3bfe930e91ddf701548aa0f1aed213d8193e28e2b2c459fa88004896f1c3
-size 1875482
diff --git a/dataset/geonames/allentries.parquet/country_code=VU/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=VU/data_0.parquet
deleted file mode 100644
index 4eaa12d..0000000
--- a/dataset/geonames/allentries.parquet/country_code=VU/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:478d64a2e9e4fbc63919941b538983a391e71b6197b77bb40e3d99044c6377dd
-size 57078
diff --git a/dataset/geonames/allentries.parquet/country_code=WF/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=WF/data_0.parquet
deleted file mode 100644
index 33f4f67..0000000
--- a/dataset/geonames/allentries.parquet/country_code=WF/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ca7afbdad3fdd3526923d58fe331245b25fb182699e1c791fe287686cb8b8bdc
-size 11195
diff --git a/dataset/geonames/allentries.parquet/country_code=WS/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=WS/data_0.parquet
deleted file mode 100644
index eea721c..0000000
--- a/dataset/geonames/allentries.parquet/country_code=WS/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1157767e11286b4478572af183d307de8334cda055d61ce32814e3cc2c6d5799
-size 20677
diff --git a/dataset/geonames/allentries.parquet/country_code=XK/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=XK/data_0.parquet
deleted file mode 100644
index e2a6105..0000000
--- a/dataset/geonames/allentries.parquet/country_code=XK/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e8048a4426df5955b188e1bf5cbcc82b2b3787310ba76aa8f2cf1c1db2f5b9b3
-size 88472
diff --git a/dataset/geonames/allentries.parquet/country_code=YE/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=YE/data_0.parquet
deleted file mode 100644
index 51c744f..0000000
--- a/dataset/geonames/allentries.parquet/country_code=YE/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d66e04704032b216b9d6a2124936ca6f2f1b5fdfe4a3ed169e1110f17f13861b
-size 2290148
diff --git a/dataset/geonames/allentries.parquet/country_code=ZA/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ZA/data_0.parquet
deleted file mode 100644
index 18e0c46..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ZA/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fa257496675f37a28a88ba744fa6e084ca275f49097a073172c7e723384b0edc
-size 543444
diff --git a/dataset/geonames/allentries.parquet/country_code=ZM/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ZM/data_0.parquet
deleted file mode 100644
index 7a0c459..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ZM/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:443540749d6754c286481dbb2b1854bbbcb513744c47bc1ea7bf2e402c3cc3e7
-size 326172
diff --git a/dataset/geonames/allentries.parquet/country_code=ZW/data_0.parquet b/dataset/geonames/allentries.parquet/country_code=ZW/data_0.parquet
deleted file mode 100644
index 76367bc..0000000
--- a/dataset/geonames/allentries.parquet/country_code=ZW/data_0.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fb3b834f742ab1ed680522e84d12df24510e3096ffcb7d55b7546075982845c6
-size 75459
diff --git a/dataset/geonames/latlon_cache.parquet b/dataset/geonames/latlon_cache.parquet
deleted file mode 100644
index 0badad5..0000000
--- a/dataset/geonames/latlon_cache.parquet
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7a592c48e233f4b6848991b60714d25f30257855d8f77ae49fc35ba47a9c12b8
-size 483659
diff --git a/importer/geonames/__init__.py b/importer/geonames/__init__.py
index 797c0b4..ec92f85 100644
--- a/importer/geonames/__init__.py
+++ b/importer/geonames/__init__.py
@@ -1,28 +1,27 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*
-import sys
import wdalib
-provider = "geonames"
-repo_url = "https://download.geonames.org/export"
+PROVIDER = "geonames"
+REPO_URL = "https://download.geonames.org/export"
def download_countries():
- filename = f"./downloaded/{provider}/countryInfo.txt"
-
+ """Downloads the GeoNames country info file."""
+ filename = f"./downloaded/{PROVIDER}/countryInfo.txt"
wdalib.downloadFile(
- f"{repo_url}/dump/countryInfo.txt",
+ f"{REPO_URL}/dump/countryInfo.txt",
"countryInfo",
filename,
)
def download_allentries():
- filename = f"./downloaded/{provider}/allCountries.zip"
-
+ """Downloads and unzips the GeoNames allCountries archive."""
+ filename = f"./downloaded/{PROVIDER}/allCountries.zip"
wdalib.downloadFile(
- f"{repo_url}/dump/allCountries.zip",
+ f"{REPO_URL}/dump/allCountries.zip",
"allCountries",
filename,
)
@@ -30,22 +29,23 @@ def download_allentries():
print("=== Uncompressing allCountries.zip ===")
wdalib.unzipFile(
filename,
- f"./downloaded/{provider}",
+ f"./downloaded/{PROVIDER}",
)
def download():
- if not wdalib.isFolderOutdated(f"./downloaded/{provider}", 7 * 24):
+ """Downloads all required files if the folder is outdated."""
+ if not wdalib.isFolderOutdated(f"./downloaded/{PROVIDER}", 7 * 24):
return
- wdalib.init_download(provider)
- wdalib.show_title(f"Download {provider}")
+ wdalib.init_download(PROVIDER)
+ wdalib.show_title(f"Download {PROVIDER}")
download_countries()
download_allentries()
def update():
- wdalib.init_dataset(provider)
-
- wdalib.data2duckdb(provider)
+ """Updates the dataset for the provider."""
+ wdalib.init_dataset(PROVIDER)
+ wdalib.data2duckdb(PROVIDER)
diff --git a/importer/geonames/_data2duckdb.sql b/importer/geonames/_data2duckdb.sql
index ac6346d..ebc4b3a 100644
--- a/importer/geonames/_data2duckdb.sql
+++ b/importer/geonames/_data2duckdb.sql
@@ -1,9 +1,13 @@
+.mode box
+
SET memory_limit = '5GB';
SET threads = 4;
+PRAGMA enable_progress_bar;
+
+BEGIN TRANSACTION;
-- Countries
-DROP TABLE IF EXISTS geonames_countries;
-CREATE TABLE geonames_countries (
+CREATE OR REPLACE TABLE geonames_countries (
iso TEXT,
iso3 TEXT,
iso_numeric INTEGER,
@@ -60,8 +64,7 @@ INSERT INTO geonames_countries
-------------------------------------------------------------------------------
-- Load raw entries (feature_class A=admin, P=populated places)
-------------------------------------------------------------------------------
-DROP TABLE IF EXISTS geonames_raw;
-CREATE TABLE geonames_raw AS
+CREATE OR REPLACE TABLE geonames_raw AS
SELECT *
FROM read_csv(
'./downloaded/geonames/allCountries.txt',
@@ -95,8 +98,7 @@ CREATE TABLE geonames_raw AS
-------------------------------------------------------------------------------
-- Compute admin fullcodes in one pass
-------------------------------------------------------------------------------
-DROP TABLE IF EXISTS geonames_with_fullcodes;
-CREATE TABLE geonames_with_fullcodes AS
+CREATE OR REPLACE TABLE geonames_with_fullcodes AS
SELECT
-- geonames_fullcode: identifier for ADM1/ADM2/ADM3/ADM4 records used as JOIN keys
CASE feature_code
@@ -136,27 +138,22 @@ DROP TABLE geonames_raw;
-------------------------------------------------------------------------------
-- Build lookup tables for ADM1–ADM4 (small, indexed in memory by DuckDB)
-------------------------------------------------------------------------------
-DROP TABLE IF EXISTS geonames_adm1_lkp;
-CREATE TABLE geonames_adm1_lkp AS
+CREATE OR REPLACE TABLE geonames_adm1_lkp AS
SELECT id, name, geonames_fullcode FROM geonames_with_fullcodes WHERE feature_code = 'ADM1';
-DROP TABLE IF EXISTS geonames_adm2_lkp;
-CREATE TABLE geonames_adm2_lkp AS
+CREATE OR REPLACE TABLE geonames_adm2_lkp AS
SELECT id, name, geonames_fullcode FROM geonames_with_fullcodes WHERE feature_code = 'ADM2';
-DROP TABLE IF EXISTS geonames_adm3_lkp;
-CREATE TABLE geonames_adm3_lkp AS
+CREATE OR REPLACE TABLE geonames_adm3_lkp AS
SELECT id, name, geonames_fullcode FROM geonames_with_fullcodes WHERE feature_code = 'ADM3';
-DROP TABLE IF EXISTS geonames_adm4_lkp;
-CREATE TABLE geonames_adm4_lkp AS
+CREATE OR REPLACE TABLE geonames_adm4_lkp AS
SELECT id, name, geonames_fullcode FROM geonames_with_fullcodes WHERE feature_code = 'ADM4';
-------------------------------------------------------------------------------
-- Final table: resolve admin IDs and names in one hash-join pass
-------------------------------------------------------------------------------
-DROP TABLE IF EXISTS geonames_allentries;
-CREATE TABLE geonames_allentries AS
+CREATE OR REPLACE TABLE geonames_allentries AS
SELECT
ga.geonames_fullcode,
ga.id,
@@ -206,4 +203,36 @@ DROP TABLE geonames_adm4_lkp;
CREATE INDEX idx_geonames_allentries_lat_lon ON geonames_allentries (latitude, longitude);
COPY geonames_countries TO './dataset/geonames/raw/countries.parquet' (FORMAT 'parquet', COMPRESSION 'zstd');
-COPY geonames_allentries TO './dataset/geonames/raw/allentries.parquet' (FORMAT 'parquet', COMPRESSION 'zstd', PARTITION_BY (country_code));
+COPY geonames_allentries TO './dataset/geonames/raw/allentries.parquet' (FORMAT 'parquet', COMPRESSION 'zstd', PARTITION_BY (country_code), OVERWRITE_OR_IGNORE TRUE);
+
+-- Pre-aggregated summary parquets: read by the observable dataloader as 3 small
+-- R2 requests instead of fanning out across 388 country partitions.
+COPY (
+ SELECT
+ COUNT(*) AS total_entries,
+ COUNT(DISTINCT country_code) AS total_countries,
+ SUM(CASE WHEN feature_class = 'P' THEN 1 ELSE 0 END) AS populated_places,
+ SUM(CASE WHEN feature_class = 'A' THEN 1 ELSE 0 END) AS admin_entries,
+ SUM(CASE WHEN feature_class = 'P' AND population > 0
+ THEN population ELSE 0 END) AS total_population
+ FROM geonames_allentries
+) TO './dataset/geonames/observable/allentries-stats.parquet' (FORMAT 'parquet', COMPRESSION 'zstd');
+
+COPY (
+ SELECT feature_code, COUNT(*) AS count
+ FROM geonames_allentries
+ WHERE feature_class = 'P'
+ GROUP BY feature_code
+ ORDER BY count DESC
+ LIMIT 15
+) TO './dataset/geonames/observable/allentries-feature-codes.parquet' (FORMAT 'parquet', COMPRESSION 'zstd');
+
+COPY (
+ SELECT name, country_code, population, latitude, longitude
+ FROM geonames_allentries
+ WHERE feature_code = 'PPLC'
+ AND latitude IS NOT NULL AND longitude IS NOT NULL
+ ORDER BY population DESC NULLS LAST
+) TO './dataset/geonames/observable/allentries-capitals.parquet' (FORMAT 'parquet', COMPRESSION 'zstd');
+
+COMMIT;
diff --git a/importer/geonames/export_observable_parquets.sh b/importer/geonames/export_observable_parquets.sh
deleted file mode 100644
index b32583e..0000000
--- a/importer/geonames/export_observable_parquets.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-# Generate observable parquets for geonames (countries + allentries + latlon cache).
-# Output: dataset/geonames/observable/
-
-set -e
-
-RAW_DIR="./dataset/geonames/raw"
-OBS_DIR="./dataset/geonames/observable"
-
-mkdir -p "$OBS_DIR"
-
-echo "[geonames] Copying geonames parquets to observable/..."
-
-duckdb -c "
-COPY (SELECT * FROM read_parquet('${RAW_DIR}/countries.parquet'))
- TO '${OBS_DIR}/countries.parquet' (FORMAT parquet, COMPRESSION zstd);
-COPY (SELECT * FROM read_parquet('${RAW_DIR}/latlon_cache.parquet'))
- TO '${OBS_DIR}/latlon_cache.parquet' (FORMAT parquet, COMPRESSION zstd);
-"
-
-# allentries is partitioned by country_code — copy partition structure
-if [ -d "${RAW_DIR}/allentries.parquet" ]; then
- echo "[geonames] Copying allentries partitions..."
- rm -rf "${OBS_DIR}/allentries.parquet"
- cp -r "${RAW_DIR}/allentries.parquet" "${OBS_DIR}/allentries.parquet"
-fi
-
-COUNT=$(find "$OBS_DIR" -name "*.parquet" | wc -l)
-echo "[geonames] Done — ${COUNT} parquet files written to ${OBS_DIR}"
diff --git a/importer/release_github.sh b/importer/release_github.sh
index fa9375a..cd42be3 100755
--- a/importer/release_github.sh
+++ b/importer/release_github.sh
@@ -106,7 +106,7 @@ for dataset in $datasets; do
echo "," >> "$manifest_file"
fi
printf ' "%s": "%s"' "$github_name" "$rel" >> "$manifest_file"
- done < <(find "$upload_dir" -name "*.parquet" | sort)
+ done < <(find "$upload_dir" -name "*.parquet" -type f | sort)
done
echo "" >> "$manifest_file"
echo "}" >> "$manifest_file"
diff --git a/importer/vigilo/__init__.py b/importer/vigilo/__init__.py
index 85a0a29..4e1bb1e 100644
--- a/importer/vigilo/__init__.py
+++ b/importer/vigilo/__init__.py
@@ -131,5 +131,8 @@ def download():
def update():
wdalib.show_title(f"Update {provider}")
+
+ wdalib.downloadFromR2("geonames", subdir="raw")
wdalib.downloadFromR2(provider, subdir="raw")
+
wdalib.data2duckdb(provider)
diff --git a/importer/wdalib.py b/importer/wdalib.py
index 17b7a8b..19aa982 100644
--- a/importer/wdalib.py
+++ b/importer/wdalib.py
@@ -19,6 +19,7 @@ def init_download(provider):
def init_dataset(provider):
# shutil.rmtree(f"./dataset/{provider}", ignore_errors=True)
os.makedirs(f"./dataset/{provider}", exist_ok=True)
+ os.makedirs(f"./dataset/{provider}/observable", exist_ok=True)
def show_title(title):
diff --git a/observable/observablehq.config.js b/observable/observablehq.config.js
index b9d88dc..20edbf8 100644
--- a/observable/observablehq.config.js
+++ b/observable/observablehq.config.js
@@ -45,6 +45,15 @@ export default {
{ name: "Toutes les villes", path: "/vigilo/cities" },
],
},
+ {
+ name: "GeoNames",
+ datasets: ["geonames"],
+ open: false,
+ pages: [
+ { name: "Explorer les pays", path: "/geonames" },
+ { name: "Lieux géographiques", path: "/geonames-allentries" },
+ ],
+ },
{
name: "NAF Rév. 2",
datasets: ["nafrev2"],
diff --git a/observable/src/components/geonames-map.js b/observable/src/components/geonames-map.js
new file mode 100644
index 0000000..d5e3dc8
--- /dev/null
+++ b/observable/src/components/geonames-map.js
@@ -0,0 +1,293 @@
+import * as maplibregl from "npm:maplibre-gl";
+
+maplibregl.setWorkerUrl(
+ "https://unpkg.com/maplibre-gl@6.12.0/dist/maplibre-gl-worker.mjs",
+);
+
+// Antimeridian problem: TopoJSON→GeoJSON conversion keeps coordinates in their
+// original longitude range. Polygons that cross the 180°/-180° meridian (Russia,
+// Alaska, Fiji…) may have rings where one vertex is at +175° and the next at
+// -175°. On a flat Mercator projection this looks like a jump of 350°, causing
+// MapLibre to draw a giant triangle that cuts across the entire globe.
+//
+// unwrapRing makes consecutive longitudes continuous by adding/subtracting 360°
+// so that no two adjacent points differ by more than 180°. This prevents the
+// diagonal rendering artifact for most polygons.
+//
+// NOTE: unwrapRing alone is not a complete fix — it only handles rings whose
+// first vertex falls on the "right" side of the antimeridian. The definitive
+// solution is the globe projection (see createGeonamesMap below), which renders
+// the world as a sphere and wraps coordinates correctly without any coordinate
+// manipulation.
+function unwrapRing(ring) {
+ if (!ring || ring.length < 2) return ring;
+ const out = [[...ring[0]]];
+ for (let i = 1; i < ring.length; i++) {
+ const prev = out[i - 1];
+ const curr = [...ring[i]];
+ while (curr[0] - prev[0] > 180) curr[0] -= 360;
+ while (curr[0] - prev[0] < -180) curr[0] += 360;
+ out.push(curr);
+ }
+ return out;
+}
+
+export function fixGeometry(geometry) {
+ if (!geometry) return geometry;
+ if (geometry.type === "Polygon") {
+ return { ...geometry, coordinates: geometry.coordinates.map(unwrapRing) };
+ }
+ if (geometry.type === "MultiPolygon") {
+ return {
+ ...geometry,
+ coordinates: geometry.coordinates.map((poly) => poly.map(unwrapRing)),
+ };
+ }
+ return geometry;
+}
+
+function bluesLog(value, logMin, logMax) {
+ if (!value || value <= 0) return "#cccccc";
+ const logV = Math.log10(Math.max(value, Math.pow(10, logMin)));
+ const t = Math.max(0, Math.min(1, (logV - logMin) / (logMax - logMin)));
+ // Blues: #f7fbff → #08306b
+ const r = Math.round(247 + t * (8 - 247));
+ const g = Math.round(251 + t * (48 - 251));
+ const b = Math.round(255 + t * (107 - 255));
+ return `rgb(${r},${g},${b})`;
+}
+
+// YlBu two-hue palette for density — transitioning from yellow to cyan to dark
+// blue gives a strong perceptual range across the logarithmic scale while
+// keeping the warm/cool opposition intuitive (sparse = warm light, dense = cool dark).
+// Stops: #ffffd4 → #41b6c4 → #0c2c84
+const YLBU_STOPS = [
+ [255, 255, 212],
+ [65, 182, 196],
+ [12, 44, 132],
+];
+
+function ylbuLog(value, logMin, logMax) {
+ if (!value || value <= 0) return "#cccccc";
+ const logV = Math.log10(Math.max(value, Math.pow(10, logMin)));
+ const t = Math.max(0, Math.min(1, (logV - logMin) / (logMax - logMin)));
+ const pos = t * (YLBU_STOPS.length - 1);
+ const i = Math.min(Math.floor(pos), YLBU_STOPS.length - 2);
+ const f = pos - i;
+ const [r1, g1, b1] = YLBU_STOPS[i];
+ const [r2, g2, b2] = YLBU_STOPS[i + 1];
+ return `rgb(${Math.round(r1 + f * (r2 - r1))},${Math.round(
+ g1 + f * (g2 - g1),
+ )},${Math.round(b1 + f * (b2 - b1))})`;
+}
+
+function buildLegend(labelText, tickLabels, gradient) {
+ const wrap = document.createElement("div");
+ wrap.style.cssText =
+ "padding:8px 12px 4px;display:flex;flex-direction:column;gap:2px;";
+
+ const label = document.createElement("div");
+ label.textContent = labelText;
+ label.style.cssText = "font-size:11px;color:#aaa;margin-bottom:2px;";
+
+ const bar = document.createElement("div");
+ bar.style.cssText = `height:10px;width:240px;border-radius:2px;background:linear-gradient(to right,${gradient});`;
+
+ const ticks = document.createElement("div");
+ ticks.style.cssText =
+ "width:240px;display:flex;justify-content:space-between;font-size:10px;color:#aaa;margin-top:2px;";
+ tickLabels.forEach((t) => {
+ const s = document.createElement("span");
+ s.textContent = t;
+ ticks.appendChild(s);
+ });
+
+ wrap.append(label, bar, ticks);
+ return wrap;
+}
+
+function injectPopupStyles() {
+ if (document.getElementById("wda-geonames-popup-style")) return;
+ const style = document.createElement("style");
+ style.id = "wda-geonames-popup-style";
+ style.textContent = `
+ .wda-geonames-popup .maplibregl-popup-content {
+ background: #000;
+ color: #e0e0e0;
+ padding: 6px 10px;
+ border-radius: 4px;
+ font-size: 13px;
+ line-height: 1.4;
+ }
+ .wda-geonames-popup .maplibregl-popup-tip {
+ border-top-color: #000;
+ border-bottom-color: #000;
+ }
+ `;
+ document.head.appendChild(style);
+}
+
+// metric: "population" (default) | "density" (hab/km²)
+export async function createGeonamesMap(
+ container,
+ countries,
+ { metric = "population" } = {},
+) {
+ const { feature } = await import(
+ "https://cdn.jsdelivr.net/npm/topojson-client@3/+esm"
+ );
+ const world = await fetch(
+ "https://cdn.jsdelivr.net/npm/world-atlas@2/countries-110m.json",
+ ).then((r) => r.json());
+
+ const popByNumeric = new Map(countries.map((d) => [d.iso_numeric, d]));
+ const allFeatures = feature(world, world.objects.countries).features;
+
+ const isDensity = metric === "density";
+
+ // Compute the value used for coloring depending on metric
+ const getValue = (info) => {
+ if (isDensity) {
+ const pop = info.population ?? 0;
+ const area = info.area_km2 ?? 0;
+ return pop > 0 && area > 0 ? pop / area : 0;
+ }
+ return info.population ?? 0;
+ };
+
+ const values = countries.map(getValue).filter((v) => v > 0);
+ const logMin = isDensity ? Math.log10(0.1) : Math.log10(1e4);
+ const logMax = Math.log10(Math.max(...values));
+
+ const geojson = {
+ type: "FeatureCollection",
+ features: allFeatures.map((f) => {
+ const info = popByNumeric.get(+f.id) ?? {};
+ const value = getValue(info);
+ const density =
+ info.population > 0 && info.area_km2 > 0
+ ? info.population / info.area_km2
+ : 0;
+ return {
+ ...f,
+ geometry: fixGeometry(f.geometry),
+ properties: {
+ country: info.country ?? "",
+ population: info.population ?? 0,
+ area_km2: info.area_km2 ?? 0,
+ density,
+ fill: ylbuLog(value, logMin, logMax),
+ },
+ };
+ }),
+ };
+
+ // Insert legend just before the map container
+ const legendLabel = isDensity ? "Densité (hab/km²)" : "Population";
+ const legendTicks = isDensity
+ ? ["0,1", "1", "10", "100", "1 k", "10 k"]
+ : ["10 k", "100 k", "1 M", "10 M", "100 M", "1 Md"];
+ const legendColors = ["#ffffd4", "#41b6c4", "#0c2c84"];
+ const legendGradient = legendColors.join(",");
+ container.parentElement?.insertBefore(
+ buildLegend(legendLabel, legendTicks, legendGradient),
+ container,
+ );
+
+ // Store legend config so the PNG export can redraw it on canvas
+ container._wdaLegend = {
+ label: legendLabel,
+ ticks: legendTicks,
+ colors: legendColors,
+ };
+
+ // Globe projection (MapLibre GL v3+) is the definitive fix for antimeridian
+ // artifacts: it renders the world as a sphere so polygons that cross ±180°
+ // are drawn correctly without any coordinate manipulation.
+ const map = new maplibregl.Map({
+ container,
+ style: {
+ version: 8,
+ sources: {},
+ layers: [
+ {
+ id: "background",
+ type: "background",
+ paint: { "background-color": "#d4e9f7" },
+ },
+ ],
+ projection: { type: "globe" },
+ },
+ center: [10, 20],
+ zoom: 1.2,
+ minZoom: 0.5,
+ maxZoom: 10,
+ preserveDrawingBuffer: true,
+ attributionControl: false,
+ });
+
+ container._wdaMap = map;
+
+ await new Promise((resolve) => map.on("load", resolve));
+
+ map.addSource("countries", { type: "geojson", data: geojson });
+
+ map.addLayer({
+ id: "countries-fill",
+ type: "fill",
+ source: "countries",
+ paint: {
+ "fill-color": ["get", "fill"],
+ "fill-opacity": 0.9,
+ },
+ });
+
+ map.addLayer({
+ id: "countries-border",
+ type: "line",
+ source: "countries",
+ paint: {
+ "line-color": "#ffffff",
+ "line-width": 0.5,
+ "line-opacity": 0.8,
+ },
+ });
+
+ const popup = new maplibregl.Popup({
+ closeButton: false,
+ closeOnClick: false,
+ maxWidth: "220px",
+ className: "wda-geonames-popup",
+ });
+
+ injectPopupStyles();
+
+ map.on("mousemove", "countries-fill", (e) => {
+ map.getCanvas().style.cursor = "pointer";
+ const p = e.features[0].properties;
+ if (p.country) {
+ let html = `${p.country}
`;
+ if (isDensity) {
+ html +=
+ p.density > 0
+ ? `${Number(p.density).toLocaleString("fr-FR", {
+ maximumFractionDigits: 1,
+ })} hab/km²`
+ : "—";
+ } else {
+ html +=
+ p.population > 0
+ ? `${Number(p.population).toLocaleString("fr-FR")} hab.`
+ : "—";
+ }
+ popup.setLngLat(e.lngLat).setHTML(html).addTo(map);
+ }
+ });
+
+ map.on("mouseleave", "countries-fill", () => {
+ map.getCanvas().style.cursor = "";
+ popup.remove();
+ });
+
+ return map;
+}
diff --git a/observable/src/components/wda-chart-actions.js b/observable/src/components/wda-chart-actions.js
index 27f93cf..8138eeb 100644
--- a/observable/src/components/wda-chart-actions.js
+++ b/observable/src/components/wda-chart-actions.js
@@ -4,6 +4,44 @@ const ICON_FULLSCREEN = ``;
+function extractSwatches(block) {
+ const container = block.querySelector('[class*="-swatches"]');
+ if (!container) return [];
+ const swatches = [];
+ for (const item of container.querySelectorAll('[class*="-swatch"]')) {
+ const svg = item.querySelector("svg[fill]");
+ if (!svg) continue;
+ const color = svg.getAttribute("fill");
+ const clone = item.cloneNode(true);
+ clone.querySelectorAll("svg, style").forEach((el) => el.remove());
+ const label = clone.textContent.trim();
+ if (color && label) swatches.push({ color, label });
+ }
+ return swatches;
+}
+
+function layoutSwatches(swatches, availableW) {
+ if (!swatches.length) return { height: 0, rows: [] };
+ const tmp = document.createElement("canvas").getContext("2d");
+ tmp.font = "11px sans-serif";
+ const swatchSize = 12,
+ gap = 4,
+ itemPad = 16;
+ const rows = [[]];
+ let cx = 0;
+ for (const s of swatches) {
+ const tw = tmp.measureText(s.label).width;
+ const iw = swatchSize + gap + tw + itemPad;
+ if (rows[rows.length - 1].length > 0 && cx + iw > availableW) {
+ rows.push([]);
+ cx = 0;
+ }
+ rows[rows.length - 1].push({ ...s, iw });
+ cx += iw;
+ }
+ return { height: rows.length * 20 + 8, rows };
+}
+
function loadImage(url) {
return new Promise((resolve) => {
const img = new Image();
@@ -12,7 +50,13 @@ function loadImage(url) {
});
}
-async function composeAndDownload(contentW, contentH, drawContent, block) {
+async function composeAndDownload(
+ contentW,
+ contentH,
+ drawContent,
+ block,
+ swatches = [],
+) {
const titleText =
block.querySelector(".wda-chart-title")?.textContent?.trim() || "";
const subtitleText =
@@ -28,7 +72,10 @@ async function composeAndDownload(contentW, contentH, drawContent, block) {
const gapH = titleH || subtitleH ? 10 : 0;
const sourceH = sourceText ? 28 : 0;
const totalW = contentW + pad * 2;
- const totalH = pad + titleH + subtitleH + gapH + contentH + sourceH + pad;
+ const swatchLayout = layoutSwatches(swatches, contentW);
+ const swatchH = swatchLayout.height;
+ const totalH =
+ pad + titleH + subtitleH + gapH + swatchH + contentH + sourceH + pad;
const logoUrl = URL.createObjectURL(
new Blob([LOGO_SVG], { type: "image/svg+xml" }),
@@ -59,6 +106,23 @@ async function composeAndDownload(contentW, contentH, drawContent, block) {
}
y += gapH;
+ if (swatchLayout.rows.length > 0 && swatchH > 0) {
+ let sy = y + 2;
+ for (const row of swatchLayout.rows) {
+ let sx = pad;
+ for (const { color, label, iw } of row) {
+ ctx.fillStyle = color;
+ ctx.fillRect(sx, sy, 12, 12);
+ ctx.font = "11px sans-serif";
+ ctx.fillStyle = "#e0e0e0";
+ ctx.fillText(label, sx + 16, sy + 10);
+ sx += iw;
+ }
+ sy += 20;
+ }
+ y += swatchH;
+ }
+
drawContent(ctx, pad, y, contentW, contentH);
const logoW = 58,
@@ -90,24 +154,61 @@ async function composeAndDownload(contentW, contentH, drawContent, block) {
}
async function downloadChart(block) {
- // SVG chart
- const svg = [...block.querySelectorAll("svg")].find(
+ const swatches = extractSwatches(block);
+
+ // SVG chart — pick the largest by area to avoid selecting small legend ramps
+ const allSvgs = [...block.querySelectorAll("svg")].filter(
(s) => parseInt(s.getAttribute("width") || "0") > 100,
);
- if (svg) {
+ if (allSvgs.length) {
+ const svgArea = (s) =>
+ (s.viewBox?.baseVal?.width || s.clientWidth || 0) *
+ (s.viewBox?.baseVal?.height || s.clientHeight || 0);
+ allSvgs.sort((a, b) => svgArea(b) - svgArea(a));
+ const svg = allSvgs[0];
const svgW = svg.viewBox?.baseVal?.width || svg.clientWidth || 640;
const svgH = svg.viewBox?.baseVal?.height || svg.clientHeight || 400;
+
const serializer = new XMLSerializer();
const svgUrl = URL.createObjectURL(
new Blob([serializer.serializeToString(svg)], { type: "image/svg+xml" }),
);
const chartImg = await loadImage(svgUrl);
URL.revokeObjectURL(svgUrl);
+
+ // Capture color ramp legend (e.g. choropleth scale) if present
+ const rampSvg = block.querySelector('svg[class*="-ramp"]');
+ let rampImg = null,
+ rampW = 0,
+ rampH = 0;
+ if (rampSvg) {
+ rampW = rampSvg.viewBox?.baseVal?.width || rampSvg.clientWidth || 240;
+ rampH = rampSvg.viewBox?.baseVal?.height || rampSvg.clientHeight || 50;
+ // Replace currentColor with light color so text/ticks render on dark background
+ const rampSvgStr = serializer
+ .serializeToString(rampSvg)
+ .replaceAll("currentColor", "#e0e0e0");
+ const rampUrl = URL.createObjectURL(
+ new Blob([rampSvgStr], { type: "image/svg+xml" }),
+ );
+ rampImg = await loadImage(rampUrl);
+ URL.revokeObjectURL(rampUrl);
+ }
+
+ const extraH = rampImg ? rampH + 8 : 0;
await composeAndDownload(
svgW,
- svgH,
- (ctx, x, y, w, h) => ctx.drawImage(chartImg, x, y, w, h),
+ svgH + extraH,
+ (ctx, x, y, w, h) => {
+ if (rampImg) {
+ ctx.drawImage(rampImg, x, y, rampW, rampH);
+ ctx.drawImage(chartImg, x, y + rampH + 8, w, h - rampH - 8);
+ } else {
+ ctx.drawImage(chartImg, x, y, w, h);
+ }
+ },
block,
+ swatches,
);
return;
}
@@ -128,15 +229,49 @@ async function downloadChart(block) {
const rect = mapCanvas.getBoundingClientRect();
const dataUrl = mapCanvas.toDataURL();
const mapImg = await loadImage(dataUrl);
+
+ const legendData = mapEl?._wdaLegend;
+ const legendH = legendData ? 38 : 0;
+
await composeAndDownload(
rect.width,
- rect.height,
- (ctx, x, y, cw, ch) => ctx.drawImage(mapImg, x, y, cw, ch),
+ rect.height + legendH,
+ (ctx, x, y, cw, ch) => {
+ if (legendData) {
+ drawMapLegend(ctx, x, y, cw, legendData);
+ ctx.drawImage(mapImg, x, y + legendH, cw, ch - legendH);
+ } else {
+ ctx.drawImage(mapImg, x, y, cw, ch);
+ }
+ },
block,
+ swatches,
);
}
}
+function drawMapLegend(ctx, x, y, w, { label, ticks, colors }) {
+ const barW = Math.min(240, w);
+
+ ctx.font = "11px sans-serif";
+ ctx.fillStyle = "#aaaaaa";
+ ctx.fillText(label, x, y + 11);
+
+ const grad = ctx.createLinearGradient(x, 0, x + barW, 0);
+ colors.forEach((c, i) => grad.addColorStop(i / (colors.length - 1), c));
+ ctx.fillStyle = grad;
+ ctx.beginPath();
+ ctx.roundRect(x, y + 14, barW, 10, 2);
+ ctx.fill();
+
+ ctx.font = "10px sans-serif";
+ ctx.fillStyle = "#aaaaaa";
+ ticks.forEach((t, i) => {
+ const tx = x + (i / (ticks.length - 1)) * barW;
+ ctx.fillText(t, tx, y + 36);
+ });
+}
+
function shareChart(block) {
const title =
block.querySelector(".wda-chart-title")?.textContent?.trim() || "Chart";
diff --git a/observable/src/data/datasets-stats.json.js b/observable/src/data/datasets-stats.json.js
index c95bf04..4c7c131 100644
--- a/observable/src/data/datasets-stats.json.js
+++ b/observable/src/data/datasets-stats.json.js
@@ -1,5 +1,7 @@
import { parquetPath, sireneParquets, runDuckDBQuery, toJSON } from "./db.js";
+const geonamesCountries = parquetPath("geonames", "countries.parquet");
+
const vigiloObs = parquetPath("vigilo", "observations.parquet");
const vigiloScopes = parquetPath("vigilo", "scopes.parquet");
const sireneEts = sireneParquets();
@@ -55,6 +57,17 @@ const [nafrev2 = {}] = await runDuckDBQuery(
`,
);
+const [geonames = {}] = await runDuckDBQuery(
+ "datasets-stats-geonames",
+ `
+ SELECT
+ COUNT(*) AS total_countries,
+ COUNT(DISTINCT continent) AS total_continents,
+ SUM(population) AS total_population
+ FROM read_parquet('${geonamesCountries}')
+`,
+);
+
process.stdout.write(
toJSON([
{
@@ -77,5 +90,11 @@ process.stdout.write(
total_classes: Number(nafrev2.total_classes ?? 0),
total_sous_classes: Number(nafrev2.total_sous_classes ?? 0),
},
+ {
+ id: "geonames",
+ total_countries: Number(geonames.total_countries ?? 0),
+ total_continents: Number(geonames.total_continents ?? 0),
+ total_population: Number(geonames.total_population ?? 0),
+ },
]),
);
diff --git a/observable/src/data/db.js b/observable/src/data/db.js
index 1c44a78..3a80ac5 100644
--- a/observable/src/data/db.js
+++ b/observable/src/data/db.js
@@ -23,13 +23,13 @@ export const toJSON = (v) =>
// Returns parquet URL for a given provider and file (relative to raw/).
// Priority: local path > R2 > GitHub releases
-export function parquetPath(provider, file) {
+export function parquetPath(provider, file, subdir = "raw") {
if (process.env.WDA_DATASET_PATH) {
return path
- .join(process.env.WDA_DATASET_PATH, provider, "raw", file)
+ .join(process.env.WDA_DATASET_PATH, provider, subdir, file)
.replace(/\\/g, "/");
}
- const flatName = `raw__${file.replace(/\//g, "__")}`;
+ const flatName = `${subdir}__${file.replace(/\//g, "__")}`;
if (process.env.WDA_PUBLIC_DATASET_URL) {
return `${process.env.WDA_PUBLIC_DATASET_URL}/${provider}/${flatName}`;
}
@@ -83,6 +83,49 @@ export function sireneParquets(sections = null) {
return JSON.stringify(urls);
}
+// Returns { src, ccExpr } for querying allentries parquet partitions.
+// - src: SQL-ready expression for read_parquet(...)
+// - ccExpr: SQL expression that resolves to the country_code value
+//
+// Locally, hive_partitioning=true reconstructs country_code from the path.
+// Remotely, flat-named R2 files (country_code.FR) can't be parsed by DuckDB
+// hive partitioning, so we extract country_code via regexp on the filename.
+export async function allentriesParquets() {
+ if (process.env.WDA_DATASET_PATH) {
+ const glob = path
+ .join(
+ process.env.WDA_DATASET_PATH,
+ "geonames",
+ "raw",
+ "allentries.parquet",
+ "**",
+ "*.parquet",
+ )
+ .replace(/\\/g, "/");
+ return { src: `'${glob}', hive_partitioning=true`, ccExpr: "country_code" };
+ }
+ const base = process.env.WDA_PUBLIC_DATASET_URL
+ ? `${process.env.WDA_PUBLIC_DATASET_URL}/geonames`
+ : "https://github.com/badele/world-datas-analysis/releases/download/dataset-geonames";
+ const manifestUrl = process.env.WDA_PUBLIC_DATASET_URL
+ ? `${process.env.WDA_PUBLIC_DATASET_URL}/geonames/manifest-geonames.json`
+ : null;
+ if (manifestUrl) {
+ const manifest = await fetch(manifestUrl)
+ .then((r) => r.json())
+ .catch(() => ({}));
+ const urls = Object.keys(manifest)
+ .filter((k) => k.startsWith("raw__allentries.parquet__"))
+ .map((k) => `${base}/${k}`);
+ if (urls.length) {
+ // flat-name format: raw__allentries.parquet__country_code.FR__data_0.parquet
+ const ccExpr = `regexp_extract(filename, 'country_code\\.([A-Z]+)__', 1)`;
+ return { src: `${JSON.stringify(urls)}, filename=true`, ccExpr };
+ }
+ }
+ return null;
+}
+
export async function runDuckDBQuery(name, sql) {
return new Promise((resolve) => {
const db = new Database.Database(":memory:");
diff --git a/observable/src/data/geonames-allentries-summary.json.js b/observable/src/data/geonames-allentries-summary.json.js
new file mode 100644
index 0000000..d9ac686
--- /dev/null
+++ b/observable/src/data/geonames-allentries-summary.json.js
@@ -0,0 +1,136 @@
+import {
+ allentriesParquets,
+ parquetPath,
+ runDuckDBQuery,
+ toJSON,
+} from "./db.js";
+import { existsSync } from "fs";
+import { fileURLToPath } from "url";
+import path from "path";
+
+// Observable dev server runs from observable/, so resolve from this script's location
+// (observable/src/data/) up to the project root (../../../)
+const projectRoot = path.resolve(
+ path.dirname(fileURLToPath(import.meta.url)),
+ "../../..",
+);
+
+// ── Primary path: 3 pre-aggregated parquets (generated by `just update`) ────
+// These are 3 small R2 requests, avoiding the 388-file fan-out that causes HTTP 429.
+const statsParquet = parquetPath(
+ "geonames",
+ "allentries-stats.parquet",
+ "observable",
+);
+const featureCodesParquet = parquetPath(
+ "geonames",
+ "allentries-feature-codes.parquet",
+ "observable",
+);
+const capitalsParquet = parquetPath(
+ "geonames",
+ "allentries-capitals.parquet",
+ "observable",
+);
+
+const [statsRows, featureRows, capitalsRows] = await Promise.all([
+ runDuckDBQuery(
+ "allentries-stats",
+ `SELECT * FROM read_parquet(${JSON.stringify(statsParquet)})`,
+ ),
+ runDuckDBQuery(
+ "allentries-feature-codes",
+ `SELECT * FROM read_parquet(${JSON.stringify(featureCodesParquet)})`,
+ ),
+ runDuckDBQuery(
+ "allentries-capitals",
+ `SELECT * FROM read_parquet(${JSON.stringify(
+ capitalsParquet,
+ )}) ORDER BY population DESC NULLS LAST`,
+ ),
+]);
+
+// If the pre-aggregated parquets exist and returned data, use them directly.
+if (statsRows.length > 0 && capitalsRows.length > 0) {
+ process.stdout.write(
+ toJSON({
+ stats: statsRows[0] ?? {},
+ feature_codes: featureRows,
+ capitals: capitalsRows,
+ }),
+ );
+ process.exit(0);
+}
+
+// ── Fallback: full scan ──────────────────────────────────────────────────────
+// Used during local dev before `just update` has run, or on old releases that
+// predate the pre-aggregated parquets.
+
+let fromExpr, ccExpr;
+
+const rawFile = path.join(
+ projectRoot,
+ "downloaded",
+ "geonames",
+ "allCountries.txt",
+);
+const parquetResult = await allentriesParquets();
+
+if (parquetResult && process.env.WDA_DATASET_PATH) {
+ fromExpr = `read_parquet(${parquetResult.src})`;
+ ccExpr = parquetResult.ccExpr;
+} else if (existsSync(rawFile)) {
+ const cols =
+ `{'id':'INTEGER','name':'VARCHAR','asciiname':'VARCHAR','alternatenames':'VARCHAR',` +
+ `'latitude':'DOUBLE','longitude':'DOUBLE','feature_class':'VARCHAR','feature_code':'VARCHAR',` +
+ `'country_code':'VARCHAR','cc2':'VARCHAR','admin1_code':'VARCHAR','admin2_code':'VARCHAR',` +
+ `'admin3_code':'VARCHAR','admin4_code':'VARCHAR','population':'BIGINT',` +
+ `'elevation':'INTEGER','dem':'INTEGER','timezone':'VARCHAR','modification':'DATE'}`;
+ fromExpr = `read_csv('${rawFile}', delim='\\t', header=false, quote='', columns=${cols})`;
+ ccExpr = "country_code";
+} else if (parquetResult) {
+ fromExpr = `read_parquet(${parquetResult.src})`;
+ ccExpr = parquetResult.ccExpr;
+} else {
+ process.stdout.write(toJSON({ stats: {}, feature_codes: [], capitals: [] }));
+ process.exit(0);
+}
+
+const [fallbackStats, fallbackFeatures, fallbackCapitals] = await Promise.all([
+ runDuckDBQuery(
+ "allentries-stats",
+ `SELECT
+ COUNT(*) AS total_entries,
+ COUNT(DISTINCT ${ccExpr}) AS total_countries,
+ SUM(CASE WHEN feature_class = 'P' THEN 1 ELSE 0 END) AS populated_places,
+ SUM(CASE WHEN feature_class = 'A' THEN 1 ELSE 0 END) AS admin_entries,
+ SUM(CASE WHEN feature_class = 'P' AND population > 0
+ THEN population ELSE 0 END) AS total_population
+ FROM ${fromExpr}`,
+ ),
+ runDuckDBQuery(
+ "allentries-feature-codes",
+ `SELECT feature_code, COUNT(*) AS count
+ FROM ${fromExpr}
+ WHERE feature_class = 'P'
+ GROUP BY feature_code
+ ORDER BY count DESC
+ LIMIT 15`,
+ ),
+ runDuckDBQuery(
+ "allentries-capitals",
+ `SELECT name, ${ccExpr} AS country_code, population, latitude, longitude
+ FROM ${fromExpr}
+ WHERE feature_code = 'PPLC'
+ AND latitude IS NOT NULL AND longitude IS NOT NULL
+ ORDER BY population DESC NULLS LAST`,
+ ),
+]);
+
+process.stdout.write(
+ toJSON({
+ stats: fallbackStats[0] ?? {},
+ feature_codes: fallbackFeatures,
+ capitals: fallbackCapitals,
+ }),
+);
diff --git a/observable/src/data/geonames-countries.json.js b/observable/src/data/geonames-countries.json.js
new file mode 100644
index 0000000..e98eab3
--- /dev/null
+++ b/observable/src/data/geonames-countries.json.js
@@ -0,0 +1,16 @@
+import { runDuckDBLoader, parquetPath, toJSON } from "./db.js";
+
+const countries = parquetPath("geonames", "countries.parquet");
+
+try {
+ await runDuckDBLoader(
+ "geonames-countries",
+ `SELECT iso, iso3, iso_numeric, country, capital, continent, population, area_km2,
+ currency_code, currency_name, tld, languages, phone_prefix,
+ neighbours, geonameid
+ FROM read_parquet(${JSON.stringify(countries)})
+ ORDER BY country`,
+ );
+} catch {
+ process.stdout.write(toJSON([]));
+}
diff --git a/observable/src/geonames-allentries.md b/observable/src/geonames-allentries.md
new file mode 100644
index 0000000..4776397
--- /dev/null
+++ b/observable/src/geonames-allentries.md
@@ -0,0 +1,287 @@
+---
+title: GeoNames — Lieux géographiques
+---
+
+```js
+import * as maplibregl from "npm:maplibre-gl";
+import { fixGeometry } from "./components/geonames-map.js";
+import {
+ initChartActions,
+ initBlockActions,
+} from "./components/wda-chart-actions.js";
+```
+
+```js
+const summary = await FileAttachment(
+ "data/geonames-allentries-summary.json",
+).json();
+const countries = await FileAttachment("data/geonames-countries.json").json();
+```
+
+```js
+const { stats, feature_codes, capitals } = summary;
+const countryName = new Map(countries.map((d) => [d.iso, d.country]));
+
+const fmtN = (n) => (n != null ? Number(n).toLocaleString("fr-FR") : "—");
+
+const FEATURE_CODE_LABELS = {
+ PPLC: "Capitale nationale",
+ PPLA: "Chef-lieu régional (ADM1)",
+ PPLA2: "Chef-lieu de département (ADM2)",
+ PPLA3: "Chef-lieu d'arrondissement (ADM3)",
+ PPLA4: "Chef-lieu (ADM4)",
+ PPLA5: "Chef-lieu (ADM5)",
+ PPL: "Lieu habité (village, hameau…)",
+ PPLX: "Section ou quartier d'un lieu habité",
+ PPLF: "Village rural",
+ PPLL: "Lieu habité lacustre",
+ PPLQ: "Lieu habité abandonné",
+ PPLR: "Lieu habité religieux",
+ PPLS: "Lieu habité saisonnier",
+ PPLW: "Lieu habité détruit ou englouti",
+ PPLH: "Lieu habité historique",
+ PPLCH: "Siège de collectivité",
+ PPLG: "Siège de gouvernement",
+ STLMT: "Lieu habité (variante)",
+};
+```
+
+
Référentiel mondial des lieux habités et zones administratives — capitales, villes, villages et subdivisions pour ${fmtN(stats.total_countries)} pays.
+| Code | +Description | +Entrées | +
|---|---|---|
${d.feature_code} |
+ ${FEATURE_CODE_LABELS[d.feature_code] ?? d.feature_code} | +${Number(d.count).toLocaleString("fr-FR")} | +
Base de données mondiale des pays et entités géographiques, maintenue par GeoNames.org et utilisée comme référentiel de géolocalisation dans ce projet.
+| ISO | +Pays | +Capitale | +Continent | +Population | +Superficie | +Devise | +Domaine | +
|---|---|---|---|---|---|---|---|
${d.iso} |
+ ${d.country} | +${d.capital || "—"} | ++ ${CONTINENT_NAMES[d.continent] ?? d.continent ?? "—"} + | +${fmtPop(d.population)} | +${fmtArea(d.area_km2)} | +${d.currency_name || "—"} | +${d.tld || "—"} | +