臺南市政府資料開放平台開發指南

臺南市政府資料開放平台提供各式資料,民眾或機關可在網站下載或以API介接方式取得資料,俾供後續加值及應用,為方便開發人員取得及使用,本平台以較普及的檔案格式和業界一般的標準提供資料。每份資料均有詮釋資料,列出資料的格式及欄位定義,協助開發人員充分了解資料內容或應使用的介接技術,針對較複雜的API,並於平台點擊”資料API”時即提供相關使用說明。

本文件針對實體檔案、URL連結(JSON)及CKAN API的使用方式分別說明。

一、實體檔案下載:

直接於網站中的各資料頁面點擊”下載”即可下載該實體資料,為讓各界容易使用本府開放資料,實體資料提供原則將以結構化的CSV檔案為主,現階段檔案格式包含: CSV 、 Excel 、XML、KML、SHP、JPG、PDF等。

CKAN平台中結構化檔案可於各資料頁面點擊”預覽”線上預覽內容。

應用範例:無線上網熱點列表(資料格式:CSV)

URL:https://data.tainan.gov.tw/dataset/tainan-wireless-list/resource/6da8e048-3b16-4eca-965f-3a3f4720494a


二、以URL存取資料:

1.JSON:

可直接以系統介接的方式連結該資料介接URL取得內容:

應用範例:台南市各級學校查詢(資料格式:JSON)

URL:https://odata.tn.edu.tw/schoolapi/api/getdata?schoolid=110302

參數說明:

getdata:執行動作

schoolid:學校代碼(教育部代碼)

範例查詢結果:

[{
    "schoolID":1,
    "Edu_code":"110302",
    "SchoolName":"國立新豐高中",
    "SchoolType":"公立",
    "SchoolType2":"國立",
    "Stage":"高中",
    "Region":"新豐 ",
    "District":"歸仁區",
    "Addr":"[711]臺南市歸仁區中正北路一段148號",
    "Tel":"(06)2304082",
    "Fax":"(06)239-2021",
    "Merger":"",
    "CountryName":"臺南市",
    "Country":"tn"
}]

2.CKAN資料API

CKAN平台查詢結果以Unicode編碼

應用範例:無線上網熱點列表

查詢之範例 (以limit查詢前5個結果)。


查詢之範例 (包含欄位內容等於字串’中西區’的結果)。


查詢之範例 (透過SQL指令敘述查詢欄位’鄉鎮市區’為’新營區’)。


範例:Javascript

使用jQuery對資料API發出一個簡單的ajax(JSONP)請求。

var data = {
    resource_id: '4245e5c8-d35c-46b8-8666-1607105138f0', // the resource id
    limit: 5, // get 5 results
    q: '台南藥局' // query for '台南藥局'
};
$.ajax({
    url: 'http://data.tainan.gov.tw/api/action/datastore_search',
    data: data,
    dataType: 'jsonp',
    success: function(data) {
        alert('Total results found: ' + data.result.total)
    }
});
範例:Python
import urllib
url = 'http://data.tainan.gov.tw/api/action/datastore_search? resource_id=4245e5c8-d35c-46b8-8666-1607105138f0&limit=5&q=開業'
fileobj = urllib.urlopen(url)
print fileobj.read()