LoginSignup
0
0

More than 1 year has passed since last update.

前回、GBFSで世界中のシェアモビリティのステーション所在地をマッピングしました🌎

今回はステーションではなく車両のマッピングをしてみました。GBFSではfree_bike_status.jsonという、現在レンタルされていない車両を公開するためのファイル仕様があります。今回はこれをすべて可視化します。全世界で330サービス/約19万台!出典は後掲の通りです1
image.png

本記事では筆者が取得に成功したGBFSを根拠にサービス数・車両数を算出しています。例えばデータの取得漏れ(サービス側のDBメンテナンスでデータ取得ができなかった等)や公開されているデータが古い・誤っているなど、実体を正確に反映しきれていない可能性がゼロではないこと、ご留意ください。

free_bike_status.jsonとは?

GBFSはシェアモビリティのリアルタイムな乗換案内を実現するためのデータフォーマットです2

シェアモビリティサービスを大別すると、乗降拠点があらかじめ設置されてあるステーション型と、街中どこでも乗り捨て・借り出し可能なドックレス型の2種類があります。両方を採用したハイブリッド型も存在します。日本ではステーション型が一般的です。

ステーション型であれば、ステーション情報さえ公開すれば乗換案内は実現できますが、ドックレス型やハイブリッド型の場合、車両そのものの位置情報を公開しないと乗換案内が実現できません。free_bike_status.jsonは、ドックレス型サービスでも乗換案内ができるようにレンタル前の車両の位置情報等のデータを公開するためのファイルフォーマットです。

近日公開されるGBFS ver3.0では、free_bike_status.jsonは廃止され、代わってvehicle_status.jsonというファイルが使用される予定です。GBFSがシェアサイクルだけでなく、スクーターやカーシェア対応したことが背景にあるようです。

サービス体系との関係性

GBFSの仕様上、ステーション型ではステーション情報を公開必須、ドックレス型サービスでは車両情報を公開必須となっています。ただ、ステーション型であっても車両情報の公開は可能なため、車両情報があるからといってドックレス型とは限らないことに注意が必要です。

収集したデータを見ていると、ステーション型サービスでも車両情報を公開してるパターンが見受けられました(その逆も若干ありました)。ファイル構成とサービスタイプの関係を整理すると、どうやら下図のようになっていそうです。
image.png
GBFSは700近く公開されているので、実際にはもっと複雑なパターンが存在しそうですが、今回そこには深入りしないようにします。単純に車両情報の可視化を試みます。

やり方

前回同様、GBFSの取得に特化したモジュールgbfs-clientを使用します。

from gbfs.services import SystemDiscoveryService
import pandas as pd

ds = SystemDiscoveryService()

#システム一覧を取得(gbfs-clientを使用)
system_list = ds.systems

#ステーション一覧格納用の空DFを用意
column = ['system_id','bike_id','lon','lat']
df = pd.DataFrame(columns=column)

#各システムの第一言語()
for system in system_list:
    
    #systemIDの取得
    system_id = system["System ID"]    
    
    #gbfsのurlを取得
    gbfs_url = system["Auto-Discovery URL"]
    
    #systemID使って該当サービスの情報を保持(gbfs-clientを使用)
    try:
        #英語で取得をトライ
        client = ds.instantiate_client(system_id,'en')
    except BaseException as e:       
        #英語でのデータ公開がない場合、エラーメッセージをもとに第一言語を特定
        error_message = str(e)
        first_language = error_message.split(':')[1].split(',')[0].replace(' ','')
        
        try:
            #第一言語で再取得をトライ
            client = ds.instantiate_client(system_id,first_language)
        except:
            #それでも失敗した場合は処理中断
            print("言語情報の取得失敗, " + system_id )
            continue
    
    #車両情報が存在する場合、車両情報をDFに追加
    if 'free_bike_status' in client.feed_names:
          
        #車両一覧を取得(id)
        try:
            bikes = [ [system_id , bike["bike_id"] ,bike["lon"],bike["lat"]] for bike in client.request_feed('free_bike_status').get('data').get('bikes') ]   
        except:
            print("フリーバイク情報取得失敗, " + system_id )
            continue
            
        #車両一覧のDFに追加
        df = pd.concat([df, pd.DataFrame(bikes,columns=column)], ignore_index=True)
        print("フリーバイク取得成功!, " + system_id )
    else:
        print("フリーバイク情報なし, " + system_id )
        
        
#csv出力
df.to_csv('C:\\Users\\***\\Downloads\\free_bike.csv')

GBFSで世界旅行をしてみよう

前回はPythonモジュールfoliumでも可視化を試みましたが、今回は早速QGISで可視化し、世界を巡ってみたいと思います。出典は後掲の通りです1

北米

前回のステーション情報同様に北米は多くの事業者がGBFSを公開しています。119サービス/約6.4万台が存在していました。

なおここでの車両台数は“レンタルされていない車両”の台数のため、利用中の車両を含めるともっと多くの車両が存在しているはずです。
image.png

南米

前回はステーションが存在していた南米ですが、今回はデータなし。
image.png

ヨーロッパ

さすがヨーロッパ。前回同様に各地に車両がプロットされました。199サービス/約11.9万台が存在しました。
image.png

アフリカ

前回に引き続き、データなし。相変わらずヌル島にピンがありますが、これはデータ側の誤りなのでノーカウント。
image.png

中東

イスラエルのテルアビブに存在。2サービス/約4千台。
2サービスはいずれもキックボード事業者(Bird,Lime)でした。
image.png

中央アジア

インドに1台だけプロットされました。1台だけって怪しいですよね。
気になって中を見ると、データが誤っているようでした。北欧にいるはずの車両がなぜかインドに投下されてました。。。当然、集計対象外です。

よって中央アジアは車両情報なし。

image.png

東アジア

日本が属している地域なので一応ご紹介。
前回記事で見たようにHELLO CYCLINGとドコモ・バイクシェア東京のステーション情報が確認できた本地域ですが、車両情報に関しては空白地帯です。
image.png

オセアニア

前回はニュージーランドのみにステーション情報が存在しましたが、車両を可視化するとオーストラリアにも車両がプロットされました。11サービス/約2000台が存在しました。
image.png

得られた知見

前回記事での言及同様に、処理を進める中でGBFSの仕様に沿っていないデータの存在や、各々のライセンスをどうやって確認するかの課題を感じました。

加えて、本記事の最初に指摘したように、車両情報の可視化=ドックレス型サービスの可視化ではないという点も、可視化する中で改めて実感しました。ステーション型サービスだけど、free_bike_status.jsonを公開している事業者が思っていたより多そうです。

おわりに

今回は車両情報free_bike_status.jsonの可視化を試みました。
image.png
本当は「ドックレス型サービスの可視化」をしたかったのですが、何度も言及した通り、ステーション型であっても車両情報を公開している場合があったため、今回は断念しました。

ただ、前回取得したステーション情報と今回の車両情報を突き合せることで、そのような事例を除外できるはずです。次回こそは、ドックレス型サービスの可視化に挑戦したいと思います。

  1. HOPR Miami https://gbfs.hopr.city/api/gbfs/11/
    Neuron Mobility https://mds-global-bne.neuron-mobility.com/gbfs/2/
    Neuron Mobility https://mds-global-cbr.neuron-mobility.com/gbfs/2/
    Neuron Mobility https://mds-global-drw.neuron-mobility.com/gbfs/2/
    Neuron Newcastle https://mds-global-ncl.neuron-mobility.com/gbfs/2/
    Neuron Mobility Auckland https://mds-global-akl.neuron-mobility.com/gbfs/2/
    Neuron Mobility Christchurch https://mds-global-chc.neuron-mobility.com/gbfs/2/
    Neuron Mobility Dunedin https://mds-global-dud.neuron-mobility.com/gbfs/2/
    Neuron Mobility https://mds-global-tsv.neuron-mobility.com/gbfs/2/
    UBC https://gbfs.hopr.city/api/gbfs/13
    HOPR Atlanta https://gbfs.hopr.city/api/gbfs/20/
    HOPR Margaritaville https://gbfs.hopr.city/api/gbfs/21/
    HOPR Bishop Ranch https://gbfs.hopr.city/api/gbfs/27/
    Menlo Park Labs https://gbfs.hopr.city/api/gbfs/35/
    HOPR Tampa https://gbfs.hopr.city/api/gbfs/8/
    Wheels Austin https://austin-gbfs.getwheelsapp.com/gbfs.json
    Bay Wheels https://gbfs.baywheels.com/gbfs/gbfs.json
    Cykl https://www.cykl.nl/gbfs/gbfs.json
    Alcala de Henares https://mds.linkyour.city/gbfs/es_alcala_de_henares/gbfs.json
    LINK Alexandria https://mds.linkyour.city/gbfs/us_va_alexandria/gbfs.json
    LINK Arlington https://mds.linkyour.city/gbfs/us_va_arlington/gbfs.json
    Asbury Park https://mds.linkyour.city/gbfs/us_nj_asbury_park/gbfs.json
    Austin https://mds.linkyour.city/gbfs/us_tx_austin/gbfs.json
    Baltimore https://mds.linkyour.city/gbfs/us_md_baltimore/gbfs.json
    Link Cagnes-sur-Mer https://mds.linkyour.city/gbfs/fr_cagnessurmer/gbfs.json
    Canary Islands https://mds.linkyour.city/gbfs/es_canary_islands/gbfs.json
    Cascais https://mds.linkyour.city/gbfs/pt_cascais/gbfs.json
    Cleveland https://mds.linkyour.city/gbfs/us_oh_cleveland/gbfs.json
    Link Derby https://mds.linkyour.city/gbfs/gb_derby/gbfs.json
    Detroit https://mds.linkyour.city/gbfs/us_mi_detroit/gbfs.json
    El Puerto de Santa Maria https://mds.linkyour.city/gbfs/es_el_puerto_de_santa_maria/gbfs.json
    Faro https://mds.linkyour.city/gbfs/pt_faro/gbfs.json
    Hartford https://mds.linkyour.city/gbfs/us_ct_hartford/gbfs.json
    Jacksonville https://mds.linkyour.city/gbfs/us_fl_jacksonville/gbfs.json
    Knoxville https://mds.linkyour.city/gbfs/us_tn_knoxville/gbfs.json
    Link Linz https://mds.linkyour.city/gbfs/at_linz/gbfs.json
    Lisbon https://mds.linkyour.city/gbfs/pt_lisbon/gbfs.json
    LINK Los Angeles https://mds.linkyour.city/gbfs/us_ca_los_angeles/gbfs.json
    Madrid https://mds.linkyour.city/gbfs/es_madrid/gbfs.json
    Malaga https://mds.linkyour.city/gbfs/es_malaga/gbfs.json
    LINK Manhattan https://mds.linkyour.city/gbfs/us_ks_manhattan/gbfs.json
    Moncalieri https://mds.linkyour.city/gbfs/it_moncalieri/gbfs.json
    Nottingham https://mds.linkyour.city/gbfs/gb_nottingham/gbfs.json
    LINK Oakland https://mds.linkyour.city/gbfs/us_ca_oakland/gbfs.json
    Palermo https://mds.linkyour.city/gbfs/it_palermo/gbfs.json
    Perpignan https://mds.linkyour.city/gbfs/fr_perpignan/gbfs.json
    Pomezia https://mds.linkyour.city/gbfs/it_pomezia/gbfs.json
    Rome https://mds.linkyour.city/gbfs/it_rome/gbfs.json
    San Diego https://mds.linkyour.city/gbfs/us_ca_san_diego/gbfs.json
    LINK Seattle https://mds.linkyour.city/gbfs/us_wa_seattle/gbfs.json
    Tenerife https://mds.linkyour.city/gbfs/es_tenerife/gbfs.json
    Turin https://mds.linkyour.city/gbfs/it_turin/gbfs.json
    Vienna https://mds.linkyour.city/gbfs/at_vienna/gbfs.json
    Link Villaviciosa de Odon https://mds.linkyour.city/gbfs/es_villaviciosa_de_odon/gbfs.json
    LINK Nuremberg https://mds.linkyour.city/gbfs/de_nuremberg/gbfs.json
    Beryl - BCP https://gbfs.beryl.cc/v2/BCP/gbfs.json
    Beryl - Cornwall https://gbfs.beryl.cc/v2/Cornwall/gbfs.json
    Beryl - Greater Manchester https://gbfs.beryl.cc/v2/Greater_Manchester/gbfs.json
    Beryl - Hereford https://gbfs.beryl.cc/v2/Hereford/gbfs.json
    Beryl - Hertsmere https://gbfs.beryl.cc/v2/Hertsmere/gbfs.json
    Beryl - Isle of Wight https://gbfs.beryl.cc/v2/Isle_of_Wight/gbfs.json
    Beryl - Norwich https://gbfs.beryl.cc/v2/Norwich/gbfs.json
    Beryl - Portsmouth https://gbfs.beryl.cc/v2/Portsmouth/gbfs.json
    Beryl - Southampton https://gbfs.beryl.cc/v2/Southampton/gbfs.json
    Beryl - Watford https://gbfs.beryl.cc/v2/Watford/gbfs.json
    Beryl - West Midlands https://gbfs.beryl.cc/v2/West_Midlands/gbfs.json
    Beryl - Wool https://gbfs.beryl.cc/v2/Wool/gbfs.json
    BIKETOWN https://gbfs.biketownpdx.com/gbfs/gbfs.json
    Bird Lisbon https://mds.bird.co/gbfs/v2/public/lisbon/gbfs.json
    Bird Zaragoza https://mds.bird.co/gbfs/v2/public/zaragoza/gbfs.json
    Bird Alexandria https://mds.bird.co/gbfs/v2/public/alexandria/gbfs.json
    Bird Antwerp https://mds.bird.co/gbfs/v2/public/antwerp/gbfs.json
    Bird Basel https://mds.bird.co/gbfs/v2/public/basel/gbfs.json
    Bird Bordeaux https://mds.bird.co/gbfs/v2/public/bordeaux/gbfs.json
    Bird Braga https://mds.bird.co/gbfs/v2/public/braga/gbfs.json
    Bird Bulle https://mds.bird.co/gbfs/v2/public/bulle/gbfs.json
    Bird Cascais https://mds.bird.co/gbfs/v2/public/cascais/gbfs.json
    Bird Chalonsenchampagne https://mds.bird.co/gbfs/v2/public/chalonsenchampagne/gbfs.json
    Bird Cleveland https://mds.bird.co/gbfs/v2/public/cleveland/gbfs.json
    Bird Columbus https://mds.bird.co/gbfs/v2/public/columbus/gbfs.json
    Bird Culver City https://mds.bird.co/gbfs/v2/public/culver-city/gbfs.json
    Bird Detriot https://mds.bird.co/gbfs/v2/public/detroit/gbfs.json
    Bird Dieppe https://mds.bird.co/gbfs/v2/public/dieppe/gbfs.json
    Bird Durham https://mds.bird.co/gbfs/v2/public/durham/gbfs.json
    Bird Fairfax https://mds.bird.co/gbfs/v2/public/fairfax/gbfs.json
    Bird Indianapolis https://mds.bird.co/gbfs/v2/public/indianapolis/gbfs.json
    Bird Kansas City https://mds.bird.co/gbfs/v2/public/kansas-city/gbfs.json
    Bird Larochesuryon https://mds.bird.co/gbfs/v2/public/larochesuryon/gbfs.json
    Bird Laval https://mds.bird.co/gbfs/v2/public/laval/gbfs.json
    Bird Los Angeles https://mds.bird.co/gbfs/v2/public/los-angeles/gbfs.json
    Bird Louisville https://mds.bird.co/gbfs/v2/public/louisville/gbfs.json
    Bird Madrid https://mds.bird.co/gbfs/v2/public/madrid/gbfs.json
    Bird Marseille https://mds.bird.co/gbfs/v2/public/marseille/gbfs.json
    Bird Millau https://mds.bird.co/gbfs/v2/public/millau/gbfs.json
    Bird New York https://mds.bird.co/gbfs/v2/public/new-york/gbfs.json
    Bird Portland https://mds.bird.co/gbfs/v2/public/portland/gbfs.json
    Bird Rome https://mds.bird.co/gbfs/v2/public/rome/gbfs.json
    Bird San Francisco https://mds.bird.co/gbfs/v2/public/san-francisco/gbfs.json
    Bird St Louis https://mds.bird.co/gbfs/v2/public/st-louis/gbfs.json
    Bird Tel Aviv https://mds.bird.co/gbfs/v2/public/tel-aviv/gbfs.json
    Bird Tempe https://mds.bird.co/gbfs/v2/public/tempe/gbfs.json
    Bird Vichy https://mds.bird.co/gbfs/v2/public/vichy/gbfs.json
    Bird Washington DC https://mds.bird.co/gbfs/v2/public/washington-dc/gbfs.json
    Bird Zurich https://mds.bird.co/gbfs/v2/public/zurich/gbfs.json
    Bolt Bergen https://api.entur.io/mobility/v2/gbfs/boltbergen/gbfs
    Bolt Hamar https://api.entur.io/mobility/v2/gbfs/bolthamar/gbfs
    Bolt Lillestrom https://api.entur.io/mobility/v2/gbfs/boltlillestrom/gbfs
    Bolt Oslo https://api.entur.io/mobility/v2/gbfs/boltoslo/gbfs
    Capital Bike Share https://gbfs.capitalbikeshare.com/gbfs/gbfs.json
    Lyft Scooters Chicago https://s3.amazonaws.com/lyft-lastmile-production-iad/lbs/chi/gbfs.json
    CoGo https://gbfs.cogobikeshare.com/gbfs/gbfs.json
    Divvy https://gbfs.divvybikes.com/gbfs/gbfs.json
    Flamingo Palerston North https://data.rideflamingo.com/gbfs/palmerston-north/gbfs.json
    Flamingo Waimakariri https://data.rideflamingo.com/gbfs/waimakariri/gbfs.json
    Flamingo Wellington https://data.rideflamingo.com/gbfs/wellington/gbfs.json
    Lime Antwerp https://data.lime.bike/api/partners/v2/gbfs/antwerp/gbfs.json
    Lime Arlington https://data.lime.bike/api/partners/v2/gbfs/arlington/gbfs.json
    Lime Brussels https://data.lime.bike/api/partners/v2/gbfs/brussels/gbfs.json
    Lime Chicago https://data.lime.bike/api/partners/v2/gbfs/chicago/gbfs.json
    Lime Cleveland https://data.lime.bike/api/partners/v2/gbfs/cleveland/gbfs.json
    Lime Colorado Springs https://data.lime.bike/api/partners/v2/gbfs/colorado_springs/gbfs.json
    Lime Detroit https://data.lime.bike/api/partners/v2/gbfs/detroit/gbfs.json
    Lime Grand Rapids https://data.lime.bike/api/partners/v2/gbfs/grand_rapids/gbfs.json
    Lime Hamburg https://data.lime.bike/api/partners/v2/gbfs/hamburg/gbfs.json
    Lime Louisville https://data.lime.bike/api/partners/v2/gbfs/louisville/gbfs.json
    Lime Marseille https://data.lime.bike/api/partners/v2/gbfs/marseille/gbfs.json
    Lime New York https://data.lime.bike/api/partners/v2/gbfs/new_york/gbfs.json
    Lime Oakland https://data.lime.bike/api/partners/v2/gbfs/oakland/gbfs.json
    Lime Opfikon https://data.lime.bike/api/partners/v2/gbfs/opfikon/gbfs.json
    Lime Paris https://data.lime.bike/api/partners/v2/gbfs/paris/gbfs.json
    Lime Portland https://data.lime.bike/api/partners/v2/gbfs/portland/gbfs.json
    Lime Rome https://data.lime.bike/api/partners/v2/gbfs/rome/gbfs.json
    Lime San Francisco https://data.lime.bike/api/partners/v2/gbfs/san_francisco/gbfs.json
    Lime San Jose https://data.lime.bike/api/partners/v2/gbfs/san_jose/gbfs.json
    Lime Seattle https://data.lime.bike/api/partners/v2/gbfs/seattle/gbfs.json
    Lime Tel Aviv https://data.lime.bike/api/partners/v2/gbfs/tel_aviv/gbfs.json
    Lime Washington DC https://data.lime.bike/api/partners/v2/gbfs/washington_dc/gbfs.json
    Lime Zug https://data.lime.bike/api/partners/v2/gbfs/zug/gbfs.json
    Lyft https://s3.amazonaws.com/lyft-lastmile-production-iad/lbs/dca/gbfs.json
    Lyft Scooters Denver https://s3.amazonaws.com/lyft-lastmile-production-iad/lbs/den/gbfs.json
    Lyft Scooters San Diego https://s3.amazonaws.com/lyft-lastmile-production-iad/lbs/san/gbfs.json
    Bergisches e-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ac/gbfs.json
    SWA Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ag/gbfs.json
    BikeKIA https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ak/gbfs.json
    city bike Linz https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_al/gbfs.json
    nextbike BIH https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ba/gbfs.json
    Grad Šibenik (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bc/gbfs.json
    Bonn nextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bf/gbfs.json
    BL bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bj/gbfs.json
    nextbike Berlin https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bn/gbfs.json
    Bilbaobizi (Bilbao) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bo/gbfs.json
    BelfastBikes https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bu/gbfs.json
    Zenica https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bz/gbfs.json
    Nomago Bikes - LJUBLJANA https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cc/gbfs.json
    Nomago Bikes - GO2GO https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ce/gbfs.json
    Nomago Bikes - ZANAPREJ https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cf/gbfs.json
    Grad Velika Gorica (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cg/gbfs.json
    nextbike Switzerland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ch/gbfs.json
    Jastrebarsko (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cj/gbfs.json
    Nomago Bikes - PORTOROZ https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cl/gbfs.json
    Grad Metković (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cm/gbfs.json
    Nomago Bikes - KOLESCE https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cn/gbfs.json
    nextbike Cyprus https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cy/gbfs.json
    nextbike Prostejov https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cz/gbfs.json
    Graben - ready4green https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_da/gbfs.json
    Potsdam Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dc/gbfs.json
    nextbike Düsseldorf https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dd/gbfs.json
    Frelo Freiburg https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_df/gbfs.json
    meinSiggi https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dg/gbfs.json
    nextbike Gütersloh https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dj/gbfs.json
    nextbike Kassel https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dk/gbfs.json
    nextbike Offenburg https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dl/gbfs.json
    Nibelungen-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dn/gbfs.json
    nextbike Rüsselsheim am Main https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_do/gbfs.json
    RVK https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dr/gbfs.json
    SAP Walldorf https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ds/gbfs.json
    nextbike Würzburg https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dt/gbfs.json
    VAG_Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dv/gbfs.json
    wupsiRad Leverkusen https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dw/gbfs.json
    MOBIbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dx/gbfs.json
    Oeynrad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dz/gbfs.json
    Eifel e-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_eb/gbfs.json
    EDEKA Grünheide https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ed/gbfs.json
    nextbike Erfurt https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ef/gbfs.json
    ibizi https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ei/gbfs.json
    Sitycleta (Las Palmas) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_el/gbfs.json
    eMobi (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_em/gbfs.json
    Co-bikes https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_eu/gbfs.json
    BBK Klimabizi https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ey/gbfs.json
    nextbike Frankfurt https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ff/gbfs.json
    KVV.nextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_fg/gbfs.json
    OVO Bikes Glasgow https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gg/gbfs.json
    Grad Split (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gt/gbfs.json
    Heraeus Hanau https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_hg/gbfs.json
    nextbike Croatia https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_hr/gbfs.json
    ARVAL https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ia/gbfs.json
    nextbike Bergamo https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ib/gbfs.json
    nextbike Klagenfurt Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ka/gbfs.json
    KVB Rad Germany https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_kg/gbfs.json
    Santander Cycles - Milton Keynes https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ku/gbfs.json
    nextbike Niederösterreich Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_la/gbfs.json
    nextbike Leipzig https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_le/gbfs.json
    nextbike Lippstadt https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_li/gbfs.json
    nextbike Lahr (Pedelecs) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_lr/gbfs.json
    Lovesharing (Canary Islands) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ls/gbfs.json
    Grad Makarska (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ma/gbfs.json
    metropolradruhr Germany https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_mr/gbfs.json
    nextbike Malta https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_mt/gbfs.json
    nextbike Gießen https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ng/gbfs.json
    nextbike Marburg https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nm/gbfs.json
    nextbike Norderstedt https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nn/gbfs.json
    nextbike Romania https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nw/gbfs.json
    nextbike New Zealand https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nz/gbfs.json
    Hvar https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ol/gbfs.json
    WRM nextbike Poland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_pl/gbfs.json
    Rowerowe Łódzkie Poland (RL) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_pw/gbfs.json
    RSVG-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_rb/gbfs.json
    mobic https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_re/gbfs.json
    Rower Powiatowy Sokołów Podlaski https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_rq/gbfs.json
    Saturn https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_rs/gbfs.json
    Općina Pitomača (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_se/gbfs.json
    Sprottenflotte https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sf/gbfs.json
    Grad Zaprešić (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sg/gbfs.json
    Stadtrad Innsbruck Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_si/gbfs.json
    nextbike León https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sl/gbfs.json
    NEW MöBus nextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sn/gbfs.json
    University of Surrey https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_su/gbfs.json
    nextbike Tirol Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ta/gbfs.json
    Demoland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tb/gbfs.json
    nextbike Berounsko https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_td/gbfs.json
    nextbike Brno https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_te/gbfs.json
    nextbike Dvůr Králové https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tf/gbfs.json
    nextbike Praha https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tg/gbfs.json
    nextbike Olomouc https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ti/gbfs.json
    nextbike Opava https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tj/gbfs.json
    nextbike Kladno https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tk/gbfs.json
    nextbike Hradec Králové https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tl/gbfs.json
    nextbike Pardubice https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tm/gbfs.json
    nextbike Ostrava https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_to/gbfs.json
    nextbike Mladoboleslavsko https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tq/gbfs.json
    nextbike Uherské Hradiště https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tt/gbfs.json
    nextbike Zlín https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tv/gbfs.json
    nextbike Písek https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ty/gbfs.json
    nextbike Jihlava https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tz/gbfs.json
    Santander Cycles - Brunel https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ub/gbfs.json
    OVO Bikes Cardiff & Vale of Glamorgan https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uc/gbfs.json
    StadtRad Greifswald https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ug/gbfs.json
    nextbike Stirling https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uk/gbfs.json
    MV-Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_um/gbfs.json
    UsedomRad Germany https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ur/gbfs.json
    Santander Cycles - Swansea https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uu/gbfs.json
    nextbike Vinnitsa (Ukraine) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uv/gbfs.json
    VRNnextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_vn/gbfs.json
    VVT REGIORAD Tirol https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_vt/gbfs.json
    WinsenRad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wd/gbfs.json
    WK-Bike (Bremen) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wk/gbfs.json
    nextbike Wiesbaden https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wn/gbfs.json
    OLi-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wo/gbfs.json
    WienMobil Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wr/gbfs.json
    Grad Zadar (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_zd/gbfs.json
    Styr & Ställ (Sweden, Göteborg) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_zg/gbfs.json
    Felyx Aachen https://nitro.openvelo.org/aachen/felyx/v2/gbfs.json
    Tier Aachen https://nitro.openvelo.org/aachen/tier/v2/gbfs.json
    PeaceHealth Rides https://peacehealthrides.com/opendata/gbfs.json
    Pony Angers https://gbfs.getapony.com/v1/angers/en/gbfs.json
    Pony Evry https://gbfs.getapony.com/v1/evry/en/gbfs.json
    Pony Namur https://gbfs.getapony.com/v1/namur/en/gbfs.json
    Pony Bordeaux https://gbfs.getapony.com/v1/bordeaux/en/gbfs.json
    Pony Brussels https://gbfs.getapony.com/v1/brussels/en/gbfs.json
    #N/A #N/A
    Pony Paris https://gbfs.getapony.com/v1/paris/en/gbfs.json
    Revel New York https://gbfs.gorevel.com/gbfs/v2/newyork/en/gbfs.json
    Revel Oakland https://gbfs.gorevel.com/gbfs/v2/oakland/en/gbfs.json
    Revel San Francisco https://gbfs.gorevel.com/gbfs/v2/sanfrancisco/en/gbfs.json
    Revel Washington D.C. https://gbfs.gorevel.com/gbfs/v2/washingtondc/en/gbfs.json
    sharedmobility.ch https://www.sharedmobility.ch/gbfs.json
    Sobi Hamilton https://hamilton.socialbicycles.com/opendata/gbfs.json
    Spin Akron https://gbfs.spin.pm/api/gbfs/v2_3/akron/gbfs
    Spin Alexandria https://gbfs.spin.pm/api/gbfs/v2_3/alexandria/gbfs
    Spin Ann Arbor https://gbfs.spin.pm/api/gbfs/v2_3/ann_arbor/gbfs
    Spin Atlanta https://gbfs.spin.pm/api/gbfs/v2_3/atlanta/gbfs
    Spin Baltimore https://gbfs.spin.pm/api/gbfs/v2_3/baltimore/gbfs.json
    Spin Boise https://gbfs.spin.pm/api/gbfs/v2_3/boise/gbfs
    Spin Chicago https://gbfs.spin.pm/api/gbfs/v2_3/chicago_territory/gbfs
    Spin Cleveland https://gbfs.spin.pm/api/gbfs/v2_3/cleveland/gbfs
    Spin Columbus https://gbfs.spin.pm/api/gbfs/v2_3/columbus/gbfs
    Spin Coral Gables https://gbfs.spin.pm/api/gbfs/v2_3/coral_gables/gbfs
    Spin Dayton https://gbfs.spin.pm/api/gbfs/v2_3/dayton/gbfs
    Spin Durham https://gbfs.spin.pm/api/gbfs/v2_3/durham/gbfs
    Spin Fayetteville https://gbfs.spin.pm/api/gbfs/v2_3/fayetteville/gbfs
    Spin Fort Collins https://gbfs.spin.pm/api/gbfs/v2_3/fort_collins/gbfs
    Spin Fort Pierce https://gbfs.spin.pm/api/gbfs/v2_3/fort_pierce/gbfs
    Spin Gainesville https://gbfs.spin.pm/api/gbfs/v2_3/gainesville/gbfs
    Spin Garden City https://gbfs.spin.pm/api/gbfs/v2_3/garden_city/gbfs
    Spin Jacksonville https://gbfs.spin.pm/api/gbfs/v2_3/jacksonville/gbfs
    Spin Kansas City https://gbfs.spin.pm/api/gbfs/v2_3/kansas_city/gbfs
    Spin Lexington https://gbfs.spin.pm/api/gbfs/v2_3/lexington/gbfs
    Spin Los Angeles https://gbfs.spin.pm/api/gbfs/v2_3/los_angeles/gbfs
    Spin Memphis https://gbfs.spin.pm/api/gbfs/v2_3/memphis/gbfs
    Spin Minneapolis https://gbfs.spin.pm/api/gbfs/v2_3/minneapolis/gbfs
    Spin Nashville https://gbfs.spin.pm/api/gbfs/v2_3/nashville/gbfs
    Spin Oakland University https://gbfs.spin.pm/api/gbfs/v2_3/oakland_university/gbfs
    Spin Ohio State https://gbfs.spin.pm/api/gbfs/v2_3/ohio_state/gbfs
    Spin Orlando https://gbfs.spin.pm/api/gbfs/v2_3/orlando/gbfs
    Spin Phoenix https://gbfs.spin.pm/api/gbfs/v2_3/phoenix/gbfs
    Spin Pittsburgh https://gbfs.spin.pm/api/gbfs/v2_3/pittsburgh/gbfs
    Spin Portland https://gbfs.spin.pm/api/gbfs/v2_3/portland/gbfs
    Spin Providence https://gbfs.spin.pm/api/gbfs/v2_3/providence/gbfs
    Spin Purdue University https://gbfs.spin.pm/api/gbfs/v2_3/purdue_university/gbfs
    Spin Raleigh https://gbfs.spin.pm/api/gbfs/v2_3/raleigh/gbfs
    Spin Salt Lake City https://gbfs.spin.pm/api/gbfs/v2_3/salt_lake_city/gbfs
    Spin San Diego https://gbfs.spin.pm/api/gbfs/v2_3/san_diego/gbfs
    Spin San Francisco https://gbfs.spin.pm/api/gbfs/v2_3/san_francisco/gbfs
    Spin San Marcos https://gbfs.spin.pm/api/gbfs/v2_3/san_marcos/gbfs
    Spin Santa Monica https://gbfs.spin.pm/api/gbfs/v2_3/santa%20monica/gbfs
    Spin St George https://gbfs.spin.pm/api/gbfs/v2_3/st_george/gbfs
    Spin Stillwater https://gbfs.spin.pm/api/gbfs/v2_3/stillwater/gbfs
    Spin Tallahassee https://gbfs.spin.pm/api/gbfs/v2_3/tallahassee/gbfs
    Spin Tampa https://gbfs.spin.pm/api/gbfs/v2_3/tampa/gbfs
    Spin Tempe https://gbfs.spin.pm/api/gbfs/v2_3/tempe/gbfs
    Spin UC San Diego https://gbfs.spin.pm/api/gbfs/v2_3/uc_san_diego/gbfs
    Spin University of Central Florida https://gbfs.spin.pm/api/gbfs/v2_3/university_of_central_florida/gbfs
    Spin Washington DC https://gbfs.spin.pm/api/gbfs/v2_3/washington_dc/gbfs
    Spin Wichita https://gbfs.spin.pm/api/gbfs/v2_3/wichita/gbfs
    Spin Winston Salem https://gbfs.spin.pm/api/gbfs/v2_3/winston_salem/gbfs
    Tier Asker https://api.entur.io/mobility/v2/gbfs/tierasker/gbfs
    Tier Baerum https://api.entur.io/mobility/v2/gbfs/tierbaerum/gbfs
    Tier Drammen https://api.entur.io/mobility/v2/gbfs/tierdrammen/gbfs
    Voi Technology AB https://api.entur.io/mobility/v2/gbfs/voi/gbfs
    Zvipp https://api.entur.io/mobility/v2/gbfs/zvipptrondheim/gbfs 2

  2. https://github.com/MobilityData/gbfs#what-is-gbfs

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0