アイソクロン(isochrone)地図は、一見シンプルな質問に答えるポリゴンです。「ここからX分でどこまで行けるか?」コーヒーショップの周りに15分のドライブタイムアイソクロンを描けば、その実際の商圏が分かります。地下鉄駅の周りに30分のウォークタイムアイソクロンを描けば、徒歩での到達範囲が見えます。「近くの〇〇」機能、店舗商圏分析、通勤時間ベースの不動産フィルタはすべてこの考え方の上に成り立っています。
このガイドでは、アイソクロンとは何か、道路ネットワーク上でどのように計算されるか、本番システムでどこに登場するか、そしてチームの時間とコストを奪う落とし穴について解説します。
アイソクロンの本質
語源はギリシャ語の isos(等しい)と chronos(時間)で、所要時間が等しい曲線を意味します。現代のマッピングにおけるアイソクロンとは、選択した移動モードで、出発地から指定した時間予算内に到達可能なすべての地点を表すポリゴン(または入れ子のポリゴン群)です。
アイソクロンが単純なバッファと異なる点は2つあります。第一に、平面ではなく道路ネットワーク上で計算されます。河川、高速道路、山岳、一方通行などすべてが形状を歪めます。第二に、移動モードに依存します。同じ地点からの20分ドライブ、20分自転車、20分徒歩のアイソクロンは、3つのまったく異なるポリゴンになります。
出力はほぼ常にGeoJSONで、PolygonまたはMultiPolygonジオメトリと、所要時間のしきい値とモードを保持するプロパティを持ちます。これがフロントエンドの地図がレンダリングし、空間データベースがクエリ対象とするものです。
アイソクロンの計算方法
素朴なアプローチは、出発地から最短経路探索を実行し、累積所要時間がしきい値に達した時点で停止することです。しかし実際にはこれはスケールに対して遅すぎるため、本番システムでは事前計算された道路ネットワークグラフと高速化された探索アルゴリズムを使用します。
道路グラフはOpenStreetMapや商用道路データセットから一度構築されます。すべての交差点がノードとなり、すべての道路区間が各モードの所要時間で重み付けされたエッジになります。出発地から、グラフ探索(Dijkstra、A*、または双方向版)が外向きに進み、未訪問のノードのうち最もコストの低いものから展開していき、時間予算が尽きるまで続きます。到達したノードの集合と部分的に到達したエッジが境界を定義します。
最新のエンジンは contraction hierarchies などの技術を使用してこれを高速化します。グラフは前処理で階層化され、ショートカットエッジが重要度の低いノードをスキップするため、本来なら数百万のエッジをたどるクエリでもミリ秒単位で応答できます。到達ノードはコンケーブハルやアルファシェイプでポリゴンに包まれ、輪郭が空白の領域に膨らむことなく実際の道路範囲に沿うようにします。
結果として得られるGeoJSONポリゴンは、Leaflet、Mapbox GL、MapLibreの地図にそのままストリーミングできるほか、PostGISに読み込んで空間結合に使えます。
アイソクロンの活用シーン
アイソクロンは、位置情報を活用した多くの製品機能の裏で静かに動作しています。
- 店舗・施設の商圏: 小売業者は各店舗周辺にドライブタイムアイソクロンを描き、合理的にサービス可能な人口を推定し、国勢調査や消費データを重ねて市場規模を測ります
- EV航続距離計画: バッテリー対応のアイソクロンは、標高、速度、消費を考慮して、残り充電量でEVがどこまで走れるかを示します
- 不動産の通勤時間フィルタ: 「このオフィスから30分以内のすべての物件を表示」は、アイソクロンと物件リストテーブルの交差です
- 医療アクセス分析: 計画担当者は病院やクリニック周辺のアイソクロンと人口グリッドを比較し、サービスが届いていない地域を特定します
- ロジスティクスのサービスエリア: 宅配業者、フィールドサービスチーム、オンデマンド配送プラットフォームはアイソクロンを使って各拠点から受け付ける注文範囲を定義します
- 都市計画と公共交通: 「15分都市」研究、駅商圏計画、アクセシビリティ監査はすべてマルチモーダルアイソクロンで動いています
いずれの場合も、アイソクロンは空間フィルタとして機能します。「どれくらい近ければ十分近いのか?」という曖昧な問いを、交差・描画・推論可能なポリゴンに変換します。
本番環境での落とし穴
アイソクロンはデモでは簡単に見えますが、本番環境では難しくなります。
モードの不一致。ドライブのアイソクロンは高速道路の速度を使い、歩行者の一方通行制限は無視します。徒歩のアイソクロンは歩道や歩行者用ショートカットを使い、これらは自動車では通れません。両者を混同するのが「ポリゴンが間違って見える」というバグ報告で最も多い原因です。常に明示的なモードを渡し、UIに表示してください。
時間帯と交通状況。03:00の15分ドライブは、17:30の同じ15分ドライブよりはるかに広い範囲をカバーします。通勤を意識したユースケース(不動産フィルタ、店舗営業時間、配車)の場合は、departure_timeを渡し、交通対応エンジンを使ってください。静的なアイソクロンはラッシュアワーについて嘘をつきます。
マルチモーダルの結合。実際の移動はモードを組み合わせます。地下鉄まで歩く、2駅乗る、目的地まで歩く。素朴なシングルモードのアイソクロンはこれを完全に見落とします。真のマルチモーダルアイソクロンには公共交通の時刻表と、歩行者と公共交通のエッジを結合するグラフが必要で、ドライブのみより著しく複雑になります。
カバレッジの過剰平滑化。一部のエンジンはポリゴンを綺麗に見せようと積極的にスムージングし、実際には道路の届かない領域を含めることでカバレッジを密かに過大評価します。重要な意思決定(店舗開店、配送ゾーン受け入れ)には、レンダリングされた形状を信用せず生の境界を確認してください。
スケール時のポリゴンサイズ。長時間のアイソクロン(60分、90分)は数万の頂点を持つことがあります。ブラウザに送る前に簡略化するか、サーバーサイドでレンダリングしないと、地図がカクつきます。
MapAtlasのアイソクロン
MapAtlas Isochrone APIは、ドライブ、徒歩、自転車、交通対応ドライブタイムのポリゴンをGeoJSON形式で返します。1リクエストで複数の時間しきい値をサポートし、交通対応の結果を得るために出発時刻入力にも対応しています。ポリゴンは継続的に更新される道路グラフ上で計算され、地図ライブラリが追加処理なしでレンダリングできる形状で返されます。
到達可能エリアのポリゴンと、ペアごとの所要時間の両方が必要なワークフローでは、Isochrone APIはDistance Matrix APIと組み合わせることで、「20分以内に到達できる場所はどこか?」と「これらの候補をドライブ時間でランク付けする」を1つのパイプラインで答えられます。
アイソクロンは結局のところただのポリゴンです。しかし、所要時間をアプリケーションがフィルタ・描画・推論できる形状に変えるポリゴンであり、真の通勤対応機能と、ピンの周りに描かれた円との違いを生み出します。
よくある質問
アイソクロン地図とは何ですか?
アイソクロン(isochrone)地図とは、出発地点から指定した所要時間内に到達できるすべての場所を示すポリゴン、または入れ子状のポリゴン群です。例えば店舗周辺の15分ドライブタイムのアイソクロンは、顧客が15分以内に到達できるすべての道路区間を含む形状を地図上に描き出します。実際の道路ネットワークには河川、高速道路、行き止まり、一方通行があるため、この形状はほぼ円にはなりません。
アイソクロンと半径の違いは何ですか?
半径はコンパスで描いた直線距離のバッファです。内側のすべての点は中心からの直線距離(クロウフライ距離)が同じになります。一方アイソクロンは、実際の道路ネットワーク上で計算された所要時間バッファであり、内側のすべての点には同じ分数で到達できます。10kmの半径と10分のドライブタイムアイソクロンが一致することはほぼありません。地形、高速道路、交通状況によって形状が歪むためです。
アイソクロンAPIは何を返しますか?
アイソクロンAPIは1つ以上のポリゴンをGeoJSON形式で返し、それぞれに対応する所要時間のしきい値(例: 5分、10分、15分)がタグ付けされています。ポリゴンは選択した移動モード(自動車、徒歩、自転車、公共交通)の道路グラフ上で計算され、交通状況を考慮する場合は出発時刻を指定して取得できます。GeoJSONはそのまま地図にドロップしたり、PostGISの空間フィルタとして利用できます。
アイソクロンはなぜギザギザに見えるのですか?
アイソクロンは連続的な面ではなく、道路区間のグラフから導出されます。ポリゴンの境界は時間予算内で到達可能な最遠ノードから補間されるため、エッジは道路の形状に沿います。コンケーブハル(凹包)やアルファシェイプを使えば滑らかな形状にできますが、わずかにギザギザした輪郭の方が誠実です。スムージング関数が想像した境界ではなく、実際にネットワークが終わる場所を示しているからです。

