BIM・IFCブログに戻る
デジタルツイン · 2026-10-16 · 7分
Webページから読める都市オープンデータは?20都市・28フィードを検証
ブラウザーで動くデジタルツインが使えるのは、Webページに読み込みが許可されたデータだけです。私たちは20都市の公開フィード28件に、ブラウザーとまったく同じ方法でリクエストを送り、どれが読み込める応答を返すかを記録しました。結果は25件。その一覧と、残る3件をブロックしているもの、ダウンロードできるデータを紹介します。
IFC Viewer Onlineで上空から見たバルセロナ。地図上にオープンデータが表示され、カタルーニャ広場のIFCモデルの周りにBicingのステーション、充電スポット、道路の交通状況、大気質が並んでいる
閲覧者のブラウザー内で動き、自前のサーバーを持たないデジタルツインが使えるのは、Webページが読み込みを許可されたデータだけです。この許可は、ライセンスやキーの問題ではありません。提供元のサーバーが返すか返さないかで決まるレスポンスヘッダー、CORS[cors]です。これがなければ、データは公開されていても、ページからは手が届きません。
そこで検証しました。20都市の公開エンドポイント28件(シェアサイクル、公共交通のリアルタイムデータ、市のオープンデータポータル、気象、3D都市モデル)に、ブラウザーとまったく同じ方法でそれぞれ1回ずつリクエストを送り、結果を記録しました。
この記事のポイント
- 28件のエンドポイントのうち25件は、Webページから直接読み込めます。
- 最もオープンなのはシェアサイクルです。テストしたGBFSフィード10件のうち9件が、CORSを付けて応答しました。
- ブロックされた3件は、パリのVélib'、ヘルシンキのHSLのGTFS-Realtimeフィード、ウィーンのWiener Linienのリアルタイムモニターです。
- ブロックされても終わりではありません。HSLは同じバスの位置をMQTTでも公開しており、こちらはブラウザーから読めます。
都市ごとの結果。緑はWebページからフィードを読めるもの、赤はサーバーからしか読めないものです。
テストの方法
2026年10月15日、各エンドポイントに、このサイトのページが送るのと同じOriginヘッダーを付けたGETリクエストを1回ずつ送りました。「読める」とは、そのページに読み込みを許可するAccess-Control-Allow-Originヘッダー付きで応答が返ってきたことを意味します。ステータスコードとコンテンツタイプを含む全リストは、CSVで公開しています[csv]。
シェアサイクル:オープン標準が機能している
テストした10のシェアサイクルシステムのうち9つが、GBFS[gbfs]をCORS付きで公開しています。バルセロナ、ベルリン、オスロ、ニューヨーク、シカゴ、サンフランシスコ、トロント、モントリオール、メキシコシティです。パリのVélib'は同じ標準で公開していますが、ヘッダーがありません。違いを生むのは、許可を既定とする共通の形式です。1つの都市で動けば、次の都市でも動きます。
公共交通:まちまちな状況
ロンドンのTfL API、ボストンのMBTA、ニューヨークの地下鉄のGTFS-Realtime、そして東京のODPTの2つのフィードは、CORSを付けて応答します。HSLのGTFS-Realtimeとウィーンのリアルタイムモニターは、ヘッダーを返しません。回避策を示しているのがHSLです。同じ車両位置がWebSocket上のMQTTで公開されており、これはCORSの対象になりません。ヘルシンキのツインはまさにこれを使っています。詳しくはMQTTで作るバスターミナルのツインで解説しています。
市のデータポータル:大半がオープン
一般的なプラットフォームで構築されたポータル(パリとメルボルンのOpendatasoft、ニューヨークのSocrata、バルセロナとチューリッヒのCKAN)は、CORSを付けて応答しました。スペインの国のデータカタログ、マドリードの交通センサー、フィンランドの気象サービス、シンガポールのリアルタイムAPI、ヘルシンキの3D都市モデルも同様です。
28件のエンドポイント一覧
| 都市 | ソース | 種類 | Webページから |
|---|
| バルセロナ | Bicing(GBFS 3.0) | シェアサイクル | 読める |
| バルセロナ | Open Data BCNのリソース(Endolla) | 都市データ | 読める |
| バルセロナ | Open Data BCN CKAN API | 都市データ | 読める |
| マドリード | Informoの交通センサー(XML) | 都市データ | 読める |
| スペイン | datos.gob.es API | 都市データ | 読める |
| パリ | Vélib' Métropole(GBFS) | シェアサイクル | 不可 |
| パリ | opendata.paris.fr(Opendatasoft) | 都市データ | 読める |
| ロンドン | TfL Unified API(BikePoint) | 公共交通 | 読める |
| オスロ | Oslo Bysykkel(GBFS) | シェアサイクル | 読める |
| ヘルシンキ | HSL GTFS-Realtime | 公共交通 | 不可 |
| ヘルシンキ | FMIのオープンデータ(WFS) | 都市データ | 読める |
| ヘルシンキ | Helsinki 3D(3D Tiles) | 都市データ | 読める |
| ウィーン | Wiener Linienのリアルタイムモニター | 公共交通 | 不可 |
| ベルリン | nextbike Berlin(GBFS) | シェアサイクル | 読める |
| チューリッヒ | Open Data Zürich(CKAN) | 都市データ | 読める |
| 東京 | ODPT公開API(都営の列車) | 公共交通 | 読める |
| 東京 | ODPT 都営バス(GTFS-Realtime) | 公共交通 | 読める |
| シンガポール | data.gov.sgのリアルタイムAPI | 都市データ | 読める |
| ニューヨーク | Citi Bike(GBFS) | シェアサイクル | 読める |
| ニューヨーク | NYC Open Data(Socrata) | 都市データ | 読める |
| ニューヨーク | MTAの地下鉄(GTFS-Realtime) | 公共交通 | 読める |
| ボストン | MBTA V3 API | 公共交通 | 読める |
| シカゴ | Divvy(GBFS) | シェアサイクル | 読める |
| サンフランシスコ | Bay Wheels(GBFS) | シェアサイクル | 読める |
| トロント | Bike Share Toronto(GBFS) | シェアサイクル | 読める |
| モントリオール | BIXI(GBFS) | シェアサイクル | 読める |
| メキシコシティ | Ecobici(GBFS) | シェアサイクル | 読める |
| メルボルン | City of Melbourne(Opendatasoft) | 都市データ | 読める |
2026年10月15日にテスト。CSVには、各レスポンスのステータス、CORSヘッダー、コンテンツタイプも記載しています。
フィードがブロックされている場合
- 別の経路を探す。提供元は同じデータを複数の方法で提供していることがよくあります。ここではHSLのMQTTストリームがその例です。
- 提供元に依頼する。ヘッダーの追加は提供元側で1行変えるだけで済み、オープンデータの担当チームは依頼されれば対応してくれることがよくあります。
- 間にサーバーを置く。ただし、その意味は理解しておきましょう。サーバーは閲覧者に代わってすべてのリクエストを取得してそのすべてを目にし、自分たちで運用しなければならないものが1つ増えます。
- 回避するためにAPIキーを公開ページに置いてはいけません。ページが送信するものは、閲覧者がすべて読めてしまいます。
このブログのライブ事例がどのようにフィードを読み込んでいるか、それぞれのデータがどこから来ているかは、都市デジタルツインとはとバルセロナのオープンデータ・ツインで解説しています。
Webページから読める都市オープンデータは?20都市・28フィードを検証