feat: add place in json

This commit is contained in:
Sosokker 2025-02-02 06:25:25 +07:00
parent 5cb05709dd
commit 96fbe8157a
4 changed files with 141 additions and 4 deletions

View File

@ -2,4 +2,4 @@ module github.com/Sosokker/openweather-dashboard
go 1.23.5
require github.com/joho/godotenv v1.5.1 // indirect
require github.com/joho/godotenv v1.5.1

View File

@ -15,7 +15,7 @@ import (
)
type Coordinate struct {
Place string `json:"-"`
Place string `json:"place"`
Lon float32 `json:"lon"`
Lat float32 `json:"lat"`
}
@ -33,10 +33,11 @@ type DataEntry struct {
Rain struct {
PerHour float32 `json:"1h"`
} `json:"rain"`
State string `json:"state,omitempty"`
}
func (c Coordinate) String() string {
return fmt.Sprintf("(%f, %f)", c.Lat, c.Lon)
return fmt.Sprintf("(%f, %f, %s)", c.Lat, c.Lon, c.Place)
}
func (w Weather) String() string {
@ -144,7 +145,7 @@ func rawDataHandler(w http.ResponseWriter, r *http.Request) {
apiKey := loadEnv()
coordCh := make(chan Coordinate)
go readCoordData("data/test.csv", coordCh)
go readCoordData("data/data.csv", coordCh)
var max float32 = 0.0
var min float32 = 10000000.0
@ -154,7 +155,9 @@ func rawDataHandler(w http.ResponseWriter, r *http.Request) {
var entries []DataEntry
for coord := range coordCh {
entry := fetchWeatherData(coord.Lat, coord.Lon, apiKey)
entry.Coord.Place = coord.Place // fetched data not have place field
if entry.Rain.PerHour > max {
max = entry.Rain.PerHour
}

130
data/data.csv Normal file
View File

@ -0,0 +1,130 @@
Place,Latitude,Longitude
AK,63.588753,-154.493062
AL,32.318231,-86.902298
AR,35.20105,-91.831833
AZ,34.048928,-111.093731
CA,36.778261,-119.417932
CO,39.550051,-105.782067
CT,41.603221,-73.087749
DC,38.905985,-77.033418
DE,38.910832,-75.52767
FL,27.664827,-81.515754
GA,32.157435,-82.907123
HI,19.898682,-155.665857
IA,41.878003,-93.097702
ID,44.068202,-114.742041
IL,40.633125,-89.398528
IN,40.551217,-85.602364
KS,39.011902,-98.484246
KY,37.839333,-84.270018
LA,31.244823,-92.145024
MA,42.407211,-71.382437
MD,39.045755,-76.641271
ME,45.253783,-69.445469
MI,44.314844,-85.602364
MN,46.729553,-94.6859
MO,37.964253,-91.831833
MS,32.354668,-89.398528
MT,46.879682,-110.362566
NC,35.759573,-79.0193
ND,47.551493,-101.002012
NE,41.492537,-99.901813
NH,43.193852,-71.572395
NJ,40.058324,-74.405661
NM,34.97273,-105.032363
NV,38.80261,-116.419389
NY,43.299428,-74.217933
OH,40.417287,-82.907123
OK,35.007752,-97.092877
OR,43.804133,-120.554201
PA,41.203322,-77.194525
PR,18.220833,-66.590149
RI,41.580095,-71.477429
SC,33.836081,-81.163725
SD,43.969515,-99.901813
TN,35.517491,-86.580447
TX,31.968599,-99.901813
UT,39.32098,-111.093731
VA,37.431573,-78.656894
VT,44.558803,-72.577841
WA,47.751074,-120.740139
WI,43.78444,-88.787868
WV,38.597626,-80.454903
WY,43.075968,-107.290284
กรุงเทพมหานคร,13.7278956,100.52412349999997
กระบี่,8.0862997,98.90628349999997
กาญจนบุรี,14.0227797,99.53281149999998
กาฬสินธุ์,16.4314078,103.5058755
กำแพงเพชร,16.4827798,99.52266179999992
ขอนแก่น,16.4419355,102.8359921
จันทบุรี,12.61134,102.10385459999998
ฉะเชิงเทรา,13.6904194,101.07795959999999
ชลบุรี,13.3611431,100.98467170000004
ชัยนาท,15.1851971,100.12512500000003
ชัยภูมิ,15.8068173,102.03150270000003
ชุมพร,10.4930496,99.18001989999993
เชียงราย,19.9071656,99.83095500000002
เชียงใหม่,18.7877477,98.99313110000003
ตรัง,7.5593851,99.61100650000003
ตราด,12.2427563,102.51747339999997
ตาก,16.8839901,99.12584979999997
นครนายก,14.2069466,101.21305110000003
นครปฐม,13.8199206,100.06216760000007
นครพนม,17.392039,104.76955079999993
นคราชสีมา,14.9798997,102.09776929999998
นครศรีธรรมราช,8.4303975,99.96312190000003
นครสวรรค์,15.6930072,100.12255949999997
นนทบุรี,13.8621125,100.51435279999998
นราธิวาส,6.4254607,101.82531429999995
น่าน,18.7756318,100.77304170000002
บุรีรัมย์,14.9930017,103.10291910000001
ปทุมธานี,14.0208391,100.52502759999993
ประจวบคีรีขันธ์,11.812367,99.79732709999996
ปราจีนบุรี,14.0509704,101.37274389999993
ปัตตานี,6.869484399999999,101.25048259999994
พระนครศรีอยุธยา,14.3532128,100.56895989999998
พะเยา,19.1664789,99.9019419
พังงา,8.4407456,98.51930319999997
พัทลุง,7.6166823,100.07402309999998
พิจิตร,16.4429516,100.34823289999997
พิษณุโลก,16.8298048,100.26149150000003
เพชรบุรี,13.1111601,99.93913069999996
เพชรบูรณ์,16.4189807,101.15509259999999
แพร่,18.1445774,100.14028310000003
ภูเก็ต,7.9810496,98.36388239999997
มหาสารคาม,16.1850896,103.30264609999995
มุกดาหาร,16.542443,104.72091509999996
แม่ฮ่องสอน,19.2990643,97.96562259999996
ยโสธร,15.792641,104.14528270000005
ยะลา,6.541147,101.28039469999999
ร้อยเอ็ด,16.0538196,103.65200359999994
ระนอง,9.9528702,98.60846409999999
ระยอง,12.6833115,101.23742949999996
ราชบุรี,13.5282893,99.81342110000003
ลพบุรี,14.7995081,100.65337060000002
ลำปาง,18.2888404,99.49087399999996
ลำพูน,18.5744606,99.0087221
เลย,17.4860232,101.72230020000006
ศรีสะเกษ,15.1186009,104.32200949999992
สกลนคร,17.1545995,104.1348365
สงขลา,7.1756004,100.61434699999995
สตูล,6.6238158,100.06737440000006
สมุทรปราการ,13.5990961,100.59983190000003
สมุทรสงคราม,13.4098217,100.00226450000002
สมุทรสาคร,13.5475216,100.27439559999993
สระแก้ว,13.824038,102.0645839
สระบุรี,14.5289154,100.91014210000003
สิงห์บุรี,14.8936253,100.39673140000002
สุโขทัย,17.0055573,99.82637120000004
สุพรรณบุรี,14.4744892,100.11771279999994
สุราษฎร์ธานี,9.1382389,99.32174829999997
สุรินทร์,14.882905,103.49371070000007
หนองคาย,17.8782803,102.74126380000007
หนองบัวลำภู,17.2218247,102.42603680000002
อ่างทอง,14.5896054,100.45505200000002
อำนาจเจริญ,15.8656783,104.62577740000006
อุดรธานี,17.4138413,102.78723250000007
อุตรดิตถ์,17.6200886,100.09929420000003
อุทัยธานี,15.3835001,100.02455269999996
อุบลราชธานี,15.2286861,104.85642170000006
บึงกาฬ,18.3609104,103.64644629999998
1 Place Latitude Longitude
2 AK 63.588753 -154.493062
3 AL 32.318231 -86.902298
4 AR 35.20105 -91.831833
5 AZ 34.048928 -111.093731
6 CA 36.778261 -119.417932
7 CO 39.550051 -105.782067
8 CT 41.603221 -73.087749
9 DC 38.905985 -77.033418
10 DE 38.910832 -75.52767
11 FL 27.664827 -81.515754
12 GA 32.157435 -82.907123
13 HI 19.898682 -155.665857
14 IA 41.878003 -93.097702
15 ID 44.068202 -114.742041
16 IL 40.633125 -89.398528
17 IN 40.551217 -85.602364
18 KS 39.011902 -98.484246
19 KY 37.839333 -84.270018
20 LA 31.244823 -92.145024
21 MA 42.407211 -71.382437
22 MD 39.045755 -76.641271
23 ME 45.253783 -69.445469
24 MI 44.314844 -85.602364
25 MN 46.729553 -94.6859
26 MO 37.964253 -91.831833
27 MS 32.354668 -89.398528
28 MT 46.879682 -110.362566
29 NC 35.759573 -79.0193
30 ND 47.551493 -101.002012
31 NE 41.492537 -99.901813
32 NH 43.193852 -71.572395
33 NJ 40.058324 -74.405661
34 NM 34.97273 -105.032363
35 NV 38.80261 -116.419389
36 NY 43.299428 -74.217933
37 OH 40.417287 -82.907123
38 OK 35.007752 -97.092877
39 OR 43.804133 -120.554201
40 PA 41.203322 -77.194525
41 PR 18.220833 -66.590149
42 RI 41.580095 -71.477429
43 SC 33.836081 -81.163725
44 SD 43.969515 -99.901813
45 TN 35.517491 -86.580447
46 TX 31.968599 -99.901813
47 UT 39.32098 -111.093731
48 VA 37.431573 -78.656894
49 VT 44.558803 -72.577841
50 WA 47.751074 -120.740139
51 WI 43.78444 -88.787868
52 WV 38.597626 -80.454903
53 WY 43.075968 -107.290284
54 กรุงเทพมหานคร 13.7278956 100.52412349999997
55 กระบี่ 8.0862997 98.90628349999997
56 กาญจนบุรี 14.0227797 99.53281149999998
57 กาฬสินธุ์ 16.4314078 103.5058755
58 กำแพงเพชร 16.4827798 99.52266179999992
59 ขอนแก่น 16.4419355 102.8359921
60 จันทบุรี 12.61134 102.10385459999998
61 ฉะเชิงเทรา 13.6904194 101.07795959999999
62 ชลบุรี 13.3611431 100.98467170000004
63 ชัยนาท 15.1851971 100.12512500000003
64 ชัยภูมิ 15.8068173 102.03150270000003
65 ชุมพร 10.4930496 99.18001989999993
66 เชียงราย 19.9071656 99.83095500000002
67 เชียงใหม่ 18.7877477 98.99313110000003
68 ตรัง 7.5593851 99.61100650000003
69 ตราด 12.2427563 102.51747339999997
70 ตาก 16.8839901 99.12584979999997
71 นครนายก 14.2069466 101.21305110000003
72 นครปฐม 13.8199206 100.06216760000007
73 นครพนม 17.392039 104.76955079999993
74 นคราชสีมา 14.9798997 102.09776929999998
75 นครศรีธรรมราช 8.4303975 99.96312190000003
76 นครสวรรค์ 15.6930072 100.12255949999997
77 นนทบุรี 13.8621125 100.51435279999998
78 นราธิวาส 6.4254607 101.82531429999995
79 น่าน 18.7756318 100.77304170000002
80 บุรีรัมย์ 14.9930017 103.10291910000001
81 ปทุมธานี 14.0208391 100.52502759999993
82 ประจวบคีรีขันธ์ 11.812367 99.79732709999996
83 ปราจีนบุรี 14.0509704 101.37274389999993
84 ปัตตานี 6.869484399999999 101.25048259999994
85 พระนครศรีอยุธยา 14.3532128 100.56895989999998
86 พะเยา 19.1664789 99.9019419
87 พังงา 8.4407456 98.51930319999997
88 พัทลุง 7.6166823 100.07402309999998
89 พิจิตร 16.4429516 100.34823289999997
90 พิษณุโลก 16.8298048 100.26149150000003
91 เพชรบุรี 13.1111601 99.93913069999996
92 เพชรบูรณ์ 16.4189807 101.15509259999999
93 แพร่ 18.1445774 100.14028310000003
94 ภูเก็ต 7.9810496 98.36388239999997
95 มหาสารคาม 16.1850896 103.30264609999995
96 มุกดาหาร 16.542443 104.72091509999996
97 แม่ฮ่องสอน 19.2990643 97.96562259999996
98 ยโสธร 15.792641 104.14528270000005
99 ยะลา 6.541147 101.28039469999999
100 ร้อยเอ็ด 16.0538196 103.65200359999994
101 ระนอง 9.9528702 98.60846409999999
102 ระยอง 12.6833115 101.23742949999996
103 ราชบุรี 13.5282893 99.81342110000003
104 ลพบุรี 14.7995081 100.65337060000002
105 ลำปาง 18.2888404 99.49087399999996
106 ลำพูน 18.5744606 99.0087221
107 เลย 17.4860232 101.72230020000006
108 ศรีสะเกษ 15.1186009 104.32200949999992
109 สกลนคร 17.1545995 104.1348365
110 สงขลา 7.1756004 100.61434699999995
111 สตูล 6.6238158 100.06737440000006
112 สมุทรปราการ 13.5990961 100.59983190000003
113 สมุทรสงคราม 13.4098217 100.00226450000002
114 สมุทรสาคร 13.5475216 100.27439559999993
115 สระแก้ว 13.824038 102.0645839
116 สระบุรี 14.5289154 100.91014210000003
117 สิงห์บุรี 14.8936253 100.39673140000002
118 สุโขทัย 17.0055573 99.82637120000004
119 สุพรรณบุรี 14.4744892 100.11771279999994
120 สุราษฎร์ธานี 9.1382389 99.32174829999997
121 สุรินทร์ 14.882905 103.49371070000007
122 หนองคาย 17.8782803 102.74126380000007
123 หนองบัวลำภู 17.2218247 102.42603680000002
124 อ่างทอง 14.5896054 100.45505200000002
125 อำนาจเจริญ 15.8656783 104.62577740000006
126 อุดรธานี 17.4138413 102.78723250000007
127 อุตรดิตถ์ 17.6200886 100.09929420000003
128 อุทัยธานี 15.3835001 100.02455269999996
129 อุบลราชธานี 15.2286861 104.85642170000006
130 บึงกาฬ 18.3609104 103.64644629999998

4
data/test.csv Normal file
View File

@ -0,0 +1,4 @@
Place,Latitude,Longitude
AK,63.588753,-154.493062
AL,32.318231,-86.902298
AR,35.20105,-91.831833
1 Place Latitude Longitude
2 AK 63.588753 -154.493062
3 AL 32.318231 -86.902298
4 AR 35.20105 -91.831833