OpenStreetMap

Supaplex's diary

Recent diary entries

近期台灣組織編輯狀況

Posted by Supaplex on 4 August 2018 in Chinese (Taiwan) (‪中文(台灣)‬)

8/5花蓮銅門一帶有大規模編輯,加了不少建築,推測是東華大學的活動吧。

Location: 銅門, 花蓮縣, 97362, 臺灣

140高地之旅

Posted by Supaplex on 9 June 2018 in Chinese (Taiwan) (‪中文(台灣)‬)

2018/06/03前往臺北萬芳140高地公園,繪製公園裡的路徑。

Location: 萬美里, 文山區, 臺北市, 11653, 臺灣

無國界醫生台灣圖客爬,見證全台史上最大 OSM 圖客松

Posted by Supaplex on 14 April 2018 in Chinese (Taiwan) (‪中文(台灣)‬)

無國界醫生台灣辦公室配合他們全球的行動,3/17在台灣辦圖客松,可以說是台灣到目前為止,辦過最大的圖客爬之一。最初聽到人數規模嚇一跳,剛聽到嚇到了。很可惜這次並不是 OpenStreetMap 台灣社群主導,而是國際組織脈落下進行的活動,只能說社群力量還沒辦法找到足夠資源。

Joanna開場 ▲ 無國界醫生 Joanna 開場,介紹整場活動。

Joanna 介紹要畫的地方 ▲ Joanna 介紹要畫的地方

整場活動,受惠於救難組織,以及 HOT,和他們倡議的災難繪圖,Missing Map 專案,產製的大量教學和活動流程文件,因此原先擔先這麼多人參與,會擔憂出問題,並沒有發生。無國界醫生在香港就已經辦過一次活動,這次幾位社群朋友協助幫忙,幫忙排解疑難雜陣。

這次圖客爬有我、家正、晉帆,還有一位是蘋果工作的女士擔任助教。場地所在的台北美國學校則由學生會長,以及志工社社長當在地接頭的人。當天美國學校大門口有二手書交易活動,無國界醫生組織的圖客爬則是在學生餐廳舉行。即便是學生餐廳,設備比起一般台北的高中好多了,室內而且有空調,並不會悶熱。

畫圖的大概狀況 ▲ 場地以及畫圖的大概狀況。

無國界醫生組織由台灣辦公室的 Joanna 負責,帶領台北辦公室的人員,還有香港的同事過來支援。除了天母美國學校的學生之外,無國界醫生組織還有邀請志工過來。由於工作人相當多,即便總參與人數達到 80 人之多,也沒什麼太大問題。

這次進行 Missing Map 的專案,運用當天公佈的 task,位於馬利 Mopti 地區的 task 4304,開始讓參與者用 HOT Task Manager 選定一小塊進行,然後辨識裡面的建築。HOT Task Manager 是版本 3,能夠不規則的圈出要畫的地方。眾多小方格已經用 MapsWipe 篩選出可能有人居住的地方。

美國學校學生理解力都不錯,經過簡單教學演示,大都知道該怎麼。有問題的地方是打開 OSM iD 編輯畫面,空照圖並沒有建築,或是有一塊可能是建築的東西,需要猜測到底要不要標成建築。有些應該屬於小學部的學生,看到會公佈每位帳號畫的建築排行榜,彼此還會競爭誰畫的建築多,甚至最後還學會 copy paste 大法,大量繪製類似形狀建築。

在畫圖活動的前後,安排 HOT Board Slayer 前來演講,以及無國界醫生組織的醫生來演講,談當地救難行動的實際經驗。

Slayer 的演講畫面 ▲ Slayer 的演講畫面。

我跟晉帆用走的到捷運站,沿途發現忠誠路一帶的巷弄名稱沒什麼標注。先前在天母一帶有以 Wheelmap 為主的標店家圖客爬,印象是東吳大學的老師帶領的活動,資料品質有相當大的問題。第一是店家位置常標錯,有些標到道路上,或標到隔壁巷子。第二是 POI 的地址標籤寫錯,把全部地址資訊全塞到 addr:street,並沒有標到對應的 addr:housenumber、addr:city、addr:district。

我很期待下次無國界醫生組織在台灣辦活動,對於缺乏資源時常辦 mapping 活動的本地社群,可以看看辦一次圖客爬的流程,以及注意事項。

Location: 25.116, 121.530

公園沾到道路問題

Posted by Supaplex on 7 March 2018 in Chinese (Taiwan) (‪中文(台灣)‬)

最近因為寶可夢玩家擁入開放街圖,不少玩家為了遊戲性而在開放街圖資料庫,新繪製現實存在但沒有標注的公園。但不少人畫了一些之後就沒繼續,很可惜不能成為長期的在地貢獻者,更慘的是往往把公園的點沾到鄰近的道路上面。

自動化找出上述公園構成點黏到變成種可行方式,初步想到的作法是:

  1. 用Overpass API搜出全台的公園
  2. 在JOSM選擇所有點,然後按下載點關照或上層關係
  3. 搜尋道路,然後與公園分離

實際執行,太耗運算資源了。因此調整方式:

  1. 用diff語法找出寶可夢玩家大量擁入之後,新增或變動的公園
  2. 在JOSM選擇所有點,然後按下載點關照或上層關係
  3. 搜尋道路,然後與公園分離
Location: 拉夫郎社, 南投縣, 臺灣

Taipei Meetup Results - PTX Public Transport Exchange Platfrom Linestring Transformed into Easily Handle GeoJson

Posted by Supaplex on 13 February 2018 in English (English)

Taiwan Department of Transport's public transport exchange platform PTX is quite good on public transport data. It integrates different transport authorities data, for example Taipei City Public Transport Office, New Taipei City Transportation Department, or Directorate General of Highways, bus stop and bus line data. But the export line data from PTX is using Microsoft oData LineString format, programmers.are not familiar with.

But in yesterday's Taipei Meetup, the keyholder of MozSpace Taipei MingTsay use his ability to help us. He lived deme writing code after discussing with him. He transform the LineString into GeoJson using PHP.

The record is written down on Hackpad](https://osmtw.hackpad.tw/2018-02-12-OpenStreetMap-Taipei-Meetup-Note-UmuZ5fXDpLG). The program that using PHP code is here

The next day I saw the JavaScript Version. MingTsay is quite good at coding. He worked very fast to rewrite to code into other language. Thanks to his effect of his time spending, we could use his program to view the bus line, and view the lineString. I could edit OpenStreetMap bus line at the same time, using the output LineString as GeoJson for reference.

Location: 梅花里, Zhongzheng District, Taipei, ROC

臺北聚會成果-PTX大眾運輸路線資料轉成 GeoJson 等易處理的格式

Posted by Supaplex on 13 February 2018 in Chinese (Taiwan) (‪中文(台灣)‬)

交通部的大眾運輸資料交換平台 PTX 相當好用,整合不同交通主管單位手台的資料,如台北市公共運輸處、新北市交通局、公路總局等。PTX 能輸出站牌和路線詳細資料,不過路線的線型資料卻是輸出為微軟 oData 的 LineString,不為一般程式設計師熟悉。

所幸昨日 (2/12) 臺北聚會時遇到小貓 MingTsay,跟他討論後,現場直接寫 code,將 LineString 轉為 GeoJson。相關記錄記在 Hackpad 上面,PHP 的實作部分在這邊

隔天看到出現 JavaScript 版本,果然 MingTsay 是天生適合吃這行飯的人,很快就能轉寫成其他語言版本。感謝他昨天花時間撰寫寫出的程式,解決公車路線線型顯示問題,能夠運用成果編輯 OpenStreetMap 公車路線時參照著看。

Location: 梅花里, 中正區, 臺北市, 臺灣

Recovering Royal Palm Boulevard Trees

Posted by Supaplex on 9 February 2018 in English (English)
Location: 學府里, Xianeipu, Da'an District, Taipei, 10607, ROC

臺大椰林大道的樹復原

Posted by Supaplex on 9 February 2018 in Chinese (Taiwan) (‪中文(台灣)‬)
Location: 25.017, 121.538

COSCUP 2017 OSM 相關議程心得 (2)

Posted by Supaplex on 5 November 2017 in Chinese (Taiwan) (‪中文(台灣)‬)

由於 COSCUP OpenStreetMap 軌是我籌畫,這篇比較多涉已部分。

OpenStreetMap 圖資可以離線運用,並且裝在從手機到 GPS 等裝置,因此在登山族群中 OpenStreetMap 成為實際用到的地圖資料。我請來 Rudy 談登山族群的地圖需求,談整合 OpenStreetMap 與內政部 DEM 資料的 Taiwan Topo Map,如何變成登山客愛用地圖。Rudy 談處理資料的部分一開始不是那麼好理解,不過講述和投影片的條理夠清楚。

感謝天氣炎熱的狀況,因此每間教室都塞滿人,也慶幸應該沒人有熱症發生狀況。吳政璋做了很少張投影片,其中一張有解釋成就的三角形,拿來套用他的鄉民風水師欲達成的目標。不過當然事情不會那麼順利,常常停留在最低層三角形。

原先答應來的洪朝貴老師不能來,因此請來國網的人代打。國網的 Thomas 介紹 Overpass Turbo,不過可惜我引言沒說到 Overpass Turbo 有多麼強大,很多屬於架站技術和參數設置的部分,觀眾不是那麼快進入狀況。

工作坊部分很可惜講解 OpenStreetMap 的部分太長了,實際動手時間不夠多。Kagami 著重在整個歷史部分的交待,但我會覺得動手作更重要,尤其有不少有經驗的 mapper 在場能解決問題。

在舉行工作坊的同一時間,第一天的 Lighting Talk 也在進行。我找來的 Littlebtc 竟然給我在會場睡覺,等到 Light Talk 的時間到了,他就去講了,不管 OSM 軌的死活。聽說回響還不錯呢。

我找來不少工作人員,欠了不少人情。不過因此確保不論是演講分享的部分,或是 OpenStreetMap 工作坊都順利進行,而且每個人工作量負擔都不會太大。

Location: 學府里, 下內埔, 大安區, 臺北市, 10607, 臺灣

China Mappers Censorship of Sensitive Stuff on the Map

Posted by Supaplex on 5 November 2017 in English (English)

Due to China strict law of map concerns of China, stuff including military area on OpenStreetMap is not welcomed by China mapping law. Some China Mappers are thinking about removing sensitive military area on OpenStreetMap. One of the mapper FreedSky is censoring map stuff on OpenStreetMap, and start removing military landuse on OpenStreetMap

I revert the changeset 53508675 and changeset 53508564. It's the military area on Fujian, which is the standing opposite Taiwan.

In the previous experience deal with national security, military landuse in Israel and South Korean was removed by local mappers. But the the removed stuff was recovery when someone discovered and talk on the mailing list.

Which is important, the national security of certain country, or the global goal of mapping everything on the world?

Location: Dongguan, Yongchun County, Quanzhou, Fujian, PRC

COSCUP 2017 OSM 相關議程心得 (1)

Posted by Supaplex on 14 August 2017 in Chinese (Taiwan) (‪中文(台灣)‬)

COSCUP 2017 年的 OSM 相關議程心得,這篇可能比較多吐糟點多了點,不喜勿入。有關自身有涉入的 OSM 軌演演講和工作坊部分之後會再敘述。

聽了 COSCUP 社群軌談 OpenStreetMap 社群經營,講者簡介 OSM 之外就是談社群經營經營談。回過頭想想為何這場演講內容變得偏抱怨性質,像是覺得我這麼認真結果為何讓我失落。我想我事情思索的太複雜了,要回到最基本的部分-目標怎麼定,社群成員投入得到什麼,而能參與什麼有趣的專案,可以選擇做到什麼程度?

社群是由一群志同道合的人組成,大家會運用 OpenStreetMap 都有各自的理由,目標也不盡相同。你的目標未必別人很在意,極端的狀況我在意的部分別人覺得不值一曝,甚至彼此目標會衝突。如果社群成員有彼此能合作的目標,自然就會討論何種重要得先做,力量集結起來,共同先完成該目標。

因此社群經營包含大量彼此溝通協調,說服以及交換的過程。儘管是資訊社群,仍跑不了經營過程大量人與人之間的接觸對話。

回到,OSM 甚至 GIS 技術對於平凡人求職來說並不是找到好工作的保證。社群辦活動都是 Go Dutch,並不是免錢可以吃吃喝喝飽餐一頓。社群也不是企業,也不會出現董事長訂目標,底下人答有領旨執行,幾個月後將成果彙報上去。訂目標的人在讓社群力量呈多頭馬車是常態,如何選擇則是社群成員個人衡量下,採用社群共識決處理。

有時候有人提倡要進行有趣的專案,能夠招募到一些人跟隨做出不錯的成果。號召到的追隨大小和人數就得看領頭人的魅力和功力了,而且往往領頭人得先自己做,如果自己不身先士卒,你也不能期待大家衝鋒陷陣。

會有不等式狀況出現,那可能代表提出的條件不夠,或者專案不夠有趣吸引人吧!

Location: 25.021, 121.542

檢驗不應該在某縣市出現的避難場所

Posted by Supaplex on 8 August 2017 in Chinese (Taiwan) (‪中文(台灣)‬)

儘管跑出臺灣的避難所已經修正完畢,但還未解決跑錯縣市的避難場所問題,在 OpenStreetMap 的避難場所仍有錯誤處,因此用 OverPass 來找看看跑到其他縣市的點位。

先看看新北市的狀況。OverPass Turbo Link: http://overpass-turbo.eu/s/qSM

測出來結果只有兩個點,比例上來說出錯率還好。

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“emergency=assembly_point and "addr:full"!~"新北市" in "新北市"”
*/
[out:json][timeout:225];
// fetch area “新北市” to search in
{{geocodeArea:新北市}}->.searchArea;
// gather results
(
  // query part for: “emergency=assembly_point and "addr:full"!~/新北市/”
  node["emergency"="assembly_point"]["addr:full"!~"新北市"]["addr:city"!~"新北市"](area.searchArea);
  way["emergency"="assembly_point"]["addr:full"!~"新北市"]["addr:city"!~"新北市"](area.searchArea);
  relation["emergency"="assembly_point"]["addr:full"!~"新北市"]["addr:city"!~"新北市"](area.searchArea);
);
// print results
out body;
>;
out skel qt;
{{style:
  node, way, relation {
    text: name;
  }
}}
Location: 興得里, 馬明潭, 文山區, 臺北市, 116, 臺灣

Using NCDR evaulated center Data to Add Missing School

Posted by Supaplex on 2 July 2017 in English (English)

Due to preparing for disaster situation, NCDR maintain a list of evaluated center in Taiwan. Some of these places are school. We could use this list and filter school, check if these schools are on OpenStreetMap. If there are missing schools on OpenStreetMap, we could draw the schools. Schools on NCDR data has much more items than GNS data.

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“emergency=access_point and name~"國小|國中|高中"”
*/
[out:xml]/*fixed by auto repair*/[timeout:225];
// gather results
(
  // query part for: “emergency=assembly_point and name~/國小|國中/”
  node["emergency"="assembly_point"]["name"~"國小|國中|高中"]({{bbox}});
  way["emergency"="assembly_point"]["name"~"國小|國中|高中"]({{bbox}});
  relation["emergency"="assembly_point"]["name"~"國小|國中|高中"]({{bbox}});
  node["amenity"="school"]({{bbox}});
  way["amenity"="school"]({{bbox}});
  relation["amenity"="school"]({{bbox}});
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/

OverPass Turbo Link

Location: 瑞平里, Hongcuo, Linkou District, New Taipei, 24451, ROC

用NCDR的避難場所資料,補充林口一帶缺失的學校

Posted by Supaplex on 26 June 2017 in Chinese (Taiwan) (‪中文(台灣)‬)

NCDR 手上有相當詳盡的災難時候避難場所資料,其中為數不少是學校。因此可以利用避難場的清單,挑出學校,然後在 OSM 上面對照是否已經繪製學校了,假若沒有則可以補充資料。NCDR 資料相比 GNS 中學校資料豐富太多了。

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“emergency=access_point and name~"國小|國中|高中"”
*/
[out:xml]/*fixed by auto repair*/[timeout:225];
// gather results
(
  // query part for: “emergency=assembly_point and name~/國小|國中/”
  node["emergency"="assembly_point"]["name"~"國小|國中|高中"]({{bbox}});
  way["emergency"="assembly_point"]["name"~"國小|國中|高中"]({{bbox}});
  relation["emergency"="assembly_point"]["name"~"國小|國中|高中"]({{bbox}});
  node["amenity"="school"]({{bbox}});
  way["amenity"="school"]({{bbox}});
  relation["amenity"="school"]({{bbox}});
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/

OverPass Turbo連結

Location: 25.108, 121.361

Import Youbike Station from Taoyuan Open Data Portal

Posted by Supaplex on 25 June 2017 in English (English)

Using data item from Taoyuan Open Data Portal, and merging the existing Youbike station on OpenStreetMap database, I use JOSM check and merge the data, then upload in bulk to OpenStreetMap.

Taipei City, New Taipei City, Taoyuan City, Taichung City, Tainan City and Kaohsiung City they all put the public bicycle site list on the open data portal. But unfortunately that Hsinchu City data license is vague. The datsset on National Develop Council use the Taiwan Government Open Data License. But on the link to Hsinchu City Open Data portal, the dataset page says it has they on custom license, which doesn't fit to OpenStreetMap license. There are mappers in Hsinchu had add some Youbike site in Hsinchu area.

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“amenity=bicycle_rental in "新竹市"”
*/
[out:json][timeout:25];
// fetch area “新竹市” to search in
{{geocodeArea:新竹市}}->.searchArea;
// gather results
(
  // query part for: “amenity=bicycle_rental”
  node["amenity"="bicycle_rental"]["operator"="新竹市政府"](area.searchArea);
  way["amenity"="bicycle_rental"]["operator"="新竹市政府"](area.searchArea);
  relation["amenity"="bicycle_rental"]["operator"="新竹市政府"](area.searchArea);
);
// print results
out body;
>;
out skel qt;
{{style:
    node,way,relation {
        text:name;
}
}}

OverPass Query Link

Location: 文明里, Taoyuan, Taoyuan District, Taoyuan, 330, ROC

匯入桃園市的Youbike站點

Posted by Supaplex on 25 June 2017 in Chinese (Taiwan) (‪中文(台灣)‬)

依據桃園市Open Data平台的Youbike站點資料集,與先前已經在OpenStreetMap上面的Youbike站點在JOSM整合後,再整批上傳上去OpenStreetMap上面。

現在臺北市、新北市、桃園市、臺中市、臺南市、高雄市都有把它們的公共自行車站點資料集放到Open Data平台。而比較麻煩的是新竹,在國發會的Open Data平台標示依政府開放資料授權條款釋出,但連結指向新竹市Open Data平台,新竹市用客製化的授權條款,看來不是那麼合OpenStreetMap的授權條款。現在新竹的站點已經陸陸續續標示上去了。

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“amenity=bicycle_rental in "新竹市"”
*/
[out:json][timeout:25];
// fetch area “新竹市” to search in
{{geocodeArea:新竹市}}->.searchArea;
// gather results
(
  // query part for: “amenity=bicycle_rental”
  node["amenity"="bicycle_rental"]["operator"="新竹市政府"](area.searchArea);
  way["amenity"="bicycle_rental"]["operator"="新竹市政府"](area.searchArea);
  relation["amenity"="bicycle_rental"]["operator"="新竹市政府"](area.searchArea);
);
// print results
out body;
>;
out skel qt;
{{style:
    node,way,relation {
        text:name;
}
}}

OverPass檢索連結

Location: 24.989, 121.310

Pearl River Delta Staion Under Constructure Fix Part II

Posted by Supaplex on 25 June 2017 in English (English)

WOW, I can't even think about I'll have to do a second fix for the Pearl Delta area. Here is the part II that filter out the station under construction, but labeled as in function.

OverPass Query

OverPass Query Language:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“railway=station and name~"建设中"”
*/
[out:xml]/*fixed by auto repair*/[timeout:225];
// gather results
(
  // query part for: “railway=station and name~/在建/”
  node["railway"="station"]["name"~"建设中"]({{bbox}});
  way["railway"="station"]["name"~"建设中"]({{bbox}});
  relation["railway"="station"]["name"~"建设中"]({{bbox}});
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/

Changeset

Location: Yachitang, Baiyun District, Guangzhou, Guangdong, PRC

廣東珠三角一帶的在建車站 Part II

Posted by Supaplex on 25 June 2017 in Chinese (Taiwan) (‪中文(台灣)‬)

想不到還可以有Part II

這次是name欄位中有「建设中」,因此用Overpass搜尋找到144個站標示為營運中車站,實際上是還在蓋。

OverPass檢索

OverPass檢索語言:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“railway=station and name~"建设中"”
*/
[out:xml]/*fixed by auto repair*/[timeout:225];
// gather results
(
  // query part for: “railway=station and name~/在建/”
  node["railway"="station"]["name"~"建设中"]({{bbox}});
  way["railway"="station"]["name"~"建设中"]({{bbox}});
  relation["railway"="station"]["name"~"建设中"]({{bbox}});
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/

變更集

Location: 鸭池塘, 白云区, 广州市, 广东省, 中国

Train Station in Gongdong Perl Delta Area

Posted by Supaplex on 22 June 2017 in English (English)

I can't stand anymore that the station still in construction labeled as a normal function station. So I do a little Overpass+Level0 tricks. These stations could be change to railway=station when the station construction is finished and operated.

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“railway=station and name~"在建"”
*/
[out:xml]/*fixed by auto repair*/[timeout:225];
// gather results
(
  // query part for: “railway=station and name~/在建/”
  node["railway"="station"]["name"~"在建"]({{bbox}});
  way["railway"="station"]["name"~"在建"]({{bbox}});
  relation["railway"="station"]["name"~"在建"]({{bbox}});
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/

I talked to a German mapper who is actively mapping in China, mentioned the life cycle concept. He was a render guy. He knows the concept but was not convinced by me.

Location: Shangjiao, Huangpu District, Guangzhou, Guangdong, PRC

廣東珠三角一帶的在建車站

Posted by Supaplex on 22 June 2017 in Chinese (Taiwan) (‪中文(台灣)‬)

有點受不了在施工的車站標示與營運中車站一樣,因此運用Overpass+Level0 動手修改,待完工後再改就可以了。

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“railway=station and name~"在建"”
*/
[out:xml]/*fixed by auto repair*/[timeout:225];
// gather results
(
  // query part for: “railway=station and name~/在建/”
  node["railway"="station"]["name"~"在建"]({{bbox}});
  way["railway"="station"]["name"~"在建"]({{bbox}});
  relation["railway"="station"]["name"~"在建"]({{bbox}});
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/

話說先前跟一位德國畫中國的mapper溝通,跟他提life cycle概念,但他重視render,所以理解我的說法,但沒被說服。

Location: 23.224, 113.431