К основному содержанию
скилл CX Codex

network-accessibility-analysis — скилл для Claude Code

Переводит расчёты доступности с прямых линий на дорожные сети для пешеходов, авто и транзита. Помогает строить изохроны и матрицы корреспонденций.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add muend/geoai-skills --skill network-accessibility-analysis -a claude-code
Открыть на GitHub

Что делает network-accessibility-analysis

Скилл инструктирует агента рассчитывать реальную транспортную доступность вместо евклидовых буферов «по прямой». Он определяет стек под масштаб задачи: для районов и городов предлагает связку OSMnx с NetworkX, а для региональных матриц корреспонденций крупнее 10⁴×10⁴ переключает на pandana или r5py с поддержкой GTFS.

Внутри заложены правила подготовки графа: строгая фильтрация по типу перемещения network_type, перевод координат в метрическую проекцию и отсечение изолированных подграфов через largest_component. Если запустить пешеходный расчёт на автомобильном графе, пропадут тротуары и лестницы, а слепая привязка точек к узлам сети на расстоянии пары километров тихо исказит результаты.

Агент помогает строить рёберные изохроны без ложных охватов через водные преграды, вычислять метрики 2SFCA для медицинских объектов и решать задачи размещения через PuLP или OR-Tools. Для расчёта общественного транспорта обязательна проверка актуальности календаря GTFS, иначе просроченное расписание сбросит время в пешеходное.

Какие задачи решает

  • рассчитать матрицы затрат времени типа «многие ко многим» через pandana или r5py
  • построить изохроны пешей или автомобильной доступности без пересечения барьеров
  • оценить обеспеченность районов инфраструктурой по двухэтапному методу плавающего охвата (2SFCA)
  • найти оптимальные места размещения объектов методами p-median или max-coverage

Примеры запросов агенту

  • Построй 15-минутные пешие изохроны для поликлиник города через OSMnx
  • Рассчитай доступность рабочих мест на общественном транспорте по расписанию GTFS в r5py
  • Оцени пространственную доступность больниц по методике 2SFCA с учётом спроса

Как установить network-accessibility-analysis

1Через Skills CLI (Vercel)

npx skills add muend/geoai-skills --skill network-accessibility-analysis -a claude-code

2Вручную: положить файлы

~/.claude/skills/network-accessibility-analysis/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/network-accessibility-analysis/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о network-accessibility-analysis

Как установить network-accessibility-analysis в Claude Code?

Выполните команду в терминале: npx skills add muend/geoai-skills --skill network-accessibility-analysis -a claude-code.

Что делает скилл network-accessibility-analysis?

Он задаёт правила анализа транспортной доступности по дорожным сетям вместо приблизительных круговых радиусов. Скилл подсказывает формулы метрик, проверяет корректность типов дорог и защищает от ошибок привязки точек.

Почему для больших матриц корреспонденций не используется NetworkX?

NetworkX перегружает память при переборе кратчайших путей на масштабе агломераций при объёмах свыше 10⁴×10⁴ пар. В таких сценариях скилл требует переходить на pandana или r5py.

Исходный текст

SKILL.md · MIT
---
name: network-accessibility-analysis
description: >-
  Always invoke for access to facilities or opportunities by walking,
  driving, cycling, or public transport, even for a conceptual question with
  no routing terms or data yet. Covers hospital and service access,
  transit/GTFS, routes, isochrones, OD matrices, closest facility, 2SFCA,
  walkability, coverage, and equity. Invoke when Euclidean buffers proxy for
  network access. Use movement-trajectory for observed tracks and MCDA for
  suitability without network costs.
license: MIT
metadata:
  author: Muhammed Enes Duran
---

# Network & Accessibility Analysis

Purpose: replace as-the-crow-flies guesswork with network-true travel
costs, at the right scale and with honest assumptions about speeds and
modes. First decision on every task: Euclidean distance is only acceptable
as a declared approximation — flag it whenever you see it standing in for
access.

## Tool selection by scale

| Scale | Tool |
|---|---|
| Neighborhood-city, research flexibility | **OSMnx + NetworkX** |
| City-region, many-to-many OD (>10⁴×10⁴) | **r5py** (multimodal + transit w/ GTFS) or **pandana** (contraction-hierarchy speed) |
| Production routing service | Valhalla / OSRM / OpenRouteService API |
| Proprietary stacks | ArcGIS Network Analyst (script it headlessly) |

NetworkX chokes on metro-scale many-to-many — don't loop `shortest_path`
over thousands of origins; switch tools instead.

## Graph construction (OSMnx)

```python
import osmnx as ox

G = ox.graph_from_place("City, Country", network_type="drive")  # walk/bike/all
G = ox.add_edge_speeds(G)          # imputes from highway tags where maxspeed missing
G = ox.add_edge_travel_times(G)    # edge attr: travel_time (s)
G = ox.project_graph(G)            # metric CRS before any distance work
```

- **network_type matters**: pedestrian analysis on a `drive` graph misses
  paths, stairs, plazas; driving on `all` uses footpaths. Match mode.
- Imputed speeds are averages by road class — a systematic bias, not
  noise. State it; calibrate against known trips when stakes are high.
- Keep the strongly connected component for routing
  (`ox.truncate.largest_component(G, strongly=True)`); orphan islands
  cause spurious infinities.
- **Snapping**: origins/destinations map to nearest nodes/edges
  (`ox.distance.nearest_nodes`). Report the snap-distance distribution;
  a facility snapped 2 km away (riverside, gated area) silently corrupts
  results.

## Core products

- **Isochrones / service areas**: ego-graph by travel_time cutoff → alpha
  shape or buffered edge union around reached edges. Node-based convex
  hulls overstate coverage across rivers/highways — prefer edge-based
  polygons. Always label the assumptions: mode, speed model, cutoff.
- **OD matrix**: many-to-many travel costs; the substrate for
  accessibility and location-allocation. For big matrices use
  pandana/r5py; store as Parquet with origin/destination IDs.
- **Closest facility**: k-nearest by network cost (not Euclidean); report
  both the assigned facility and the cost.
- **Centrality**: betweenness on travel_time (sampled `k` for big
  graphs — exact is O(nm)); edge betweenness ≈ through-traffic potential.
  Interpret as network structure, not observed traffic.

## Accessibility metrics — pick deliberately

| Metric | Question it answers | Weakness |
|---|---|---|
| Cumulative opportunities (# jobs/POIs within T min) | Simple, communicable | Cliff at T; all-or-nothing |
| Gravity-based (distance-decayed sum) | Smooth access | Decay parameter must be justified |
| **2SFCA / E2SFCA** | Supply-demand ratio access (health care standard) | Catchment size choice drives results |
| Closest-facility time | Worst-case need | Ignores capacity/congestion |

For equity analyses, join metrics to population/demographic polygons
(area-weighted or dasymetric — see `geo-data-engineering`) and report
distributions per group, not just city means. Route statistical testing of
disparities to `spatial-statistics`.

## Location-allocation

Optimal siting (p-median, max-coverage) on the OD matrix: formulate with
PuLP/OR-Tools; inputs are the OD matrix + demand weights + candidate
sites. State the objective explicitly — minimize mean travel time
(p-median) vs maximize covered demand within T (max-coverage) give
different answers, and stakeholders rarely know which they asked for.
Feed results back to `mcda-suitability-analysis` when siting mixes network
access with other criteria.

## Transit (GTFS)

Use r5py with OSM + GTFS feeds; results are departure-time sensitive —
compute over a time window (e.g., 07:00-09:00 percentiles), never a single
departure. Validate the feed (calendar coverage on your analysis date!) —
an expired GTFS calendar yields walking-only times that look plausible.

## Verification protocol

1. Spot-check 3 routes against an external router (Google/OSRM) — within
   ~20% or explain why.
2. Map unreachable/infinite-cost pairs — usually snapping or connectivity
   artifacts, not real inaccessibility.
3. Isochrone eyeball: does it respect rivers, highways, one-ways?

## Pitfalls checklist

- Euclidean buffers presented as "service areas".
- Wrong network_type for the mode.
- Convex-hull isochrones bridging barriers.
- Snap distances unchecked.
- One departure time for transit accessibility.
- Betweenness sold as traffic volume.
- OD matrix in degrees-CRS travel "distances".

## Execution contract

- **Workflow:** define mode, time, impedance, origins, destinations, and equity question; build and validate the network; snap inputs; compute routes or matrices; summarize access; verify.
- **Decision rules:** use network costs for constrained travel, movement analytics for observed tracks, and MCDA only when accessibility becomes one criterion in a broader preference model.
- **Verification protocol:** audit connectivity and snapping, spot-check routes, map unreachable pairs, test departure-time or impedance sensitivity, and reconcile OD dimensions and units.
- **Failure modes:** withhold access claims for disconnected graphs, wrong mode or turn rules, expired GTFS service, excessive snapping, Euclidean substitution, or unstable departure-time results.
- **Deliverables:** network provenance, assumptions and cost function, routes or OD matrix, isochrones or access metrics, unreachable-case report, validation evidence, and equity caveats.
- **Source freshness:** consult [the authoritative source registry](references/authoritative-sources.md) before using network, GTFS, or routing APIs and archive source dates.

© Muhammed Enes Duran · MIT · muend/geoai-skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. CX Codex +1 511 300установок caveman-evidence-review JuliusBrussee Скилл читает данные Caveman Cloud о расходах LLM, трассах и маршрутизации. Подходит для проверки того, куда уходит бюджет проекта. CX Codex +1 104 500установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок performance-optimization addyosmani Скилл для агентов ИИ-кодинга: сначала замеряет, потом чинит узкое место — от Core Web Vitals до N+1 запросов и индексов в базе. CX Codex +1 65 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Из того же набора18

spatial-statistics Скилл для пространственного анализа: проверяет кластеризацию, горячие точки и зависимость в геоданных, а потом помогает с диагностикой регрессии. CX Codex +1 ★ 35звёзд репо remote-sensing-analysis Скилл проверяет спутниковые снимки перед расчётами, согласует уровни обработки и строит надёжные пайплайны дистанционного зондирования. CX Codex +1 ★ 35звёзд репо postgis-spatial-sql Скилл помогает выбирать движок для пространственных SQL-запросов и разбирать схемы, индексы и планы выполнения. Пригодится для PostGIS, DuckDB Spatial и пространственных соединений. CX Codex +1 ★ 35звёзд репо point-cloud-lidar Скилл для работы с LAS, LAZ и COPC: классификация земли, DTM/DSM/CHM, метрики леса и зданий, вертикальные датумы. Нужен, когда на входе сырое облако точек. CX Codex +1 ★ 35звёзд репо movement-trajectory Скилл помогает очищать GPS/GNSS-треки, находить остановки и поездки, сопоставлять точки с дорогами и агрегировать потоки. Пригодится для анализа перемещений по координатам с временными метками. CX Codex +1 ★ 35звёзд репо ml-experiment-standards Заставляет агента проверять утечки, выбирать сплиты и метрики до обучения модели. Пригодится, когда результат нужно воспроизвести, а не просто получить цифру. CX Codex +1 ★ 35звёзд репо mcda-suitability-analysis Скилл для пространственного анализа пригодности территории методом MCDA, расчёта весов AHP и проверки устойчивости карт. CX Codex +1 ★ 35звёзд репо google-earth-engine Скилл помогает строить обработку спутниковых данных в Google Earth Engine: от фильтрации коллекций до статистики по зонам и экспорта результатов. CX Codex +1 ★ 35звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой