Twitter (X) を眺めていると、こんなのが流れてきていました。
https://twitter.com/kotisahoika/status/1938586854699512104?ref_src=twsrc%5Etfw リプライでかなりの駅名が挙げられていますが、まあプログラマで片足鉄っちゃんに突っ込みかけている私としては自動でなんかやりたくなりますよね。
ということで、公開されているデータを集めて抽出してみます。
まず、抽出条件が曖昧なので、整理する必要があります。これはもはや定義なので、人によって含める含めないなどの派閥があると思います。受け入れてください。
別に受け入れなくてもいいですが、決めないと始まらないので。
一番論争になりそうなアルファベットに関してはもう受け入れない人はその駅をなかったことにしてくれればそれでいいです。
- 「小学校1年生までにならう漢字」は、文部科学省のリストに従います。 https://www.mext.go.jp/a_menu/shotou/new-cs/youryou/syo/koku/001.htm 閲覧時点で「一 右 雨 円 王 音 下 火 花 貝 学 気 九 休 玉 金 空 月 犬 見 五 口 校 左 三 山 子 四 糸 字 耳 七 車 手 十 出 女 小 上 森 人 水 正 生 青 夕 石 赤 千 川 先 早 草 足 村 大 男 竹 中 虫 町 天 田 土 二 日 入 年 白 八 百 文 木 本 名 目 立 力 林 六(80字)」だそうです。
- 「ひらがな」「カタカナ」「数字」は使用して良いとします。
- 「アルファベット(ローマ字)」も使用して良いとします。
- 「ヶ」「ヵ」はカタカナであるとみなします(「ヶ」=「个」という立場を取りません)。
- 会社名や路線名はこの判定に利用しないものとします。
また、実装上の都合(めんどくさい)やデータソースの都合上、次のような制約があります。
- 同名かつほぼ同じ地点にある駅をまとめていません。会社が同じであっても路線が違うものなど実質完全に同一の駅でも複数回掲載されているものがあります。
- 駅名のデータは https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N02-v2_3.html から令和2年のデータを取得して利用しています。
- 令和2年(のある時点)以降に開業・廃止・改名等された駅は反映されていません。例えば、スカイレールサービスが掲載されています。
- 会社名や路線名は上述のデータに掲載のものをそのまま掲載しています。一般に知られている名称と違う場合があります(例えば、「つくばエクスプレス線」が「首都圏新都市鉄道・常磐新線」となっています)
ということで抽出したリストいきましょう。
JR三山木 (西日本旅客鉄道・片町線)[34.79899, 135.78427] Jヴィレッジ (東日本旅客鉄道・常磐線)[37.24274, 141.00748] あかおか (土佐くろしお鉄道・阿佐線)[33.53999, 133.72178] あかぢ (平成筑豊鉄道・伊田線)[33.72688, 130.72453] あさぎり (くま川鉄道・湯前線)[32.23603, 130.89342] あぶくま (阿武隈急行・阿武隈急行線)[37.91372, 140.68613] アプトいちしろ (大井川鐵道・井川線)[35.16724, 138.14476] あまや (会津鉄道・会津線)[37.41750, 139.91754] いこいの村 (九州旅客鉄道・豊肥線)[32.93667, 131.09494] いずえ (井原鉄道・井原線)[34.58803, 133.45105] いのつき (松浦鉄道・西九州線)[33.28263, 129.66747] いよ立花 (伊予鉄道・横河原線)[33.82766, 132.77333] いりなか (名古屋市・3号線鶴舞線)[35.14363, 136.95484] いわき (東日本旅客鉄道・磐越東線)[37.05825, 140.89408] いわき (東日本旅客鉄道・常磐線)[37.05825, 140.89408] うきは (九州旅客鉄道・久大線)[33.33500, 130.78872] うらがわら (北越急行・ほくほく線)[37.15914, 138.41937] えびの (九州旅客鉄道・吉都線)[32.04217, 130.81686] おもちゃのまち (東武鉄道・宇都宮線)[36.46621, 139.82936] おもろまち (沖縄都市モノレール・沖縄都市モノレール線)[26.22243, 127.69848] おりはた (山形鉄道・フラワー長井線)[38.06668, 140.12280] オレンジタウン (四国旅客鉄道・高徳線)[34.30205, 134.18063] かぶと山 (WILLER TRAINS・宮津線)[35.60675, 134.91946] くぬぎ山 (新京成電鉄・新京成線)[35.78279, 139.97582] くびき (北越急行・ほくほく線)[37.19838, 138.36132] コスモスクエア (大阪市高速電気軌道・4号線(中央線))[34.64243, 135.41182] コスモスクエア (大阪市高速電気軌道・南港ポートタウン線)[34.64243, 135.41182] ささしまライブ (名古屋臨海高速鉄道・西名古屋港線)[35.16257, 136.88254] さっぽろ (札幌市・東豊線)[43.06555, 141.35406] さっぽろ (札幌市・南北線)[43.06526, 141.35082] ししぶ (九州旅客鉄道・鹿児島線)[33.72105, 130.45752] しんざ (北越急行・ほくほく線)[37.13984, 138.76803] すえたちばな (松浦鉄道・西九州線)[33.31616, 129.61383] すすきの (札幌市・南北線)[43.05466, 141.35351] すすきの (札幌市交通事業振興公社・都心線)[43.05552, 141.35242] すすきの (札幌市交通事業振興公社・山鼻線)[43.05552, 141.35242] つきのわ (東武鉄道・東上本線)[36.04338, 139.34516] つくば (首都圏新都市鉄道・常磐新線)[36.08197, 140.10956] テクノさかき (しなの鉄道・しなの鉄道線)[36.44120, 138.18807] トマム (北海道旅客鉄道・石勝線)[43.05599, 142.61161] ニセコ (北海道旅客鉄道・函館線)[42.80944, 140.68579] のいち (土佐くろしお鉄道・阿佐線)[33.56199, 133.69736] ハウステンボス (九州旅客鉄道・大村線)[33.09174, 129.79663] ひぐち (真岡鐵道・真岡線)[36.35814, 139.97035] ひらんだ (大井川鐵道・井川線)[35.16488, 138.16760] ふれあい生力 (平成筑豊鉄道・伊田線)[33.70001, 130.76566] ほしみ (北海道旅客鉄道・函館線)[43.13332, 141.19209] ほっとゆだ (東日本旅客鉄道・北上線)[39.31422, 140.77526] マキノ (西日本旅客鉄道・湖西線)[35.46175, 136.06081] まつだい (北越急行・ほくほく線)[37.13223, 138.61439] みどりの (首都圏新都市鉄道・常磐新線)[36.02935, 140.05608] みどり口 (スカイレールサービス・広島短距離交通瀬野線)[34.42210, 132.59631] みなとじま (神戸新交通・ポートアイランド線)[34.66876, 135.21018] みなとみらい (横浜高速鉄道・みなとみらい21線)[35.45847, 139.63183] みの (四国旅客鉄道・予讃線)[34.20616, 133.71042] もたて山 (比叡山鉄道・比叡山鉄道線)[35.06741, 135.84666] よしかわ (土佐くろしお鉄道・阿佐線)[33.54623, 133.71016] りんくうタウン (西日本旅客鉄道・関西空港線)[34.41143, 135.29887] りんくうタウン (南海電気鉄道・空港線)[34.41143, 135.29887] 一ツ木 (名古屋鉄道・名古屋本線)[35.01333, 137.02580] 円町 (西日本旅客鉄道・山陰線)[35.01828, 135.72981] 円田 (天竜浜名湖鉄道・天竜浜名湖線)[34.82099, 137.90786] 王子 (東京地下鉄・7号線南北線)[35.75355, 139.73779] 王子 (東日本旅客鉄道・東北線)[35.75302, 139.73751] 下金山 (北海道旅客鉄道・根室線)[43.19710, 142.41544] 下山 (西日本旅客鉄道・山陰線)[35.21269, 135.42232] 下山 (土佐くろしお鉄道・阿佐線)[33.45890, 133.94772] 下山口 (西武鉄道・狭山線)[35.77928, 139.44084] 下山村 (東海旅客鉄道・飯田線)[35.50430, 137.83938] 下小川 (東日本旅客鉄道・水郡線)[36.66943, 140.38718] 下田 (青い森鉄道・青い森鉄道線)[40.59238, 141.40725] 下立 (富山地方鉄道・本線)[36.85763, 137.54182] 下立口 (富山地方鉄道・本線)[36.85942, 137.53336] 花山 (神戸電鉄・有馬線)[34.76985, 135.18755] 花田口 (阪堺電気軌道・阪堺線)[34.58192, 135.47709] 貝田 (東日本旅客鉄道・東北線)[37.90876, 140.58173] 学 (四国旅客鉄道・徳島線)[34.05766, 134.28794] 学田 (北海道旅客鉄道・富良野線)[43.36622, 142.38622] 気山 (西日本旅客鉄道・小浜線)[35.58450, 135.90955] 玉手 (西日本旅客鉄道・和歌山線)[34.45843, 135.74785] 玉出 (大阪市高速電気軌道・3号線(四つ橋線))[34.62345, 135.49032] 玉水 (西日本旅客鉄道・奈良線)[34.80014, 135.80698] 玉川 (大阪市高速電気軌道・5号線(千日前線))[34.69010, 135.47582] 玉川 (東日本旅客鉄道・八戸線)[40.38074, 141.73484] 玉川上水 (西武鉄道・拝島線)[35.73167, 139.41945] 玉川上水 (多摩都市モノレール・多摩都市モノレール線)[35.73189, 139.41778] 玉川村 (東日本旅客鉄道・水郡線)[36.57871, 140.37438] 玉村 (関東鉄道・常総線)[36.13584, 139.96999] 玉名 (九州旅客鉄道・鹿児島線)[32.92604, 130.54997] 金山 (東海旅客鉄道・中央線)[35.14362, 136.89980] 金山 (東海旅客鉄道・東海道線)[35.14241, 136.90183] 金山 (福岡市・3号線(七隈線))[33.55875, 130.36129] 金山 (北海道旅客鉄道・根室線)[43.13586, 142.41617] 金山 (名古屋市・4号線名城線)[35.14356, 136.90169] 金山 (名古屋市・2号線名城線)[35.14356, 136.90169] 金山 (名古屋市・2号線名港線)[35.14356, 136.90169] 金山 (名古屋鉄道・名古屋本線)[35.14253, 136.90215] 金子 (東日本旅客鉄道・八高線)[35.81033, 139.32885] 金手 (東海旅客鉄道・身延線)[35.66245, 138.57858] 金上 (ひたちなか海浜鉄道・湊線)[36.38282, 140.53326] 金川 (西日本旅客鉄道・津山線)[34.79260, 133.93367] 金町 (東日本旅客鉄道・常磐線)[35.76961, 139.87152] 金田 (平成筑豊鉄道・伊田線)[33.68323, 130.77586] 金田 (平成筑豊鉄道・糸田線)[33.68323, 130.77586] 金木 (津軽鉄道・津軽鉄道線)[40.90342, 140.46011] 月見山 (山陽電気鉄道・本線)[34.65047, 135.12247] 月田 (西日本旅客鉄道・姫新線)[35.04854, 133.66689] 犬山 (名古屋鉄道・広見線)[35.38052, 136.94573] 犬山 (名古屋鉄道・犬山線)[35.38052, 136.94573] 犬山 (名古屋鉄道・小牧線)[35.38052, 136.94573] 犬山口 (名古屋鉄道・犬山線)[35.37434, 136.94033] 犬川 (東日本旅客鉄道・米坂線)[38.02495, 140.05224] 五ノ三 (名古屋鉄道・尾西線)[35.12898, 136.71136] 五十石 (北海道旅客鉄道・釧網線)[43.23847, 144.54536] 五十川 (東日本旅客鉄道・羽越線)[38.67049, 139.61573] 五日町 (東日本旅客鉄道・上越線)[37.11896, 138.90790] 五百石 (富山地方鉄道・立山線)[36.66504, 137.31418] 五百川 (東日本旅客鉄道・東北線)[37.48325, 140.38828] 左石 (松浦鉄道・西九州線)[33.20899, 129.72236] 三ヶ山口 (水間鉄道・水間線)[34.40750, 135.38495] 三ヶ森 (筑豊電気鉄道・筑豊電気鉄道線)[33.83516, 130.73637] 三ヶ日 (天竜浜名湖鉄道・天竜浜名湖線)[34.80250, 137.55216] 三ツ石 (熊本電気鉄道・菊池線)[32.86402, 130.73856] 三見 (西日本旅客鉄道・山陰線)[34.39776, 131.33028] 三口 (北陸鉄道・浅野川線)[36.60669, 136.64734] 三山木 (近畿日本鉄道・京都線)[34.79829, 135.78622] 三石 (西日本旅客鉄道・山陽線)[34.80429, 134.27571] 三川 (東日本旅客鉄道・磐越西線)[37.70874, 139.38157] 三川 (北海道旅客鉄道・室蘭線)[42.94593, 141.80057] 三田 (神戸電鉄・三田線)[34.88824, 135.23039] 三田 (西日本旅客鉄道・福知山線)[34.88829, 135.23120] 三田 (東京都・6号線三田線)[35.64869, 139.74897] 三田 (東京都・1号線浅草線)[35.64815, 139.75015] 三田本町 (神戸電鉄・三田線)[34.88166, 135.22925] 三日月 (西日本旅客鉄道・姫新線)[34.98517, 134.43485] 三木 (神戸電鉄・粟生線)[34.79978, 134.98216] 山の田 (松浦鉄道・西九州線)[33.19624, 129.72268] 山ノ目 (東日本旅客鉄道・東北線)[38.95034, 141.13235] 山王 (えちぜん鉄道・勝山永平寺線)[36.07902, 136.39283] 山王 (名古屋鉄道・名古屋本線)[35.15141, 136.88889] 山下 (東急電鉄・世田谷線)[35.65385, 139.64647] 山下 (東日本旅客鉄道・常磐線)[37.96583, 140.88914] 山下 (能勢電鉄・妙見線)[34.89319, 135.41270] 山下 (能勢電鉄・日生線)[34.89333, 135.41249] 山口 (愛知環状鉄道・愛知環状鉄道線)[35.19806, 137.10123] 山口 (西日本旅客鉄道・山口線)[34.17333, 131.48156] 山手 (東日本旅客鉄道・根岸線)[35.42591, 139.64685] 山川 (九州旅客鉄道・指宿枕崎線)[31.21139, 130.62970] 山田 (京王電鉄・高尾線)[35.64438, 139.32036] 山田 (阪急電鉄・千里線)[34.80324, 135.51550] 山田 (大阪モノレール・大阪モノレール線)[34.80565, 135.51606] 山田 (長良川鉄道・越美南線)[35.78817, 136.91182] 山田上口 (東海旅客鉄道・参宮線)[34.49593, 136.69529] 山田川 (近畿日本鉄道・京都線)[34.73732, 135.79379] 山本 (九州旅客鉄道・筑肥線)[33.39401, 129.98086] 山本 (九州旅客鉄道・唐津線)[33.39401, 129.98086] 山本 (阪急電鉄・宝塚線)[34.82167, 135.38768] 山名 (上信電鉄・上信線)[36.27727, 139.03813] 四ツ木 (京成電鉄・押上線)[35.73126, 139.83398] 四十九 (伊賀鉄道・伊賀線)[34.74854, 136.13692] 糸田 (平成筑豊鉄道・糸田線)[33.65700, 130.78543] 七日町 (東日本旅客鉄道・只見線)[37.50219, 139.92002] 手ノ子 (東日本旅客鉄道・米坂線)[38.01208, 139.96147] 手力 (名古屋鉄道・各務原線)[35.39826, 136.80492] 十王 (東日本旅客鉄道・常磐線)[36.67053, 140.68525] 十三 (阪急電鉄・京都線)[34.72174, 135.48240] 十三 (阪急電鉄・宝塚線)[34.72174, 135.48240] 十三 (阪急電鉄・神戸線)[34.72079, 135.48179] 十川 (四国旅客鉄道・予土線)[33.23501, 132.85637] 十川 (津軽鉄道・津軽鉄道線)[40.81744, 140.45662] 十村 (西日本旅客鉄道・小浜線)[35.51559, 135.89608] 十日町 (東日本旅客鉄道・飯山線)[37.13536, 138.75681] 十日町 (北越急行・ほくほく線)[37.13372, 138.75545] 十文字 (東日本旅客鉄道・奥羽線)[39.22234, 140.52703] 出水 (九州旅客鉄道・九州新幹線)[32.08873, 130.35879] 出水 (肥薩おれんじ鉄道・肥薩おれんじ鉄道線)[32.09057, 130.35751] 出目 (四国旅客鉄道・予土線)[33.25204, 132.69165] 女子大 (山万・ユーカリが丘線)[35.73788, 140.15541] 女川 (東日本旅客鉄道・石巻線)[38.44682, 141.44378] 小月 (西日本旅客鉄道・山陽線)[34.06837, 131.03391] 小見川 (東日本旅客鉄道・成田線)[35.84969, 140.60544] 小山 (東日本旅客鉄道・水戸線)[36.31138, 139.80593] 小山 (東日本旅客鉄道・東北新幹線)[36.31159, 139.80525] 小山 (東日本旅客鉄道・東北線)[36.31539, 139.80776] 小山 (東日本旅客鉄道・両毛線)[36.31138, 139.80593] 小山田 (東日本旅客鉄道・釜石線)[39.40830, 141.19453] 小出 (東日本旅客鉄道・只見線)[37.23467, 138.95262] 小出 (東日本旅客鉄道・上越線)[37.23467, 138.95262] 小川 (九州旅客鉄道・鹿児島線)[32.60208, 130.69392] 小川 (西武鉄道・国分寺線)[35.73699, 139.46340] 小川 (西武鉄道・拝島線)[35.73699, 139.46340] 小川町 (東京都・10号線新宿線)[35.69561, 139.76788] 小川町 (東日本旅客鉄道・八高線)[36.05877, 139.26134] 小川町 (東武鉄道・東上本線)[36.05854, 139.26121] 小竹 (九州旅客鉄道・筑豊線)[33.69782, 130.71003] 小中 (わたらせ渓谷鐵道・わたらせ渓谷線)[36.53575, 139.33817] 小田 (井原鉄道・井原線)[34.60621, 133.54274] 小田 (西日本旅客鉄道・山陰線)[35.28421, 132.62936] 小田林 (東日本旅客鉄道・水戸線)[36.30085, 139.85320] 小本 (名古屋臨海高速鉄道・西名古屋港線)[35.14966, 136.86156] 小林 (九州旅客鉄道・吉都線)[31.99097, 130.97555] 小林 (阪急電鉄・今津線)[34.78884, 135.35244] 小林 (東日本旅客鉄道・成田線)[35.83005, 140.19411] 上ゲ (名古屋鉄道・河和線)[34.85872, 136.91644] 上の町 (西日本旅客鉄道・本四備讃線)[34.49136, 133.81533] 上下 (西日本旅客鉄道・福塩線)[34.69439, 133.11799] 上金田 (平成筑豊鉄道・伊田線)[33.67251, 130.78902] 上月 (西日本旅客鉄道・姫新線)[34.98377, 134.32175] 上三田 (西日本旅客鉄道・芸備線)[34.53871, 132.64347] 上山口 (西日本旅客鉄道・山口線)[34.18283, 131.48513] 上小川 (東日本旅客鉄道・水郡線)[36.71889, 140.37967] 上石見 (西日本旅客鉄道・伯備線)[35.11259, 133.35066] 上川 (北海道旅客鉄道・石北線)[43.84783, 142.76754] 上川口 (西日本旅客鉄道・山陰線)[35.32946, 135.07407] 上川立 (西日本旅客鉄道・芸備線)[34.72504, 132.78469] 上大月 (富士急行・大月線)[35.60961, 138.93801] 上中 (西日本旅客鉄道・小浜線)[35.46380, 135.85508] 上町 (東急電鉄・世田谷線)[35.64338, 139.64667] 上田 (しなの鉄道・しなの鉄道線)[36.39479, 138.25140] 上田 (上田電鉄・別所線)[36.39479, 138.25140] 上田 (東日本旅客鉄道・北陸新幹線)[36.39518, 138.25133] 上二田 (東日本旅客鉄道・男鹿線)[39.86845, 140.00466] 上八木 (西日本旅客鉄道・可部線)[34.49015, 132.50647] 上本町 (富山地方鉄道・本線)[36.68616, 137.21576] 上林 (伊賀鉄道・伊賀線)[34.69494, 136.16125] 森 (水間鉄道・水間線)[34.41448, 135.38174] 森 (北海道旅客鉄道・函館線)[42.10918, 140.57241] 森下 (筑豊電気鉄道・筑豊電気鉄道線)[33.85422, 130.74120] 森下 (東京都・10号線新宿線)[35.68807, 139.79919] 森下 (東京都・12号線大江戸線)[35.68726, 139.79826] 森下 (名古屋鉄道・瀬戸線)[35.18825, 136.92879] 森口 (アルピコ交通・上高地線)[36.20788, 137.88094] 森山 (島原鉄道・島原鉄道線)[32.83487, 130.11411] 森上 (名古屋鉄道・尾西線)[35.24798, 136.73709] 森石 (黒部峡谷鉄道・本線)[36.79206, 137.61363] 森田 (西日本旅客鉄道・北陸線)[36.11028, 136.22292] 森本 (IRいしかわ鉄道・IRいしかわ鉄道線)[36.61284, 136.69026] 人見 (平成筑豊鉄道・伊田線)[33.68768, 130.77073] 水口 (近江鉄道・本線)[34.97444, 136.17721] 水上 (東日本旅客鉄道・上越線)[36.78009, 138.96960] 水田 (高松琴平電気鉄道・長尾線)[34.30315, 134.09216] 生見 (九州旅客鉄道・指宿枕崎線)[31.30686, 130.57812] 生山 (西日本旅客鉄道・伯備線)[35.16998, 133.32190] 生田 (小田急電鉄・小田原線)[35.61482, 139.54065] 生田 (東日本旅客鉄道・田沢湖線)[39.61232, 140.60172] 青山 (アイジーアールいわて銀河鉄道・いわて銀河鉄道線)[39.72410, 141.11800] 青山 (東日本旅客鉄道・越後線)[37.89881, 139.00172] 青山 (名古屋鉄道・河和線)[34.87920, 136.91753] 青山町 (近畿日本鉄道・大阪線)[34.67266, 136.17653] 青森 (青い森鉄道・青い森鉄道線)[40.82905, 140.73407] 青森 (東日本旅客鉄道・奥羽線)[40.82905, 140.73407] 青森 (東日本旅客鉄道・津軽線)[40.82905, 140.73407] 青木 (阪神電気鉄道・本線)[34.71729, 135.28106] 石下 (関東鉄道・常総線)[36.11656, 139.97454] 石見 (近畿日本鉄道・橿原線)[34.57092, 135.78590] 石山 (西日本旅客鉄道・東海道線)[34.97996, 135.89935] 石上 (江ノ島電鉄・江ノ島電鉄線)[35.33277, 139.48565] 石生 (西日本旅客鉄道・福知山線)[35.15393, 135.06400] 石川 (弘南鉄道・大鰐線)[40.55109, 140.54111] 石川 (東日本旅客鉄道・奥羽線)[40.55683, 140.52968] 石川町 (東日本旅客鉄道・根岸線)[35.43952, 139.64263] 石田 (京都市・東西線)[34.94107, 135.80447] 石田 (九州旅客鉄道・日田彦山線)[33.83271, 130.88973] 赤 (平成筑豊鉄道・田川線)[33.61887, 130.87158] 赤水 (九州旅客鉄道・豊肥線)[32.91346, 130.99292] 赤川 (東日本旅客鉄道・大湊線)[41.26770, 141.20953] 赤木 (東海旅客鉄道・飯田線)[35.77823, 137.94416] 赤目口 (近畿日本鉄道・大阪線)[34.59871, 136.07290] 千石 (東京都・6号線三田線)[35.72845, 139.74409] 千川 (東京地下鉄・8号線有楽町線)[35.73884, 139.68851] 千早 (九州旅客鉄道・鹿児島線)[33.65011, 130.44125] 千早口 (南海電気鉄道・高野線)[34.41245, 135.58984] 千年 (弘南鉄道・大鰐線)[40.56708, 140.48063] 千本 (西日本旅客鉄道・姫新線)[34.94249, 134.49386] 千林 (京阪電気鉄道・京阪本線)[34.72344, 135.55440] 川口 (東日本旅客鉄道・東北線)[35.80093, 139.71793] 川村 (くま川鉄道・湯前線)[32.20724, 130.79574] 川村 (名古屋ガイドウェイバス・ガイドウェイバス志段味線)[35.21408, 136.96834] 川田 (四国旅客鉄道・徳島線)[34.06110, 134.20540] 川名 (名古屋市・3号線鶴舞線)[35.14865, 136.94868] 早口 (東日本旅客鉄道・奥羽線)[40.27131, 140.44840] 早川 (東日本旅客鉄道・東海道線)[35.24005, 139.14558] 足立 (西日本旅客鉄道・伯備線)[35.03890, 133.38356] 村山 (長野電鉄・長野線)[36.65943, 138.27991] 村山 (東日本旅客鉄道・奥羽線)[38.47787, 140.38640] 村上 (東日本旅客鉄道・羽越線)[38.22084, 139.46331] 村上 (東葉高速鉄道・東葉高速線)[35.72337, 140.11967] 大学 (松浦鉄道・西九州線)[33.18962, 129.66728] 大金 (東日本旅客鉄道・烏山線)[36.65653, 140.09542] 大月 (東日本旅客鉄道・中央線)[35.61387, 138.94406] 大月 (富士急行・大月線)[35.61287, 138.94225] 大口 (東日本旅客鉄道・横浜線)[35.49180, 139.64643] 大三 (近畿日本鉄道・大阪線)[34.66393, 136.36925] 大山 (九州旅客鉄道・指宿枕崎線)[31.19528, 130.59944] 大山 (東武鉄道・東上本線)[35.74870, 139.70225] 大山口 (西日本旅客鉄道・山陰線)[35.48465, 133.45606] 大手町 (伊予鉄道・高浜線)[33.84008, 132.75515] 大手町 (東京地下鉄・11号線半蔵門線)[35.68692, 139.76377] 大手町 (東京地下鉄・5号線東西線)[35.68498, 139.76473] 大手町 (東京地下鉄・9号線千代田線)[35.68613, 139.76355] 大手町 (東京地下鉄・4号線丸ノ内線)[35.68736, 139.76633] 大手町 (東京都・6号線三田線)[35.68324, 139.76236] 大森 (天竜浜名湖鉄道・天竜浜名湖線)[34.73797, 137.50985] 大森 (東日本旅客鉄道・東海道線)[35.58823, 139.72770] 大森町 (京浜急行電鉄・本線)[35.57279, 139.73219] 大正 (西日本旅客鉄道・大阪環状線)[34.66587, 135.47903] 大正 (大阪市高速電気軌道・7号線(長堀鶴見緑地線))[34.66532, 135.47845] 大正 (島原鉄道・島原鉄道線)[32.86019, 130.22529] 大石 (阪神電気鉄道・本線)[34.70790, 135.23171] 大石田 (東日本旅客鉄道・奥羽線)[38.59529, 140.37577] 大川 (東日本旅客鉄道・鶴見線)[35.49514, 139.71157] 大草 (九州旅客鉄道・長崎線)[32.86055, 129.93968] 大村 (九州旅客鉄道・大村線)[32.91237, 129.96212] 大村 (神戸電鉄・粟生線)[34.80840, 134.97175] 大竹 (西日本旅客鉄道・山陽線)[34.21637, 132.22381] 大中 (長良川鉄道・越美南線)[35.85350, 136.86870] 大中山 (北海道旅客鉄道・函館線)[41.86412, 140.71397] 大町 (九州旅客鉄道・佐世保線)[33.21244, 130.10738] 大町 (広島高速交通・広島新交通1号線)[34.46127, 132.47110] 大町 (高松琴平電気鉄道・志度線)[34.33735, 134.14181] 大町 (西日本旅客鉄道・可部線)[34.46093, 132.47049] 大町 (函館市・本線)[41.77035, 140.70889] 大町 (富山地方鉄道・本線)[36.67287, 137.22078] 大町 (北総鉄道・北総線)[35.77518, 139.97430] 大田口 (四国旅客鉄道・土讃線)[33.78535, 133.72689] 大日 (大阪モノレール・大阪モノレール線)[34.74934, 135.57871] 大日 (大阪市高速電気軌道・2号線(谷町線))[34.74997, 135.57892] 大入 (九州旅客鉄道・筑肥線)[33.50876, 130.10618] 大白川 (東日本旅客鉄道・只見線)[37.34162, 139.12133] 大木 (松浦鉄道・西九州線)[33.22125, 129.85038] 男川 (名古屋鉄道・名古屋本線)[34.93719, 137.18359] 竹下 (九州旅客鉄道・鹿児島線)[33.56775, 130.43263] 竹村 (名古屋鉄道・三河線)[35.04028, 137.11502] 竹中 (九州旅客鉄道・豊肥線)[33.12084, 131.64946] 竹田 (京都市・烏丸線)[34.95497, 135.75619] 竹田 (近畿日本鉄道・京都線)[34.95497, 135.75619] 竹田 (西日本旅客鉄道・播但線)[35.29989, 134.83613] 中学校 (山万・ユーカリが丘線)[35.74046, 140.14854] 中三田 (西日本旅客鉄道・芸備線)[34.51317, 132.60880] 中山 (とさでん交通・伊野線)[33.55174, 133.45203] 中山 (横浜市・4号線)[35.51435, 139.54001] 中山 (東日本旅客鉄道・横浜線)[35.51435, 139.54001] 中山口 (西日本旅客鉄道・山陰線)[35.52057, 133.59108] 中川 (横浜市・3号線)[35.56343, 139.56912] 中川 (東日本旅客鉄道・奥羽線)[38.09355, 140.20403] 中村 (土佐くろしお鉄道・宿毛線)[32.98525, 132.94348] 中村 (土佐くろしお鉄道・中村線)[32.98525, 132.94348] 中村日赤 (名古屋市・1号線東山線)[35.17245, 136.86199] 中田 (横浜市・1号線)[35.41088, 139.51178] 中田 (四国旅客鉄道・牟岐線)[34.01044, 134.57013] 中田 (東日本旅客鉄道・五能線)[40.78724, 140.36417] 中土 (西日本旅客鉄道・大糸線)[36.80538, 137.90815] 中八木 (山陽電気鉄道・本線)[34.67059, 134.93647] 中名 (九州旅客鉄道・指宿枕崎線)[31.39433, 130.53459] 町田 (小田急電鉄・小田原線)[35.54471, 139.44575] 町田 (東日本旅客鉄道・横浜線)[35.54203, 139.44568] 天王 (東日本旅客鉄道・男鹿線)[39.89903, 139.96313] 天王町 (相模鉄道・本線)[35.45424, 139.60185] 天見 (南海電気鉄道・高野線)[34.39678, 135.59566] 田山 (東日本旅客鉄道・花輪線)[40.14006, 140.94326] 田子 (西日本旅客鉄道・紀勢線)[33.49030, 135.67794] 田上 (東日本旅客鉄道・信越線)[37.71817, 139.07402] 田村 (西日本旅客鉄道・北陸線)[35.35589, 136.28200] 田中 (しなの鉄道・しなの鉄道線)[36.35374, 138.33037] 田中口 (和歌山電鐵・貴志川線)[34.22696, 135.19316] 田町 (岡山電気軌道・清輝橋線)[34.66057, 133.92633] 田町 (東日本旅客鉄道・東海道線)[35.64611, 139.74824] 田本 (東海旅客鉄道・飯田線)[35.34883, 137.83819] 田立 (東海旅客鉄道・中央線)[35.58829, 137.54995] 土気 (東日本旅客鉄道・外房線)[35.53043, 140.27125] 土山 (西日本旅客鉄道・山陽線)[34.71925, 134.88964] 土本 (大井川鐵道・井川線)[35.13576, 138.13906] 二月田 (九州旅客鉄道・指宿枕崎線)[31.25405, 130.63035] 二子 (名古屋鉄道・尾西線)[35.28369, 136.76543] 二子玉川 (東急電鉄・田園都市線)[35.61036, 139.62550] 二子玉川 (東急電鉄・大井町線)[35.61036, 139.62550] 二上 (近畿日本鉄道・大阪線)[34.54684, 135.68750] 二上山 (近畿日本鉄道・南大阪線)[34.53892, 135.68594] 二川 (東海旅客鉄道・東海道線)[34.72614, 137.43738] 二田 (東日本旅客鉄道・男鹿線)[39.88213, 139.98624] 二本木 (えちごトキめき鉄道・妙高はねうまライン)[36.99040, 138.23303] 二本木口 (熊本市・田崎線)[32.78671, 130.68938] 二名 (四国旅客鉄道・予土線)[33.29167, 132.62945] 日の出 (ゆりかもめ・東京臨海新交通臨海線)[35.64961, 139.75932] 日ノ出町 (京浜急行電鉄・本線)[35.44591, 139.62652] 日下 (四国旅客鉄道・土讃線)[33.53354, 133.37184] 日出 (九州旅客鉄道・日豊線)[33.36939, 131.54179] 日生 (西日本旅客鉄道・赤穂線)[34.73498, 134.27751] 日田 (九州旅客鉄道・久大線)[33.31727, 130.93869] 日立 (東日本旅客鉄道・常磐線)[36.59171, 140.66247] 日立木 (東日本旅客鉄道・常磐線)[37.75660, 140.93426] 入生田 (箱根登山鉄道・鉄道線)[35.24097, 139.12140] 白山 (高松琴平電気鉄道・長尾線)[34.26667, 134.15079] 白山 (東京都・6号線三田線)[35.72204, 139.75249] 白山 (東日本旅客鉄道・越後線)[37.91210, 139.03111] 白子 (近畿日本鉄道・名古屋線)[34.83433, 136.59005] 白石 (九州旅客鉄道・肥薩線)[32.30599, 130.60866] 白石 (札幌市・東西線)[43.04601, 141.39671] 白石 (東日本旅客鉄道・東北線)[38.00412, 140.62644] 白石 (北海道旅客鉄道・千歳線)[43.05567, 141.41258] 白石 (北海道旅客鉄道・函館線)[43.05567, 141.41258] 白川口 (東海旅客鉄道・高山線)[35.57976, 137.18425] 白木 (近畿日本鉄道・志摩線)[34.42902, 136.83081] 白木山 (西日本旅客鉄道・芸備線)[34.50087, 132.58800] 八王子 (東日本旅客鉄道・横浜線)[35.65519, 139.33939] 八王子 (東日本旅客鉄道・中央線)[35.65527, 139.34010] 八王子 (東日本旅客鉄道・八高線)[35.65527, 139.34010] 八森 (東日本旅客鉄道・五能線)[40.37193, 140.01760] 八川 (西日本旅客鉄道・木次線)[35.14964, 133.08898] 八草 (愛知環状鉄道・愛知環状鉄道線)[35.17534, 137.10700] 八草 (愛知高速交通・東部丘陵線)[35.17657, 137.10615] 八田 (東海旅客鉄道・関西線)[35.14858, 136.85140] 八田 (名古屋市・1号線東山線)[35.14724, 136.85308] 八木 (西日本旅客鉄道・山陰線)[35.06847, 135.53305] 本山 (四国旅客鉄道・予讃線)[34.14604, 133.68636] 本山 (松浦鉄道・西九州線)[33.20710, 129.68264] 本山 (名古屋市・4号線名城線)[35.16359, 136.96363] 本山 (名古屋市・1号線東山線)[35.16375, 136.96406] 本川町 (広島電鉄・本線)[34.39683, 132.45022] 本町 (大阪市高速電気軌道・1号線(御堂筋線))[34.68482, 135.50073] 本町 (大阪市高速電気軌道・3号線(四つ橋線))[34.68355, 135.49689] 本町 (大阪市高速電気軌道・4号線(中央線))[34.68202, 135.49789] 本名 (東日本旅客鉄道・只見線)[37.44497, 139.49915] 名手 (西日本旅客鉄道・和歌山線)[34.27320, 135.43437] 名草 (西日本旅客鉄道・山口線)[34.35382, 131.65156] 名立 (えちごトキめき鉄道・日本海ひすいライン)[37.15614, 138.09429] 木ノ下 (東海旅客鉄道・飯田線)[35.90051, 137.98797] 木ノ本 (西日本旅客鉄道・北陸線)[35.50497, 136.22213] 木下 (東日本旅客鉄道・成田線)[35.83898, 140.14930] 木花 (九州旅客鉄道・日南線)[31.83084, 131.43726] 木見 (西日本旅客鉄道・本四備讃線)[34.52817, 133.82396] 木上 (くま川鉄道・湯前線)[32.22453, 130.85916] 木田 (名古屋鉄道・津島線)[35.19528, 136.78730] 目出 (西日本旅客鉄道・小野田線)[33.99691, 131.18352] 目白 (東日本旅客鉄道・山手線)[35.72145, 139.70660] 目白山下 (湘南モノレール・江の島線)[35.31422, 139.49178] 目名 (北海道旅客鉄道・函館線)[42.76171, 140.46606] 立ヶ花 (東日本旅客鉄道・飯山線)[36.73095, 138.30700] 立花 (西日本旅客鉄道・東海道線)[34.73803, 135.39884] 立山 (富山地方鉄道・立山線)[36.58322, 137.44477] 立山 (立山黒部貫光・鋼索線)[36.58304, 137.44622] 立石 (九州旅客鉄道・日豊線)[33.48178, 131.47583] 立石 (九州旅客鉄道・日豊線)[33.48228, 131.47617] 立川 (東日本旅客鉄道・青梅線)[35.69830, 139.41599] 立川 (東日本旅客鉄道・南武線)[35.69751, 139.41356] 立川 (東日本旅客鉄道・中央線)[35.69803, 139.41516] 立川 (東日本旅客鉄道・青梅線)[35.69803, 139.41516] 立川 (東日本旅客鉄道・中央線)[35.69778, 139.41516] 立川目 (東日本旅客鉄道・北上線)[39.30775, 140.99766] 立町 (広島電鉄・本線)[34.39425, 132.46128] 立田 (土佐くろしお鉄道・阿佐線)[33.57070, 133.67003] 立木 (西日本旅客鉄道・山陰線)[35.27444, 135.33638] 林 (西日本旅客鉄道・城端線)[36.70477, 136.99969] 六町 (首都圏新都市鉄道・常磐新線)[35.78394, 139.82171] 六田 (近畿日本鉄道・吉野線)[34.39002, 135.82257] 六日町 (東日本旅客鉄道・上越線)[37.06779, 138.87656] 六日町 (北越急行・ほくほく線)[37.06735, 138.87587] 六本木 (東京地下鉄・2号線日比谷線)[35.66235, 139.73025] 六本木 (東京都・12号線大江戸線)[35.66448, 139.73076] 六名 (愛知環状鉄道・愛知環状鉄道線)[34.94092, 137.15198]
これだけあるみたいです。
中身の検査はしていません。
ソースコード(PHP): (駅をまとめようとした残骸とかが見えますが気にしない方向で)
<?php
declare(strict_types=1);
$data = getAllStations(__DIR__ . '/N02-20_GML/N02-20_Station.geojson');
$data = filterGrade1Studied($data);
$data = sortStations($data);
foreach ($data as $v) {
vprintf("%s (%s・%s)[%.5f, %.5f]\n", [
$v['name'],
$v['company'],
$v['line'],
$v['pos'][1],
$v['pos'][0],
]);
}
/**
* @return array{company: string, line: string, name: string, pos:array{float, float}}[]
*/
function getAllStations(string $filePath): array
{
$json = json_decode(file_get_contents($filePath), true);
return array_map(
fn (array $feature): array => [
'company' => normalize($feature['properties']['N02_004']),
'line' => normalize($feature['properties']['N02_003']),
'name' => normalize($feature['properties']['N02_005']),
'pos' => calcPosition($feature['geometry']['coordinates'][0][0]),
],
$json['features'],
);
}
function normalize(string $s): string
{
$s = Normalizer::normalize($s, Normalizer::FORM_C);
$s = mb_convert_kana($s, 'asKV');
return trim($s);
}
/**
* 駅の位置を計算する
*
* 元の JSON ファイルで複数の座標がある場合や、複数の駅をまとめるために
* 座標の平均を求めることで妥当な駅の代表座標を計算できる
*
* @param array{float, float}[] $coordinates
*/
function calcPosition(array ...$coordinates): array
{
return [
// 経度の平均
average(
array_map(
fn (array $v): float => $v[0],
$coordinates,
),
),
// 緯度の平均
average(
array_map(
fn (array $v): float => $v[1],
$coordinates,
),
),
];
}
/**
* @param float[] $values
*/
function average(array $values): float|null
{
return count($values) ? array_sum($values) / count($values) : null;
}
/**
* @param array{company: string, line: string, name: string, pos:array{float, float}}[] $data
* @return array{company: string, line: string, name: string, pos:array{float, float}}[]
*/
function filterGrade1Studied(array $data): array
{
return array_values(
array_filter(
$data,
fn (array $v): bool => isGrade1OnlyString($v['name']),
),
);
}
function isGrade1OnlyString(string $s): bool
{
return array_reduce(
array_map(
fn (string $c): bool => preg_match('/^[[:space:]\p{Ll}\p{Lu}\p{M}\p{N}\p{Hiragana}\p{Katakana}]$/u', $c) ||
isGrade1Kanji($c),
grapheme_str_split($s),
),
fn (bool $a, bool $b): bool => $a && $b,
true,
);
}
function isGrade1Kanji(string $c): bool
{
// https://www.mext.go.jp/a_menu/shotou/new-cs/youryou/syo/koku/001.htm
return (bool)preg_match(
'/^[一右雨円王音下火花貝学気九休玉金空月犬見五口校左三山子四糸字耳七車手十出女小上森人水正生青夕石赤千川先早草足村大男竹中虫町天田土二日入年白八百文木本名目立力林六]$/u',
$c,
);
}
/**
* @param array{company: string, line: string, name: string, pos:array{float, float}}[] $data
* @return array{company: string, line: string, name: string, pos:array{float, float}}[]
*/
function sortStations(array $data): array
{
$collator = Collator::create('ja');
$collator->setAttribute(Collator::NUMERIC_COLLATION, Collator::ON);
usort(
$data,
fn (array $a, array $b): int => $collator->compare($a['name'], $b['name'])
?: $collator->compare($a['company'], $b['company'])
?: $collator->compare($a['line'], $b['name']),
);
return $data;
}