GitHub 在今年六月增加了 GeoJSON 的支援 可以直接預覽 GeoJSON
在八月則增加了 CSV 的預覽功能
以及在十月推出了 government.github.com 希望大家把各國政府資料往 GitHub 上丟
看的出來 GitHub 的野心不只是放在程式開發者身上,他也想成為資料的收集者

不過他的 GeoJSON 和 CSV 預覽功能因為是透過 JavaScript 在前端做的,因此有大小限制,超過大小就無法預覽了
只是地理資訊的部份,很多資料是很容易超過大小,為了讓 GitHub 能預覽而故意把精準度壓到很低其實也不是很好的方法
所以我做了一個工具,可以線上預覽超過 10MB 的 GeoJSON 和 CSV。
(不過超過 100MB 可能還是會失敗,畢竟 100MB 的 JSON 要 decode 有時候就會把記憶體吃光光了,這些就要額外再多做些處理)
這個工具在這邊 http://github.ronny.tw
只要進去首頁輸入你的 GitHub 檔案的位置,就可以預覽更大的 GeoJSON, TopoJSON 和 CSV ,甚至是 GeoJSON 和 CSV 的組合喔!
或者是在瀏覽 GitHub 檔案時,將網址的 https://github.com/ 改成 http://github.ronny.tw/ 也可以喔
下面來示範一下支援哪些類型吧!


1. GeoJSON: 2010 台灣村里界圖 (74MB, 8052 村里)


2. GeoJSON(LineString): 臺北市聯營公車路線圖 (13MB, 482 條線)


3. CSV: 國土測繪地標資訊 (6MB, 58324 個點)
(CSV 我還沒做好 iframe 外嵌功能,所以請從上面連結點進去吧)

上面畫出 GeoJSON 和 CSV 是基本,接下來還可以把兩者組合做出新的地圖!

1. GeoJSON + CSV = ColorMap: 世界銀行提供歷年各國 GDP 成長率 + 世界各國疆界(來自Natural Earth Data) = GDP 成長率地圖


2. 包含經緯度資訊的 CSV = CSVMap: 台灣地標地圖


在畫 ColorMap 時,我的工具會需要知道你的資料來自 GitHub 哪裡,你的圖資來自哪裡,以及你要依據哪個欄位畫出資料,顏色區間是什麼
畫 CSVMap 時,我則是要知道你的經緯度放在 CSV 的哪一欄
所以這兩種組合地圖還需要額外的一個 JSON 檔來存放設定,關於這 JSON 檔的內容,可以參考 2012藍綠地圖設定檔
主要要設定的包括: type=ColorMap, data_repo={CSV資料的位置}, map_repo={地圖的位置}, data_columns={CSV資料中地名資訊欄位}, map_columns={與data_columns對應的在geojson的欄位}, tabs={指定要畫出哪些地圖,裡面指定要畫出的欄位以及各數字區間的顏色}
而 CSVMap 可以參考 台灣地標地圖設定檔
關於更詳細的設定方式,我明天再寫一篇文章來說明吧!

做出這工具是希望大家能更容易的做出地理資訊相關的應用
而且可以把資料都往 GitHub 上面丟,不需要自己架設主機
並且讓大家更容易瀏覽地理相關的數據變化
來把資料往 GitHub 上面丟吧!! (不過雲端還是有可能萬里無雲,記得丟到 GitHub 以外,還要找其他地方也備份一份,不要丟上去就把本地端的砍掉了喔)
arrow
arrow
    文章標籤
    github map geojson csv
    全站熱搜
    創作者介紹
    創作者 榮尼王 的頭像
    榮尼王

    Ronny's BLOG

    榮尼王 發表在 痞客邦 留言(3) 人氣()