可以自己畫的地圖 開放街圖 openstreetmap(farmer.iyard.org/jwj/paper/cloud-20.pdf ·...

Post on 22-May-2020

21 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

- 1 -

【漫步在雲端】系列報導-20

可以自己畫的地圖~開放街圖 OpenStreetMap(下)

高雄區農業改良場 鄭文吉

※本文已於2014年6月發表於農業世界雜誌370期103-113頁※

前言

上期為大家介紹 OpenStreetMap(開放街圖, OSM)這個由民間自建的世界地圖,說明為什麼 Google Maps明明這麼好用,卻還是有人要這麼費力地去重新建置一個地圖系統,主要原因就是不希望全世界地圖資訊都集中在某一家特定業者手中,造成資訊被獨佔和壟斷的狀況出現;此外,若有道路封閉或新建等路況變更時,如果要等 Google Maps主動更新資料,往往得花上好幾個月;但 OpenStreetMap就可以透過在地民眾協助即時更新路況,讓地圖內容隨時保持最新狀態。

因此,許多不想被 Google Maps套牢的國家,便紛紛轉而投入協助OpenStreetMap的繪製工作,尤其是在歐洲,更是建置得十分完善,精細程度甚至比 Google Maps還要高。因為 OpenStreetMap 本身提供各式各樣的地標元件,可以分別標示不同的道路、建築物或不同用途的土地,如果編輯者有興趣的話,甚至連街上的紅綠燈和每一棵行道樹都把它通通標示出來(如圖 1)。

上期由於篇幅限制沒法寫完,本期就繼續為大家介紹關於 OpenStreetMap的應用,以及如何在上面建立和編輯地標的相關問題。

OpenStreetMap的應用

介紹了這麼多,大家可能會覺得,OpenStreetMap應該是個可以和 GoogleMaps 相抗衡的地圖資訊系統~至少它的建置目標是這樣。但如果我們登入OpenStreetMap 網站(http://www.openstreetmap.org),可能會覺得有點失望。因為這個網站的功能實在是不怎麼樣,除了簡單的地標搜尋服務外,既沒有路徑規劃功能,更別提街景圖之類的功能了。這是因為這個網站主要用途其實是要整合所有志工編繪的地圖資訊,因此只提供簡單的搜尋功能,方便大家找到定點,然後就可以開始編修地圖了。至於其他路徑規劃、鄰近景點搜尋之類的

圖 1. 開放街圖裡的德國柏林市(Berlin)地圖,除了道路外,還精確畫出公園綠地、人行步道和每棟房屋的形狀及門牌號碼,並且標出餐廳和咖啡廳的位置,甚至連路口的紅綠燈和行道樹都有。

- 2 -

功能,反正裡面的資訊開放大家使用,有需要的人都可以利用這些地圖資訊做加值運用,或者設計出各種應用軟體,提供路徑規劃或其他進階的服務。

舉例來說,Google Maps本身也可以讓使用者免費建立自己的專屬地圖,在上面標示許多地標,例如生態研究人員可以把調查結果標示在地圖上,方便查看野生動物出沒情形。但這樣的專屬地圖就像 Google其他服務一樣,個人少量使用不收錢,如果使用人數很多,還是需要付費的。因此,自從 Google宣布自 2012年開始收費後,像維基百科(Wikipedia)及以地圖為背景運作的社群網站Foursquare 這些地圖資訊的重度使用者,都宣布放棄 Google Maps 而改用OpenStreetMap。

舉例來說,今年(103 年)大甲媽祖繞境活動,蘋果日報網站就提供一個「大甲媽祖繞境地圖」的服務,在地圖上標示大甲媽祖鑾轎現在到了甚麼地方,每個點都可以看到相關報導和相片(如圖 2)。但如果仔細看就會發現,他們所用的地圖並不是大家熟悉的 Google Maps,而是OpenStreetMap。因為以蘋果日報龐大的讀者數量,如果使用Google Maps 來建立這個繞境地圖,不知得花多少錢;但若改用OpenStreetMap,那就完全不用付錢了。如果各位有興趣,不妨可以再上網看看這個繞境地圖,網址:http://infographic.appledaily.com.tw/events/dajiamazu2014。

自建地圖通常是為了能透過地圖來展示各種地標的相對位置或聚集情形,對一般人來說,用到的機會大概不多,比較常用的應該是查詢~尤其是路線規劃的功能。雖然 OpenStreetMap網站本身並沒有提供路線規劃服務,但因為它提供免費地圖資訊,可以降低業者的開發成本,加上可以依照需要快速更新地圖資料,因此目前也有許多業者開發出各種應用軟體。例如專門開發導航系統的Telenav,就開發出包括免費地圖暨導航程式Scout、汽車導航專用的Scout forCars,以及行動 GPS導航程式 TeleNav GPS Navigator;另外,專門開發運動路線追蹤程式及網站的 Strava,也決定透過 Scout 進一步開發專供自行車及跑步人士使用的程式。

對一般民眾來說,目前比較多人使用的應該算是 OsmAnd這個軟體,它提供 Windows、Android 及 iOS 等各種作業系統的版本,可以在電腦或各種行動裝置使用。除了提供各種地圖查詢功能外,如果行動裝置本身具有 GPS定位功能,就可以隨時確認目前所在位置,這樣一來,這個程式就可以當作導航系統

圖 2. 蘋果日報網站提供的「大甲媽祖繞境地圖」服務,使用 OpenStreetMap當地圖背景,上面標示媽祖鑾轎行程,點選每個定點都會呈現相關報導和新聞照片。

- 3 -

使用,告訴使用者該怎麼走才能到目的地(如圖 3)。

OsmAnd有免費版和付費版兩種選擇,差別在於免費版只能下載10 個地圖,而付費版就可以無限次下載。因為 OsmAnd 不像Google Maps 那樣是隨時上網查詢並更新顯示畫面的地圖資訊,而是一開始就先把地圖資料下載,之後就可以省去上網查詢的時間。由於我們可以選擇要下載哪個國家地區的地圖資訊,對國內使用者來說,其實只要下載台灣地圖就夠了。但因為下載的地圖不會自動更新,建議隔一段時間就要自己重新下載更新地圖,這樣才能讓地圖保持在最新狀態。不過,免費版只能更新 10次,之後雖然還是可以繼續用,但就不能再更新地圖了。如果大家試用後覺得這個真的很好用,不妨改用付費版,只要台幣 229元,就不用再擔心地圖沒法更新。

正因為 OpenStreetMap地圖資訊可以直接下載,所以這些開發出來的應用軟體不需要上網就可以查閱地圖。這樣的「離線瀏覽」功能對於非 3G行動上網用戶,或者喜好登山健行、單車旅遊人士來說特別重要。因為如果一定要上網才能看到地圖,一旦到了深山裡收不到訊號的地方,由於沒法看到地圖,導航系統也就失去作用了;但如果地圖資訊可以下載,那就沒有不能上網就不能使用的問題。

或許有人會問,既然 OpenStreetMap裡的資料是免費開放大家使用的,但OsmAnd等應用軟體卻又要收錢,這樣不就違反使用原本的免費使用規定了?其實這是兩回事,之前也說過,地圖資訊本身本來就沒有版權可言,因此任何人都可以依照現地狀況畫出地圖;但如果有人可以利用這些地圖資訊設計出方便好用的軟體,提供路線規畫等各種加值服務,讓使用者省去自己慢慢按圖找路的麻煩,這樣的軟體當然可以收費。反正地圖資訊是免費公開的,任何業者都可以拿來開發各種應用軟體,也提供免費和付費版本,由使用者自己決定要用哪一套。只要軟體真的好用的話,人家自然就會乖乖付錢;不然就算免費提供,人家也不會想用的。

如何繪製自家附近的地圖?

由於 OpenStreetMap在台灣還沒有像歐洲那麼流行,現在還有很多地方沒有被畫出來。然而,要把全台灣各地大街小巷的地圖全部畫出來,還真的是件大工程(畫過的人就知道)。在人力有限的情況下,目前的作法是優先畫出國道、省道、縣道及鄉道這類有標示道路號碼的重要道路,以便形成全台主要交通網,至於其他的街道再慢慢補上。

圖 3. OsmAnd離線地圖軟體在Google商店裡的下載畫面,這個軟體提供各種作業系統版本,可以在電腦或各種行動裝置使用。

- 4 -

由於人口眾多的都會地區志工人數也比較多,因此我們會發現,都會地區的道路大多畫得十分完整,但到了偏遠鄉下地方,不要說街道可能不夠完整,有時甚至連整個村莊都沒有被標示出來。這種狀況其實不只 OpenStreetMap這種由民間自製的地圖會有,即使是 Google Maps 這類投入大量資金的商業地圖,在偏鄉地區的內容和更新速度也都比都市差很多。如果你正好是住在那邊的人,看到這種跟現況完全不符的地圖,大概也會很火大吧?問題是,GoogleMaps 得等他高興才會改,但 OpenStreetMap 就可以讓我們直接動手修改,做出比 Google Maps還正確的地圖。

舉例來說,如果我們用 Google Maps查詢位於旗山區手巾寮里的高雄區農業改良場旗南分場,會發現在旗南分場的位置只有標示一個「高雄區農改場」的地標。像這樣的標示其實反而會造成很多困擾,如果有人想查詢高雄改良場的位置,因為這個地標位於高雄市,跟高雄場的名稱相近,因此系統就會把它放在第一個順位。然而高雄場本場其實是位於屏東縣長治鄉,這樣一來就會造成使用者的混淆,以致很多想去高雄改良場的人被 Google Maps指引到旗南分場之後,才發現跑錯地方。

換到 OpenStreetMap,上期的內容曾附上旗南分場附近的衛星空照圖,原本上面只有省道台3線和高 96、高 100兩條縣道,以及手巾寮和警察局的地標,至於旗南分場本身和附近的道路則沒有被標示出來。但經過筆者加以編修之後,就可以把手巾寮所有街道位置、名稱,以及旗南分場的範圍和內部建築物通通標示出來,而且不同用途的建築物還可以提供不同的圖案,方便辨識(如圖 4)。

這樣是不是很方便?任何人只要有電腦能上網,每個人都可以貢獻一己之力,幫忙把家鄉的地圖編輯得更正確更完整,不用苦苦等候 Google Maps或其他商業地圖業者修正他們的地圖。因此,接下來就為大家介紹,如何開始進行OpenStreetMap地圖的編輯:

1.登入

當我們瀏覽 OpenStreetMap網站,發現地圖上的標示跟自家附近的狀況不一樣,例如有甚麼道路或地標沒有被畫出來,或者某條路已經被封鎖不通了。這時只要點選左上角的「編輯」功能,就會切換成編輯模式,然後就可以加入幫忙畫圖。

圖 4. 自行繪製高雄場旗南分場附近地圖,包括所有街道及分場內部建築物都可以分別標示出來,而不是只有一個地標而已。

- 5 -

第一次使用編輯功能時,系統會要你輸入帳號密碼來登入系統,這時可以選擇建立新帳號,或者直接用 Google 或其他社群網站的現有帳號來登入(像我就是直接用 Google 帳號登入)。之後就可以在編輯模式和檢視模式切換,不用再輸入帳號密碼。

2.描繪地標

進入編輯模式後,原本的街道地圖上面就會覆蓋當地的衛星空照圖,方便描繪地標。這種衛星空照圖模式的操作跟瀏覽用的街道圖一樣,可以視需要放大縮小或者移動位置,以方便地標的描繪。

一般來說,地圖所用的地標可以分為點、線、面(區域)三種模式。「點」主要用在標示範圍很小以致難以畫出範圍的地標,例如牌樓、碑塔、樹木等,或者用來標示鄉鎮村里的地名;「線」則適用於長條形的地標,例如街道、鐵路、河川、城牆等等;而「區域」則用於範圍較大可以描繪出範圍的區域,像是湖泊、水池、森林、公園、農場,或者面積較大的機關學校等等。

在商用地圖裡,一般建築物通常都是以點來標示,就算這個建築物其實面積很大也一樣。不過在 OpenStreetMap,由於系統提供非常多樣化的地標,可以標示很細節的東西,因此通常會建議直接用「區域」來畫出建築物的輪廓,而不是只標示一個點就打發掉。尤其是像機關學校這種面積較大的建築物,其實裡面還包含很多個別建築物、運動場、草皮綠地等等,如果編輯人員能順便把機關學校的房舍和內部道路也一起畫出來,就更方便民眾前往洽公時查詢要去哪棟建築物該怎麼走、可以在哪邊停車,這都是商用地圖無法提供的服務。

3.設定類別

地標畫好後,再來就需要設定這個地標的類別。這時系統會先依照這個地標是用哪種方法(也就是前面提到的點、線、面)所畫出來的,提供常用的相關類別選項方便參考選用;如果沒有合用的,也可以輸入關鍵字進行搜尋。由於每種地標在地圖上都會有不同的顯示方式和代表意義。如果地標畫好卻沒有設定它的類別,存檔時系統會提出警告,提醒你有些地標還沒設定好。

舉例來說,當我們把一條線設定為道路時,就會再出現各種道路選項(如圖 5)。這些選項名稱是由英文直接翻譯過來的,因此除了高速公路外,其他的可能就會讓人搞混不知該怎麼選。原則上,這個類別並不是看畫面上的車道數量來

圖 5. 高雄農改場屏東本場所在地的編輯模式,OSM提供各種類別的道路提供製圖者選擇,並以不同顏色或粗細呈現,例如高速公路為藍色、省道為紅色、鄉道為黃色,其他一般道路則以白色顯示。

- 6 -

選擇,而是看道路本身的層級而定。一般來說,重要道路都會有編號,因此可以依照下列原則設定:(1)高速公路 motorway = 國道(2)幹道 trunk = 快速道路(3)主要道路 primary = 省道(4)次要道路 secondary = 縣道(5)三級道路 tertiary = 鄉道

至於其他沒有編號的道路就比較容易被搞混,一般可以依照下面的原則來進行設定:(1)住宅區道路 residential:用於緊鄰房屋的道路,通常出現在城鎮、村莊等人口聚集地區。

(2)未分類道路 unclassified:用於鄉間道路,沿線往往只有田園而非密集房屋。(3)輔助道路 service:用於只有單線道、中間沒有畫分隔線的路段。不過,如果是通往景點的山區道路,有時也沒有畫中央分隔線,這時也可以設為未分類道路以提升它的等級。

(4)未知種類道路 road:如果你真的不知道這條路該怎麼分類,那不妨就先設為「道路 road」就好。先讓導航系統知道有一條路存在,日後等確認了再加以修改就行了。

(5)其他:除了上述道路類型外,其實還有很多其他類型的道路,例如山中的林間小徑、人行道、自行車道、行人徒步區等等,有興趣可以自行搜尋看看。

之所以要把道路分為這麼多種類型,是因為道路是地圖裡最常見也最重要的地標,如果設定錯誤,就會造成導航系統混亂。因此上述這些選項都有特定的用途,而導航系統在規劃行車路線時,優先權也會不一樣。例如汽車會優先選擇有編號的道路,盡量避免選擇巷道,但行人就沒有這種問題,任何再狹小的巷弄或人行道都可以走。所以,如果有人把整個城鎮的道路通通設為同樣等級(例如通通設為住宅區道路),就算理論上那些巷道也算是道路,如果不做區分直接選最短路徑,可能反而因為誤入窄巷而浪費更多時間,造成駕駛人的困擾;但若有好好的加以區分,導航系統就會優先選擇路面較寬的重要道路方便行駛,接近目的地之後再選擇一般道路,讓行車更順暢。

4.設定屬性

類別選好後,再來就要設定它的各種屬性,包括名稱和每個類別專用的屬性。例如建築物可以設定地址、樓層數,甚至聯絡電話和網址;如果是道路,就可以設定它是幾線道、是否為單行道、路面是哪種材質(柏油、水泥、泥土…),以及是否禁止特殊車輛進入等等。

前面提過,這些地標的類型和屬性並不是設好玩的,例如一條道路是否為單行道,在路線規劃時就會產生不同的結果。因此如果無法確定,可以先選用預設值(也就是未定),等確定後再回來修改,這樣總比胡亂設定造成導航系統錯

- 7 -

亂要好一點。如果有疑問,也可以參考其他人所建立的同類型地標,就知道該怎麼設定才正確。

另外要注意的是,如果是中間有分隔島的道路,就必須畫成兩條平行線,然後分別設為方向相反的單行道,而它的車道數量也需要分開計算。例如圖 4中間的省道台 3線(旗屏二路),上方部分突然變成兩條線,這並不是說這條路在那邊變成兩條,而是因為那個路段的中間有分隔島存在。

5.修改

地標編輯完畢後,還是可以隨時進行修改。只要先點選那個地標,就會回到前面設定屬性的狀態,這時就可以更改或增刪裡面的資料。如果是要把那個地標刪除,只要點選垃圾桶圖案就行了;如果想要旋轉或者移動整個地標,甚至是覺得剛剛畫得不夠方正(例如建築物、公園)或不夠圓(例如圓環),系統也提供修正工具幫你修飾,只要點一下就會自動調整好了(如圖6)。但如果不是方正或圓形,只要拖曳地標上任意一個點,就可以修改細節的形狀。

除了修改自己建立的地標外,如果看到現有的地標有錯誤,也可以幫它修改。例如有些路段可能由於編繪者只標記道路編號,並沒有寫上路名,這時如果你剛好知道路名,就可以順手幫忙補上。當然,如果不小心弄錯了,把人家畫好的點移動或刪除了,只要趕快按下 Ctrl-Z 或者上面的回復圖案,就可以重新回到上一個狀態。所有的動作只要沒有被儲存,都不會對地圖資料造成影響。

6.保存

當繪圖工作告一段落,就可以按下上方的「保存」圖案進行存檔。這時系統會列出你這次所做的所有動作,包括建立或修改了哪幾個地標,然後會要求你輸入「有關此編輯的訊息」,也就是介紹一下你這次做了哪些事情,提供管理人員和其他後續編輯人員參考。這部分只要大致說明一下就好,因為細節下面都有條列了,所以不用逐一列出。完成後再按下「保存」,就會把這次的編輯內容送入 OpenStreetMap的資料庫,這時你就可以回到瀏覽模式看看你剛剛所畫的成果。一般來說,資料變更在一分鐘內就會生效,只要按下 F5重整網頁就可以看到,而這時所有使用者都可以利用到這些資料。當然,如果你的編修是很明顯在亂畫,也可能直接被管理員剔除,不會進入資料庫裡。

圖 6. 只要點選地標就可以重新進行修正,包括設定屬性或改變形狀。系統也提供 5種輔助工具,依序分別為旋轉、方角化、移動、圓形化和刪除。如果操作錯誤,也可以馬上回復到上個狀態。

- 8 -

由於每個人所做的編輯動作都是以這樣的模式整批匯入,因此每個地標都可以查詢過去編輯的歷史,例如是由誰建立、由誰修改。如果確認最後這次的修改其實是錯的,例如有人胡亂移動地標位置、甚至整個刪除掉,管理員就可以回復到上一次的狀態,以免前人的心血白費。

需要注意的事情

雖然要加入 OpenStreetMap的編輯工作並不困難,但有幾個地方還是要注意一下,以免弄了半天卻白費力氣。

1.地標偏移了?

如果看到圖上畫好的道路或地標明顯和背景的衛星空照圖有誤差,請別急著把它們逐一移動到「正確位置」。這是因為衛星空照圖是由衛星繞行地球時所拍下來的一大堆照片接合而成的,並不是本來就是一大張世界地圖,因此在接合過程難免會有誤差。此外,OpenStreetMap 本身提供好幾種衛星空照圖,以方便遇到雲霧遮掩時可以更換另一種衛星空照圖繼續繪製。由於不同來源的衛星拍攝角度不同的關係,或許前一個人明明也是照著空照圖上面的道路進行描繪,但後面的人看到時,卻可能發現整條路出現偏移誤差。但對使用地圖的人來說,這些幾公尺的誤差並不會對導航或路線規畫產生影響,因此這時就不需要花時間去移動它們,不如用這個時間去畫更多地標還比較有意義。

2.隱私問題

前面提過,由於 OpenStreetMap上可以標示任何地標,因此商家也可以免費把自己標示上去,讓全世界都看得到。然而,如果有人真的時間很多,把全村的每棟房子都描繪出來,還逐一註明這是誰的家,這樣恐怕也會引來不必要的困擾,因為你的鄰居或許不希望被標上去。因此,除了機關學校這種公共建築物外,一般私人住家除非得到同意,否則還是不要隨便幫別人畫上去比較好。

就算是商家想要做廣告,可能也要留意放上去的屬性資料有沒有牽涉到隱私問題。舉例來說,我們可以把自己經營的休閒農場、觀光果園標示在地圖上,讓人家知道怎麼去那邊玩,當作免費廣告。但如果你的果園、農場並沒有開放民眾參觀採果,那其實也不用標得太清楚,只要標示銷售地點(如果有的話)就行了。否則不但可能因為遊客亂逛造成工作上困擾(例如台東池上的伯朗大道),甚至可能讓小偷看到你在臉書(Facebook)上留言說果園快要可以收成了,就按照地圖指引前去幫你「採收」,那就真的欲哭無淚了。

結語

這幾期陸續為大家介紹幾種雲端地圖資訊系統,包括大家最熟悉的 GoogleMaps,以及微軟所建置的 Bing Maps和內政部建置的國土測繪地圖,以及被稱為「地圖界維基百科」的開放街圖 OpenStreetMap,讓大家了解各種地圖資訊

- 9 -

系統的特性和優缺點。舉例來說,我們可以利用 Google Maps查詢某個風景名勝在哪裡,並且規劃旅遊路線,再進一步搜尋附近的餐廳、民宿或值得一遊的景點。另一方面,我們也可以反過來先查好自己家的位置,然後把網址傳送給朋友,就可以很方便的告訴對方你家的位置,讓他規劃要到你家的最佳路線。然而,有時由於路況已經有所改變,但 Google Maps並沒有那麼快更新,這時也可以利用 Bing Maps重新搜尋規劃看看,或許會有比較好的走法。另外,由於這兩個外國商業地圖都沒有提供門牌號碼,因此有時就算找到路,卻不一定找得到那個地址,這時就可以改用國土測繪地圖進行查詢。

然而,不管是哪一種地圖,都是由跨國企業或政府機關花費大量人力物力才能建置起來的,因此就算有人發現上面有甚麼錯誤,也只能提出建議然後等待對方修正。以致像是台北捷運信義線,在完工後好幾個月才被標示到 GoogleMaps,誰也沒有辦法。

因此,雖然 Google Maps 很好用,但還是有人推動建立 OpenStreetMap這個民間自建地圖。因為在這裏每個人都可以參與地圖編輯工作,一旦路況改變就可以隨時更新,也可以隨自己意願加入各種景點、商店等地標。因此雖然它沒有大企業提供資金和人力,但透過全世界志工的協助,還是可以提供不輸商業地圖的品質。加上 OpenStreetMap的地圖資料可以免費提供下載,因此許多導航系統業者和需要使用地圖當背景的網站,也都開始改用 OpenStreetMap作為地圖資料來源,以減輕營運成本,從而降低產品售價,也讓消費者受惠。

由於 OpenStreetMap的編輯十分重視現場的狀況,因此雖然都會地區因為有較多志工參與可以畫得很精細,但目前最缺乏的就是鄉村地區的志工,以致許多地方可能只有重要道路經過,至於村莊裡面的道路卻沒有人幫忙畫出來。然而,對農民或農業機關人員來說,我們正好可以利用 OpenStreetMap來畫出自己的家鄉地圖,除了充實地圖資訊方便遊客利用外,順便可以把當地各種農業旅遊景點如觀光農場、休閒民宿、農產品展售處等標示在上面,當作免費的廣告,何樂而不為?

結束從 Google Maps開始所引申的一系列網路地圖資訊系統的介紹後,下期開始還是回到正題,繼續介紹其他 Google所提供的免費雲端資源,敬請期待。

top related