Taiwan Geographic Open Data (tgod)

臺灣地理開放資料介接工具 (for python)

github 專案頁面: https://github.com/wcchin/tgod

背景

這專案的目的在於提供將臺灣地理相關的開放資料抓下來,並轉成 pandas.dataframe 的一個小工具。 主要是因爲各公家單位準備的開放資料的格式都不太一樣,即使是同一個單位,不同的資料也會有不同的格式設定,包括有些會壓縮... 之類。 所以我想說將資料直接整理成表單的 dataframe 格式,對於後續分析、應用、甚至再轉成特定格式(JSON/XML),應該都會相對直觀與容易。

目前我已整理的資料表主要有臺北市、新北市、高雄市的一些交通相關資料表。項目及資料來源記錄在 data_info.ods 中。 未來有時間的時候會試着將其他資料的介接也整理起來。

簡單說明

這專案分成兩大部分 (預計):

  • 第一部分,主要是 (近)即時更新的資料,包括公車、Youbike 等資訊,這部分仰賴開放資料的 API (JSON, XML),透過人工的針對資料欄位作處理之後生成 dataframe 格式;同時也自動增加 unix timestamp 欄位作爲後續應用。
    這部分目前整理了臺北市、新北市、高雄市部分的交通開放資料。

  • 第二部分,主要是將一些常用的空間資料,包括行政區 (從縣市到最小統計區)、國道省道、鐵路路線、火車站、捷運站等,可以獲取的官方開放的空間資料,整理成壓縮的pbf 格式 放到專案中,以供後續只要透過一些function 及 key 就可以直接叫出這些資料(GeoDataFrame 格式)。

獲取 (getting started)

在成功安裝好 geopandas, geobuf 之後:


$ git clone https://github.com/wcchin/tgod
$ cd tgod
$ pip install -e .

請注意, -e 後面還有一個 . 。 這裏會建議用 -e 的安裝方式,是因爲這工具還在很初步的建立階段。

We can also install the package with a symlink, so that changes to the source files will be immediately available to other users of the package on our system:
$ pip install -e .

from page(https://python-packaging.readthedocs.io/en/latest/minimal.html)

或者: 直接下載壓縮檔,然後解壓縮,再 cd tgod 進去 pip instal -e . 這樣。

使用 (Usage)

使用方法可參考 testing.py、 testing_static.py 或者簡單來說:

  • 即時資料的臺北市公車位置資料:

from tgod import taipei_transport as tt  
busdf = tt.bus()  
print busdf.head(10)

  • 靜態的空間資料 (取屏東最小統計區資料):

from tgod import get_map  
gdf = get_map.get_boundary('bsu0_pingtung')  
print gdf.head()

依賴工具 (dependencies)

  • pandas (目標格式是 pandas DataFrame)
  • geopandas (所以包括其依賴的 fiona、shapely、 pyproj ... windows 使用者請自行安裝好~~)
  • geobuf (爲了這專案才發現的一個新玩意,換句話說我也不熟...)

Navigation