mcpField
I
isochrone

isochrone

ローカル
github.com/capan地図・旅行26 週間前に更新

isochrone について

isochroneは移動時間と移動プロファイルに応じて、ベルリンで到達可能な道路網を表示します。塗りつぶしポリゴンではなく道路網を描き、日常的な目的地の重みに基づく地域ランキングも行います。

主な機能

  1. 01到達時間別の道路網表示
  2. 02徒歩、ベビーカー、車椅子のプロファイル
  3. 037種類の目的地による重み付きランキング
  4. 04事前計算された市全域の到達データ

活用シーン

  1. 01時間内に到達できる道路の確認
  2. 02起点ごとの到達範囲の比較
  3. 03日常のニーズに応じたベルリン地域の順位付け

MCP 対応

`isochrone-mcp`はMCPクライアントに`reachable_area`ツールを提供します。起点、時間、プロファイル、任意の目的地を受け取り、文章の概要と地図リンクを返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"capan-isochrone": {
"command": "npx",
"args": [
"-y",
"isochrone-mcp"
]
}
}
}
起動コマンドnpx -y isochrone-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmisochrone-mcp0.1.4

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
latnumberはい出発地点の緯度(WGS84)
lonnumberはい出発地点の経度(WGS84)
targetobjectいいえ任意の目的地。指定時間内に到達可能かどうかと、おおよその到着時刻を報告します
target.latnumberはい
target.lonnumberはい
minutesintegerいいえ時間の上限(分)。移動速度の速いプロファイルほど上限は短くなります。検索範囲が広いほど処理量が増えるため、徒歩は最大 25 分、自転車は最大 10 分です。省略すると、プロファイルに応じた適切な既定値を使用します。
profileenumいいえ移動プロファイルwalk | stroller | wheelchair | bike
include_placesbooleanいいえ各グループ(飲食、買い物、文化、健康、学習、アウトドア、お金)で到達可能な場所の数も集計します
include_geometrybooleanいいえ元の GeoJSON も返します(到着時間帯 10 区分、データ量大)

詳細

isochrone

demo uptime

公開中:iso.huseyincapan.dev

地図上の任意の場所をクリックすると、徒歩15分以内に実際に到達できる道路ネットワークを表示します。到着時間ごとに色分けされ、階段や未舗装路を考慮した移動プロファイルも利用できます。

OSM データ → PostGIS + pgRouting → Express → Leaflet。

同じ角、同じ15分を2通りで描画:到達可能な道路ネットワークと、その周囲に描いた外郭

なぜポリゴンではないのか?

私が見つけた等時間圏マップは、どれも塗りつぶしたポリゴンで答えを示します。ハトでない限り、それは誤りです。ポリゴンでは、街区の中央まで行ける、線路の切通しを横断できる、建物の中を歩けると主張することになるからです。上の角では、同じ15分で到達できる道路は107.6 kmありますが、その周囲に描いた外郭は3.28 km²を覆い、実際には歩いて到達できない道路を30.4 kmも含んでいると主張します。このマップは道路ネットワークを描画します。

仕組み

pgr_drivingDistance は、クリック位置に最も近い頂点から道路グラフをたどり、時間の上限に達するまで進んで、到着時間とともに到達可能なすべてのエッジを返します。それらのエッジを10等分の時間帯に分類し、そのまま描画します。

エッジのコストは length / speed で表される秒数で、リクエストごとに選択されたプロファイルに応じて計算されます。そのため、プロファイルの追加はスキーマを変更せず、いくつかの数値を設定するだけです。

profilespeedstairsunpaved
walk1.4 m/s速度半分通常
stroller1.2 m/s通行不可0.6×
wheelchair0.9 m/s通行不可通行不可

これらの係数は測定値ではなく推定値です。既知の課題をご覧ください。

どこに住むべき?

短いアンケートで、日常生活に関わる7つのレイヤー(飲食店、緑地、遊び場、食料品店、医療、幼稚園、学校)に重み付けすると、ベルリン全体のマップが再評価され、徒歩、自転車、車椅子で移動する場合に、あなたにとっての重み付けされた15分都市が実際にどこにあるかを表示します。

ポイントは、質問に答える時点では経路探索を行わないことです。市全体の到達可能範囲を示す21個のサーフェス(7つのレイヤー × 3つのプロファイル、各約134,000のグリッドセル)をオフラインで事前計算しているため、都市の再評価は1回の集約クエリで済みます。ベビーカーのプロファイルは意図的にここから除外しています。速度係数は未調整の推定値であり、測定値であるかのように公開すべきではないためです。

Claude に質問する(MCP)

isochrone-mcp パッケージを使うと、任意の MCP クライアントからこの API に到達可能性について質問できます。

claude mcp add isochrone -- npx -y isochrone-mcp
Claude が到達可能性についての質問に回答し、その後、等時間圏が地図上に描画されます

1つのツール reachable_area を使い、出発地点、所要時間、プロファイルを指定します。任意で目的地(「時間内にそこまで行けますか?」)も指定できます。座標の羅列ではなく、文章による要約と地図へのリンクが返されます。詳しくは mcp/ をご覧ください。

既知の課題

  • グラフの孤立領域。 クリック位置に最も近い頂点が、接続されていない断片上にある場合があります。52.515,13.400 では13個のノードにしか到達できません。対処するには、頂点検索で結合する pgr_connectedComponents テーブルを一度だけ作成します。
  • 調整。 上記の速度は推測値です。Google の Isochrones API(プレビュー)は WALK をサポートし、GeoJSON を返すため、walk プロファイルをそれに照らして調整できます。ベビーカー/車椅子モードはないため、これらは未検証のままです。
  • 到達不能な出発地点は、「このプロファイルでは到達不能」と表示されず、小さな塊として描画されます。

自分で実行する

開発環境のセットアップ、デプロイ、都市データのインポート、運用メモは docs/OPERATIONS.md にあります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。