1 of 84

2 of 84

整理關於潛在違章工廠「範圍」與「經緯度」的取得方法

3 of 84

  • php crawl-tile.php
    • 國土測繪圖資服務雲 抓取 FARM07 (農業及農地資源盤查 => 農地資源盤查_工廠) nURBAN1 (土地圖層 => 非都市土地使用分區圖(II)) 的圖磚,抓取到 tiles/(FARM07|nURBAN)-$Z-$X-$Y.png ,其中 x, y, z 的範圍是 z=15, x=120度1分 ~ 121度59分15秒, y=21度53分50秒 ~ 25度18分20秒 (台灣本島範圍) 的所有圖磚,Z 的範圍會先從 zoom=15 抓取,如果抓到是空白就不會再抓 zoom=16
  • php check.php > result
    • 透過 gd lib 將 crawl-tile.php 抓的圖磚一一檢查是否 FARM07 顏色是紅色(農地資源盤查是工廠的)以及 nURBAN 是橘色(一般農業區)
    • 重合的範圍的點位以「54630,28445,[[29,195],[29,196],[29,197],[29,198],[29,199],[29,200],[29,201],[29,202],[30,195],[30,196],[30,197],[30,198],[30,199],[30,200],[30,201],[30,202]]」的格式輸出(tile_x, tile_y, points_json)
  • php check-merge.php
    • 將 result 裡面各別 tile 的結果,如果有範圍是跟臨近 tile 連接的話,就把他合併,並輸出到 parent.json
    • 這隻因為速度有點慢加上耗記憶體大,因此並未被使用
  • php list.php > points.csv
    • 將 result 裡面的 tile_x, tile_y 跟圖磚的點位,轉換回經緯度,取出每個多邊形的四個邊界
    • 輸出欄位有 x,y,rx,ry,xmin,ymin,xmax,ymax
    • x, y: 是在多邊形狀內的盡量中心點(假如是中空或是C字形的多邊形,中心點有可能並不是多邊形範圍內,因此這個 x, y 是用來想辦法找出一個一定是在圖形內並盡量靠中心的點
    • rx, ry: 是多邊形形狀的邊界中心,如果是中空或 C 字形這個點可能不在圖形內
    • xmin, ymin, xmax, ymax: 圖形的四個邊界
  • php crawl-info.php > full-info.csv
    • 透過 points.csv 的各經緯度位置查詢「行政區,國土利用調查,地政事務所,地政事務所代碼,段號,段名,地號,面積,使用分區 >使用地類別,公告現值年月,公告現值」等欄位

4 of 84

有觀察到「農業及農地資源盤查結果查詢圖台-疑似工廠圖層」與「disfactory 圖台-工廠點位」有一些出入,以彰濱工業區東側農業區為例

5 of 84

有觀察到「農業及農地資源盤查結果查詢圖台-疑似工廠圖層」與「disfactory 圖台-工廠點位」有一些出入,以彰濱工業區東側農業區為例

6 of 84

有觀察到「農業及農地資源盤查結果查詢圖台-疑似工廠圖層」與「disfactory 圖台-工廠點位」有一些出入,以彰濱工業區東側農業區為例

7 of 84

有觀察到「農業及農地資源盤查結果查詢圖台-疑似工廠圖層」與「disfactory 圖台-工廠點位」有一些出入,以彰濱工業區東側農業區為例

8 of 84

有觀察到「農業及農地資源盤查結果查詢圖台-疑似工廠圖層」與「disfactory 圖台-工廠點位」有一些出入,以彰濱工業區東側農業區為例

9 of 84

有觀察到「農業及農地資源盤查結果查詢圖台-疑似工廠圖層」與「disfactory 圖台-工廠點位」有一些出入,以彰濱工業區東側農業區為例

10 of 84

有觀察到「農業及農地資源盤查結果查詢圖台-疑似工廠圖層」與「disfactory 圖台-工廠點位」有一些出入,以彰濱工業區東側農業區為例

11 of 84

為何不是紅框框的質心?

12 of 84

https://maps.nlsc.gov.tw/T09/mapshow.action?In_type=web#

13 of 84

14 of 84

彰濱工業區東側農業區,農業及農地資源盤查結果查詢圖台 https://map.coa.gov.tw/farmland/survey.html

15 of 84

彰濱工業區東側農業區,農業及農地資源盤查結果查詢圖台 https://map.coa.gov.tw/farmland/survey.html

16 of 84

17 of 84

彰濱工業區東側農業區

18 of 84

彰濱工業區東側農業區

19 of 84

彰濱工業區東側農業區

20 of 84

遮罩方案

框線方案

21 of 84

22 of 84

23 of 84

24 of 84

簡單三步驟協助回報

農地違章工廠

簡單三步驟

協助辨識新增建工廠

示意農村參與者看這

示意鍵盤參與者看這

1 進入系統,比對五個地點的新舊空照圖

25 of 84

2 民眾補充實景照片

3 地球公民基金會批次檢舉

26 of 84

27 of 84

The red target view is the inner bounding box.

28 of 84

2017年

是農地還是建物?

(land_usage)

那 2020 年有建物嗎?

(expansion)

此建物 2020 年

有擴建嗎

(expansion)

農地

建物

2

1

可即報即拆

無新增建

可即報即拆

無新增建

不知道

不知道

不知道

0

2

1

0

2

1

0

29 of 84

Answer

User

Location

Factory�(disfactory.tw)

year_new (int)

n

n

expansion

(int)

gold_standard_status (0: is gold standard, 1: pass, 2: fail)

client_id

lat

inner_bounding_box �(中間那個紅框框)

source_url_root (string)

done_at: timestamp�(不用丟給前端再顯示)

1

n

n

1

timestamp

provides

has

created_at

town_name

city_name

factory_id�(snake case) 從 factory API 撈

lng

透明的要從 disfactrory > factory 拿,location table不用存

https://api.disfactory.tw/swagger/

left-top corner coordinate (lat, lng)

bottom-right corner coordinate (lat, lng)

zoom_level (int)

client_type

year_old (int)

land_usage�(int)

(Last modified on Dec. 15, 2021)

30 of 84

Step 1: get all the undecided locations

(`done_at` of Location is blank) and exclude the ones that the user(user_id) already answered

Logic for the location API (Last modified at Dec. 8)

Step 2: randomly pick 4 locations, and randomly pick one gold standard

Step 3: return to the front-end

undecided locations” means the locations that we are not sure about if it is a violation yet

31 of 84

Logic for `done_at` in Location table��(Last modified at Dec. 8)

  1. 弱版本:Two identical answers as majority(過半數) (YES/NO), not including 不知道
  2. 強版本:Two identical answers as majority (過半) from users passing gold-standard, not including 不知道

32 of 84

Step 1: front-end returns 5 answers to the back-end, and one of them is the gold standard

Step 2: back-end checks if the gold standard is answered correctly

If not, discard all the answers

If yes, record the 4 non-gold standard answers to the database

Logic for the answer API

不管如何,全收。�因為需要參與的次數資料,不是完全為了高資料品質

33 of 84

Step 1: front-end returns 5 answers to the back-end, and one of them is the gold standard

Step 2: back-end checks if the gold standard is answered correctly

If not, discard all the answers

If yes, record the 4 non-gold standard answers to the database

Logic for the answer API

34 of 84

Path:

  • /location/

Available methods:

  • GET

Required fields (front-end provides to the back-end):

  • user_token”( returned by the server (obtained from the /user/ API)
  • "size": number of the locations that the front-end needs
  • “gold_standard_size”: number of the gold standards that the front-end needs

Returned fields (back-end returns to the front-end):

  • “data”: [{"factory_id", “the ID of the factory”, “location_id”: ”the ID of the location”}, ...]

Path:

  • /answer/

Available methods:

  • POST

Required fields (front-end provides to the back-end):

  • header
    1. Authorization: Bearer “user_token
  • user_token
  • “data”: [{“source_url_loot”:(the source of satellite images ),“location_id”: XXX, “year_new”: XXX, “year_old”: XXX, “zoom_level”: XXX, “bbox_left_top_lat”: XXX, “bbox_left_top_lng”: XXX, “bbox_bottom_right_lat”: XXX, “bbox_bottom_right_lng”: XXX, “land_usage”: XXX, “expansion”: XXX}, ...]

Returned fields (back-end returns to the front-end):

  • “passed”: does the user pass the data quality check using gold standards

Path:

  • /status/

Available methods:

  • GET

Required fields (front-end provides to the back-end):

  • header
    • Authorization: Bearer “user_token”( returned by the server (obtained from the /user/ API) )

Returned fields (back-end returns to the front-end):

  • “individual_down_count”: how many answers has identified by user himself/herslef
  • “user_count”: total number of users (已經有多少人次參與辨識)
  • “answer_count”: total number of answers (includes gold_standard answers) (辨識多少次)
  • “location_is_done_count”: the number of locations that have been labeled(差幾間工廠)

Path:

  • /user/

Available methods:

  • POST

Required fields (front-end provides to the back-end):

  • “client_id”: the client ID obtained from Google Analytics, or a random string created by the front-end

Returned fields (back-end returns to the front-end):

  • "user_token": user token for the front-end client, issued by the back-end

35 of 84

畫面判斷筆記討論區

歡迎分享~

36 of 84

(1) After:左上的凸起物,是車子,還是房子?

(2) After:廠房變「肥」了!但原因應該是圖幅橫向拉伸,畫面中其他建物也都有變肥的感覺

chewei> 選擇「有擴建」,基於左上的凸起物

37 of 84

(1) After:北側紅色色塊似乎有更擴大或明顯化

chewei> 選擇「有擴建」,基於左上的凸起物

38 of 84

(1) Before:基地右側不太確定是否為農地或建物

(2) After:基地右側有明顯的建築

chewei> 選擇「有擴建」

基於基地右側的紋理有大幅改變,不曉得是否是建物裝修,或是 Before 照片是正在興建中的照片

39 of 84

(1) Before:基地左下方,不太確定農地或建物

(2) After:基地左下方,有明顯的建築

chewei> 選擇「有擴建」

40 of 84

(1) Before:基地右側不太確定是否為農地或建物

(2) After:基地右側有明顯的建築

chewei> 選擇「有擴建」

41 of 84

街景 2019.06

街景 2020.11

(1) Before:有建物

(2) After:沒建物!

chewei> 選擇「沒擴建」

真的假的!?

42 of 84

衛星圖 2021.02

衛星圖 2021.06

衛星圖 2022.03

43 of 84

24.629658850472016, 120.81112227086501

苗栗縣後龍鎮東明里

2015/07

2015/09

2022/01

2004/11

44 of 84

(1) Before:有建物

(2) After:不確定建物發生什麼改變

chewei> 選擇「有擴建」

22.62082109839639, 120.48152443596958

屏東縣屏東市龍華里

2019/12

可看到明確的光電板

2019/02

尚未

看到

光電板

45 of 84

畫面中央位置的工廠,並無擴建

不過,畫面左側的農地,有明顯擴建

不確定是算在這個經緯度建物身上

還是左側的建物有另外一筆資料

chewei> 選擇「有擴建」以免遺漏

46 of 84

After:看起來是整地?

chewei> 選擇「有擴建」以免遺漏

47 of 84

畫面中央位置看起來是林地

違章工廠,是否是指右側的工廠?

chewei> 選擇「沒擴建」

48 of 84

49 of 84

50 of 84

請問位置中是不是新增了建築物?

2017

2020

有新增

沒新增

不知道

請問位置中是不是新增了建築物?

有新增

沒新增

不知道

2017

2020

請問位置中是不是新增了建築物?

有新增

沒新增

不知道

2017

2020

51 of 84

請問位置中是不是新增了建築物?

有新增

沒新增

不知道

2017

2020

52 of 84

課題1:

  • 「基地框」或是「經緯度 (以經緯度為依據設計 icon)」
  • 已爬資料中,有辦法得到框嗎?

課題2:

  • 考量:SPOT 衛星解析度與影像畫質
  • 考量:擴建型態
    • 如果有 polygon
    • 如果沒有 polygon
  • 方案:兩期對照
    • Task 與問法

找實際擴建案例

並取 SPOT 衛星影像

來檢視看看

53 of 84

紅框內是「農地」或是「建築物」

農地

建築

不知道

Now

54 of 84

紅框內是「農地」或是「建築物」

農地

建築

不知道

Now

55 of 84

紅框內是「農地」或是「建築物」

農地

建築

不知道

56 of 84

找出屬於即報即拆的工廠:

有 5.3915 萬的工廠位置

每一個工廠取得 3 份回答,需要標 16.1745 萬次

工作量

edm

總共需要完成 161745 題

標記一組 (共五題,但有一題是驗證題,所以算是四題),假設需要 100 秒

十分鐘 (600 秒),可以完成六組,具體完成了 24 題

所以需要 6740 個人次的「十分鐘填答」

需要多少個

十分鐘

57 of 84

一個人一天假設最多投入兩小時,採用「標註 15 分鐘,休息 5 分鐘」的工作強度

採用單張圖研判的方式(三選一:農地、建物、不知道),一張圖 20 秒完成

= 標註時間 90 分鐘,預計標註 270 張

一個工作天(兩小時),潛力用戶假設 50 人,每個人標註 270 張,共標註 13500 張

號召 50 位,每個人每週找一天(兩小時)標 270 張,要兩個月

一個工作天(兩小時),潛力用戶假設 100 人,每個人標註 270 張,共標註 27000 張

號召 100 位,每個人每週找一天(兩小時)標 270 張,要一個月

一個工作天(兩小時),潛力用戶假設 150 人,每個人標註 270 張,共標註 40500 張

號召 150 位,每個人每週找一天(兩小時)標 270 張,要三週

一個工作天(兩小時),潛力用戶假設 200 人,每個人標註 270 張,共標註 54000 張

號召 200 位,每個人每週找一天(兩小時)標 270 張,要兩週

志工專注力

極限假設

轉化成

號召方案

58 of 84

59 of 84

60 of 84

61 of 84

62 of 84

63 of 84

64 of 84

65 of 84

2017

2020

您覺得照片中的

位置是「農地」或是「建築物」

農地

建築

不知道

您覺得照片中的

位置是「農地」或是「建築物」

農地

建築

不知道

無法找出擴建類型

66 of 84

67 of 84

68 of 84

201605

後興建

不適用

即報即拆

不確定

但很可疑

2016 上半年

5/16-5/19 找農

2016 下半年

5/20-12/31 找農

2020

建物

SPOT 2017

不知月份

找農

SPOT 2015

不知月份

找廠

201605

後興建

5/20

201605

後興建

不確定

但很可疑

BigGIS 圖臺 5/20-12/31

依照行政施工認定經驗

5/16- 5/19 BigGIS 能查到的圖資

無資料

地區

無資料

地區

無資料

地區

無資料

地區

沒有 2016 月份資料的地區

有 2016 月份資料的地區 (全島大約一半)

69 of 84

BigGIS 上面

2016-05-16 至

2016-12-31 區間

台灣本島幾乎有圖

這些影像種類

解析度足以提供

肉眼辨認農地或工廠

公部門:UAV正射影像

公部門:航照(正射)

國際:Pieiades衛星

國際:WorldView2衛星

國際:SPOT衛星

BigGIS之SPOT影像已更新至2021/3/31�(2021/7/1補充by 陳振宇)

70 of 84

71 of 84

72 of 84

73 of 84

網頁版

WMS 方案

以下是 zoom=17 的 SPOT2017 vs mapbox2020 嵌入網頁

https://sites.google.com/view/test-satellite-image/%E9%A6%96%E9%A0%81

74 of 84

75 of 84

201605

後興建

不適用

即報即拆

不確定

但很可疑

2016

上半年

2016

下半年

2020

2017

?

不知

拍攝月份

?

不知

拍攝月份

建物

2015

?

不知

拍攝月份

SPOT 衛星每年一幅

不確定

但很可疑

5/20

76 of 84

201605

後興建

不適用

即報即拆

不確定

但很可疑

2016

上半年

2016

下半年

2020

2017

?

不知

拍攝月份

?

不知

拍攝月份

建物

2015

?

不知

拍攝月份

SPOT 衛星每年一幅

不確定

但很可疑

5/20

77 of 84

201605

後興建

不適用

即報即拆

不確定

但很可疑

2016

上半年

2016

下半年

2020

2017

找農

?

不知

拍攝月

?

不知

拍攝月

建物

2015

找廠

?

不知

拍攝月

SPOT 衛星每年一幅

不確定

但很可疑

5/20

不確定

但很可疑

不確定

但很可疑

2015 年度的圖資,若是工廠,則可判斷不適用即報即拆

2016 年度的圖資,無法作為具體判准依據

2017 年度的圖資,若是農地,則可判斷屬於即報即拆

78 of 84

BigGIS 上面有提供

月份尺度的 SPOT

2016-01-01

2016-05-19

台灣本島有一半地區有圖

79 of 84

2016

0519

2020

80 of 84

假設可以調取「月份型」的資料,該如何構思要用哪一個月份、相應的研判規則是什麼?

找 2016/05/20 之前影像,例如四月份或五月份

只要是圖像顯示為農地的,就可以視為,屬於 5/20 後興建,應即報即拆

只要是圖像顯示為工廠的,就可以視為,不屬於即報即拆

81 of 84

1/5000像片基本圖106年

像片基本圖是利用五千分之一基本地形圖的向量資料檔及其正射影像,以正射影像為底圖,在上面套繪等高線、河流、道路等必要地物,再加註地名、土地使用狀況等資訊編纂而成,可供工程規劃或判斷地形起伏使用。有關五千分之一基本地形圖目前修測工作辦理情形,可至基本地形圖資料庫分組入口網站(https://bmap-nlsc.moi.gov.tw)「基本地形圖資料庫」-「基本地形圖」瀏覽參閱。

82 of 84

1/5000像片基本圖104年

像片基本圖是利用五千分之一基本地形圖的向量資料檔及其正射影像,以正射影像為底圖,在上面套繪等高線、河流、道路等必要地物,再加註地名、土地使用狀況等資訊編纂而成,可供工程規劃或判斷地形起伏使用。有關五千分之一基本地形圖目前修測工作辦理情形,可至基本地形圖資料庫分組入口網站(https://bmap-nlsc.moi.gov.tw)「基本地形圖資料庫」-「基本地形圖」瀏覽參閱。

83 of 84

您覺得紅色框內

是「農地」

或是「建築物」

您覺得照片中的

位置是「農地」或是「建築物」

農地

建築

不知道

農地

建築

不知道

與 2020 年相比

您覺得 2017 年是「農地」

或是「建築物」

與 2020 年相比

您覺得 2017 年是「農地」

或是「建築物」

農地

建築

不知道

農地

建築

不知道

2017

2020

2017

2020

2017

2017

84 of 84

與 2020 年相比

您覺得 2017 年是「農地」

或是「建築物」

紅框內是「農地」或是「建築物」

農地

建築

不知道

農地

建築

不知道

2017

2020

2017

2020

紅框內是「農地」或是「建築物」

農地

建築

不知道

Now

紅框內是「農地」或是「建築物」

農地

建築

不知道