w-dwdata-tweq 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/w-dwdata-tweq.umd.js +2 -2
- package/dist/w-dwdata-tweq.umd.js.map +1 -1
- package/docs/WDwdataTweq.mjs.html +21 -10
- package/docs/global.html +5 -4
- package/docs/index.html +1 -1
- package/g.funDownload.mjs +213 -0
- package/g.mjs +2 -0
- package/package.json +3 -3
- package/src/WDwdataTweq.mjs +20 -9
- package/src/cropPic.mjs +18 -2
- package/src/downloadFile.mjs +1 -0
- package/test/multi.test.mjs +234 -0
- package/test/{WDwdataTweq.test.mjs → once.test.mjs} +26 -30
- package/_taskCpActualSrc/fpHash.json +0 -1
|
@@ -68,7 +68,9 @@ import cropPic from './cropPic.mjs'
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* 基於檔案之下載台灣氣象署地震數據與任務建構器
|
|
72
|
+
*
|
|
73
|
+
* 執行階段最新數據放置於fdDwAttime,前次數據放置於fdDwCurrent,於結束前會將fdDwAttime複製蓋過fdDwCurrent
|
|
72
74
|
*
|
|
73
75
|
* @param {Integer} yearStart 輸入數據開始年整數
|
|
74
76
|
* @param {Integer} yearEnd 輸入數據結束年整數
|
|
@@ -103,6 +105,8 @@ import cropPic from './cropPic.mjs'
|
|
|
103
105
|
* console.log('change', msg)
|
|
104
106
|
* })
|
|
105
107
|
* // change { event: 'start', msg: 'running...' }
|
|
108
|
+
* // change { event: 'proc-callfun-afterStart', msg: 'start...' }
|
|
109
|
+
* // change { event: 'proc-callfun-afterStart', msg: 'done' }
|
|
106
110
|
* // change { event: 'proc-callfun-download', msg: 'start...' }
|
|
107
111
|
* // change { event: 'proc-callfun-download', num: 2, msg: 'done' }
|
|
108
112
|
* // change { event: 'proc-callfun-getCurrent', msg: 'start...' }
|
|
@@ -268,6 +272,19 @@ let WDwdataTweq = async(yearStart, yearEnd, opt = {}) => {
|
|
|
268
272
|
funRemove = funRemoveDef
|
|
269
273
|
}
|
|
270
274
|
|
|
275
|
+
//downloadAndCropPics
|
|
276
|
+
let downloadAndCropPics = async(fd, v) => {
|
|
277
|
+
|
|
278
|
+
await downloadPics(fd, v)
|
|
279
|
+
|
|
280
|
+
let fnIn = 'picEqReport.gif'
|
|
281
|
+
let fpIn = `${fd}/${fnIn}`
|
|
282
|
+
let fnOut = 'picEqIntensityList.gif'
|
|
283
|
+
let fpOut = `${fd}/${fnOut}`
|
|
284
|
+
await cropPic(fpIn, fpOut, 364, 199, 276, 204)
|
|
285
|
+
|
|
286
|
+
}
|
|
287
|
+
|
|
271
288
|
//funAddDef
|
|
272
289
|
let funAddDef = async(v) => {
|
|
273
290
|
|
|
@@ -277,13 +294,7 @@ let WDwdataTweq = async(yearStart, yearEnd, opt = {}) => {
|
|
|
277
294
|
}
|
|
278
295
|
fsCleanFolder(fd)
|
|
279
296
|
|
|
280
|
-
await
|
|
281
|
-
|
|
282
|
-
let fnIn = 'picEqReport.gif'
|
|
283
|
-
let fpIn = `${fd}/${fnIn}`
|
|
284
|
-
let fnOut = 'picEqIntensityList.gif'
|
|
285
|
-
let fpOut = `${fd}/${fnOut}`
|
|
286
|
-
await cropPic(fpIn, fpOut, 364, 199, 276, 204)
|
|
297
|
+
await downloadAndCropPics(fd, v)
|
|
287
298
|
|
|
288
299
|
}
|
|
289
300
|
if (!isfun(funAdd)) {
|
|
@@ -299,7 +310,7 @@ let WDwdataTweq = async(yearStart, yearEnd, opt = {}) => {
|
|
|
299
310
|
}
|
|
300
311
|
fsCleanFolder(fd)
|
|
301
312
|
|
|
302
|
-
await
|
|
313
|
+
await downloadAndCropPics(fd, v)
|
|
303
314
|
|
|
304
315
|
}
|
|
305
316
|
if (!isfun(funModify)) {
|
|
@@ -341,7 +352,7 @@ export default WDwdataTweq
|
|
|
341
352
|
<br class="clear">
|
|
342
353
|
|
|
343
354
|
<footer>
|
|
344
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on
|
|
355
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on Fri Sep 12 2025 12:04:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
345
356
|
</footer>
|
|
346
357
|
|
|
347
358
|
<script>prettyPrint();</script>
|
package/docs/global.html
CHANGED
|
@@ -140,13 +140,14 @@
|
|
|
140
140
|
<dl class="details">
|
|
141
141
|
|
|
142
142
|
<dt class="tag-description">Description:</dt>
|
|
143
|
-
<dd class="tag-description"><ul class="dummy"><li><p
|
|
143
|
+
<dd class="tag-description"><ul class="dummy"><li><p>基於檔案之下載台灣氣象署地震數據與任務建構器</p>
|
|
144
|
+
<p>執行階段最新數據放置於fdDwAttime,前次數據放置於fdDwCurrent,於結束前會將fdDwAttime複製蓋過fdDwCurrent</p></li></ul></dd>
|
|
144
145
|
|
|
145
146
|
|
|
146
147
|
|
|
147
148
|
<dt class="tag-source">Source:</dt>
|
|
148
149
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
149
|
-
<a href="WDwdataTweq.mjs.html">WDwdataTweq.mjs</a>, <a href="WDwdataTweq.mjs.html#
|
|
150
|
+
<a href="WDwdataTweq.mjs.html">WDwdataTweq.mjs</a>, <a href="WDwdataTweq.mjs.html#line76">line 76</a>
|
|
150
151
|
</li></ul></dd>
|
|
151
152
|
|
|
152
153
|
|
|
@@ -193,7 +194,7 @@
|
|
|
193
194
|
|
|
194
195
|
<h5 class="h5-examples">Example</h5>
|
|
195
196
|
|
|
196
|
-
<pre class="prettyprint"><code>import WDwdataTweq from './src/WDwdataTweq.mjs'
|
|
197
197
|
.catch((err) => {
|
|
198
198
|
console.log(err)
|
|
199
199
|
})
|
|
200
200
|
delete msg.type
|
|
201
201
|
console.log('change', msg)
|
|
202
|
+
<pre class="prettyprint"><code>import WDwdataTweq from './src/WDwdataTweq.mjs'
|
|
202
203
|
.catch((err) => {
|
|
203
204
|
console.log(err)
|
|
204
205
|
})
|
|
205
206
|
delete msg.type
|
|
206
207
|
console.log('change', msg)
|
|
207
208
|
|
|
208
209
|
|
|
209
210
|
|
|
@@ -950,7 +951,7 @@
|
|
|
950
951
|
<br class="clear">
|
|
951
952
|
|
|
952
953
|
<footer>
|
|
953
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on
|
|
954
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on Fri Sep 12 2025 12:04:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
954
955
|
</footer>
|
|
955
956
|
|
|
956
957
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<br class="clear">
|
|
72
72
|
|
|
73
73
|
<footer>
|
|
74
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on Fri Sep 12 2025 12:04:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
// import path from 'path'
|
|
2
|
+
import fs from 'fs'
|
|
3
|
+
import _ from 'lodash-es'
|
|
4
|
+
import w from 'wsemi'
|
|
5
|
+
import WDwdataTweq from './src/WDwdataTweq.mjs'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
let eqs1 = [
|
|
9
|
+
{
|
|
10
|
+
'id': '114115',
|
|
11
|
+
'tag': '2025082116374751115',
|
|
12
|
+
'number': '115',
|
|
13
|
+
'time': '2025-08-21T16:37:47+08:00',
|
|
14
|
+
'timeRec': '2025-08-21 16:37:47',
|
|
15
|
+
'timeTag': '20250821163747',
|
|
16
|
+
'ml': '5.1',
|
|
17
|
+
'urlWebEqInfor': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Details/2025082116374751115',
|
|
18
|
+
'urlWebEqReport': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Imgs/2025082116374751115',
|
|
19
|
+
'urlWebEqIntensity': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/ShakeMap/2025082116374751115',
|
|
20
|
+
'urlWebEqWave': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/WaveformAcc/2025082116374751115',
|
|
21
|
+
'urlPicEqReport': 'https://scweb.cwa.gov.tw/webdata/OLDEQ/202508/2025082116374751115.gif',
|
|
22
|
+
'urlPicEqIntensity': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115i.png',
|
|
23
|
+
'urlPicEqPga': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115a.png',
|
|
24
|
+
'urlPicEqPgv': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115v.png',
|
|
25
|
+
},
|
|
26
|
+
]
|
|
27
|
+
let eqs2 = [ //add 114116
|
|
28
|
+
{
|
|
29
|
+
'id': '114115',
|
|
30
|
+
'tag': '2025082116374751115',
|
|
31
|
+
'number': '115',
|
|
32
|
+
'time': '2025-08-21T16:37:47+08:00',
|
|
33
|
+
'timeRec': '2025-08-21 16:37:47',
|
|
34
|
+
'timeTag': '20250821163747',
|
|
35
|
+
'ml': '5.1',
|
|
36
|
+
'urlWebEqInfor': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Details/2025082116374751115',
|
|
37
|
+
'urlWebEqReport': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Imgs/2025082116374751115',
|
|
38
|
+
'urlWebEqIntensity': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/ShakeMap/2025082116374751115',
|
|
39
|
+
'urlWebEqWave': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/WaveformAcc/2025082116374751115',
|
|
40
|
+
'urlPicEqReport': 'https://scweb.cwa.gov.tw/webdata/OLDEQ/202508/2025082116374751115.gif',
|
|
41
|
+
'urlPicEqIntensity': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115i.png',
|
|
42
|
+
'urlPicEqPga': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115a.png',
|
|
43
|
+
'urlPicEqPgv': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115v.png',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
'id': '114116',
|
|
47
|
+
'tag': '2025082214061554116',
|
|
48
|
+
'number': '116',
|
|
49
|
+
'time': '2025-08-22T14:06:15+08:00',
|
|
50
|
+
'timeRec': '2025-08-22 14:06:15',
|
|
51
|
+
'timeTag': '20250822140615',
|
|
52
|
+
'ml': '5.4',
|
|
53
|
+
'urlWebEqInfor': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Details/2025082214061554116',
|
|
54
|
+
'urlWebEqReport': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Imgs/2025082214061554116',
|
|
55
|
+
'urlWebEqIntensity': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/ShakeMap/2025082214061554116',
|
|
56
|
+
'urlWebEqWave': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/WaveformAcc/2025082214061554116',
|
|
57
|
+
'urlPicEqReport': 'https://scweb.cwa.gov.tw/webdata/OLDEQ/202508/2025082214061554116.gif',
|
|
58
|
+
'urlPicEqIntensity': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025116i.png',
|
|
59
|
+
'urlPicEqPga': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025116a.png',
|
|
60
|
+
'urlPicEqPgv': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025116v.png',
|
|
61
|
+
},
|
|
62
|
+
]
|
|
63
|
+
let eqs3 = [ //modify 114116
|
|
64
|
+
{
|
|
65
|
+
'id': '114115',
|
|
66
|
+
'tag': '2025082116374751115',
|
|
67
|
+
'number': '115',
|
|
68
|
+
'time': '2025-08-21T16:37:47+08:00',
|
|
69
|
+
'timeRec': '2025-08-21 16:37:47',
|
|
70
|
+
'timeTag': '20250821163747',
|
|
71
|
+
'ml': '5.1',
|
|
72
|
+
'urlWebEqInfor': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Details/2025082116374751115',
|
|
73
|
+
'urlWebEqReport': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Imgs/2025082116374751115',
|
|
74
|
+
'urlWebEqIntensity': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/ShakeMap/2025082116374751115',
|
|
75
|
+
'urlWebEqWave': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/WaveformAcc/2025082116374751115',
|
|
76
|
+
'urlPicEqReport': 'https://scweb.cwa.gov.tw/webdata/OLDEQ/202508/2025082116374751115.gif',
|
|
77
|
+
'urlPicEqIntensity': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115i.png',
|
|
78
|
+
'urlPicEqPga': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115a.png',
|
|
79
|
+
'urlPicEqPgv': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025115v.png',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
'id': '114116',
|
|
83
|
+
'tag': '2025082214061554116',
|
|
84
|
+
'number': '116',
|
|
85
|
+
'time': '2025-08-22T14:06:15+08:00',
|
|
86
|
+
'timeRec': '2025-08-22 14:06:15',
|
|
87
|
+
'timeTag': '20250822140615',
|
|
88
|
+
'ml': '5.6',
|
|
89
|
+
'urlWebEqInfor': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Details/2025082214061554116',
|
|
90
|
+
'urlWebEqReport': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/Imgs/2025082214061554116',
|
|
91
|
+
'urlWebEqIntensity': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/ShakeMap/2025082214061554116',
|
|
92
|
+
'urlWebEqWave': 'https://scweb.cwa.gov.tw/zh-TW/earthquake/WaveformAcc/2025082214061554116',
|
|
93
|
+
'urlPicEqReport': 'https://scweb.cwa.gov.tw/webdata/OLDEQ/202508/2025082214061554116.gif',
|
|
94
|
+
'urlPicEqIntensity': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025116i.png',
|
|
95
|
+
'urlPicEqPga': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025116a.png',
|
|
96
|
+
'urlPicEqPgv': 'https://scweb.cwa.gov.tw/webdata/drawTrace/plotContour/2025/2025116v.png',
|
|
97
|
+
},
|
|
98
|
+
]
|
|
99
|
+
let kpEqs = {
|
|
100
|
+
1: eqs1,
|
|
101
|
+
2: eqs2,
|
|
102
|
+
3: eqs3,
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
//fdDwAttime
|
|
106
|
+
let fdDwAttime = `./_dwAttime`
|
|
107
|
+
w.fsCleanFolder(fdDwAttime)
|
|
108
|
+
|
|
109
|
+
//fdDwCurrent
|
|
110
|
+
let fdDwCurrent = `./_dwCurrent`
|
|
111
|
+
w.fsCleanFolder(fdDwCurrent)
|
|
112
|
+
|
|
113
|
+
//fdResult
|
|
114
|
+
let fdResult = `./_result`
|
|
115
|
+
w.fsCleanFolder(fdResult)
|
|
116
|
+
|
|
117
|
+
let i = 0
|
|
118
|
+
let run = async() => {
|
|
119
|
+
i++
|
|
120
|
+
|
|
121
|
+
let pm = w.genPm()
|
|
122
|
+
|
|
123
|
+
//funDownload
|
|
124
|
+
let funDownload = async() => {
|
|
125
|
+
w.fsCleanFolder(fdDwAttime)
|
|
126
|
+
let eqs = kpEqs[i]
|
|
127
|
+
_.each(eqs, (v) => {
|
|
128
|
+
let fp = `${fdDwAttime}/${v.id}.json`
|
|
129
|
+
fs.writeFileSync(fp, JSON.stringify(v), 'utf8')
|
|
130
|
+
})
|
|
131
|
+
return eqs
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
let yearStart = 2022
|
|
135
|
+
let yearEnd = 2022
|
|
136
|
+
let opt = {
|
|
137
|
+
fdDwAttime,
|
|
138
|
+
fdDwCurrent,
|
|
139
|
+
fdResult,
|
|
140
|
+
funDownload,
|
|
141
|
+
// funGetCurrent,
|
|
142
|
+
// funRemove,
|
|
143
|
+
// funAdd,
|
|
144
|
+
// funModify,
|
|
145
|
+
}
|
|
146
|
+
let ev = await WDwdataTweq(yearStart, yearEnd, opt)
|
|
147
|
+
.catch((err) => {
|
|
148
|
+
console.log(err)
|
|
149
|
+
})
|
|
150
|
+
ev.on('change', (msg) => {
|
|
151
|
+
delete msg.type
|
|
152
|
+
delete msg.timeRunStart
|
|
153
|
+
delete msg.timeRunEnd
|
|
154
|
+
delete msg.timeRunSpent
|
|
155
|
+
if (w.arrHas(msg.event, [
|
|
156
|
+
'start',
|
|
157
|
+
'proc-callfun-download',
|
|
158
|
+
'proc-callfun-getCurrent',
|
|
159
|
+
'proc-callfun-afterStart',
|
|
160
|
+
'proc-callfun-beforeEnd',
|
|
161
|
+
])) {
|
|
162
|
+
return
|
|
163
|
+
}
|
|
164
|
+
console.log('change', msg)
|
|
165
|
+
})
|
|
166
|
+
ev.on('end', () => {
|
|
167
|
+
pm.resolve()
|
|
168
|
+
})
|
|
169
|
+
|
|
170
|
+
return pm
|
|
171
|
+
}
|
|
172
|
+
await w.pmSeries(kpEqs, async() => {
|
|
173
|
+
await run()
|
|
174
|
+
})
|
|
175
|
+
// change { event: 'compare', msg: 'start...' }
|
|
176
|
+
// change {
|
|
177
|
+
// event: 'compare',
|
|
178
|
+
// numRemove: 0,
|
|
179
|
+
// numAdd: 1,
|
|
180
|
+
// numModify: 0,
|
|
181
|
+
// numSame: 0,
|
|
182
|
+
// msg: 'done'
|
|
183
|
+
// }
|
|
184
|
+
// change { event: 'proc-add-callfun-add', id: '114115', msg: 'start...' }
|
|
185
|
+
// change { event: 'proc-add-callfun-add', id: '114115', msg: 'done' }
|
|
186
|
+
// change { event: 'end', msg: 'done' }
|
|
187
|
+
// change { event: 'compare', msg: 'start...' }
|
|
188
|
+
// change {
|
|
189
|
+
// event: 'compare',
|
|
190
|
+
// numRemove: 0,
|
|
191
|
+
// numAdd: 1,
|
|
192
|
+
// numModify: 0,
|
|
193
|
+
// numSame: 1,
|
|
194
|
+
// msg: 'done'
|
|
195
|
+
// }
|
|
196
|
+
// change { event: 'proc-add-callfun-add', id: '114116', msg: 'start...' }
|
|
197
|
+
// change { event: 'proc-add-callfun-add', id: '114116', msg: 'done' }
|
|
198
|
+
// change { event: 'end', msg: 'done' }
|
|
199
|
+
// change { event: 'compare', msg: 'start...' }
|
|
200
|
+
// change {
|
|
201
|
+
// event: 'compare',
|
|
202
|
+
// numRemove: 0,
|
|
203
|
+
// numAdd: 0,
|
|
204
|
+
// numModify: 1,
|
|
205
|
+
// numSame: 1,
|
|
206
|
+
// msg: 'done'
|
|
207
|
+
// }
|
|
208
|
+
// change { event: 'proc-diff-callfun-modify', id: '114116', msg: 'start...' }
|
|
209
|
+
// change { event: 'proc-diff-callfun-modify', id: '114116', msg: 'done' }
|
|
210
|
+
// change { event: 'end', msg: 'done' }
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
//node g.funDownload.mjs
|
package/g.mjs
CHANGED
|
@@ -38,6 +38,8 @@ ev.on('change', (msg) => {
|
|
|
38
38
|
console.log('change', msg)
|
|
39
39
|
})
|
|
40
40
|
// change { event: 'start', msg: 'running...' }
|
|
41
|
+
// change { event: 'proc-callfun-afterStart', msg: 'start...' }
|
|
42
|
+
// change { event: 'proc-callfun-afterStart', msg: 'done' }
|
|
41
43
|
// change { event: 'proc-callfun-download', msg: 'start...' }
|
|
42
44
|
// change { event: 'proc-callfun-download', num: 2, msg: 'done' }
|
|
43
45
|
// change { event: 'proc-callfun-getCurrent', msg: 'start...' }
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "w-dwdata-tweq",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"main": "dist/w-dwdata-tweq.umd.js",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"axios": "^1.
|
|
6
|
+
"axios": "^1.12.0",
|
|
7
7
|
"lodash-es": "^4.17.21",
|
|
8
8
|
"sharp": "^0.34.3",
|
|
9
|
-
"w-dwdata-builder": "^1.0.
|
|
9
|
+
"w-dwdata-builder": "^1.0.25",
|
|
10
10
|
"wsemi": "^1.8.20"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
package/src/WDwdataTweq.mjs
CHANGED
|
@@ -21,7 +21,9 @@ import cropPic from './cropPic.mjs'
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* 基於檔案之下載台灣氣象署地震數據與任務建構器
|
|
25
|
+
*
|
|
26
|
+
* 執行階段最新數據放置於fdDwAttime,前次數據放置於fdDwCurrent,於結束前會將fdDwAttime複製蓋過fdDwCurrent
|
|
25
27
|
*
|
|
26
28
|
* @param {Integer} yearStart 輸入數據開始年整數
|
|
27
29
|
* @param {Integer} yearEnd 輸入數據結束年整數
|
|
@@ -56,6 +58,8 @@ import cropPic from './cropPic.mjs'
|
|
|
56
58
|
* console.log('change', msg)
|
|
57
59
|
* })
|
|
58
60
|
* // change { event: 'start', msg: 'running...' }
|
|
61
|
+
* // change { event: 'proc-callfun-afterStart', msg: 'start...' }
|
|
62
|
+
* // change { event: 'proc-callfun-afterStart', msg: 'done' }
|
|
59
63
|
* // change { event: 'proc-callfun-download', msg: 'start...' }
|
|
60
64
|
* // change { event: 'proc-callfun-download', num: 2, msg: 'done' }
|
|
61
65
|
* // change { event: 'proc-callfun-getCurrent', msg: 'start...' }
|
|
@@ -221,6 +225,19 @@ let WDwdataTweq = async(yearStart, yearEnd, opt = {}) => {
|
|
|
221
225
|
funRemove = funRemoveDef
|
|
222
226
|
}
|
|
223
227
|
|
|
228
|
+
//downloadAndCropPics
|
|
229
|
+
let downloadAndCropPics = async(fd, v) => {
|
|
230
|
+
|
|
231
|
+
await downloadPics(fd, v)
|
|
232
|
+
|
|
233
|
+
let fnIn = 'picEqReport.gif'
|
|
234
|
+
let fpIn = `${fd}/${fnIn}`
|
|
235
|
+
let fnOut = 'picEqIntensityList.gif'
|
|
236
|
+
let fpOut = `${fd}/${fnOut}`
|
|
237
|
+
await cropPic(fpIn, fpOut, 364, 199, 276, 204)
|
|
238
|
+
|
|
239
|
+
}
|
|
240
|
+
|
|
224
241
|
//funAddDef
|
|
225
242
|
let funAddDef = async(v) => {
|
|
226
243
|
|
|
@@ -230,13 +247,7 @@ let WDwdataTweq = async(yearStart, yearEnd, opt = {}) => {
|
|
|
230
247
|
}
|
|
231
248
|
fsCleanFolder(fd)
|
|
232
249
|
|
|
233
|
-
await
|
|
234
|
-
|
|
235
|
-
let fnIn = 'picEqReport.gif'
|
|
236
|
-
let fpIn = `${fd}/${fnIn}`
|
|
237
|
-
let fnOut = 'picEqIntensityList.gif'
|
|
238
|
-
let fpOut = `${fd}/${fnOut}`
|
|
239
|
-
await cropPic(fpIn, fpOut, 364, 199, 276, 204)
|
|
250
|
+
await downloadAndCropPics(fd, v)
|
|
240
251
|
|
|
241
252
|
}
|
|
242
253
|
if (!isfun(funAdd)) {
|
|
@@ -252,7 +263,7 @@ let WDwdataTweq = async(yearStart, yearEnd, opt = {}) => {
|
|
|
252
263
|
}
|
|
253
264
|
fsCleanFolder(fd)
|
|
254
265
|
|
|
255
|
-
await
|
|
266
|
+
await downloadAndCropPics(fd, v)
|
|
256
267
|
|
|
257
268
|
}
|
|
258
269
|
if (!isfun(funModify)) {
|
package/src/cropPic.mjs
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
|
+
import fs from 'fs'
|
|
1
2
|
import sharp from 'sharp'
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
let cropPic = async (fpIn, fpOut, left, top, width, height) => {
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
//注意sharp須改使用buff處理, 否則會鎖死檔案
|
|
8
|
+
// await sharp(fpIn, {
|
|
9
|
+
// animated: false, //設定非動畫
|
|
10
|
+
// })
|
|
11
|
+
// .extract({ left, top, width, height })
|
|
12
|
+
// .toFile(fpOut)
|
|
13
|
+
|
|
14
|
+
//buffIn
|
|
15
|
+
let buffIn = fs.readFileSync(fpIn)
|
|
16
|
+
|
|
17
|
+
//輸入buffIn, 輸出buffOut
|
|
18
|
+
let buffOut = await sharp(buffIn, {
|
|
7
19
|
animated: false, //設定非動畫
|
|
8
20
|
})
|
|
9
21
|
.extract({ left, top, width, height })
|
|
10
|
-
.toFile(fpOut)
|
|
22
|
+
// .toFile(fpOut)
|
|
23
|
+
.toBuffer()
|
|
24
|
+
|
|
25
|
+
//writeFileSync
|
|
26
|
+
fs.writeFileSync(fpOut, buffOut)
|
|
11
27
|
|
|
12
28
|
}
|
|
13
29
|
|