質問編集履歴

3

追記

2016/08/30 07:53

投稿

fut
fut

スコア12

test CHANGED
File without changes
test CHANGED
@@ -591,3 +591,7 @@
591
591
  ###補足情報(言語/FW/ツール等のバージョンなど)
592
592
 
593
593
  自分で全部かいたわけではないのでプログラムを完全には理解できていません。
594
+
595
+ 追記
596
+
597
+ datesのところは画像の色をそれぞれ数字に変換しています。

2

修正

2016/08/30 07:53

投稿

fut
fut

スコア12

test CHANGED
File without changes
test CHANGED
@@ -32,91 +32,551 @@
32
32
 
33
33
  ```Python
34
34
 
35
- datas = datas.replace('#ffffff', '0')
36
-
37
- datas = datas.replace('#f2f2ff', '1')
38
-
39
- datas = datas.replace('#a0d2ff', '2')
40
-
41
- datas = datas.replace('#218cff', '3')
42
-
43
- datas = datas.replace('#041ff', '4')
44
-
45
- datas = datas.replace('#faf50', '5')
46
-
47
- datas = datas.replace('#ff990', '6')
48
-
49
- datas = datas.replace('#ff280', '7')
50
-
51
- datas = datas.replace('#b4068', '8')
52
-
53
-
54
-
55
- f.write(str(datas))
56
-
57
-
58
-
59
- f.close()
60
-
61
-
62
-
63
- d = np.loadtxt(path + "/data/" + directry + "/r" + yyyymmddhh3 + "_" + yyyymmddhh4 + ".csv", delimiter = ",")
64
-
65
- f1 = open(path + "/data/" + directry + "/r" + yyyymmddhh3 + "_" + yyyymmddhh4 + "_lbl.csv", "w") #labering
66
-
67
-
68
-
69
- x = len(d) # Tate 512まで
70
-
71
- y = len(d[0]) # yoko 512まで
72
-
73
-
74
-
75
- i = 0 #
76
-
77
- j = 0 #
78
-
79
- a = 0
80
-
81
- b = 0
82
-
83
- i1 = 0
84
-
85
- j1 = 0
86
-
87
- di1 = 0
88
-
89
-
90
-
91
- while i < x:
92
-
93
- while j < y:
94
-
95
- if d[i][j] >= 5:
96
-
97
- i1 = 140 - x
98
-
99
- j1 = 278 - y
100
-
101
- ij = i1 * i1 + j1 * j1
102
-
103
- if ij < 65: #25km
104
-
105
- a = a + ij
106
-
107
- b = b + 1
108
-
109
- di1 = a * 1.0 / b
110
-
111
- if di1 < 65:
112
-
113
- print("DANGER!!")
114
-
115
- else:
116
-
117
- print("SAFE")
118
-
119
- f1.close()
35
+ datas = datas.replace('#ffffff', '0')
36
+
37
+ datas = datas.replace('#f2f2ff', '1')
38
+
39
+ datas = datas.replace('#a0d2ff', '2')
40
+
41
+ datas = datas.replace('#218cff', '3')
42
+
43
+ datas = datas.replace('#041ff', '4')
44
+
45
+ datas = datas.replace('#faf50', '5')
46
+
47
+ datas = datas.replace('#ff990', '6')
48
+
49
+ datas = datas.replace('#ff280', '7')
50
+
51
+ datas = datas.replace('#b4068', '8')
52
+
53
+
54
+
55
+ f.write(str(datas))
56
+
57
+
58
+
59
+ f.close()
60
+
61
+
62
+
63
+ d = np.genfromtxt(path + "/data/" + directry + "/r" + yyyymmddhh3 + "_" + yyyymmddhh4 + ".csv", delimiter = "," )
64
+
65
+ f1 = open(path + "/data/" + directry + "/r" + yyyymmddhh3 + "_" + yyyymmddhh4 + "_lbl.csv", "w") #labering
66
+
67
+
68
+
69
+ x = 512#len(d) # Tate 512まで
70
+
71
+ y = 512#len(d[0]) # yoko 512まで
72
+
73
+ n1 = [[0 for j in range(512)] for i in range(512)] # labeling
74
+
75
+ n2 = [[0 for j in range(3)] for i in range(150)] #lookuptable
76
+
77
+ n3 = [[0 for j in range(350)] for i in range(150)] #distanceX 縦
78
+
79
+ n4 = [[0 for j in range(350)] for i in range(150)] #distanceY
80
+
81
+ n5 = [0 for j in range(150)] #GloupCount
82
+
83
+
84
+
85
+ i = 0 #縦
86
+
87
+ j = 0 #横
88
+
89
+ b1 = 0 #左
90
+
91
+ b2 = 150 #左上
92
+
93
+ b3 = 150 #上
94
+
95
+ b4 = 150 #右上
96
+
97
+ k1 = 0
98
+
99
+ k2 = 0
100
+
101
+ k3 = 0
102
+
103
+ k4 = 0
104
+
105
+ k5 = 0
106
+
107
+ k6 = 0
108
+
109
+ Min = 0
110
+
111
+ count = 0 #label number
112
+
113
+ r = 6 #雨量閾値
114
+
115
+
116
+
117
+ while k1 <= 149:
118
+
119
+ n2[k1][0] = k1 + 1
120
+
121
+ n2[k1][1] = k1 + 1
122
+
123
+ k1 = k1 + 1
124
+
125
+
126
+
127
+ while i < x:
128
+
129
+ while j < y:
130
+
131
+
132
+
133
+ if d[i][j] >= 6:
134
+
135
+ try:
136
+
137
+ if d[i][j-1] >= r: #left
138
+
139
+ b1 = d[i][j-1]
140
+
141
+ except:
142
+
143
+ if d[i][j-1] >= r + 1: #left
144
+
145
+ b1 = d[i][j-1]
146
+
147
+ try:
148
+
149
+ if d[i-1][j-1] >= r: #leftup
150
+
151
+ b2 = d[i-1][j-1]
152
+
153
+ except:
154
+
155
+ if d[i-1][j-1] >= r + 1: #leftup
156
+
157
+ b2 = d[i-1][j-1]
158
+
159
+ try:
160
+
161
+ if d[i-1][j] >= r: #up
162
+
163
+ b3 = d[i-1][j]
164
+
165
+ except:
166
+
167
+ if d[i-1][j] >= r + 1: #up
168
+
169
+ b3 = d[i-1][j]
170
+
171
+ try:
172
+
173
+ if d[i-1][j+1] >= r: #rightup
174
+
175
+ b4 = d[i-1][j+1]
176
+
177
+ except:
178
+
179
+ if d[i-1][j+1] >= r + 1: #rightup
180
+
181
+ b4 = d[i-1][j+1]
182
+
183
+
184
+
185
+ Min = b1
186
+
187
+
188
+
189
+ if Min > b2:
190
+
191
+ Min = b2
192
+
193
+
194
+
195
+ if Min > b3:
196
+
197
+ Min = b3
198
+
199
+
200
+
201
+ if Min > b4:
202
+
203
+ Min = b4
204
+
205
+
206
+
207
+ d[i][j] = Min
208
+
209
+
210
+
211
+ if b1 <= 149:
212
+
213
+ if b1 > Min:
214
+
215
+ k1 = 0
216
+
217
+ while k1 <= 149:
218
+
219
+ if n2[k1][0] == b1:
220
+
221
+ n2[k1][1] = Min
222
+
223
+ k1 = k1 + 1
224
+
225
+
226
+
227
+ if b2 <= 149:
228
+
229
+ if b2 > Min:
230
+
231
+ K1 = 0
232
+
233
+ while k1 <= 149:
234
+
235
+ if n2[k1][0] == b2:
236
+
237
+ n2[k1][1] = Min
238
+
239
+ k1 = k1 + 1
240
+
241
+
242
+
243
+ if b3 <= 149:
244
+
245
+ if b3 > Min:
246
+
247
+ K1 = 0
248
+
249
+ while k1 <= 149:
250
+
251
+ if n2[k1][0] == b3:
252
+
253
+ n2[k1][1] = Min
254
+
255
+ k1 = k1 + 1
256
+
257
+
258
+
259
+ if b4 <= 149:
260
+
261
+ if b4 > Min:
262
+
263
+ K1 = 0
264
+
265
+ while k1 <= 149:
266
+
267
+ if n2[k1][0] == b4:
268
+
269
+ n2[k1][1] = Min
270
+
271
+ k1 = k1 + 1
272
+
273
+
274
+
275
+ b1 = 150
276
+
277
+ b2 = 150
278
+
279
+ b3 = 150
280
+
281
+ b4 = 150
282
+
283
+ k1 = 0
284
+
285
+ k2 = 0
286
+
287
+ k3 = 0
288
+
289
+ k4 = 0
290
+
291
+ k5 = 0
292
+
293
+ k6 = 0
294
+
295
+ if d[i][j-1] < r and d[i-1][j-1] < r and d[i-1][j] < r and d[i-1][j+1] < r:
296
+
297
+ count = count + 1
298
+
299
+ d[i][j] = count
300
+
301
+
302
+
303
+ if d[i][j] < r:
304
+
305
+ d[i][j] = 0
306
+
307
+ j = j + 1
308
+
309
+
310
+
311
+ j = 0
312
+
313
+ i = i + 1
314
+
315
+
316
+
317
+ #-----lookuptable------
318
+
319
+
320
+
321
+ k2 = 149
322
+
323
+ while k2 >= 0:
324
+
325
+ k3 = k2
326
+
327
+ while k3 >= 0:
328
+
329
+ if n2[k3][0] == n2[k2][1]:
330
+
331
+ n2[k2][1] = n2[k3][1]
332
+
333
+ k3 = k3 - 1
334
+
335
+ k2 = k2 - 1
336
+
337
+
338
+
339
+ k2 = 0
340
+
341
+ while k2 <= 149:
342
+
343
+ if k2 == 0:
344
+
345
+ c = 1
346
+
347
+ n2[k2][2] = c
348
+
349
+ elif n2[k2][1] == n2[k2 - 1][1]:
350
+
351
+ n2[k2][2] = c
352
+
353
+ else:
354
+
355
+ c += 1
356
+
357
+ n2[k2][2] = c
358
+
359
+ k2 = k2 + 1
360
+
361
+
362
+
363
+ k1 = 0
364
+
365
+ k2 = 0
366
+
367
+ while k2 <= 149:
368
+
369
+ k3 = k2
370
+
371
+ while k3 <= 149:
372
+
373
+ if n2[k2][1] == n2[k3][1]:
374
+
375
+ n2[k3][2] = n2[k2][2]
376
+
377
+ k3 = k3 + 1
378
+
379
+ k2 = k2 + 1
380
+
381
+
382
+
383
+ i = 0
384
+
385
+ j = 0
386
+
387
+ while i <= 511:
388
+
389
+ j = 0
390
+
391
+ while j <= 511:
392
+
393
+ k1 = 0
394
+
395
+ while k1 <= 149:
396
+
397
+ if d[i][j] == n2[k1][0]:
398
+
399
+ d[i][j] = n2[k1][2]
400
+
401
+ k1 = k1 + 1
402
+
403
+ n1[i][j] = d[i][j]
404
+
405
+ f1.write(str(n1[i][j])+",")
406
+
407
+ j = j + 1
408
+
409
+ f1.write("\n")
410
+
411
+ i = i + 1
412
+
413
+
414
+
415
+ #-----distance------
416
+
417
+
418
+
419
+ k1 = 0
420
+
421
+ k2 = 0
422
+
423
+ while k1 <= 149:
424
+
425
+ k2 = 0
426
+
427
+ while k2 <= 349:
428
+
429
+ n3[k1][k2] = 0
430
+
431
+ n4[k1][k2] = 0
432
+
433
+ k2 = k2 + 1
434
+
435
+ n5[k1] = 0
436
+
437
+ k1 = k1 + 1
438
+
439
+
440
+
441
+ a = 0 #n1[][]
442
+
443
+ b = 0 #n5[n1[][]]
444
+
445
+ k1 = 0
446
+
447
+ k2 = 0
448
+
449
+ while k1 <=511:
450
+
451
+ k2 = 0
452
+
453
+ while k2 <=511:
454
+
455
+ if n1[k1][k2] > 0:
456
+
457
+ a = n1[k1][k2]
458
+
459
+ n5[int(a)] = n5[int(a)] + 1
460
+
461
+ b = n5[int(a)] + 1
462
+
463
+ n3[int(a)][int(b)] = k1 + 1
464
+
465
+ n4[int(a)][int(b)] = k2 + 1
466
+
467
+ k2 = k2 + 1
468
+
469
+ k1 = k1 + 1
470
+
471
+
472
+
473
+ x1 = 140 #FUT
474
+
475
+ y1 = 278 #FUT
476
+
477
+ x2 = 0
478
+
479
+ y2 = 0
480
+
481
+ s1 = 0 #|x1-x2|
482
+
483
+ s2 = 0 #|y1-y2|
484
+
485
+ w1 = 0
486
+
487
+ r1 = 0
488
+
489
+
490
+
491
+ k1 = 0
492
+
493
+ k2 = 0
494
+
495
+ while k1 <= 149:
496
+
497
+ k2 = 0
498
+
499
+ while k2 <= 349:
500
+
501
+ if n3[k1][k2] > 0:
502
+
503
+ x2 = n3[k1][k2]
504
+
505
+ y2 = n4[k1][k2]
506
+
507
+ if x1 > x2:
508
+
509
+ s1 = x1 - x2
510
+
511
+ else:
512
+
513
+ s1 = x2 - x1
514
+
515
+ if y1 > y2:
516
+
517
+ s2 = y1 - y2
518
+
519
+ else:
520
+
521
+ s2 = y2 - y1
522
+
523
+
524
+
525
+ w1 = s1 * s1 + s2 * s2
526
+
527
+ r1 = math.sqrt(w1) #三平方の定理
528
+
529
+ if n3[k1][0] == 0:
530
+
531
+ n3[k1][0] = r1
532
+
533
+ if n3[k1][0] > r1:
534
+
535
+ n3[k1][0] = r1
536
+
537
+ k2 = k2 + 1
538
+
539
+ k1 = k1 + 1
540
+
541
+
542
+
543
+ k1 = 0
544
+
545
+ while k1 <= 149:
546
+
547
+ n3[k1][1] = k1
548
+
549
+ k1 = k1 + 1
550
+
551
+ n3[0][1] = "gloup No."
552
+
553
+
554
+
555
+ i = 0
556
+
557
+ k1 = 1
558
+
559
+ while k1 <= 149:
560
+
561
+ if n3[k1][0] > 0 and n3[k1][0] < 20:
562
+
563
+ i = 1
564
+
565
+ k1 = k1 + 1
566
+
567
+
568
+
569
+ if i == 1:
570
+
571
+ print("DANGER!!")
572
+
573
+ else:
574
+
575
+ print("SAFE")
576
+
577
+ f1.close()
578
+
579
+
120
580
 
121
581
  ```
122
582
 

1

誤字

2016/08/30 07:49

投稿

fut
fut

スコア12

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  File "/home/tklabubuntu01/toran/analysis/labeling.py", line 323, in <module>
26
26
 
27
- if d[i-1][j+1] >= r + 1: #rightup 雨量閾値
27
+ if d[i-1][j+1] >= r + 1: #rightup
28
28
 
29
29
  IndexError: index out of bounds
30
30