前言
經過 2017 年香港開源年會之後,我都沒有去看香港的開放數據做得怎麼樣。今天香港正懸掛八號風球,正好是一個機會去了解一下。香港政府有一個開放數據平台,資料一線通,以多種檔案格式提供多個政府部門類別,機構的一些查詢資料,比如說天氣預報,中學教育統計資料。值得注意的是,這些檔案並不是 ODF,而是 xls, xml, csv, json, gif, txt, tif。。。
使用 API
第一眼看到的時候,我就想可不可以直接複製貼上測試一下,結果發現是不行的。。。
“歷史檔案文件列表應用程式界面” 其實這個名字會不會有點長,我在閱讀下文的時候看到這麼長的字也很難聯想到剛才有看過。而且如果直接在瀏覽器輸入第一句的話,只會返回 400 Bad Request。。。
香港天文台提供的數據
如果想要獲取香港天文台在平台上,2016年1月1日到1月2日的開放資料,就可以輸入這一句到命令行里:
返回的結果太長,prettify 後的檔案更加是高達 362 行。。。
有興趣的話,你可以透過這個鏈接看一下。。。
這個看起來不錯,有很多東西在裡面。但是,你可能會發現數據結構有點奇怪,一個數組去儲存所有的資料,這裡我就不展開了。
如果看到最後,你就會發現 file-count 提供文檔總數,其實直接計算一下 file 的長度就可以了,上面的例子共有21份文檔。
你可以進去下載數據,比如說進入本港地區天氣報告,但你會發現它把最重要的資料放了在 description 裡面,用一個 tr, td, td 的形式展現出來,這就不如你用 HTML 展現吧。。。
XML
與許多HTML元素不同的是,XML元素的基礎是其功能,而非其格式。你不應該根據標記,就假定任何的格式或樣式。相反地, XML把版面配置留給樣規。樣規是獨立的文件,把元素配上樣式。
如果寫 XML 的話,最重要是把資料都顯示出來,格式都是其次的。在 XML 中,我們可以自由地定義標籤,充分地表達自己的意思。也許,我應該之後寫一篇關於 XML 的文章。。。
本來,我是想繼續寫的,但是看到那些莫名其妙的查詢方法,以及查詢的香港天文台開放數據網頁都只有 xml 格式,我就簡短寫一下就算了。
如果你好奇為什麼我會提到 ODF 的話,你可以去看一下台灣政府是如何推動開放數據。
題外話
我也不知道為什麼特首博客的RSS會報錯。。。