disfactory

Month: 2021-02

2021-02-01

Yeefun Lin 12:18:33
@cstsai @aelcenganda 想確認一個功能:現在使用者進來頁面,預設是給全台灣的數據,那如果使用者是從台南市善化區的分享網址進來,看到的是台南市善化區的數據,還是全台灣的?
Tin 12:41:23
我覺得看到的是全台灣的比較好
ael 14:04:32
我覺得從台南善化的分享連結進來的要是台南善化的數據,因為連結應該是台南善化的,他說不定只是想看細節,以及使用者若來自不同地區,可以比較也可以知道他可以選地區
👌 1
Yeefun Lin 15:31:11
@cstsai 覺得如何?
我覺得全台灣較好,這樣搜尋後才有個數字比較基準點
Yeefun Lin 2021-02-03 12:33:54
哇你跟 @aelcenganda 意見不同,要不要今天確認要用哪一個方案?
@szyeefun 我們今天晚上全數確認給你,每個數字還是給你一張明確列表指向 data 來源。這個進來預設這題,也會處理。還有其他需要確認的事項嗎?
Yeefun Lin 2021-02-03 14:31:04
如果可以的話,看要不要先回應這個,因為這攸關於 swind 開的新 API 規格合不合用

https://g0v-tw.slack.com/archives/CNA60GZJM/p1612326789130400?thread_ts=1612179378.120000&cid=CNA60GZJM
我覺的不管是 document 跟 report_record 哪個都可以,因為我 API 全都一起給了? XDDDD
今晚確認!
今天我跟 @cstsai 確認連回來的頁面是顯示已選擇地區的頁面
Oriyar 17:24:21
這週三沒有小聚呦,但是有尾牙!
還沒報名的趕快填表單,目前還有一些位子~
不用害羞,真的,只要你來,我一定會幫你暖場~

https://bit.ly/3aiIhQm

Google Docs

Disfactory尾牙

讓我們用庶民版的滿漢全席告別2020! 2021/2/3(三)18:30 寧・夏・夜・市・千・歲・宴

yeahhh 天蠍的聚會
3 1
Yeefun Lin 19:36:18
@aelcenganda @cstsai
想確認一件事,中間的圖案,所謂的 "document 數量"要怎麼從 api 取得?我本來以為是 `https://api.disfactory.tw/api/statistics/report_records`,但後來看看好像不是,因為這樣似乎就跟右邊得到的數字一樣,所以我猜應該是 `https://api.disfactory.tw/api/statistics/report_records?display_status=已檢舉`?

API 文件:https://github.com/Disfactory/Disfactory/pull/488
Screen Shot 2021-02-01 at 19.33.05.png
我想用已檢舉應該會有問題,因為例如已經拆除的應該也要算在 `已遭檢舉` 的項目裡面
我我我 ... 我想想怎麼弄好了 ....
給我一點時間想怎麼弄 API 給你
@swind 本來這邊的意思是用已經產生了幾封公文來做判定,就是算 document table 裡有幾個 item。document 數量是這個意思
對,所以現有的 API 並沒有辦法讓他只取得 document 的數量。我要做新的給他 ..........
@szyeefun 我想想既然都確定一定要這三個數字了 (factories, documents 與 report_record) 我讓他是一個 API 好了 ..... 這樣也不用麻煩你 query 三次。

這樣改你會很麻煩嗎?
Yeefun Lin 2021-02-02 19:22:23
可以~
Yeefun Lin 2021-02-02 20:34:48
另外想說一件事,在某個圖表處,我需要知道目前 document 為 0 的縣市,這個能從現在的 API 知道嗎?
目前沒辦法,因為目前沒有回報 document 的 API
所以你會要知道 document 為零的縣市嗎?
只要縣市就可以了?
還是需要到鄉鎮呢?
Yeefun Lin 2021-02-02 20:40:08
嗯嗯是的,只要縣市就可以
然後上面 API 的部份 2 其實也可以靠 `/api/statistics/factories?townname=XXX` 完成
抱歉這個是沒有設計好的地方,我只有寫在 issue 上。
就是 `townname` 的內容除了接受 `臺南市善化區` 也接受 `臺南市`
Yeefun Lin 2021-02-02 20:42:31
哦哦這我知道,但因為這要打 23 次,所以我就選只要打一次的
了解那我懂意思了 XDD 我再想想新給你的 API 要怎麼弄好
目前做出來的格式大概會像是這樣
`/api/statistics/factories?city=臺南市`
```{
'臺南市': {
"factories": 10,
"documents": 10,
"report_records": 10,
"towns": {
"善化區": {
"factories": 10,
"documents": 10,
"report_records": 10,
},
"永康區": {
....
},
...
}
}
}```
`/api/statistics/factories?city=臺南市中西區`
```{
"臺南市": {
"factories": 5732,
"documents": 100,
"report_records": 0,
"towns": {
"中西區": {
"factories": 0,
"documents": 0,
"report_records": 0
}
}
}
}```
`/api/statistics/factories`
```{
"臺北市": {...},
"新北市": {...}
} ```
每一個區域的 query 在我的機器上面約是 200ms 所以如果 query 一個縣市大約都會需要 1s 左右
全台灣的話約 9s
@szyeefun 你看這樣有沒有合用
@szyeefun 抱歉漏回,我的理解是從 document,這裡指的是正式送出檢舉公文的數量。 @cstsai 我跟你 double check
Yeefun Lin 2021-02-03 15:35:56
ok,那 @swind 新給的 api 可以,但 town 的 report_records 欄位就不需要了

另外看能不能出一個全臺灣的,欄位需有 factories、documents、report_records
可以,我剛剛有想到所以改一下格式,我全都做一起拉!!!你看看這樣會不會讓你覺的 API 很難用
Orz 想想這樣好麻煩喔,讓我想一下下
我等一下要把這幾串討論整理到 GitHuB,不然好亂
@szyeefun 最終版本的 API 了應該都可以滿足,包含你之前說想要查詢 document 為 0 的縣市
`/api/statistics/factories`
參數有
`townname`
`source`
`display_status`
`level`
前三個是之前就有的就不多解釋,最主要就是多了一個 level
level 可以接受的值是 `city` 與 `town`

e.g.
`/api/statistics/factories`
回傳全台灣的資料,但是不會有縣市與鄉鎮市區的資料
```{
"factories": 53914,
"documents": 200,
"report_records": 0
}```
`/api/statistics/factories?level=city`
回傳全台灣與縣市資料
```{
"factories": 53914,
"documents": 200,
"report_records": 0,
"cities": {
"基隆市": {
"factories": 0,
"documents": 0,
"report_records": 0
},
"臺北市": {
"factories": 0,
"documents": 0,
"report_records": 0
},
...
}```
`/api/statistics/factories?level=town`
回傳全台灣, 縣市與鄉鎮市區的資料
```{
"factories": 53914,
"documents": 200,
"report_records": 0,
"cities": {
"基隆市": {
"factories": 0,
"documents": 0,
"report_records": 0,
"towns": {
"仁愛區": {
"factories": 0,
"documents": 0,
"report_records": 0
},
....
} ```
Yeefun Lin 2021-02-03 16:16:40
如果要取得台南市善化區的 factories、documents 數量,可以這樣打嗎?
`/api/statistics/factories?townname=台南市善化區`
如果跟之前的 townname 結合的話
`/api/statistics/factories?townname=臺南市&level=town`
```{
"factories": 53914,
"documents": 200,
"report_records": 0,
"cities": {
"臺南市": {
"factories": 5732,
"documents": 100,
"report_records": 0,
"towns": {
"中西區": {
"factories": 0,
"documents": 0,
"report_records": 0
},
....```
`/api/statistics/factories?townname=臺南市善化區`
```{
"factories": 53914,
"documents": 200,
"report_records": 0,
"cities": {
"臺南市": {
"factories": 5732,
"documents": 100,
"report_records": 0,
"towns": {
"善化區": {
"factories": 238,
"documents": 0,
"report_records": 0
}
}
}
}
}```
`/api/statistics/factories?townname=臺南市`
```{
"factories": 53914,
"documents": 200,
"report_records": 0,
"cities": {
"臺南市": {
"factories": 5732,
"documents": 100,
"report_records": 0
}
}
}```
這種感覺 ?
如果可以的話我程式改的差不多了,不過我需要一點時間改 testcase ..... 整個 testcase 要重寫了 QQ
Yeefun Lin 2021-02-03 16:28:40
看起來可行

不過應該不用每次都回傳全臺灣的?可以打 `/api/statistics/factories` 再回傳全臺灣就好?

不過看你設計方便,我前端這邊沒什麼差
嗯嗯全傳好了 XD 我覺的 API 格式還是一致比較方便,全台灣的 query 很快。
@szyeefun@cph review,上線了再通知你!
@szyeefun 我剛剛和 @cstsai @wutingy 討論過,確認中間的數字是要用該區域 document table 的公文數量除以該區域總共的工廠數量。文字的部分「已遭檢舉」改為「已遭地公檢舉」。也跟 @swind 確認過 API 已開
Yeefun Lin 2021-02-03 21:05:32
應該不是該區域?是全台灣吧?
@szyeefun 對不起我一時搞混,那個三個數字都是全台灣,抱歉
Yeefun Lin 2021-02-03 21:08:08
確認一下,改成「已遭地公檢舉」,是只有這一處嗎?因為 og 圖跟搜尋工廠處都有這種句子
@cstsai 我覺得只需要改總數據標註地公檢舉,地區性的不需要,維持簡潔
對 只改這邊 我修改再google doc上了 其他也檢查過,維持簡潔

2021-02-02

2021-02-03

IU 12:52:01
@oriyaroriyar Cloudflare admin 的帳密在你那邊嗎?
@cstsai 快救援我,是在我這邊嗎?
那 Deeper 知道在密給我帳密
他今天在彰化做田野,晚上會到尾牙,我這邊找找(但我密碼苦手),所以最晚就晚上處理~
好 不急
jiahe 13:25:43
@jiahe.lin has joined the channel
ael 13:58:45
@szyeefun 我們今天晚上全數確認給你,每個數字還是給你一張明確列表指向 data 來源。這個進來預設這題,也會處理。還有其他需要確認的事項嗎?
ael 14:04:16
歡迎 @jiahe.lin ,他今天跟我提到一個想法,有沒有可能用衛星雲圖先篩出新建高危險區,然後集中鼓勵回報?
這個有趣,替天行道的部分....我們指引大家一盞明燈,即使篩不出來,但如果有明顯新增建變多的地方(例如從回報資料中,或其他管道),就幫它們highlight。

(結果變成既有廠商一直來檢舉新增建,完全實現了聯合次要敵人打擊主要敵人的傳說...)
我事後想想,想利用 satelite 首先還是必須先確定套圖是好做的。會先去問問做國土規劃的朋友,看有沒有比較適合的解決方案,年後有去參與小聚再跟大家交流。
感覺會有趣!但需要遙測辨識、運算的感覺
Oriyar 17:40:42
今晚沒有小聚唷!有尾牙,如果有人想參加(六點半開吃),現在私訊我還來的及~
我可能要七點才會到(跪)
deeper 18:21:15
我會遲到半小時🧎🧎‍♂️🧎因為從彰化回來,錯過了一班車🥲
IU 18:21:38
我應該 7 點才會到 QQ
cph 18:22:00
我會晚十分鐘到
tobyliu 18:26:39
我也會晚20分鐘到😢
LittleWhiteYA 18:31:51
我也會晚點 要過去了
IU 19:10:57
呃問個 哪個地方上去啊?
鬍鬚張左邊左邊
jsaon92 22:19:37
有人要譜的話也可以
deeper 23:00:00
剛剛忘了跟大家說,今天是我到職地公一週年,也代表我認識大家一年了XD
這一年真的是各種驚奇,發了許多issue,許了許多願,大部分都透過各位做到了,只有我自己說要去接觸GA、學學python還在一拖再拖。接下來的半年還請大家多多指教和鞭策,才不會浪費了大家的努力🤝再次感謝大家用鍵盤跟我們一起動身護土!
這麼有紀念意義!
我覺得現在開記者會越來越有架勢了啊 XD
尾牙致詞為什麼不講這個 XD
因為我回家才想到XDDDD
👨‍👩‍👧‍👦 5

2021-02-04

Yeefun Lin 10:53:54
抱歉,沒有要催的意思,但因為這個 API 滿關鍵的,影響到頁面很多地方的實作,加上網站下禮拜一就要出來了,因此希望能在今天結束前完成 review,感謝🙏

我發 pull request 了 <https://github.com/Disfactory/Disfactory/pull/491>

@cph 可以麻煩你幫忙嗎
因為這次比較趕一點,所以我先跳過 merge把 staging.disfactory.tw 設定好了
@szyeefun
https://staging.disfactory.tw/api/statistics/factories

你可以先用 staging 測試看看嗎?
感謝你
Yeefun Lin 2021-02-04 13:16:42
好,感謝!
收到
ael 15:28:29
@wutingy 剛剛說也許 about page 是不是可以有不同視角的人的故事,例如違章工廠合法化的故事、在地青農之類的
目的是要讓檢舉回報變成一種正面的事,而不是打倒工廠就沒事了。也希望如果自己家或是鄰居親戚是違章工廠的話,有個出路
我昨天吃飯的時候打,現在才出現@@

2021-02-05

Yeefun Lin 10:31:16
@aelcenganda @cstsai
想確認兩件事:
1. 紅框內要的資料是 documents 還是 report_records?因為文字是「民眾參與回報」
Screen Shot 2021-02-04 at 23.57.23.png
1 我直接改了文字,所以依舊是document
2 這裡是「該縣市有 reportrecord 的 factory 數量」
不知道 @swind 的API有沒有開到這個@@
恐怕沒有,是我的疏失🧎 我把新增在issue #480 要再麻煩swind了!
Yeefun Lin 2021-02-05 17:40:10
應該有?
Yeefun Lin 2021-02-05 17:44:45
我想想我怎麼算的喔 ....
@szyeefun 說的沒錯 `/api/statistics/factories`
的確 這個會回傳 report_records
但是他回傳算法是

1. 先依照 display_status, source 與 townname 過濾出 factories
2. 找出這些 factories 的 report_record
所以如果不設定 display_status, source 然後 townname 設定為臺北市的話
回傳的就會是
1. 臺北市內所有 factories 的數量
2. 臺北市內所有 factories 的 documents 數量
3. 臺北市內所有 factories 的 report_record 數量
所以沒有辦法列出有 report_records 的工廠數量
@cstsai 有reportrecord的factory」數量 這個要用在那張圖上面,可以標一下給我看嗎?
分子分母都是factory的數量,比值才有意義。
「人次」除以「疑似工廠數」,雖然大略也不會差到太多,但就是失真。
若時間上來不及,可以先用reportrecord/factory數擋著,但希望未來會有正確的數字
(還是該不會真的直接是算不出來的QAQ
算的出來
只是我今天應該沒有空了 Orz 所以可以先用 report_record / factory 做嗎?
可以~
是我沒說清楚,don’t mind!
Yeefun Lin 10:31:43
2. 這裡的「累積回報數量」是指 report_records 還是 documents?
Screen Shot 2021-02-05 at 00.37.48.png
Yeefun Lin 13:08:26
@swind
你所回傳的縣市,都少了花蓮縣,台東縣也少了一些鄉鎮市區,我看了這份檔案,發現裡面少的東西應該跟這份一樣,缺漏之處可看這個 PR

---

不知道有沒有辦法在這個 api `/api/statistics/total` 的縣市中多加 documents 欄位?這樣在圖表區那,我就不必額外再打 `/api/statistics/factories?level=city` 取得各縣市的 documents 數量
swind 14:17:32
@szyeefun 感謝回報已經發 PR https://github.com/Disfactory/Disfactory/pull/492

#492 修正花蓮與台東有缺少鄉鎮的問題,並且在 /api/statistics/total 增加 documents 的欄位

1. 因為縣市列表的來源是從 <https://github.com/pixnet/TaiwanZipCodes/blob/master/tw_zipcode.json|https://github.com/pixnet/TaiwanZipCodes/blob/master/tw_zipcode.json> 來的, 並且他在花蓮與台東有缺少鄉鎮,因此產生出來的 zipcode.py 也有問題。 因此重新更新一次此檔案。 2. 在 `/api/statistics/total` 加入 `documents` 的欄位,所以現在回傳會類似 {'基隆市': {'factories': 0, 'report_records': 0, 'documents': 0, '未處理': 0, '處理中': 0, '已斷電': 0, '已拆除': 0}, ...```

https://staging.disfactory.tw/api/statistics/total

如果你要先測試一樣可以先用 staging 我還是先手動改了,怕明天 meeting 前來不急
🙌 1
Tin 15:50:43
拍謝… … 我明天下午臨時無法參加會議 🙇‍♂️ 可否改成晚上或是有要修改的小班 or 佳昇再跟我電話說明
我OK 你幾點方便?
晚 8:00? 或是 9:00?
九點好了