臺南市政府資料開放平台開發指南
臺南市政府資料開放平台提供各式資料,民眾或機關可在網站下載或以API介接方式取得資料,俾供後續加值及應用,為方便開發人員取得及使用,本平台以較普及的檔案格式和業界一般的標準提供資料。每份資料均有詮釋資料,列出資料的格式及欄位定義,協助開發人員充分了解資料內容或應使用的介接技術,針對較複雜的API,並於平台點擊”資料API”時即提供相關使用說明。
本文件針對實體檔案、URL連結(JSON)及CKAN API的使用方式分別說明。
一、實體檔案下載:
直接於網站中的各資料頁面點擊”下載”即可下載該實體資料,為讓各界容易使用本府開放資料,實體資料提供原則將以結構化的CSV檔案為主,現階段檔案格式包含: CSV 、 Excel 、XML、KML、SHP、JPG、PDF等。
CKAN平台中結構化檔案可於各資料頁面點擊”預覽”線上預覽內容。
應用範例:無線上網熱點列表(資料格式:CSV)
二、以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()