[T-SQL] 如何得到台灣村里經緯度及畫出村里界線

因為負責公司的open data專案而開始常常想 open data的應用 也想用利用open data做一些自己的作品

一直想用地理資訊呈現一些資料視覺化的效果

最近發現原來政府有公開村里的地理資訊資料 實在是太棒了 覺得自己繳的稅有了回報

政府公開的是shp檔 於是又摸索了一下如何把shp轉成SQL Server的地理物件

發現台灣很少有人寫到這一塊 於是我又雞婆的先來跟鄉民報告一下我是怎麼做的吧

在這裡 http://data.gov.tw/node/7438下載地理資訊 或是搜尋 村里界圖 村里經緯度 就可以找到

下載完之後解壓縮 先放著

趕緊再去下載一個很重要的轉檔程式 http://www.sharpgis.net/page/sql-server-2008-spatial-tools

下載完以後一樣要解壓縮 會看到資料夾裡面有Shape2sql執行檔 按二下之後會跳出這個畫面請你設定要連線的資料庫 如果暫時不連就先按Cancel




然後會跳出以下這個畫面 這才是正經的 在Shapefile的地方選擇你剛剛下載好並解壓縮的村里地理資訊資料裡的 .shp 檔案

接著按下Configure輸入你要上傳的資料庫連線資訊 如上圖 然後按下 upload to Database


幸運的話 你就會看到上傳的進度 等到上傳完成會跳出通知的視窗

如果不幸運的話 你可能會像我一樣遇到 系統缺少sqlspatial.dll的錯誤訊息 這時候就要去下載額外的功能套件 叫做  "Microsoft SQL Server System CLR Types" http://www.microsoft.com/zh-TW/download/details.aspx?id=29065

裝好 Microsoft SQL Server System CLR Types 之後 再重新打開 Shape2sql重新上傳一次 應該就成功囉 你可以到你的資料庫裡面看有沒有多出一個資料表

上傳成功的資料表畫面如下 到空間結果的地方可以看到村里的界線圖 最重要的是資料表裡面已經有了Geometry物件 可以隨心所欲的做其它的運算 例如我運用了STCentriod這個method算出每一個村里的中心點




留言

這個網誌中的熱門文章

SQL遠端連線如何連至內部IP

從windows到uduntu的新體驗之打個大易那麼難嗎

球魚會吃藻