halkyon/halkyon_learn_flutter/assets/maps/world_countries.geojson

1 line
1.7 MiB
Text
Raw Normal View History

feat(map): every country on earth, picked continent first Map questions can now be on the world's countries besides Japan's prefectures: a new question chooses its map above it. The world is Natural Earth's 1:50m countries (public domain), as they are on the ground, one region per ISO 3166-1 code (239; Gibraltar and the US Outlying Islands from the 1:10m layer, which has them), named in every language a studyset can be in from the Unicode CLDR (Unicode License v3, its notice in the licence list). tool/maps/world_countries.py builds it; the outline code it shares with the Japan script moved to outlines.py, which still writes Japan's file byte for byte. The 1.8 MB file is parsed off the screen's isolate. Picking goes in layers on both maps: on the whole map one taps a group (a continent, or Kantō, Kansai …; chips name them too) and the map flies there, then one taps the region; Back returns. A group of one (Hokkaidō, Okinawa) and what is in none (Antarctica) are picked at once. A country in two groups (Russia, Türkiye, Cyprus) opens the one nearer the tap. Oceania's frame runs past 180° so the Pacific stays in one piece. What is still too small to hit gets a ring, 48 dp of reach as Material's touch target: on the ring it is picked; near it, where the tap could mean it or its neighbours, the map zooms in rather than guess. Pinching and a mouse's wheel zoom as before. Names show in the app's language, beside them the map's own (Japanese for Japan) or the studyset's (キプロス beside Cyprus in a Japanese studyset). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-12 07:18:20 +02:00
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"code":"AD","names":{"ar":"أندورا","de":"Andorra","el":"Ανδόρα","en":"Andorra","es":"Andorra","fr":"Andorre","he":"אנדורה","hi":"एंडोरा","it":"Andorra","ja":"アンドラ","ko":"안도라","nl":"Andorra","pl":"Andora","pt":"Andorra","ru":"Андорра","sv":"Andorra","th":"อันดอร์รา","tr":"Andorra","uk":"Андорра","vi":"Andorra","zh-Hans":"安道尔","zh-Hant":"安道爾"},"label":[1.539,42.548]},"geometry":{"type":"MultiPolygon","coordinates":[[[[1.706,42.503],[1.679,42.497],[1.586,42.456],[1.534,42.442],[1.486,42.434],[1.449,42.437],[1.428,42.461],[1.43,42.498],[1.422,42.531],[1.415,42.548],[1.428,42.596],[1.459,42.622],[1.501,42.643],[1.568,42.635],[1.71,42.604],[1.739,42.576],[1.74,42.557],[1.714,42.526],[1.706,42.503]]]]}},{"type":"Feature","properties":{"code":"AE","names":{"ar":"الإمارات العربية المتحدة","de":"Vereinigte Arabische Emirate","el":"Ηνωμένα Αραβικά Εμιράτα","en":"United Arab Emirates","es":"Emiratos Árabes Unidos","fr":"Émirats arabes unis","he":"איחוד האמירויות הערביות","hi":"संयुक्त अरब अमीरात","it":"Emirati Arabi Uniti","ja":"アラブ首長国連邦","ko":"아랍에미리트","nl":"Verenigde Arabische Emiraten","pl":"Zjednoczone Emiraty Arabskie","pt":"Emirados Árabes Unidos","ru":"ОАЭ","sv":"Förenade Arabemiraten","th":"สหรัฐอาหรับเอมิเรตส์","tr":"Birleşik Arap Emirlikleri","uk":"Обʼєднані Арабські Емірати","vi":"Các Tiểu Vương quốc Ả Rập Thống nhất","zh-Hans":"阿拉伯联合酋长国","zh-Hant":"阿拉伯聯合大公國"},"label":[54.547,23.466]},"geometry":{"type":"MultiPolygon","coordinates":[[[[56.298,25.651],[56.363,25.569],[56.373,25.018],[56.388,24.979],[56.353,24.973],[56.314,24.931],[56.268,24.867],[56.205,24.833],[56.154,24.796],[56.107,24.749],[56.064,24.739],[56.008,24.798],[55.97,24.859],[55.98,24.872],[56.006,24.876],[56.017,24.908],[56.001,24.953],[55.963,24.97],[55.916,24.972],[55.871,24.951],[55.823,24.911],[55.796,24.868],[55.792,24.781],[55.804,24.684],[55.804,24.636],[55.778,24.577],[55.768,24.491],[55.787,24.424],[55.804,24.384],[55.806,24.35],[55.761,24.243],[55.8,24.223],[55.929,24.215],[55.966,24.143],[55.992,24.093],[55.985,24.063],[55.894,24.041],[55.779,24.017],[55.697,24.024],[55.548,23.991],[55.468,23.941],[55.492,23.91],[55.519,23.885],[55.532,23.819],[55.508,23.725],[55.466,23.633],[55.414,23.519],[55.353,23.387],[55.27,23.19],[55.2,23.035],[55.192,22.923],[55.194,22.85],[55.186,22.704],[55.119,22.624],[55.104,22.621],[55.025,22.631],[54.998,22.634],[54.922,22.644],[54.805,22.658],[54.652,22.677],[54.472,22.699],[54.27,22.723],[54.055,22.75],[53.832,22.777],[53.61,22.804],[53.394,22.83],[53.192,22.855],[53.012,22.877],[52.859,22.896],[52.742,22.91],[52.666,22.919],[52.639,22.923],[52.555,22.933],[52.51,22.987],[52.455,23.052],[52.4,23.118],[52.345,23.183],[52.29,23.249],[52.235,23.314],[52.179,23.38],[52.125,23.445],[52.069,23.511],[52.014,23.576],[51.959,23.642],[51.904,23.708],[51.849,23.773],[51.794,23.838],[51.739,23.904],[51.684,23.97],[51.629,24.035],[51.593,24.079],[51.572,24.128],[51.568,24.258],[51.568,24.286],[51.605,24.338],[51.623,24.301],[51.665,24.25],[51.735,24.263],[51.768,24.254],[51.792,24.075],[51.843,24.011],[51.906,23.985],[52.119,23.971],[52.251,23.995],[52.511,24.113],[52.648,24.155],[53.026,24.147],[53.33,24.098],[53.802,24.069],[53.893,24.077],[54.148,24.171],[54.304,24.254],[54.397,24.278],[54.458,24.358],[54.499,24.463],[54.535,24.531],[54.58,24.564],[54.624,24.621],[54.659,24.716],[54.747,24.81],[55.098,25.042],[55.304,25.237],[55.322,25.3],[55.433,25.394],[55.523,25.498],[55.941,25.794],[56.025,25.916],[56.075,26.053],[56.08,26.063],[56.117,26.068],[56.167,26.047],[56.173,25.945],[56.154,25.848],[56.152,25.746],[56.145,25.691],[56.184,25.645],[56.25,25.625],[56.279,25.628],[56.298,25.651]],[[56.282,25.236],[56.288,25.279],[56.277,