2013年10月25日 星期五

10/24 QGIS課程七

這次上課我們是利用MAPINFO這個軟體施作屬性資料查詢
一開始先將圖打開,然後打開屬性表

選擇Find selection可以找尋你在表格所選的地點


現在開始尋找我們所需的資訊,我們要找出人口密度>500的國家,選擇SQL select,然後從旁邊的選項選出我們需要的條件,表格上需要country、pop1994、(pop1994/AREA)density,從WORLD這個表格找資料,條件是 pop1994/AREA>500,這樣就可以跑出我們需要的資料表格


可以在counrty或pop1994後面加上"中文名稱",表格上的名稱即可顯示中文,EX:"人口"、"人口密度"。


再來是製作世界人口密度,要先將人口總合跟面積總和算出來,才能算出世界人口密度,並不能一起算,如下圖三。


圖三
再來是製作各大洲的人口總合及面積總和,Group選擇洲,Order是排序,我是以洲的名字排序
從上圖可以發現有一個洲的名稱是空白的,沒人口,面積也很小,沒辦法利用Find selection找出位置,所以我們利用SQL select,找出原來是巴拿馬運河



再來我們製作大台北地區的道路中心樁,看看有經過哪些鄉鎮,找出我們需要的資料。我們先將EXCEL打開,裡面有許多點位,然後選擇create point,選擇台灣的座標系統TWD67,之後點選new map window,會跑出表格中點位的中心樁,按下S(SNAP)鍵可以鎖點,選擇polyline將各個點用線連起來,記得要先打開編輯模式








之後將中心樁關掉留下線段,選擇Save Cosmetic Objects,將線段另存,然後將大台北地圖匯入,剛匯入會發現無法完整顯示大台北地圖,因為他只有顯示線段經過的鄉鎮,必須要自己打開



將線段的可編輯打開,選擇線段再選擇Set Target,然後將大台北地區全部選起來,選擇Split,將線段依照鄉鎮市切開









































之後要建立表格,選擇Table Structure,新增鄉鎮及線段長度,新增完發現線段不見,可以打開屬性表,將線段加回來。再選擇Table Structure,將ID欄位刪除,線段會再次不見,依照之前的步驟把線段加回來




再來是計算長度,選擇Update Column,將設定設好,選擇Assist選擇ObjectLen,將單位mi改為m(公尺)





再來就要製作表格,跟前面一樣是利用SQL Select,製作出有線段經過的鄉鎮及線段長度,即完成這次的課程


接著我們自己回家用QGIS來做練習。QGIS不支援直接對TAB檔進行修改,所以必須將TAB檔轉成可編輯的SHP檔。首先選擇加入向量圖層將TAB檔打開,之後對左邊圖層下的項目WORLD按右鍵點選"另存為",格式選ESRI Shape檔,選擇另存位置,按OK就完成了。



接著尋找人口密度>500的國家,將剛剛另存的SHP檔打開,切換到編輯狀態,然後對左邊WORLD圖層按右鍵選擇開啟屬性工作表,然後按一下新增屬性欄位,新增面積AREA,新增完執行OpenFieldCalculator,選取更新已存在的欄位,選擇AREA,在運算符號項目選擇面積,我們將面積換成平方公里,所以除以1000000,完成之後依照上面的步驟新增密度Density,選擇POP_1994/AREA,完成後將內容儲存,然後選取進階搜尋,選擇Density>500,即可找到。








接下來我們查詢歐洲人口密度大於150。先打開屬性工作表,選擇RemoveSelectionButton取消上個density>500的指令,之後按一下進階搜尋,選擇Density>150,按一下AND,選擇Continent(洲別)選擇=,再按一下查詢欄位取樣值,選擇Europe;最後為:Density>150 AND Continent = Europe。



再來我們利用QGIS製作道路中心樁,將其連成一條線,計算距離及所經過的鄉鎮市區
首先我們將有紀錄座標的Excel打開,在第一列新增一欄位,輸入欄位名稱,因為將檔案匯入QGIS時,程式會自動將第一列作為屬性表欄位名稱。將Excel匯入QGIS時必須先轉為純文字檔.csv。

再來將剛剛存的CSV檔打開,點選上面的圖層,選擇新增CSV純文字檔圖層,也可以點選左下角的藍色圖案開啟,按下瀏覽,打開檔案,中心樁即出現。


將中心樁連起來,此步驟要先載入附加工具Points2One,按一下附加元件,點選Python附加元件,選擇Points2One,按下安裝附加元件後關閉,再按下附加元件,選擇附加元件管理,勾選Points2One。點選Points2One,選擇中心樁圖層,選擇輸出為Lines(線段),設定輸出位置及檔名按下OK後關閉,中心樁即連起來。





接著將大台北地區圖層加入,按下加入向量圖層,打開大台北地區的圖,之後點選Vector,選擇地理空間運算工具,選擇交集。輸入向量圖層欄位選擇線段圖層(針對哪一格圖層做交集),交集圖層欄位選擇大台北地區的圖層(依據哪個圖層做範圍),設定輸出位置及名稱,即完成


接下來再屬性表格新增一長度(Length)欄位,在上個步驟中製作的圖層上按右鍵,點選開啟屬性工作表,點選切換編輯狀態,再點選新增欄位,新增Length欄位,之後點選OpenFieldCalculator,勾選更新已存在的欄位,選擇Length,按下長度,即完成分段長度計算。




將線段經過的個別鄉鎮以不同顏色分出來,一樣對剛剛的圖層按下右鍵,選擇屬性,之後的步驟就跟網路上的影片不太一樣。我選擇分類設定,行選擇TNAME,按下分類,再按下OK即完成以不同顏色分類。



做完QGIS和MAPINFO,我覺得QGIS比較簡單明瞭,MAPINFO感覺比較複雜,之後如果偶有類似的練習,我會選擇用QGIS來操作。



我想知道QGIS在災害上的應用,就找到了這篇關於火災的文章,裡面是葡萄牙因火災,造成嚴重的損失,所以政府要對於防火擬定對策,他們製作了2張圖,危害及風險高低的主題圖。一開始我在想危害跟風險製作出來的主題圖應該是很類似的,但是這兩張圖卻完全不一樣,我認為解釋上可能是哪些地方有容易發生火災的風險和哪些地方如果發生火災會造成危害,再看這2張圖,第1張圖為危害,主要分布在外圍。第2張圖為風險,主要分布在內部都市地區,我認為都市地區比較容易發生火災。
參考文獻 http://qgis.org/de/site/about/case_studies/portugal_pinhel.html

2013年10月18日 星期五

10/17 QGIS課程六

這次上課老師打開每個人的作業,然後一一檢討
綜合大家的問題如下:
1.題目要找5KM範圍,不過大家覺得範圍太大,所以自行更改題目,改成500M的範圍
解決:我們可以先做一個5KM的範圍,再做500M的範圍,然後來做個比較
2.每個人的專案檔打開來都發生路徑錯誤,我當初就有發現這問題,只是不知道該如何解決
解決:將專案檔丟入文字文件檔,尋找路徑錯誤的地方並修改
3.有部分人使用QGIS1.7.1版無法安裝openlayer
解決:應該是版本問題,沒有安裝正確的版本,以至於無法安裝成功,還有openlayer位置放置
            錯誤
4.主題圖沒有標註單位,比例尺也不對,圖上的顏色與註解的顏色有些色差或是有些地方標
     記的顏色是一樣的,讓人看不清楚,避免顏色太多,化繁為簡
5.控制點除了用GOOGLEMAP去找之外,也可以上政府的網站找附近的座標進而找出棒球場  
     的座標,如果不能上網查,最簡單的方法是使用GPS
6.關於壘包之間距離的誤差,可能是控制點取的不同而有誤差。把圖片放大找壘包會因為像
    素問題而看不清楚壘包,所以會發生找點的誤差

以下是老師要我們嘗試做看看,左上那條線看似一樣,放大看之後,其實是不同的



















最後老師要我們製作一張表格來表示教室使用率,每個人做的都不同,有些人做出來的沒辦法完整的表示使用率,所以從小的細節開始做就可以從而推論出大的地方,例如:如果表格中有標示哪幾節(EX:125678AB節)課有人在用教室,就可以知道這一天的使用率,也可以知道一周的使用率,但是如果只紀錄一天教室有幾堂課(EX:9堂)在用,可以知道一周的使用率,但沒辦法知道是哪幾節課教室有被使用。所以從小的細節紀錄比較好。
在程式裡的表格沒辦法一對多如下圖一,只能一個對一個如下圖二
圖一

圖二

這篇文章是有人發問QGIS跟ArcGIS有甚麼不同?
ANS:這兩者差不多,同樣有許多附加元件可以用。
QGIS是免費程式,ArcQIS需要花錢買
QGIS的應用範圍較廣,ArcGIS主要是空間上的分析,QGIS也可以,只是ArcGIS功能比較強
回答者一開始是用ArcGIS,之後使用QGIS之後就不需要使用ArcGIS了
因為QGIS做不了的,ArcGIS應該也做不了
QGIS若做不了,可以直接改寫程式
真的要用到ArcGIS頂多就是方程式上的分析 或是簡單數據的瀏覽、表象記號、簡單編輯
http://gis.stackexchange.com/questions/35492/qgis-vs-arcgis-features

2013年10月3日 星期四

10/03 QGIS課程四

這次上課我們分組,每一組實作圖資數化
每一組給的條件不同,控制點的不同、演算法的不同
控制點:3點、6點、8點
演算法:保角演算法、一階多項式、二階多項式
每一個條件做出來的結果都不同
我們這組做的是選3點控制點,分別標在塯公圳與八德路交口、建教大樓、化工館這三個地方
並且使用一階演算法,幾何校正出來的圖非常的歪,而且沒有誤差,如下:















可能是因為我們是使用最鄰近指定法,然後我們選的點太集中在左上角,導致校正之後圖是歪的,而沒有誤差可能是因為一階需要至少3個點,而我們只有選3個點,沒有第4個點來跟其他3點比較,所以校正出來的誤差是0。
我們有試過選地4點,並且選在忠孝東路與建國南路口,校正出來的圖比較正常,沒之前3個點這麼歪,而且有誤差。



















上面那張圖是我們與另一組的比較,他們一樣是選3點,使用一階多項式,差最多是右下角的機械館,可能是因為選點的問題,導致會一樣的演算法會有不同的結果。



上圖是同樣取3點,但是演算法不同,紫色為一階多項式,黃色是保角演算法,從圖看的出來一階多項式校正出來的結果比較歪,保角則比較正,所以通常在幾何校正的時候都是使用保角演算,保角校正不出來的圖才使用一階多項式,二階多項式則比較少使用,也不太建議,因為二階多項式校正出來的圖會有曲線,如下圖:




















最後的結論是:參考點越多越好,不過點位要選的好,選到不精準的點,會使精度越來越差
EX:第7點對面忠孝東路的第8點,這點選的就很差。



這篇英文文章是介紹各種不同的主題圖


參考文章:http://www.naturalresourcesgis.com/ethematic.html#top