Queria
0Fork

高校が1校も無い自治体は全国の4分の1 — 学校の位置を市区町村単位で数える

Data usedqueria/nlftp

学校がどこにあるかは、教育サービスの商圏設計にも、自治体の移住・子育て施策にも効いてきます。ところが公表されている学校統計は都道府県別の学校数までで止まることが多く、「自分の市町村に高校があるか」という粒度は表の中に出てきません。都道府県で見れば全国どこにでも高校はあるのに、市区町村まで下ろすと様子が変わります。

この記事では、国土数値情報の学校データが持つ学校の所在地点と、行政区域データの市区町村ポリゴンを空間結合し、域内に高等学校が1校も無い自治体を数えます。点と面を突き合わせて初めて出る集計なので、都道府県別の集計表を眺めていても答えは出てきません。

データの概要

使うのは国土数値情報の学校データ(nlftp.facility.school)です。全国の学校が緯度経度付きの点データとして収録されており、学校ごとに学校種別(school_class)、設置者の区分(administrator、国・都道府県・市区町村・民間など)、所在地(address)、所在地点(geometry)などの列を持っています。設置者が「民間」の学校が、いわゆる私立にあたります。この区分は設置者が誰かを表すもので、学校教育法上の「私立学校」の定義と厳密に一致するとは限りません。

まず、主な学校種別ごとの施設数と、そのうち私立(設置者が民間)の数を確認します。

小学校が19,330校、中学校が10,082校に対して、高等学校は4,996校、大学は1,239校です。校数だけを見ても義務教育とそれ以降で桁が違いますが、この差が地理的にどう現れるかは、全国合計からは読めません。

もう一つ、この記事で空間結合を使う実務的な理由があります。学校データの admin_code(所在する行政区域コード)は政令指定都市を市単位で持っており、たとえば札幌市の学校はすべて 01100 です。一方の行政区域データは中央区 01101、北区 01102 のように行政区ごとに分かれています。コードをそのまま突き合わせると政令市が丸ごと落ちるため、ST_Contains で「どの市区町村ポリゴンの中にあるか」を判定する必要があります。

空白は高校から始まる

市区町村ポリゴンと学校の点を空間結合し、学校種別ごとに「域内に1校も無い自治体」の数を数えます。集計単位は全国1,741自治体(政令指定都市の行政区は市に束ね、境界データに含まれる北方領土の6村は除いています)です。数えるのは小学校・中学校・高等学校・大学の4種別です。義務教育学校や中等教育学校のように複数の段階にまたがる学校、特別支援学校、幼稚園・認定こども園、専修学校・各種学校、短期大学・高等専門学校は含めません。

小学校が1校も無い自治体は22、中学校が無い自治体は33にとどまります。義務教育の学校はほぼすべての自治体に置かれている、という当たり前の事実がデータでも確認できます。

この22と33は小中一貫の義務教育学校を数に入れていません。義務教育学校を含めて数えると、小学校にあたる学校が域内に無い自治体は2、中学校にあたる学校が無い自治体は13まで減ります。

ところが高等学校になると444自治体、全1,741自治体の25.5%まで一気に増えます。4つに1つの自治体には高校がありません。さらに大学が無い自治体は1,346、実に77.3%に達します。学校の数が減るというより、「置かれる自治体」が絞り込まれていく構図です。

高校が無い444自治体のうち418は中学校を域内に持っています。つまり中学校までは域内で完結し、そこから先で初めて自治体の外に出る必要が生じます。この段差が、市区町村単位まで下ろさないと見えない部分です。

数えているのは学校の所在地点であって、生徒数でも定員でもありません。高校が域内に無いことは、そこの生徒が高校に通えないことを意味しません。多くは隣接する自治体の高校に通っており、この記事が測っているのは通学の可否ではなく、学校がどこに置かれているかという配置です。

高校の空白は長野・鳥取・高知に集中する

高等学校が無い自治体が、どの都道府県にどれだけあるかを見ます。都道府県ごとに「域内の自治体のうち高校が無い自治体の割合」を計算し、地図に重ねました。色が濃い(赤い)ほど空白率が高いことを表します。

空白率が最も高いのは長野県で、77自治体のうち38、49.4%が高校を持ちません。次いで鳥取県47.4%(19自治体中9)、高知県47.1%(34自治体中16)、熊本県46.7%(45自治体中21)、宮崎県46.2%(26自治体中12)と続きます。県内の自治体のほぼ半分に高校が無い県が5つあることになります。

逆に、兵庫県と広島県は空白率0%で、県内のすべての自治体に高校があります。長崎県4.8%、愛媛県5.0%、静岡県5.7%も低い水準です。都道府県別の高校数だけを見ていては、隣り合う県でこれほど配置のされ方が違うことは分かりません。

実数で見ると北海道の52自治体が最多で、179自治体中29.1%にあたります。長野県の38、福島県の22、熊本県の21が続きます。北海道は自治体数そのものが多いため空白率は3割弱にとどまりますが、絶対数では全国で最も多くの空白自治体を抱えています。

最寄りの高校まで何キロあるか

高校が無いといっても、隣町にすぐ高校があるのか、それとも数十キロ離れているのかで意味は変わります。空白自治体のポリゴン重心から、全国の高等学校のうち最も近い1校までの距離を測り、遠い順に20自治体を並べました。測っているのは重心から学校までの直線距離(大圏距離)で、道路距離でも通学時間でもありません。重心が市街地や人口の中心と一致するとも限りません。

444自治体の中央値は8.7kmで、多くは隣接する市町村の高校が通学圏に入ります。ただし10km以上離れている自治体が185、20km以上が38あり、距離の分布はかなり右に裾を引いています。

最も遠いのは沖縄県北大東村の308.6km、次いで南大東村の304.0km、与那国町の119.6kmと、上位は離島が占めます。鹿児島県十島村95.9km、東京都青ヶ島村72.4kmも同様です。これらは海上を直線で測った距離なので、実際には船や飛行機での移動、あるいは島外の高校への進学と下宿が前提になります。

離島以外でも、北海道滝上町の34.0km、福島県檜枝岐村の32.0km、北海道新得町の25.7km、積丹町の25.6kmのように、陸続きでありながら20km台から30km台の距離が残る自治体があります。この「どれだけ遠いか」は、学校数を数えるだけでは出てきません。点データの座標を使って初めて測れる値です。

教育段階が上がるほど私立が主役になる

自治体の空白が高校から始まる背景を、設置者の区分から確認しておきます。学校種別ごとに、施設数に占める私立(民間)の割合を見てみます。

私立の割合は、小学校が1.3%、中学校が7.7%と、義務教育では公立が圧倒的多数を占めます。これが高等学校では28.8%に上がり、幼稚園は66.5%、大学は70.9%、専修学校では91.9%と、教育段階が上がるほど私立が主役になっていきます。義務教育は市区町村が全域に配置する責任を負い、その前後の幼児教育と高等教育以降は民間の比重が大きい、という構造がここに表れています。

配置の論理が「全域に置く」から「立地を選ぶ」に切り替わる境目が高校であり、それが444自治体の空白として現れている、と読むことができます。

私立比率が高い県が、空白の少ない県とは限らない

では、私立高校が多い県ほど自治体の空白は少ないのでしょうか。都道府県ごとに「高校が無い自治体の割合」と「高校に占める私立の割合」を取り、散布図にしました。

2つの指標の相関係数は-0.219で、弱い負の関係しかありません。東京都は空白率9.7%・私立比率55.6%、大阪府は11.6%・40.3%と左上に位置し、長野県は49.4%・23.4%、徳島県は33.3%・7.7%と右下寄りです。この4都府県だけを見れば「私立が多い都市部ほど空白が少ない」という話になりそうですが、全体はそう単純ではありません。

福岡県は空白率31.7%で私立比率36.7%、熊本県は46.7%で31.6%と、自治体の3割から半分に高校が無いのに私立比率は全国でも高い部類に入ります。逆に兵庫県は空白率0%で私立比率26.7%、広島県は0%で29.9%と、私立が平均的な水準でも全自治体をカバーしています。

つまり、都道府県単位の私立比率をいくら眺めても、その県の中で高校がどう配られているかは分かりません。市区町村まで下ろして初めて分かる情報が、県の集計値では平均に埋もれてしまう、ということです。

大学の空白はさらに広い

高校の空白が444自治体だったのに対し、大学が無い自治体は1,346と全体の77.3%を占めました。その大学がどこに集まっているかを、都道府県別の大学数で確認しておきます。上位10・中間27・下位10の3グループに色分けして並べます。

大学数は東京都が217校と突出しており、全国1,239校の17.5%にあたります。大阪府の89校、愛知県の76校が続き、上位3都府県だけで約31%が集まります。下位は鳥取県の4校、島根県の5校、佐賀県と大分県の6校です。高校の空白が「県内でどう配られるか」の問題だったのに対し、大学は「そもそもどの都府県にあるか」から偏っています。

高校生を対象にしたサービスなら、都道府県よりも市区町村単位で通学先の所在を押さえる意味があります。一方で大学生を対象にするなら、市区町村まで下ろす前に都府県の段階で市場がほぼ決まってしまいます。同じ「学校」でも、段階によって見るべき地理の粒度が変わります。

まとめ

学校の位置データと市区町村境界を空間結合し、学校が置かれていない自治体を数えました。

  • 高等学校が1校も無い自治体は全国1,741のうち444(25.5%)。小学校が無いのは22、中学校が無いのは33にとどまり、空白は高校から始まる
  • 空白率は長野県49.4%、鳥取県47.4%、高知県47.1%が高く、兵庫県・広島県は0%。都道府県別の学校数からは見えない配置の差がある
  • 空白自治体から最寄り高校までの距離は中央値8.7km。10km以上が185自治体、20km以上が38自治体あり、最遠は沖縄県北大東村の308.6km
  • 都道府県の私立比率と自治体空白率の相関は-0.219と弱く、県単位の指標から市区町村の配置は推し量れない

データの出典

本記事は国土交通省の国土数値情報 学校データ(nlftp.facility.school)と行政区域データ由来の市区町村境界(nlftp.boundary.municipality)・都道府県境界(nlftp.boundary.prefecture)を、2026年9月26日時点で集計しています。学校の所在地点は単年の断面で、年次の推移は追えません。

学校の配置は、一つの自治体を調べているだけでも、都道府県別の合計を眺めているだけでも見えてきません。全国の学校の座標と市区町村の面を突き合わせ、同じ物差しで1,741自治体を並べて初めて、空白がどこにどれだけあるかが分かります。こうした分析の土台になるデータを、Queriaは整えた形で公開しています。国土数値情報のオープンデータについて、列名・単位・文字コードを揃え、テーブルやカラムの意味をメタデータとして添えてあります。データを集めて加工する手間をかけずに、本記事で使った学校データと市区町村境界データを組み合わせて、関心のある地域の配置を確かめられます。データの整備に時間を取られず、判断そのものに集中できます。

Dig deeper with an AI agent

Connect Queria to Claude or ChatGPT, or use Claude Code or Codex, and paste the prompt below. It also works from your phone or browser.

For example, you could explore “nlftp.boundary.municipality と nlftp.facility.school を ST_Contains で結合して、高等学校が1校も無い自治体を都道府県別に一覧して。そのうえで同じ自治体に中学校が何校あるかも並べて、中学校はあるのに高校が無い自治体を抽出して”.

Using Queria's open data, analyze the following: nlftp.boundary.municipality と nlftp.facility.school を ST_Contains で結合して、高等学校が1校も無い自治体を都道府県別に一覧して。そのうえで同じ自治体に中学校が何校あるかも並べて、中学校はあるのに高校が無い自治体を抽出して
Reference (this report): https://queria.io/showcase/school-location-private-ratio.md
Connect with the Queria connector (https://queria.io/mcp) or the Queria CLI (uvx queria). Run uvx queria --help and uvx queria docs list to learn the CLI.
Start in a terminal (CLI)
claude "Using Queria's open data, analyze the following: nlftp.boundary.municipality と nlftp.facility.school を ST_Contains で結合して、高等学校が1校も無い自治体を都道府県別に一覧して。そのうえで同じ自治体に中学校が何校あるかも並べて、中学校はあるのに高校が無い自治体を抽出して
Reference (this report): https://queria.io/showcase/school-location-private-ratio.md
Connect with the Queria connector (https://queria.io/mcp) or the Queria CLI (uvx queria). Run uvx queria --help and uvx queria docs list to learn the CLI."