2013年10月29日 星期二

SQL 與 空間分析 Spatial Analysis

Discuss in class

這禮拜的課堂內容主要著重在空間分析的利用,並且透過MapInfo的實作方式了解什麼是SQL,以及SQL能幫助GIS使用者做哪些事情?

回顧

1. SQL 結構化語言查詢 (Structure Query Language)

又稱標準化查詢語言(Standard Query Language)結構化查詢語言(Structure Query Language較常使用),它是一個用來查詢、更新和管理關聯式資料庫的語言,即使用者可以從資料庫表單與表單的查詢中擷取、排序和篩選想要的資料,如果與gis結合(可以做出空間座標的連結),如地理空間資訊的關聯式資料庫,讓屬性資料能有所連結。
上圖為兩個不同的軟體的SQL介面差異
 從上面兩個不同的軟體可以看到SQL的查詢不管在哪個軟體都離不開幾個核心,即Slect、From、Where、Group、Into。選擇需要資料→資料來自哪個圖層(來源)→以什麼做分類群集→查詢後的成果要放在哪邊?
並藉由其他函數式進行資料的篩選及其他運用。如:全世界人口密度>500的國家有哪些?                                


2.設計資料庫(需求分析)
3.資料庫文件


Example we do in class

Project1: Using  MapInfo professional version 6.0  do a Taipei  high speed route themetic map

Process :
1. open a table Taipei
2. open a route points table
3. open edit mode to graph a polyline
4. save a copy as a new layer 
5. add Taipei and route line layer. Go to Layer control chose this two layer view.
6. set the polyline layer to target (Object →Set Target → Split)

open point table
connect the point to line
poly line result
Taipei ,Route and split 

Project 2 : Using QGIS do the same thematic map like project one

Process :
1.install QGIS 2.0.1-Dufour
2.open Taipei map and route points( See fig 資料匯入
3.use point2one function let points to a line ( See fig. ponts2one function and fig. result_point2one_line
4. if you cannot see the table attribute , you must change the way to input file. Using CSV form input  QGIS and you will      see the attribute.
5. The final step that you need to do is use intersect with theme map(Taipei map) 
6. Setting  the color gradient to identify the high speed line in  different area and label the name of all area. The theme map 
    result you can see fig  ( fig.成果圖_將各個區域label 並使用交集將其作分割
 fig.資料匯入
fig. ponts2one function
fig.result_point2one_line
fig.成果圖_將各個區域label 並使用交集將其作分割

Weekly knowledge about GIS

你還在看風水?? 現在用GIS的概念就可以知道店應該開在哪裡。
運用技術分析選店家位子
上圖是一張利用打卡位子來選開設店家位置的分布圖,從圖上的屬性資料可以看到有三個店家分別是STARBOUCKS、MCDONAL、DUNKIN DONUTS ,他們依照需求的不同,會選擇不同的位子開設店面,譬如說鄰近的商店類型、所在範圍內商店是否有吸引人的地標、是否靠近大眾交通工具等等議題都是開設店面是需要被考量的因素。國外的研究團隊藉由打卡數據分析,可以知道哪些地區是高密度的顧客密集區,且每個店面受歡迎的程度不同,因此考量的因素也不同,一如星巴克喜歡在人潮流動高的運輸站或交通便利的地區旁進行店面的設置,麥當勞以及DUNKIN DONUTS 則偏好在人口密度高的都會區設置,這樣的展示成果與呈現方式,正是GIS 用於商業用途上的一項應用。

FourSquare: 
https://foursquare.com/explore?mode=url&near=New%20York%2C%20NY&q=starbucks

2013年10月22日 星期二

The basic theory of GIS Database

Discuss in class

如果要設計一個GIS資料庫,需要注意哪些事項?以北科大教室使用率為例子

土木103
星期一使用節數
星期二使用節數
星期三使用節數
星期四使用節數
星期五
使用節數
使用率
土木245
 2
 5
 4
 5
 5

土木241
 6
 5
 5
 1
 8

土木345
 7
 3
 3
 2
 7

土木456
 8
 7
 2
 1
 5


※使用率計算公式
使用率= 一天課堂假若最多為13,以使用次數 X來計算

x/13 則表示為使用率

上面這個表格是我針對老師課堂上所提出的問題的回答,因為有程式知識的背景所以知道資料庫是如何讀取資料(key,value),像是一些可以計算出來的東西就如課堂上所說的,不需要放入表格中,因為在資料讀取之後,我們可以藉由欄位的對應位子以及資訊做運算。這是關聯式資料庫的概念,將資料以表格方式定義,每個表格包含許多欄位,每一個欄位儲存一種資料型態,不同的表格彼此間互相連接時,可透過共通欄位相對應而結合。下圖為課堂上老師所提到的教室使用率的概念,依照服務對象的不同,資料庫於一開始的設計層面也就不同,但也可以讓表格與表格之間有關聯,這就用到了關聯式資料庫的概念。

關於這個資料庫的議題,讓我想到曾經讀過的一篇文章,寫的內容是
Working with your PostGIS Layers using Quantum GIS (QGIS) 
這篇文章是來自一個名為 QGISTutor的網站



名稱: 設定檔案的名稱
服務: 這個連結資料庫的用途是什麼??
主機: 這裡指的是QGIS連結的位子,在欄位中可填寫localhost 或者是127.0.0.1
連接埠號: 這裡指的是 port 預設為5432
資料庫: 指的是資料庫的名稱
SSL模式: 有4種選擇可以選,依照使用者需求自定義
使用者名稱: 依使用者設定
密碼: 依使用者設定

Weekly knowledge about gis

為什麼要用PostGIS?

因為它是免費的軟體(Open sources),可藉由Pulgin的方式嵌入QGIS,同時他也是當前提供地理資訊系統專用的資料庫系統,提供專用型別最簡單的表現是可以根據欄位來計算範圍...等功能。

資料來源: Institut Géographique National, France PostGIS
http://postgis.refractions.net/documentation/casestudies/ign/






2013年10月12日 星期六

From none to all. 從無到有完成GIS數化工作

Discuss in class

1.數量不同的控制點在相同的演算法下會有什麼不同?
    越多的控制點,可以獲得越好的品質。

2.保角法(最少兩點)、一階多項式(最少三點)、二階多項式(最少六點)三種方式所
  套疊的圖層會有什麼不同??
  從課堂上的套疊結果上,我們可以發現圖層在套疊的時候同個區塊會有偏移,即
  無法將同個區域疊合的情形。
3.原理

Process of the homework

1.  首先要安裝Point2OnePlace a pinOpen Layers plugin三個附加元件。(這三個附加元件是使用較舊版本如:1.71, 1.74 ,1.80 版本的同學需要安裝的檔案)
()
(二)

         將相關資料整合,可得如圖(三)之情形,此為這次完成的圖例。
2.  至附加元件中,點選Open Layers plugin add Open Satellite Layer尋找天母棒球場與洋基棒球場。如下圖()、圖()

3.  進行數化之前,需先將上面的兩張圖存成相關Raster檔案(:jpg,png,tif)。開始前必須尋找控制點,點選控制點的方法可使用一開始安裝的附加元件(Place a pin)pin功能,這個功能的好處就是開始之前會先向使用者確認坐標系統,在台灣地區的google layer WGS84坐標,北美地區google 採用WGS84_P坐標。如下
4.  開始進行數化工作,操作步驟主要和上課時數化北科校園差不多,先進行控制點的影像校正,使用保角法(helmert)以及最鄰近指定法進行校正,校正完後檢查是否有誤差,若無大誤差則開始進行數位多邊形之描繪;若有大誤差可以選擇剔除。(本次作業誤差約在0~2 pixels)
5.  進行數位多邊形描繪,要注意的地方是,因為題目要求計算球場草地與土區面積,因此在數化球場多邊形時可以投手丘為出發點,逐漸向外數化,可以省去不少時間。數化階段用到的功能主要有:新增.shp,切割、共邊、環域(ring)
6.  再次點選Place a pin功能,沿著壘包將點位點選,可以藉由這樣的動作算出各壘包的距離,亦可在圖面上展示壘包之間的距離。
7.  使用buffer 計算棒球場周邊的主題圖資訊,由於系統的單位被設定為公尺,因此在欄位中5 km= 5000 m,故填入5000
8.  藉由台北市政府公開資訊平台載入相關資料並且匯入,如:台北市公車行徑路線、紅黃線位置、捷運出口…等等。

(三)棒球場5km草圖

Weekly knowledge about QGIS

http://qgis.spatialthoughts.com/2011/12/digitizing-in-qgis.html#more
數化這個議題,我們近幾周的課程不斷的討論,但是外國人是怎麼做數化的呢?

在數化的過程從已經在世界知名公司任職 Ujaval Gandhi 所撰寫的部落格上可以看到,和我們課堂上所學得方式差不多。但是在參訪這個部落格的時候卻看到一篇有趣的文章,GIS的職業指南。http://blog.spatialthoughts.com/2012/12/gis-career-guide.html#more


在這篇指南上提到GIS若以兩個觀點來思考,在學習與工作之間的區別是什麼?在學習層面可能會如我在大學時期學GIS的想法,多接觸一個軟體,並且了解這個軟體能做些什麼事情,並且利用這個東西來做一些有趣的專題實作,沒錯在大學生涯中,我確實辦到了這一點,因為我學了GIS,所以我懂怎麼處理大量圖資、我懂如何設計一張適當的主題圖、我懂如何利用GIS工具來快速擷取地理資訊。由於我是土木背景,因此跟著這個課程的發展,也激發我自己的想法,我想鑽研的地方不是純工程,我想懂得是電腦輔助工程,一直到現在,我也順利就讀電腦輔助工程的研究所。

在研究所的課程,也就是這學期選修的地理資訊系統專論,誠如文章所說的,研究所的課程要學習如何更廣泛的應用,但是GIS就業市場趨勢正在下降的三大類,大致可分為:
1.數據轉換,數字化,數據處理
2.進行空間分析和數據管理
3.軟件開發,編寫和測試代碼

在這三大類項中,用QGIS多年的我也只能與其中兩項沾上邊,那意味著我是否不應該再繼續朝這個方面走,文章的最後一段給了我答案「Every GIS professional nowadays must acquire reasonable expertise in the area of programming and building web applications to have a brighter prospect at landing with a job.」。這段文字告訴我,我現在所走的路沒錯,想要把程式、介面、既有的資訊結合的想法方向沒有錯,甚至這是未來必須要有的能力。這個禮拜是我23歲的生日,但是除了慶祝玩樂之外,此刻的我也必須為自己的未來努力向前走,面對所謂的社會現實,這樣的文章很開心能夠在這個禮拜的資料搜尋看到,希望閱讀到我文章的人,也能看看,相信同樣也在使用GIS的人也能有所感觸,共勉之。