2015年2月24日 星期二
2010年9月29日 星期三
QGIS的上台灣歷史圖層–台灣堡圖 and more…
QGIS中使用"台灣歷史圖層”的這個功能已經使用幾個星期了,只是還沒有寫合適的User Interface,所以目前沒辦法給大家用。完整支援圖層例表,如下:
- 日治台灣堡圖,年代:1898~1904
- 日治五萬分之一蕃地地形圖,年代:1907~1916
- 日治二萬五千分一地形圖,年代:1921~1928
- 日治五萬分一地形圖,年代:1924~1944
- 日治三十萬分一台灣全圖,年代:1924
- 二萬五千分一經建版地形圖(第一版), 年代:1985~1989
- 二萬五千分一經建版地形圖(第二版) ,年代:1992~1994
- 二萬五千分一經建版地形圖(第三版), 年代:1999~2001
- 二萬五千分一經建版地形圖(第四版) ,年代:2003。
而這些圖層都得感謝中央研究院 地理資訊科學研究專題中心的辛苦數位化的成果。所以使用或發表時請務要遵守該中心的規範。
有了QGIS好用且免費的Open Source軟體,使得使用GIS的入門門檻降低。我與Ivan開發的Google Layers Plugin可以在 QGIS上使用Google的各種圖資。後來出現OpenLayers Plugin功能更強,且可以結合Google / Yahoo /OpenStreetMap的圖層。因為原始碼的開放,使得透過程式呈現的好主意可以一直被大家改善及增強。如此QGIS開放取用(Open Access)的圖資也愈來愈豐富。現在(希望是不久的幾天後)有學術價值極高的台灣歷史圖層(Taiwan Histrical Layers)可以使用,相信對各方面的研究的會很有益處。
使用中的畫面如下
日治台灣堡圖(raster + vector)
年代:1898~1904
二萬五千分一經建版地形圖(第一版)
年代:1985~1989
等UI作好再放在網路上給大家使用。
終於中央研究院 地理資訊科學研究專題中心要出此Plugins了,大家敬期待吧。
若等不及的人可以下載此檔案。
大家有沒有發現QGIS 1.5作join or spatial join時,中文不會亂碼了。QGIS愈來愈實用了…呵呵。
2010年9月10日 星期五
OpenLayer plugin for qgis
google推出地圖服務後,讓許多人都可以接觸到空間資訊,用空間的方式暸解這個世界。不過僅僅用google地圖、地球,對專業的人是不夠。最好能在gis軟體中直接使些圖資。
於是在一位好朋的激發下,開發python版的google layers,可以在qgis中合法直接使用google的圖資。後來因為準備考試,由斯洛伐克的ivan繼續維護開發。ivan也簡化了程式﹙拿掉raster投影座標轉換的功能﹚及安裝步驟,在中研院的qgis blog中有介紹說明。直得注意的,google投影方式可以用EPSg:3857來表示。另外Arcgis中也有類似的程式,不過似乎要收費,在中研院的Google Map/Earth觀察報中也有介紹。雖然google layers for arcgis的架構也寫得差不多了,由於考試也就沒繼續寫了。
應該類似這樣的功能還不錯且有市場,最近又有人寫也一個更好的程式。這程式的名稱也很類似,稱為「OpenLayers」。可以在qgis內直接使用google、yahoo及Openstreet的圖資。基本上也不用googlelayers﹙哭哭﹚,直接用OpenLayers即可,接下來就說明一下如何安裝。
一、python附加元件中加入[非官方主機]
二、安裝OpenLayers附加元件
可以在過濾條件中輸入「OpenLayers」,以加快尋找速度
三、開啟「OpenLayers」及使用
記得在[附加元件管理]中開啟「OpenLayers」, 就可以在[附加元件]功能表中看見了。不用設定坐標系統,直接可以套疊使用google,yahoo及openstreetmap的圖資。
最後可以加上自己的圖資,畫出一張漂亮的地圖。如下圖,套上中國的省界及地名。
好的程式就是簡單又好用,大家快試試吧。
2010年5月9日 星期日
WMTS - Web Map Tile Service
Tile Cache 功能非常好用,解決了WMS繪圖速度的問題。在還沒有成為標準之前大家已經都在用,我也不列外。一直到最近終於變成OpenGIS的標準之一。有興趣的可以去OpenGIS網站看看。未來會有符合此功能的產品可以使用,增加軟體的替代性。
若有使用WMS的服務圖出的很慢,可以建議採用此解決方法。
2010年2月15日 星期一
QGIS的附加元件-Google Layers Plugin for QGIS
Open GIS = Open Standrads + Open Source + Open Access
QGIS是開放源碼(Open Source )的GIS軟體、也支援許多OGC的開放標準(Open Source ),如WMS、WFS、WCS、SLD…等。在開發的資源的存取(Open Access)亦支援Open Street Map。現在透過附加元件的形式也可以支援豐富的Google Map圖資。
QGIS支援WMS的圖資來源,之前有想過將影像金字塔的圖層(Tile Service)透過程式轉成WMS,再由QGIS讀取即可。不過上網查之後,果然有人作過此事,且被Google擋IP。若自己的像金字塔的圖層服務可以這麼處理,但是Google的圖資的使用有其規範,當我們要使用Google地圖的資源,就要遵守Google的使用條約,網址http://code.google.com/intl/zh-TW/apis/maps/。若繞過使用條款規範的方式存取Google圖資不僅犯規,且會被Google拒絕取存服務(網路上有人說,也有認識的人經歷過)。基於法律上及道得上,所以我一直不想寫類似的程式。
最近一個朋友又提到這件事,於是又告訴他上面那段話。不過還是把這件事放在心理中思考。過了幾天突然想新的方法,即是使用Google Static Maps API。這樣就可以放心合法存取Google Map的豐富圖資,而不違法。但是有以下的限制:
要使用「靜態地圖 API」,必須先註冊免費的地圖 API 金鑰。「地圖 API」金鑰可讓您使用「靜態地圖 API」以及標準的「地圖 API」。
「Google 靜態地圖 API」的使用有其限制,每位檢視者每天只能要求 1000 張不同的圖片。因為此限制的配額是每個「檢視者」而不是每個「金鑰」,因此大部分的開發人員應該都不需要擔心超過其配額。此外請注意,如果要求的是相同的圖片,一般而言就只會算成一張。
如果使用者超出上述的限制,則會顯示下列圖片,以指出超出配額:
之所以要有這個限制,是為了避免有人濫用「靜態地圖 API」和 (或) 用在其他目的。此限制以後如有變更,恕不另行通知。如果您已超過 24 小時內的使用上限,或是濫用服務,則會暫時無法使用「靜態地圖 API」。如果您持續超過上限,則會遭到封鎖,無法使用「靜態地圖 API」。
資料來源:http://code.google.com/intl/zh-TW/apis/maps/documentation/staticmaps/
簡單位的說,就是每人每天可以用1000張的不重複圖,且每張圖大小的上限為640X640。在此限制內就是Google API合理的使用範圍,超過Google會停止服務。
- 程式=>Google圖資
不合使用規定、甚至不合法 - 程式=>Google API=>Google圖資
符合使用規定,遵守限制,但可以存取豐富圖資
想通了且合法了,於是動手研究QGIS python附加元件如何撰寫,深入研究後發現並沒有想像中的難,只是我不會python的語言,請教一些高手後終於比較清楚python寫法及架構。
目前初的成果,如下圖及影片。
沒錯,之後安裝好就只要按一個按鈕,就下載Google Map的圖資。
之前寫的地理空間數位化流程-使用Open GIS方法,在Google Map操作的部分可以刪掉,直接載入參考的圖層後(WGS84),或者移至感興趣的經緯度座標後,再按Google Layers的按鈕即可以載入Google Map的圖資。
目前支援的Google圖資,如下
roadmap:標準道路圖圖片,與一般在「Google 地圖」網站中顯示的一樣。mobile:行動裝置道路圖圖片,圖徵和文字字型較大,方便高解析度、小螢幕的行動裝置顯示。satellite:衛星圖片。terrain:實際立體模型地圖圖片,可顯示地形和植被。hybrid:衛星和道路圖的混合圖片,在衛星圖片上顯示一層透明的主要街道和位置名稱。
換個突度想,這也是QGIS + Google雲端運算圖資的應用之一。而且是跨平台的應用程式存取Google的用雲端運算出來的圖資,跟一般使用網頁的方式不同。
這樣的GIS工具相信對QGIS的推廣及運用會有更大的助力,甚至想使用GIS作為研究的工具應該更容易使用,且加快研究的速度。
不過Google Layers附加元件安裝過程還是較麻煩,若能在過年剩下的時間簡化安裝程序,再將程式及安裝程序一並公開至本網站。
2010年2月13日 星期六
Web GIS與Cloud Computing
雲端運算近來很熱,到底雲端計算是什麼?由台大資工黃老師在「淺談雲端運算」指出:
「雲端運算」的概念事實上也不算新,其本質大抵承襲自「分散式運算」(Distributed Computing)以及「「網格運算」」(Grid Computing)
「雲端運算」與「網格運算」兩者都是分散式運算的延伸並沒有顯著的不同。唯獨「網格運算」著眼於整合眾多異構平台,而「雲端運算」則強調在本地端資源有限的情況下,利用網路取得遠方的運算資源。
我非常同意以上的觀點,除此之外我還認為雲端運算的可親近性較佳。當網格運算提出時,就指稱未來網格運算就像是自來水的基本設施,打開水龍頭就可以使用。現在雲端運算取代了網格運算作到這點了。當我們在使用Gmail或Google Map時就使用了雲端服務。當我使用Google App Engine及Microsoft Windows Azure開發系統時,就使用了雲端技術。當系統使用者暴增時(如果你有付錢時),自然雲端服務就會調配更多運算資訊應付。
在Web GIS的服務也是運多大量的雲端運算。
例如 Google Map 0~19的圖層的產生稱為影像金字塔圖層。也有人稱作Tile,這種服務OGC也在草擬OGC Tile Service。我認為就是用Tile一片片建成完每一層,各層建完後就成了影像金字塔。真實世界中的埃及的金字塔也是用一個個大型的磚一層一層建立。
Google / Microsoft 呈現的這些影像金字塔圖層都已經預先產生好了。若要更新全世界的影像金字塔圖層得花上不少時間,若使用雲端運算,可以減少不少的時間。尤其是地圖繪圖運算及大量小圖(tiles)IO存取的時間會大符的減少。雲端運算讓繪圖更快是一定的。比較特別是IO存取的時間,以下就加以說明。通常架構簡單速度會愈快,於是使用NAS來存放是不錯的選擇,但是提供Web GIS服務時大量檔案IO存取會讓NAS、PC甚至Server無法負荷。透過雲端的大量電腦將產生/存取小圖的IO時間大量的分散,達到快速大量服務的目的(high Scalability)。
若要自已架設雲端運算的架構可以使用Java-based的hadoop,網址如下http://hadoop.apache.org/
http://www.hadoop.tw/
有興趣的朋友可以自行研究。
在Web GIS上呈現向量的資料是很消耗頻寬及瀏覽器運算能力的事,例如台灣的鄉鎮行政區的資料大約6MB,總不能讓每個User都下載6MB的向量地圖再呈現。在網路環境下比較好的作法是將向量資料轉成圖片(tiles)再呈現。這樣多大量的資料都變成固定大小的圖片,速度快了不少。但是少了向量資料的特性,無法動態變更樣式及無段縮放大小(所以Web GIS 常用固定比例尺分層)。
Google Map最近也把影像金字塔的雲端運算運用在Google Map API上,使用GGeoXML來呈現向量資料時,Google會轉這些向量資料轉換成小圖(tiles)再呈現,這樣速度快非常多,尤其是呈現大量的多邊形,例如行政區、地籍圖…等。其運作示意圖如下。
天啊!Google怎麼這麼貼心呢?以前都要小心Web GIS上呈現資料的大小,現在Google都幫我們作成影像金字塔後呈現,且圖片上的圖徵透過Image Map及Json技術還是可以點選的。使用上與原本的沒有差別。真是太好用也太方便了。但是大家有沒注意到一件事,就是所以有資料都會送到Google一份,當然Google會好好的善待它,而我們也在同意使用Google Map API時就同意這件事了。Google蒐集到愈來愈多的空間資料,也可以作更多的是事。雖然Google企業文化、精神是”Don't be evil”,但是也不代表未來一直是如此,再加上駭客也一直在惡意攻擊Google(由最近Google欲退出中國的事件可看出其嚴重性),放在Google上的資料還是有可能被二次使用及作惡意用途。所以建議私人及機密的資料,別使用Google Map API的GGeoXML及其後使用雲端運算的方法來呈現資料。例如地籍圖資網路便民服務系統查詢可以將地籍資料呈現在Google Map上的作法,就得小心地避開此點。不然久而久之Google就會有全台的地籍資料、甚至政府大部分的空間資料。
透過方便使用取得雲端運算可以解決網路系統開發的許多問題。但是衍生出隱私權的問題值得再建立系統前就考量清楚。這樣會是一個比較正確的作法。
若真的不要使用Google或微軟的雲端運算及Web GIS API,當然還有其它的選擇,在Open GIS 、Hadoop都是不錯的選擇,只是需要花時間自己研究建立。另一個思考的方向是完全分散式的架構。使用OGC的標準來建立運算服務及圖資服務。例如:GIS空間運算使用Hadoop實作,再由OGC WPS(Web Processing Servic)方式提供服務。這樣使用QGIS或其它支援WPS的Client就可以使用其功能來作運算。類似這樣的方式就可以集中自己的精神作自己擅長的事,且與整個的GIS作結合,也是一個不錯的方向。
2010年1月18日 星期一
About WMS (Web Map Service)
前幾年一直覺得WMS一種普通的服務,說穿了就是用組合URL的參數去要一張地圖,而WMS伺服器就會用這些參數畫出一張圖給使用者。後來有機會用在Google Map上套疊使用wms圖層,效果很差。因為JavaScript會組合每張256X256 Tile的參數,不過Server往往來不及畫出所有的tiles,導致,地圖上出現一塊塊[x]的圖示。系統功能上都沒有問題,不過每次套疊WMS圖層,都會有一半的圖出不來,這樣的Web GIS算是不及格的,所以也沒有公開這樣的作品。從此就開始有點覺得WMS是個無用的服務,至少對我開發Web GIS是這樣的情形。
2008年年底時發現有人在玩WMS tile Caching的東西,小試了一下發現不得了,完全解決了WMS不夠即時繪圖的問題。於是2009就使用這樣的概念來實作系統及發表2篇文章。使用這樣的概念以解決了Web GIS常見的一些問題,有趣興的人可以找找我發表的文章。另外WMS Cache這樣好用的東西,也漸漸變成標準之一,詳細可以參考http://wiki.osgeo.org/wiki/WMS_Tile_Caching。
最近有機會再回頭看一下OGC WMS,發現其實還蠻多功能的,只是沒有機會嘗試。就使用DM Solutions Group提供的WMS來說明吧。
首先http://www2.dmsolutions.ca/cgi-bin/mswms_gmap是提供服務的網址
加上SERVICE=WMS的參數,告訴Server我要你提供WMS的服務
REQUEST=GetCapabilities,則是尋問Server你有提供那些功能及服務
把網址及參數組合起來則是詢問Server你有提供WMS的那些功能及圖層服務。如下
http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?SERVICE=WMS&REQUEST=GetCapabilities
在QGIS中的設定如下圖,僅需給QGIS WMS URL網址,QGIS會自動將使用OGC WMS標準的方式詢問此Server有那些服務及功能,如同上面所解釋的。
WMS設定及密碼管控
如果此WMS服務需要輸入帳號及密碼,也可以在QGIS中設定。這意味著使用WMS的方發也可以使用帳號/密碼來管控所要提供的功能及圖層。有此需求的人可以在Server端加上帳號/密碼的認證功能,以提供更多元、個人化的服務。
樹狀結構的WMS圖層服務
在QGIS讀取DM Solutions Group的WMS服務後,畫面如下圖。我們可以發現此WMS提供影像輸出的功能有支援GIF、JPEG、PNG、TIFF;而座標系統有四個可用。最重要的圖層服務則可以使用樹狀結構來呈現,DM Solutions Group的例子就使用3層樹狀的架構來呈現。
如何作到以上樹狀的架構呢?直接看DM Solutions Group WMS提供及圖層服務的XML檔案,截圖如下。
紅色的框中是圖層名種及Layer Tags的位置,比較特別的是第三層為已套用樣式的圖層。若要設計分群的圖層,則可以使用OGC WMS標準內的Dimension Tag,來定義一個或多個圖層。若要整合多個WMS Server 則在Layer Tags中,可以使用cascaded屬性整合不同來源的WMS服務。
仔細看一下WMS XML 就可以知道其設計的方法,當然要懂一些HTML或XML語法會比較容易些。橘色的部分則是WMS Server所有供的座標轉換功能。若想更深入研究,可以參考http://www.opengeospatial.org/standards/wms 此網站。
2010年1月11日 星期一
QGIS 1.4正式版推出了
QGIS 1.4版本名稱是Enceladus,是希臘神話的人物名稱也是土星的衛星之一。由QGIS1.4開啟畫面來看應是指土星的衛星。
若沒有使用Grass,可以直接下載Windows 版的安裝,網址如 http://linfiniti.com/downloads/QGIS-1.4.0-1-No-GrassSetup.exe。 安裝方法與之前一樣,可以參考http://gis-tech.blogspot.com/2009/07/qgis-windows.html,或直接看以下影片。
也可以至此下載網頁,下載各種不同作業系統的 QGIS 1.4版本及包含Grass的版本。
地理空間數位化流程-使用Open GIS方法
這是我整理投稿的文章,採用CC授權,網址在http://content.teldap.tw/index/?p=1041。
順便轉貼在此。
前言
如何將真實世界的物件數位化呢?聽起來很難,但是這僅GIS(Geographic Information System)領域中一個基本的作業程序。簡而言之,此過程是將真實世界中的物件使用二維的點、線及面(多邊形)轉化為電腦可以理解的數位化描述。最簡單的方式是使用GIS軟體可以簡單地畫出空間中的點、線及面的空間資料,之後再將空間物件加上其屬性資料。所以GIS常簡稱的數化,其實包涵兩種意義,即是空間描述的數位化與屬性資料的數位化。這樣的程序一般是使用Desktop GIS軟體進行空間資料的數位化,且需指定一個座標系統(作者選用常見的WGS84座標系統為例)及一個參考圖層。有了參考圖層為底圖就很容易以它為基礎畫出所要的空間幾何形狀。
一般來說較少人會有豐富的參考圖資(地圖資料),所以會從網路公開的地圖服務網站上取得參考資料。公開的地圖資訊,例如Google地圖或者Open Street Map等,其中Open Street Map是開放共享的地圖資訊服務,由網友自行編輯及分享,目前台灣的資料也愈來愈多。在新版的QGIS(Quantum GIS)中內建下載、編輯及上傳Open Street Map的圖層功能。若想在ArcGIS/ArcMap上使用Google地圖的圖資,可以使用中央研究院計算中心GIS組提供Google maps for ArcMap Extension (for 9.2及9.3) ,如圖1。

圖1. 中央研究院計算中心GIS組提供Google maps for ArcMap Extension (for 9.2及9.3)http://www.ascc.sinica.edu.tw/gis/ISTIS/tools.html
此擴充模組可以在ESRI ArcMap中載入Google Map的圖資(地圖、衛星圖、地形圖)作為空間數化的參考底圖,可以在基本底圖上面參考道路、河流等的資訊,數化出向量的空間資訊,如圖2。
圖2.在ArcMap使用Google maps for ArcMap Extension載入Google衛星影像,圖片來源:http://gis.ascc.net/ISTIS/program/AddMaps/AddMaps92.pdf。
不過很可惜,這個工具僅供中央研究院使用,再加上取得正版的ESRI ArcMap費用驚人,此方法對一般大眾有很大的進入門檻,所以本文就不介紹,改介紹另一種使用Open GIS的空間數化方式。此方法的特色是軟體免費且圖資豐富,讓一般對GIS有興趣的個人及單位都可以按此方法自行數化空間資料。
準備及安裝軟體
請準備以下三項目
◆Google帳號
若無Google帳號,請至https://www.google.com/accounts/申請。
◆ Google 地球-免費版
請至http://earth.google.com/intl/zh-TW/download-earth.html下載安裝。
◆QGIS 1.3版以上-免費且開放源碼
請至 http://www.qgis.org/en/download/current-software.html 下載安裝,安裝教學請參考http://gis-tech.blogspot.com/2009/07/qgis-windows.html。
QGIS 1.3版下載網址:http://download.osgeo.org/qgis/win32/QGIS-1.3.0-3-No-GrassSetup.exe。
Quantum GIS(簡稱QGIS)是一個免費且開放原始碼的Desktop GIS軟體,正體中文版翻譯版本是由作者與人社中心地理資訊科學研究專題中心同仁完成。除了正體中文也支援多國語言的使用介面,目前有31國的語言。QGIS是Open Source Geospatial Foundation(OSGeo基金會)的一項專案計畫,使用GNU授權,任何人都可以免費下載使用。QGIS也是一個跨平台的GIS軟體,它支援Linux、Unix、Mac OSX與Windows作業系統。在GIS軟體常用的資料格式,QGIS同時支援ESRI 的Shape檔案格式與MapInfo的檔案。QGIS具有一般GIS軟體的基本功能及相關附加功能模組,非常適合大學、高中、社區及社團教學與研究使用。由於開放原始碼及開放架構的緣故,使用者可以自行開發所需的功能,且可以與大家分享。目前附加元件,已有非常多的GIS模組可供免費下載使用。更多Quantum GIS中文資訊可以參考作者Blog(http://gis-tech.blogspot.com)或地理資訊科學研究專題中心QGIS Blog(http://gis.rchss.sinica.edu.tw/qgis)。在本文的角色主要為空間屬性資料編輯及轉檔的工具。
空間數位化程序
之後要進行四主要程序,如圖3。
1. Google地圖 空間數位化
[我的地圖]中進行空間向量數化。
2. 下載正確的KML檔案
使用Google 地球取得真正的KML圖資。
3. QGIS 開啟KML,另存成ESRI Shape
KML轉成 Unicode的 ESRI Shape檔案。
4. QGIS編輯屬性資料
擴充欄位及編輯屬性資料。

圖3. 空間數化的程序
實際操作
使用Google地圖的好處之一是它有豐富的圖資,透過關鍵字搜尋所需的地標後進行數化。另外亦可透過[地圖小工作]套疊不同的圖層,例如台灣堡圖(1898~1904)等不同時代的地圖。透過以上兩種方式即可在Google地圖中進行快速查詢與套疊的數化動作。以下就數化台大醫院及二二八和平紀念公園的面形狀作為實例說明。
1. Google地圖 空間數位化
至Google Map網站(http://maps.google.com.tw)使用Google帳號登入,後按[我的地圖],進入我的地圖清單。
圖4.Google地圖
在Google地圖搜尋台大醫院後,地圖會出現相關的搜尋結果,放大及移動地圖至該處,之後再按[建立新地圖],進入編輯地圖頁面。透過反覆搜尋參考點及數化建立地標動作,即可建立豐富的圖資,以供後續研究使用。
圖5. 建立新地圖
在此步驟建議一次僅數化一種類型(點、線及面)的空間類型。除了基本的點、線及面的空間數位化之外,還可以匯入已存在的KML繼續編輯與找其他同伴一起協同編輯。這兩個功能對群體的創作很有大的功用。例如:社區資源的調查、社群義工調查特定主題、同儕建立生活環境地圖等。結合各個不同領域的專長,透過眾人的力量,讓資訊及資料空間化,以作為更深化的運用基礎。各種類型數化的詳細步驟可以直接參考Google地圖說明文件,網址在http://maps.google.com/support/bin/answer.py?answer=68480。
注意1:思考清楚要不要公開此編輯的資料,在[隱私與分享設定]中選擇公開或不公開,選擇公開則日後一般網友可以搜尋到此內容。
注意2:KML檔案在QGIS開啟僅會有兩個欄位屬性,即是標題與描述。不過之後就可以使用QGIS來擴充與編輯欄位。
圖6. 多邊形數化
2.下載正確的KML檔案
編輯到一個段落按[儲存]之後,再按一下在Google地圖右上方附近的[在Google地球中檢視],由Google地球開啟,如圖7。若確定數化完成,最後要按[完成]。
圖7. 下載KML檔案之位置
使用Google 地球開啟KML後,會發現資料是放在此
圖示之目錄中。該圖示即是代表連線至遠端主機中取得資料。分析KML檔案內容可以發現此檔是存放圖資之網址,Google地球透過該網址連線至Google的雲端主機中取得正式的資料。其原理類似Windows作業系統捷徑之功能。所以需將在雲端主機中數化的圖徵,移至另一個新建的資料夾後,再將該資料夾另存成KML亦可,過程如圖8 、圖9及圖10。
圖8. 建立新資料夾後,再數化內容移至新資料夾
圖9. 將資料夾另存為KML
圖10. 記得[存檔類型]選擇為KML
3. QGIS 開啟KML,另存成ESRI Shape
記得使用QGIS1.3以上的版本。QGIS 1.3版可以按此下載。QGIS的安裝請參考筆者錄製的影片,網址:http://www.youtube.com/watch?v=rmzKDVdbFZY。您也可以按下面的影片直接播放
影片1. Windows版QGIS安裝過程
執行QGIS後,按上方工作列[加入向量圖層]的按鈕
後,來源種類選擇[檔案],編碼選[UTF-8]。之後在[資料集]中按[瀏覽]後,類型選取[OGR]kml(*.kml,*.KML),最後選擇之前在Google地球中另存的KML檔案,如圖11。
圖11. QGIS開啟KML檔案
在QGIS中開啟KML的畫面,如圖11。KML圖資除了有空間形狀的顯示之外,另外屬性資料也有兩個欄位,即是顯示步驟一-圖六中的標題(Name)與說明(Description)。此時亦可以按[加入WMS圖層]
,加入NASA的衛星圖層,確認空間資料的正確性。當然WMS圖層也可以是數化的參考圖層,但是公開的WMS圖資的解析度都不夠,所以僅能作簡單的比對參考。
圖12. QGIS開啟KML檔案
由於目前一般支援KML的軟體,尚未支援KML自訂欄位的功能,所以要先用QGIS將KML檔案[儲存為Shape檔],如圖13。之後就可以使用QGIS來擴充欄位。對於如何擴充KML欄位有興趣的人,可以參考此連結http://code.google.com/intl/zh-TW/apis/kml/documentation/extendeddata.html。
圖13. QGIS將KML檔案另儲為Shape檔案
在將KML另存成Shape檔案時,檔案名稱、座標系統及編碼可自行決定。不過建議將座標系統選擇WGS 84、屬性資料使用UTF-8。因為KML是使用UTF-8編碼可以支援多國語言,所以在編碼的選擇也是選用UTF-8,若使用Big5編碼可能會有屬性資料中文缺字的風險。
4.QGIS編輯屬性資料
在QGIS編輯模式中可以編輯點、線及面之空間位置描述,也可以編輯屬性資料。本文在前面介紹Google地圖中進行空間數化的編輯方式,現在介紹屬性資料的編輯方式。一般來說空間資料都會有許多屬性資料,例如每筆行政區多邊形的資料,通常會有行政區名稱、隸屬行政區、面積、人口等屬性資料。所以僅有兩個欄位是不夠用的,透過QGIS即可以任意擴充屬性資料的欄位以供後續分析使用。
KML轉換成Shape檔案後,在QGIS中按[加入向量圖層]的按鈕
,如圖14。
圖14. QGIS將Shape檔案開啟
在加入Shape圖層後,即可以開始編輯該檔案以擴充欄位。首先按右鍵點選Shape圖層後,再按[切換編輯狀態],進入QGIS編輯模式。
圖15. QGIS將KML檔案另儲為Shape檔案
進入QGIS編輯狀態後,再右鍵點取Shape圖層後按[屬性],如圖16。
圖16.按屬性進入圖層屬性對話方塊
開啟[屬性]即對話方塊後,至[欄位屬性設計]中新增、編輯欄位,如圖17。
圖17. 欄位屬性設計
在[欄位屬性設計]中有新增欄位按鈕、刪除欄位按鈕及切換編輯模式按鈕,可以用它們來新增/刪除屬性。ESRI Shape檔案格式是使用dBase的DBF檔案作為屬性資料儲存之用。而DBF檔案支援的資料類型為整數、實數及字串,如圖。其中實數的欄位寬度表示該實數之正數位數加小數點加小數位數之合,精確度即是小數點加小數位數,小數點佔1個位置。例如:1234.123此數之實數寬度為7,實數精確度為1+3。知道此原則後,設計欄位時就可按此方法正確地指定精確度的數值。
.jpg)
圖18. 新增屬性欄位
注意:擴充完所需欄位後,再按一次[切換編輯狀態]後,QGIS會知道您要結束編輯狀態,而問您要不要將剛剛編輯變更的動作儲存回檔案?這時當然是要選擇[儲存],如圖19。
.jpg)
圖19. QGIS詢問是否要儲存變更
擴充欄位完成後,若要填入新的數化資料,可以再按一次[切換編輯狀態],進入QGIS編輯狀後,再按[開啟屬性工作表]
,以填入新的欄位值,如圖19。
圖20. 編輯DBF屬性工作表
最後再按[切換編輯狀態]結束編輯,同樣地,QGIS會出現圖19的警告,記得要按[儲存]才會將之前的動作都儲存,這樣就完成了空間數化的動作。完成後的ESRI Shape圖資可以再使用GIS軟體的其他空間功能作進一步的空間分析使用。
結論
透過本文介紹的方式,可以在無成本下結合您的專業知識建立各種豐富的圖資。本文雖是用Google地圖作為空間數化的工具,同樣的也可以直接使用Google地球作為數化的工具,再用QGIS加強擴充屬性資料。
透過本文的方法,使用Google地圖上的豐富資源建立自己的空間圖資不需要龐大的軟體費用及複雜的程序。更特別的是Google地圖是一個公開的平台,歡迎大家分享各種資料,使得這個平台的內容可以繼續不斷的成長。例如,圖20即是套疊西元1904年台灣堡圖影像圖層後進行數化。
.jpg)
圖21.套疊台灣堡圖圖層後進行數化
類似此台灣堡圖地圖的影像圖層在Google小工具中還有許多資源可以使用,整理如表一。
表1.中央研究院 人文社會科學研究中心 地理資訊科學研究專題中心 在Google地圖上提供的地圖小工具
| 類別 | 名稱與超連結 |
| 3.當代地圖 | |
| 4.地圖繪製工具 |
更多地圖小工具的資訊可以參考筆者寫的說明網站http://sites.google.com/site/yaogis/mapplet。更多Web GIS及QGIS的說明資料可以參考筆者的blog:http://gis-tech.blogspot.com。
在符合Google地圖及Google地圖使用規範的條件下,可以免費取用Google豐富的圖資及服務,這樣某種程度上符合開放取用(Open Access,亦有翻成開放近用)的精神。當然最符合開放取用的精神是Open Street Map的圖資服務,不過不在此文介紹的範圍,有興趣的人可以參考網址http://openstreetmap.tw/。此方法使用的軟體是Quantum GIS,QGIS是一套Open Source的Desktop GIS軟體,免費且有中文介面很容易學習且合法取得。在Google地圖與QGIS軟體之間的溝通是使用OGC(Open Geospatial Consortium,http://www.opengeospatial.org)開放標準的KML(Keyhole Markup Language,http://www.opengeospatial.org/standards/kml)圖資格式。本文的方法使用Open GIS的三種面向–Open Standards、Open Source及Open Access,建立地理空間圖資,不僅符合開放標準且不須任何軟體費用,且有豐富的圖資可以參考使用。如此使用Open GIS的方法大大降低學習空間數化的門檻,使得每個人都可以有機會將自己感興趣的主題,數化後放在GIS軟體上作進一步的分析研究,甚至可以再將研究後成果分享至公開的地圖網站上。











.gif)
.gif)
.gif)
.gif)
.gif)
.gif)
.gif)
