2009年7月29日 星期三

QGIS在台灣的近況

Taiwan QGIS History

2008/11/27  由本站釋出正體中文語系檔案
2009/1/15   QGIS 1.0 Window正式版 內建正體中文語系

這個版本推出後,大家安裝後就可方便使用中文QGIS。

其在這過程中還有許多單位在推廣,例如台大的賴老師團隊及中研院GIS中心…等,均辦理多項研習推廣QGIS。
在這之前的研習大多使用ArcGIS 或Super GIS產品來推廣GIS,這對民間的社團、文史單位、基金會及人文領域很難在沒有非常大的成效之下,編一大筆預算來採購這些軟體。通常學員透過學習GIS軟體後,感覺可以運用到很多地方,但是回去後,礙於經費無法進行。透過免費、簡單且中文的Quantum GIS 即可以在無負擔的情況下進入GIS領域。

2009過了一半,台灣陸續也有一些使QGIS進行的研究出來,例如 2009數位典藏地理資訊學術研討會(2009/11/10~11)中就有一篇由國立屏東科技大學資訊管理系,黃申在、施政旭寫的【自由軟體地理資訊系統在社區公共議題之運用—以QGIS在鹽水溪工業帶願景工作坊之操作為例】 。資料來源http://aspa.teldap.tw/index.php?option=com_content&task=view&id=398&Itemid=59

以下就來看看 Google對QGIS在台灣發展的趨勢的統計。

首先,先看看對照組ArcGIS

在2008時(下圖),ArcGIS關鍵字使用區域Taiwan排名是第九名,而大陸是第三;而且大陸的北京是使用最高的地方,看來兩岸都挺熱衷ArcGIS。

2009-07-30_084206

到了2009年,中國使用ArcGIS關鍵字榮登第一名,台灣還是排在第九名,保持不變。是台灣對GIS的熱情不如大陸了嗎?

2009-07-30_084323 

QGIS

ㄟˇㄏ
ㄧ..ㄧ
/︷\ 李組長眉頭一皺,覺得案情並不單純
~~

於是使用再看看2008年 QGIS關鍵字的使用情形,如下。台灣與中國都沒有排進前十名,無從比較。

2009-07-30_083659

再看看2009年,天啊~台灣已經是第一名了,果然台灣於GIS的熱情還是在成長的,但是有部分已經轉移至免費簡單的QGIS上。而且使用QGIS為關鍵字在2009年還是世界第一名。

2009-07-30_083806

通常愈關心這議題才會使用關鍵字搜尋,可見使用關鍵字搜尋及使用QGIS或關注QGIS是存在正相關的關系。果然QGIS在台灣愈來愈熱,這也代表使用GIS的門檻又大大下降。也希望未來可以看見台灣使用QGIS的相關研究及功能開發。

2009年7月25日 星期六

Google 街景推出照片導覽功能

Google 街景之前的照片僅能大約知道大致的東西南北方向。現在更進一步推出照片導覽功能,也就是說Google可以知道照拍攝角度,甚至連仰角、俯角都能知道。當然照片也正確地顯示在正確的位置上。這不就是微軟的PhotoSynth作的事嗎?看來微軟已經落後囉。推測Google應該是用它的龐大的影像資料庫、強大的平行運算能力及聰明的演算法算出照片的角度方位。

 

Google街景技愈進步,我愈想在上面開發好玩的應用,可惜不能在景街的環境中指定方向角度標上文字或照片。不然真的會有一大堆好玩的混塔應用產生。

隨著這類的照片自動辨識技術愈來愈成熟,大家也要格外的小心照片的隱私權問題。透過這類的技術只要有你的照片,剛好影像資料庫有該資訊,就能正確找出你的地點,顯示在地圖上。若有心人士掃瞄一次Blog上的照片,就有這個人的生活地圖,再加上文章的空間描述及社交情形…一個人活動空間範圍就完全地曝光,很危險的!

2009年7月19日 星期日

Google 街景車的改裝

在南美的巴西,Google使用飛雅特的小車改裝成街景拍攝車。有興趣的人可以看一下該影片。

http://www.youtube.com/user/streetviewbyfiat

2009年7月13日 星期一

QGIS – Shape 點圖資 套疊 WMS圖層

將Shape點資料修改呈現的屬性及文字,再套疊上衛星圖,最後將地圖存成png+pngw(座標資訊)的圖檔。

過程很簡單,在此篇有詳細的圖解,五分鐘就可以完成。詳細過程可以參考以下影片。

若圖太小,可以按HD+全螢幕觀看。

2009年7月10日 星期五

在Google地圖中建立自己的影像圖層

詳細的API可以參考這篇
http://code.google.com/intl/zh-TW/apis/maps/documentation/overlays.html#Tile_Layer_Overlays。以下就使用API文件中的程式碼稍加修改來說明。

此文章的目的是要建立一個自訂的地圖,可以在Google Map API中切換。說明直接加在程式碼中。

//建立圖層版權說明
var myCopyright = new GCopyrightCollection("© ");
myCopyright.addCopyright(new GCopyright('Demo',
new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180)),
0, '© Your Name'));

//建立新圖層(使用Google SATELLITE為底圖再加上自建的Tile圖層)
my_tileLayers = [G_SATELLITE_MAP.getTileLayers()[0], new GTileLayer(mycopyright, 1, 10)];

//設定自建的Tile圖層的Tile取得方式
my_tileLayers[1].getTileUrl = function(tile, zoom) {

//zoom值順序與Google的相反//圖層僅有自訂的1至10層,所以也只處理1~10層
zoom1 = 17 - zoom;

//僅在特定圖層才回傳Tiles
if (zoom1 >= 1 && zoom1 <= 10) {
return "http://yoursite.com/dir/" + zoom1 + '/' + tile.x + '/' + tile.x + '_' + tile.y + '_' + zoom1 + ".jpg";
} else { return ""; }
}

//告訴google這圖層的Tile圖片格式不是PNG
my_tileLayers[1].isPng = function() { return false; };

//設定此圖層的透明度為100%不透明
my_tileLayers[1].getOpacity = function() { return 1; }; //建立自訂地圖
var my_customMap = new GMapType(my_tileLayers, G_HYBRID_MAP.getProjection(), "我的地圖", { maxResolution: 10, minResolution: 1 });

//加入自訂地圖至Google控制介面中
map.addMapType(my_customMap);

//將目前的地圖切換至自訂的地圖
map.setMapType(my_customMap);





以上的程式碼跟Google範例的有點不同,也比較複雜些。但是可以多一些彈性,如圖層的順序與Google預設不一樣,或者有自己取得Tiles的邏輯,都可以用這個程式範例加以修改。

2009年7月9日 星期四

Google地圖 支援瀏覽器的地理位置功能

目前此功能支援的瀏覽器有Google Chrome、Firefox 3.5及有安裝Google Gears功能的瀏覽器。瀏覽器支援這個地理置位功能,可以讓網站的服務更個人化。

以FireFox 3.5為例,在Google 地圖的功具列上出現了一點,按下後。

P.S. 箭頭那條線,有沒有人知道那是什麼呢?

2009-07-10_134905

FireFox會詢問您要不要透露地理位置。

2009-07-10_134943

同意後會將地圖的中心移動至您上網的大致位置。

2009-07-10_135006

整個過程的影片如下

在未使用地理置位前搜尋Pizza,Google以您地圖的中心點大約在台中的位置為優先,告訴您Pizza資訊及給你全省的廣告。

2009-07-10_140207

再使用了地理置位後,Google地圖直接移至您上網(大概)的地方。之後搜尋pizza,就直您附近的Pizza店為主了,此外下方的廣告,也是以你所在地的廣告。

2009-07-10_140254

最後每次的搜尋結果,也可以打開來檢視。

2009-07-10_140446

未來位置功能的運用,不一定要有地圖出現。只要默默地在背後處理後,再給使用者更精準的服務即可。例如搜尋引擎…等。最後程式中怎麼要使用能,其實早就有了直接使用Google的API,用使者上網站IP來判斷即可。作法可以參考這篇

2009年7月8日 星期三

QGIS Windows安裝

最近有人問我安裝好QGIS Windows Standalone的版本怎麼無法使用,其實是權限的問題。在Windows 7 或 Vista的Program Files中需要有系統管理者的權限。

使用滑鼠右鍵按下QGIS按裝檔後,會出顯選項,請選「以系統管理員身分執行」。

2009-07-09_151851

之後就可以正常安裝與執行了,若還不清楚請看以下的影片。

 

2009年7月3日 星期五

安裝QGIS中的Geocoding附加元件

QGIS版本1.0.2

Windows – Standalone http://download.osgeo.org/qgis/win32/QGIS-1.0.2-0-Setup.exe

Windows – OSGEO http://trac.osgeo.org/osgeo4w/

作業系統Widnwos XP/Windows 7均適用。因為此套件是用Python開發所以可以跨平台支援Linux、Mac OS…等,安裝方式類似,但是加入Python額外的程式方法不太一樣。

Windows上的安裝如下

一、QGIS的附加元件中,加入第三方附加元件的提供者

 2009-07-02_212654

二、出現不保證第三方附加元件的品質及安全,這個安裝需按[OK]

2009-07-02_212715

三、增加四個附加元件提供者

2009-07-02_212731

四、切到[附加元件]中,多了非常多的附加元件的功能可以使用,別貪心有時間之後慢慢介紹,先把重點放在geocoding上,再按[Install plugin]

 2009-07-02_212907

五、至[附加元件管理…]中打開已安裝好的Geocoding附加元件

 2009-07-02_212956

2009-07-02_213033

 

六、 設定Google Map API Key

安裝完GeoCoding附加元件,第一件事要設定Google Map API Key,才能使用Google Map API的Geocoding服務。

1.按[GeoCode]=>[Settings]

2009-07-02_213110 

2.按[Get a Google API Key]

2009-07-02_213151

3.連至Google Map API申請網頁,在同意事項中打勾,再輸入你的網址後,按[Generate API Key]

什麼沒有網址,那就先隨便打一個,反正之後Google會要求你登入,就知道是誰使用這個Key

2009-07-02_213227

4.使用Google 帳號登入

 2009-07-02_213248

5.複製Key至GeoCoding中貼上

2009-07-02_213321 2009-07-02_213345 

七、設定專案的標系統

一定設定哦!而且每次新的專安都要指定一下,不然會出現下圖的錯誤。

除非你有設定專案預使指定使用某座標參考系統。

2009-07-02_213415

設定方式如下

2009-07-02_213758

2009-07-02_213903

八、安裝Geocoding附加元件所需的Python程式

請注意:這個步驟依作業系統的平台而不同。

在Windows環境下,請下載以下壓縮檔後

http://sites.google.com/site/yaogis/files/geocode_python.zip

解壓縮至你QGIS版本中的python目錄

  • QGIS Windows – OSGEO
    目的資料夾,如 C:\OSGeo4W\apps\Python25\Lib
  • QGIS Windows – Standalone
    目的資料夾,如C:\Program Files\Quantum GIS\python

2009-07-02_214244

九、重新啟動QGIS

重新啟動QGIS後,請參考這篇的使用。

2009年7月2日 星期四

在QGIS中作Geocoding-簡單建立圖資的方法

GEOCODE (Geospatial Entity Object Code)是地理空間的實體物件的編碼,物件可能是由各種屬性構成,例如:經緯度、日期、時區、IP…等。Geocoding則是透過一些物件的屬性找出空間座標的動作,最常用的是地名、地址及IP。

其實在QGIS中也有人使用python及Google的geocoding服務實作出一個Geocoding的附加元件。今天試了一個晚上終於安裝成功。先來看看如何使用,有興趣的人再看這篇如何安裝。

執行情形

使用步驟

 

一、GeoCoding

2009-07-02_215326

輸入地址或地名,因為是使用Google的Google geocoding服務再加上python中指定使用utf-8編碼,所以支多國語言。當然你可以找日本、美國…等的地名。

2009-07-02_215346

Google回傳的是WGS84座標,所以如下圖所選擇的按[OK]

2009-07-02_215357

第一次Geocoding後位置可能會跑掉,請按下圖方式處理即可。

2009-07-02_215438

可以看得出來,不僅作好geocoding的動作還產生一個屬性表格,裡面有記錄著結果。

2009-07-02_215532

二、Reverse GeoCoding

顧名思義就是給座標,它會告訴你地名或地址。在QGIS中給座標的方式就是在地圖上點一下。

2009-07-02_215600

點一下台北市右邊下方的地方,馬上告你是在研究院路上。

2009-07-02_215719

當然結果也會呈現在地圖上與累積在屬性工作表中。

2009-07-02_220021

等到處理的差不多,接下來就可以選擇將GeoCoding的結果輸出成

  • 一張地圖檔案
  • Shape File
    記得要選 utf-8的編碼,投影座標系統選擇你需要的,如WGS84、TWD67/97 TM2等
  • PostGIS空間資料庫的表格
  • 進一步的它空間處理
    使用fTools之類的工具

看來很不錯用,不過可惜未將Geocoding定位的精確度一並顯示出來,查詢結果多筆也不能同時顯示,所以得用多一些文字精確地描述至唯一筆資料。即使是如此一些小形的點數化工作用這樣的方式就可以搞定了。心動嗎?可以參考這篇安裝過程。