YashMK89 commited on
Commit
18d9825
·
verified ·
1 Parent(s): 7904ad9

upload 9 file

Browse files
Bhankhara_Df_11_he_5_2020-21.geojson ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "FeatureCollection",
3
+ "name": "Bhankhara Df 11 he 5 2020-21",
4
+ "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
5
+ "features": [
6
+ { "type": "Feature", "properties": { "Name": "bhankhara Df " }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 73.232880205954501, 23.9293492015216 ], [ 73.2320424558106, 23.9295414782706 ], [ 73.231770305881497, 23.929079612195199 ], [ 73.230492834793793, 23.929757112420202 ], [ 73.2296710069635, 23.930461233260601 ], [ 73.2287325848189, 23.929426068463702 ], [ 73.230010982152606, 23.928454021654801 ], [ 73.231320825956999, 23.9274161693899 ], [ 73.231748632627799, 23.9277412596551 ], [ 73.232405167342506, 23.927898156106 ], [ 73.232880205954501, 23.9293492015216 ] ] ] } }
7
+ ]
8
+ }
CoalTPP_Locations - small_dataset.csv ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ name,latitude,longitude
2
+ PANIPAT TPS,29.3975059,76.8763161
3
+ RAJIV GANDHI TPS,29.34698,75.857538
4
+ YAMUNA NAGAR TPS,30.1075175,77.3267646
5
+ GH TPS (LEH.MOH.),30.2674,75.1644
6
+ GOINDWAL SAHIB TPP,31.38414,75.146503
CoalTPP_Locations.csv ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name,latitude,longitude
2
+ PANIPAT TPS,29.3975059,76.8763161
3
+ RAJIV GANDHI TPS,29.34698,75.857538
4
+ YAMUNA NAGAR TPS,30.1075175,77.3267646
5
+ GH TPS (LEH.MOH.),30.2674,75.1644
6
+ GOINDWAL SAHIB TPP,31.38414,75.146503
7
+ ROPAR TPS,31.0417,76.5847
8
+ CHHABRA-II TPP,24.6236,77.0383
9
+ CHHABRA-I PH-1 TPP,24.62092,77.035439
10
+ CHHABRA-I PH-2 TPP,24.63433,77.0385039
11
+ KALISINDH TPS,24.5325129,76.100353
12
+ KOTA TPS,25.1717,75.8169
13
+ SURATGARH STPS,29.181766,74.018741
14
+ SURATGARH TPS,29.181766,74.018741
15
+ ANPARA TPS,24.202043,82.789128
16
+ HARDUAGANJ TPS,28.0175,78.13
17
+ JAWAHARPUR STPP,27.497098,78.826071
18
+ OBRA TPS,24.4445803,82.9803325
19
+ PARICHHA TPS,25.513571,78.757918
20
+ DSPM TPS,22.368196,82.721986
21
+ KORBA-WEST TPS,22.412536,82.682187
22
+ MARWA TPS,22.070801,82.602189
23
+ GANDHI NAGAR TPS,23.249722,72.673889
24
+ UKAI TPS,21.2093,73.5574
25
+ WANAKBORI TPS,22.8725375,73.3588028
26
+ AMARKANTAK EXT TPS,23.162146,81.632816
27
+ SANJAY GANDHI TPS,23.305744,81.064817
28
+ SATPURA TPS,22.108133,78.177072
29
+ SHREE SINGAJI TPP,22.09914,76.531727
30
+ BHUSAWAL TPS,21.04798,75.85502
31
+ CHANDRAPUR(MAHARASHTRA) STPS,20.0063,79.29
32
+ KHAPARKHEDA TPS,21.276138,79.121518
33
+ KORADI TPS,21.2420685,79.0949659
34
+ NASIK TPS,19.9814589,73.8920556
35
+ PARAS TPS,20.7147,76.7948
36
+ PARLI TPS,18.9075857,76.5429497
37
+ Dr. N.TATA RAO TPS,16.5984901,80.5365853
38
+ RAYALASEEMA TPS,14.697282,78.459364
39
+ DAMODARAM SANJEEVAIAH TPS,14.327604,80.122105
40
+ BELLARY TPS,15.1931738,76.7195034
41
+ RAICHUR TPS,16.3532,77.3422
42
+ YERMARUS TPP,16.295261,77.35612
43
+ METTUR TPS,11.7720201,77.8141046
44
+ METTUR TPS - II,11.7744564,77.8172243
45
+ NORTH CHENNAI TPS,13.253013,80.327804
46
+ TUTICORIN TPS,8.762518,78.175976
47
+ SINGARENI TPP,18.837231,79.574766
48
+ BHADRADRI TPP,18.027488,80.735645
49
+ KAKATIYA TPS,18.3831934,79.8271644
50
+ KOTHAGUDEM TPS (NEW),17.6219,80.69355
51
+ KOTHAGUDEM TPS (STAGE-7),,
52
+ RAMAGUNDEM-B TPS,,
53
+ TENUGHAT TPS,23.7276632,85.7652325
54
+ IB VALLEY TPS,21.690729,83.860096
55
+ D.P.L. TPS,23.521147,87.302309
56
+ BAKRESWAR TPS,23.8292205,87.451034
57
+ BANDEL TPS,22.995746,88.403815
58
+ KOLAGHAT TPS,22.416565,87.870984
59
+ SAGARDIGHI TPS,24.3688141,88.1040001
60
+ SANTALDIH TPS,23.6013,86.4666
61
+ DADRI (NCTPP),28.603,77.6078
62
+ RIHAND STPS,24.027,82.7915
63
+ SINGRAULI STPS,24.1042119,82.7063552
64
+ TANDA TPS,26.5894846,82.601235
65
+ UNCHAHAR TPS,25.9137597,81.3272384
66
+ GADARWARA TPP,22.861752,78.866129
67
+ KHARGONE STPP,22.065169,75.851943
68
+ KORBA STPS,22.3874221,82.6818961
69
+ LARA TPP,21.757661,83.457545
70
+ MAUDA TPS,21.18074,79.396541
71
+ SIPAT STPS,22.131662,82.29035
72
+ SOLAPUR STPS,17.551296,75.9832
73
+ VINDHYACHAL STPS,24.0983,82.6719
74
+ KUDGI STPP,16.499546,75.834632
75
+ RAMAGUNDEM STPS,18.7584502,79.4573172
76
+ SIMHADRI,17.591,83.09166
77
+ TELANGANA STPP PH-1,18.7584502,79.4573172
78
+ BARAUNI TPS,25.391376,86.023488
79
+ BARH STPS,25.4693,85.74516
80
+ DARLIPALI STPS,21.963554,83.89187
81
+ FARAKKA STPS,24.772729,87.893707
82
+ KAHALGAON TPS,25.236903,87.265595
83
+ NORTH KARANPURA TPP,23.850772,85.012411
84
+ TALCHER STPS,21.098074,85.074005
85
+ BONGAIGAON TPP,26.44437,90.367205
86
+ INDIRA GANDHI STPP,28.485091,76.37316
87
+ MEJA STPP,25.145867,81.940096
88
+ BHILAI TPS,21.184,81.4237
89
+ SEIONI TPP,22.735479,79.912341
90
+ VALLUR TPP,13.237131,80.301754
91
+ MUZAFFARPUR TPS,26.194771,85.303302
92
+ NABINAGAR STPP,24.776,84.158025
93
+ NABINAGAR TPP,24.705081,84.088738
94
+ BOKARO TPS `A` EXP,23.782944,85.883391
95
+ CHANDRAPURA(DVC) TPS,20.0063,79.29
96
+ DURGAPUR STEEL TPS,23.531506,87.249856
97
+ KODARMA TPP,24.391534,85.561899
98
+ MEJIA TPS,23.4639,87.1311
99
+ RAGHUNATHPUR TPP,23.62191,86.660703
100
+ NTPL TUTICORIN TPP,8.760363,78.171083
101
+ ADANI POWER LIMITED KAWAI TPP,24.777997,76.737144
102
+ ADANI POWER LIMITED RAIGARH TPP,21.743775,83.274093
103
+ ADANI POWER LIMITED RAIPUR TPP,21.449918,81.852474
104
+ ADANI POWER LIMITED TIRODA TPP,21.412502,79.96731
105
+ AKALTARA TPS,21.960296,82.409064
106
+ AMRAVATI TPS,21.080316,77.901242
107
+ ANPARA C TPS,24.202043,82.789128
108
+ ANUPPUR TPP,23.073731,81.784286
109
+ BALCO TPS,22.3930944,82.7439443
110
+ BANDAKHAR TPP,22.340954,82.430603
111
+ BARADARHA TPS,21.911436,83.188863
112
+ BARKHERA TPS,28.55,80.1
113
+ BELA TPS,20.806389,79.051944
114
+ BINA TPS,24.317222,78.133564
115
+ BINJKOTE TPP,22.010422,83.205779
116
+ BUDGE BUDGE TPS,22.470344,88.139949
117
+ DAHANU TPS,19.9545,72.7478
118
+ DERANG TPP,21.127044,84.980552
119
+ DHARIWAL TPP,20.010588,79.203433
120
+ DISHERGARH TPP,,
121
+ GMR WARORA TPS,20.279656,78.975351
122
+ HALDIA TPP,22.060459,88.109748
123
+ HIRANMAYE TPP,22.076989,88.098413
124
+ JOJOBERA TPS,22.7554,86.2491
125
+ KAMALANGA TPS,20.870576,85.266979
126
+ KHAMBARKHERA TPS,27.9,80.8
127
+ KUNDARKI TPS,27.03,82.23
128
+ LALITPUR TPS,24.795833,78.646944
129
+ MAHADEV PRASAD STPP,22.836504,86.061294
130
+ MAHAN TPP,24.008674,82.41703
131
+ MAHATMA GANDHI TPS,28.488143,76.352534
132
+ MAITHON RB TPP,23.8209,86.76
133
+ MAQSOODPUR TPS,27.81,79.94
134
+ NAWAPARA TPP,21.906738,83.128556
135
+ NIGRI TPP,24.14997,81.904525
136
+ OP JINDAL TPS,22.104,83.445
137
+ PAINAMPURAM TPP,14.351195,80.143086
138
+ PATHADI TPP,22.2454,82.7246
139
+ PRAYAGRAJ TPP,25.196345,81.658534
140
+ RAJPURA TPP,30.558963,76.577593
141
+ ROSA TPP Ph-I,27.8194455,79.9371618
142
+ SABARMATI (D-F STATIONS),23.070555,72.593889
143
+ SASAN UMTPP,23.9775233,82.6264733
144
+ SGPL TPP,14.351195,80.143086
145
+ SHIRPUR TPP,21.15103,74.854206
146
+ SOUTHERN REPL. TPS,22.549591,88.291512
147
+ TALWANDI SABO TPP,29.92458,75.238929
148
+ TAMNAR TPP,22.098747,83.451312
149
+ UCHPINDA TPP,21.8864,83.12081
150
+ UTKAL TPP (IND BARATH),21.657942,83.919513
151
+ UTRAULA TPS,27.43,82.18
152
+ VEDANTA TPP,21.815743,84.042036
153
+ VIZAG TPP,17.563642,83.138877
154
+ WARDHA WARORA TPP,20.272443,78.978916
155
+ SIKKA REP. TPS,22.420828,69.8276
156
+ ADANI POWER LIMITED MUNDRA TPP - III,22.8234904,69.5534831
157
+ ADANI POWER LIMITED MUNDRA TPP - I & II,22.8234904,69.5534831
158
+ ADANI POWER LIMITED UDUPI TPP,13.1596,74.8002
159
+ ITPCL TPP,11.5216092,79.7518447
160
+ JSW RATNAGIRI TPP,17.296375,73.213105
161
+ MUNDRA UMTPP,22.8158,69.5281
162
+ MUTHIARA TPP,8.912716,78.144965
163
+ OPG Power Generation Private Limited,13.437422,80.09788
164
+ SALAYA TPP,22.3049,69.7101
165
+ SHREE CEMENT LTD TPS,26.073889,74.385
166
+ SIMHAPURI TPS,14.204576,80.086636
167
+ THAMMINAPATNAM TPS,,
168
+ TORANGALLU TPS(SBU-I),15.186771,76.6621387
169
+ TORANGALLU TPS(SBU-II),15.186771,76.6621387
170
+ TROMBAY TPS,19.0027,72.8979
171
+ TUTICORIN TPP ST-IV,,
172
+ BUTIBORI TPP,20.928591,78.933281
173
+ MIHAN TPS,21.0377,78.9334
174
+ NASIK (P) TPS,,
175
+ SALORA TPP,22.489952,82.606239
176
+ TUTICORIN (P) TPP,,
177
+ TITAGARH TPS,22.731974,88.370309
178
+ CHAKABURA TPP,22.393653,82.553249
179
+ GEPL TPP Ph-I,19.92949,79.133159
180
+ KASAIPALLI TPP,22.38895,82.5549
181
+ KATGHORA TPP,22.489779,82.60618
182
+ NIWARI TPP,25.43,79.71
183
+ RATIJA TPS,22.339994,82.492776
184
+ SVPL TPP,22.292,82.5254
185
+ SWASTIK KORBA TPP,,
CoalTPP_Locations.geojson ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "FeatureCollection",
3
+ "name": "CoalTPP_Locations",
4
+ "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
5
+ "features": [
6
+ { "type": "Feature", "properties": { "Name": "PANIPAT TPS", "Latitude": 29.3975059, "Longitude": 76.8763161 }, "geometry": { "type": "Point", "coordinates": [ 76.8763161, 29.3975059 ] } },
7
+ { "type": "Feature", "properties": { "Name": "RAJIV GANDHI TPS", "Latitude": 29.34698, "Longitude": 75.857538 }, "geometry": { "type": "Point", "coordinates": [ 75.857538, 29.34698 ] } },
8
+ { "type": "Feature", "properties": { "Name": "YAMUNA NAGAR TPS", "Latitude": 30.1075175, "Longitude": 77.3267646 }, "geometry": { "type": "Point", "coordinates": [ 77.3267646, 30.1075175 ] } },
9
+ { "type": "Feature", "properties": { "Name": "GH TPS (LEH.MOH.)", "Latitude": 30.2674, "Longitude": 75.1644 }, "geometry": { "type": "Point", "coordinates": [ 75.1644, 30.2674 ] } },
10
+ { "type": "Feature", "properties": { "Name": "GOINDWAL SAHIB TPP", "Latitude": 31.38414, "Longitude": 75.146503 }, "geometry": { "type": "Point", "coordinates": [ 75.146503, 31.38414 ] } },
11
+ { "type": "Feature", "properties": { "Name": "ROPAR TPS", "Latitude": 31.0417, "Longitude": 76.5847 }, "geometry": { "type": "Point", "coordinates": [ 76.5847, 31.0417 ] } },
12
+ { "type": "Feature", "properties": { "Name": "CHHABRA-II TPP", "Latitude": 24.6236, "Longitude": 77.0383 }, "geometry": { "type": "Point", "coordinates": [ 77.0383, 24.6236 ] } },
13
+ { "type": "Feature", "properties": { "Name": "CHHABRA-I PH-1 TPP", "Latitude": 24.62092, "Longitude": 77.035439 }, "geometry": { "type": "Point", "coordinates": [ 77.035439, 24.62092 ] } },
14
+ { "type": "Feature", "properties": { "Name": "CHHABRA-I PH-2 TPP", "Latitude": 24.63433, "Longitude": 77.0385039 }, "geometry": { "type": "Point", "coordinates": [ 77.0385039, 24.63433 ] } },
15
+ { "type": "Feature", "properties": { "Name": "KALISINDH TPS", "Latitude": 24.5325129, "Longitude": 76.100353 }, "geometry": { "type": "Point", "coordinates": [ 76.100353, 24.5325129 ] } },
16
+ { "type": "Feature", "properties": { "Name": "KOTA TPS", "Latitude": 25.1717, "Longitude": 75.8169 }, "geometry": { "type": "Point", "coordinates": [ 75.8169, 25.1717 ] } },
17
+ { "type": "Feature", "properties": { "Name": "SURATGARH STPS", "Latitude": 29.181766, "Longitude": 74.018741 }, "geometry": { "type": "Point", "coordinates": [ 74.018741, 29.181766 ] } },
18
+ { "type": "Feature", "properties": { "Name": "SURATGARH TPS", "Latitude": 29.181766, "Longitude": 74.018741 }, "geometry": { "type": "Point", "coordinates": [ 74.018741, 29.181766 ] } },
19
+ { "type": "Feature", "properties": { "Name": "ANPARA TPS", "Latitude": 24.202043, "Longitude": 82.789128 }, "geometry": { "type": "Point", "coordinates": [ 82.789128, 24.202043 ] } },
20
+ { "type": "Feature", "properties": { "Name": "HARDUAGANJ TPS", "Latitude": 28.0175, "Longitude": 78.13 }, "geometry": { "type": "Point", "coordinates": [ 78.13, 28.0175 ] } },
21
+ { "type": "Feature", "properties": { "Name": "JAWAHARPUR STPP", "Latitude": 27.497098, "Longitude": 78.826071 }, "geometry": { "type": "Point", "coordinates": [ 78.826071, 27.497098 ] } },
22
+ { "type": "Feature", "properties": { "Name": "OBRA TPS", "Latitude": 24.4445803, "Longitude": 82.9803325 }, "geometry": { "type": "Point", "coordinates": [ 82.9803325, 24.4445803 ] } },
23
+ { "type": "Feature", "properties": { "Name": "PARICHHA TPS", "Latitude": 25.513571, "Longitude": 78.757918 }, "geometry": { "type": "Point", "coordinates": [ 78.757918, 25.513571 ] } },
24
+ { "type": "Feature", "properties": { "Name": "DSPM TPS", "Latitude": 22.368196, "Longitude": 82.721986 }, "geometry": { "type": "Point", "coordinates": [ 82.721986, 22.368196 ] } },
25
+ { "type": "Feature", "properties": { "Name": "KORBA-WEST TPS", "Latitude": 22.412536, "Longitude": 82.682187 }, "geometry": { "type": "Point", "coordinates": [ 82.682187, 22.412536 ] } },
26
+ { "type": "Feature", "properties": { "Name": "MARWA TPS", "Latitude": 22.070801, "Longitude": 82.602189 }, "geometry": { "type": "Point", "coordinates": [ 82.602189, 22.070801 ] } },
27
+ { "type": "Feature", "properties": { "Name": "GANDHI NAGAR TPS", "Latitude": 23.249722, "Longitude": 72.673889 }, "geometry": { "type": "Point", "coordinates": [ 72.673889, 23.249722 ] } },
28
+ { "type": "Feature", "properties": { "Name": "UKAI TPS", "Latitude": 21.2093, "Longitude": 73.5574 }, "geometry": { "type": "Point", "coordinates": [ 73.5574, 21.2093 ] } },
29
+ { "type": "Feature", "properties": { "Name": "WANAKBORI TPS", "Latitude": 22.8725375, "Longitude": 73.3588028 }, "geometry": { "type": "Point", "coordinates": [ 73.3588028, 22.8725375 ] } },
30
+ { "type": "Feature", "properties": { "Name": "AMARKANTAK EXT TPS", "Latitude": 23.162146, "Longitude": 81.632816 }, "geometry": { "type": "Point", "coordinates": [ 81.632816, 23.162146 ] } },
31
+ { "type": "Feature", "properties": { "Name": "SANJAY GANDHI TPS", "Latitude": 23.305744, "Longitude": 81.064817 }, "geometry": { "type": "Point", "coordinates": [ 81.064817, 23.305744 ] } },
32
+ { "type": "Feature", "properties": { "Name": "SATPURA TPS", "Latitude": 22.108133, "Longitude": 78.177072 }, "geometry": { "type": "Point", "coordinates": [ 78.177072, 22.108133 ] } },
33
+ { "type": "Feature", "properties": { "Name": "SHREE SINGAJI TPP", "Latitude": 22.09914, "Longitude": 76.531727 }, "geometry": { "type": "Point", "coordinates": [ 76.531727, 22.09914 ] } },
34
+ { "type": "Feature", "properties": { "Name": "BHUSAWAL TPS", "Latitude": 21.04798, "Longitude": 75.85502 }, "geometry": { "type": "Point", "coordinates": [ 75.85502, 21.04798 ] } },
35
+ { "type": "Feature", "properties": { "Name": "CHANDRAPUR(MAHARASHTRA) STPS", "Latitude": 20.0063, "Longitude": 79.29 }, "geometry": { "type": "Point", "coordinates": [ 79.29, 20.0063 ] } },
36
+ { "type": "Feature", "properties": { "Name": "KHAPARKHEDA TPS", "Latitude": 21.276138, "Longitude": 79.121518 }, "geometry": { "type": "Point", "coordinates": [ 79.121518, 21.276138 ] } },
37
+ { "type": "Feature", "properties": { "Name": "KORADI TPS", "Latitude": 21.2420685, "Longitude": 79.0949659 }, "geometry": { "type": "Point", "coordinates": [ 79.0949659, 21.2420685 ] } },
38
+ { "type": "Feature", "properties": { "Name": "NASIK TPS", "Latitude": 19.9814589, "Longitude": 73.8920556 }, "geometry": { "type": "Point", "coordinates": [ 73.8920556, 19.9814589 ] } },
39
+ { "type": "Feature", "properties": { "Name": "PARAS TPS", "Latitude": 20.7147, "Longitude": 76.7948 }, "geometry": { "type": "Point", "coordinates": [ 76.7948, 20.7147 ] } },
40
+ { "type": "Feature", "properties": { "Name": "PARLI TPS", "Latitude": 18.9075857, "Longitude": 76.5429497 }, "geometry": { "type": "Point", "coordinates": [ 76.5429497, 18.9075857 ] } },
41
+ { "type": "Feature", "properties": { "Name": "Dr. N.TATA RAO TPS", "Latitude": 16.5984901, "Longitude": 80.5365853 }, "geometry": { "type": "Point", "coordinates": [ 80.5365853, 16.5984901 ] } },
42
+ { "type": "Feature", "properties": { "Name": "RAYALASEEMA TPS", "Latitude": 14.697282, "Longitude": 78.459364 }, "geometry": { "type": "Point", "coordinates": [ 78.459364, 14.697282 ] } },
43
+ { "type": "Feature", "properties": { "Name": "DAMODARAM SANJEEVAIAH TPS", "Latitude": 14.327604, "Longitude": 80.122105 }, "geometry": { "type": "Point", "coordinates": [ 80.122105, 14.327604 ] } },
44
+ { "type": "Feature", "properties": { "Name": "BELLARY TPS", "Latitude": 15.1931738, "Longitude": 76.7195034 }, "geometry": { "type": "Point", "coordinates": [ 76.7195034, 15.1931738 ] } },
45
+ { "type": "Feature", "properties": { "Name": "RAICHUR TPS", "Latitude": 16.3532, "Longitude": 77.3422 }, "geometry": { "type": "Point", "coordinates": [ 77.3422, 16.3532 ] } },
46
+ { "type": "Feature", "properties": { "Name": "YERMARUS TPP", "Latitude": 16.295261, "Longitude": 77.35612 }, "geometry": { "type": "Point", "coordinates": [ 77.35612, 16.295261 ] } },
47
+ { "type": "Feature", "properties": { "Name": "METTUR TPS", "Latitude": 11.7720201, "Longitude": 77.8141046 }, "geometry": { "type": "Point", "coordinates": [ 77.8141046, 11.7720201 ] } },
48
+ { "type": "Feature", "properties": { "Name": "METTUR TPS - II", "Latitude": 11.7744564, "Longitude": 77.8172243 }, "geometry": { "type": "Point", "coordinates": [ 77.8172243, 11.7744564 ] } },
49
+ { "type": "Feature", "properties": { "Name": "NORTH CHENNAI TPS", "Latitude": 13.253013, "Longitude": 80.327804 }, "geometry": { "type": "Point", "coordinates": [ 80.327804, 13.253013 ] } },
50
+ { "type": "Feature", "properties": { "Name": "TUTICORIN TPS", "Latitude": 8.762518, "Longitude": 78.175976 }, "geometry": { "type": "Point", "coordinates": [ 78.175976, 8.762518 ] } },
51
+ { "type": "Feature", "properties": { "Name": "SINGARENI TPP", "Latitude": 18.837231, "Longitude": 79.574766 }, "geometry": { "type": "Point", "coordinates": [ 79.574766, 18.837231 ] } },
52
+ { "type": "Feature", "properties": { "Name": "BHADRADRI TPP", "Latitude": 18.027488, "Longitude": 80.735645 }, "geometry": { "type": "Point", "coordinates": [ 80.735645, 18.027488 ] } },
53
+ { "type": "Feature", "properties": { "Name": "KAKATIYA TPS", "Latitude": 18.3831934, "Longitude": 79.8271644 }, "geometry": { "type": "Point", "coordinates": [ 79.8271644, 18.3831934 ] } },
54
+ { "type": "Feature", "properties": { "Name": "KOTHAGUDEM TPS (NEW)", "Latitude": 17.6219, "Longitude": 80.69355 }, "geometry": { "type": "Point", "coordinates": [ 80.69355, 17.6219 ] } },
55
+ { "type": "Feature", "properties": { "Name": "TENUGHAT TPS", "Latitude": 23.7276632, "Longitude": 85.7652325 }, "geometry": { "type": "Point", "coordinates": [ 85.7652325, 23.7276632 ] } },
56
+ { "type": "Feature", "properties": { "Name": "IB VALLEY TPS", "Latitude": 21.690729, "Longitude": 83.860096 }, "geometry": { "type": "Point", "coordinates": [ 83.860096, 21.690729 ] } },
57
+ { "type": "Feature", "properties": { "Name": "D.P.L. TPS", "Latitude": 23.521147, "Longitude": 87.302309 }, "geometry": { "type": "Point", "coordinates": [ 87.302309, 23.521147 ] } },
58
+ { "type": "Feature", "properties": { "Name": "BAKRESWAR TPS", "Latitude": 23.8292205, "Longitude": 87.451034 }, "geometry": { "type": "Point", "coordinates": [ 87.451034, 23.8292205 ] } },
59
+ { "type": "Feature", "properties": { "Name": "BANDEL TPS", "Latitude": 22.995746, "Longitude": 88.403815 }, "geometry": { "type": "Point", "coordinates": [ 88.403815, 22.995746 ] } },
60
+ { "type": "Feature", "properties": { "Name": "KOLAGHAT TPS", "Latitude": 22.416565, "Longitude": 87.870984 }, "geometry": { "type": "Point", "coordinates": [ 87.870984, 22.416565 ] } },
61
+ { "type": "Feature", "properties": { "Name": "SAGARDIGHI TPS", "Latitude": 24.3688141, "Longitude": 88.1040001 }, "geometry": { "type": "Point", "coordinates": [ 88.1040001, 24.3688141 ] } },
62
+ { "type": "Feature", "properties": { "Name": "SANTALDIH TPS", "Latitude": 23.6013, "Longitude": 86.4666 }, "geometry": { "type": "Point", "coordinates": [ 86.4666, 23.6013 ] } },
63
+ { "type": "Feature", "properties": { "Name": "DADRI (NCTPP)", "Latitude": 28.603, "Longitude": 77.6078 }, "geometry": { "type": "Point", "coordinates": [ 77.6078, 28.603 ] } },
64
+ { "type": "Feature", "properties": { "Name": "RIHAND STPS", "Latitude": 24.027, "Longitude": 82.7915 }, "geometry": { "type": "Point", "coordinates": [ 82.7915, 24.027 ] } },
65
+ { "type": "Feature", "properties": { "Name": "SINGRAULI STPS", "Latitude": 24.1042119, "Longitude": 82.7063552 }, "geometry": { "type": "Point", "coordinates": [ 82.7063552, 24.1042119 ] } },
66
+ { "type": "Feature", "properties": { "Name": "TANDA TPS", "Latitude": 26.5894846, "Longitude": 82.601235 }, "geometry": { "type": "Point", "coordinates": [ 82.601235, 26.5894846 ] } },
67
+ { "type": "Feature", "properties": { "Name": "UNCHAHAR TPS", "Latitude": 25.9137597, "Longitude": 81.3272384 }, "geometry": { "type": "Point", "coordinates": [ 81.3272384, 25.9137597 ] } },
68
+ { "type": "Feature", "properties": { "Name": "GADARWARA TPP", "Latitude": 22.861752, "Longitude": 78.866129 }, "geometry": { "type": "Point", "coordinates": [ 78.866129, 22.861752 ] } },
69
+ { "type": "Feature", "properties": { "Name": "KHARGONE STPP", "Latitude": 22.065169, "Longitude": 75.851943 }, "geometry": { "type": "Point", "coordinates": [ 75.851943, 22.065169 ] } },
70
+ { "type": "Feature", "properties": { "Name": "KORBA STPS", "Latitude": 22.3874221, "Longitude": 82.6818961 }, "geometry": { "type": "Point", "coordinates": [ 82.6818961, 22.3874221 ] } },
71
+ { "type": "Feature", "properties": { "Name": "LARA TPP", "Latitude": 21.757661, "Longitude": 83.457545 }, "geometry": { "type": "Point", "coordinates": [ 83.457545, 21.757661 ] } },
72
+ { "type": "Feature", "properties": { "Name": "MAUDA TPS", "Latitude": 21.18074, "Longitude": 79.396541 }, "geometry": { "type": "Point", "coordinates": [ 79.396541, 21.18074 ] } },
73
+ { "type": "Feature", "properties": { "Name": "SIPAT STPS", "Latitude": 22.131662, "Longitude": 82.29035 }, "geometry": { "type": "Point", "coordinates": [ 82.29035, 22.131662 ] } },
74
+ { "type": "Feature", "properties": { "Name": "SOLAPUR STPS", "Latitude": 17.551296, "Longitude": 75.9832 }, "geometry": { "type": "Point", "coordinates": [ 75.9832, 17.551296 ] } },
75
+ { "type": "Feature", "properties": { "Name": "VINDHYACHAL STPS", "Latitude": 24.0983, "Longitude": 82.6719 }, "geometry": { "type": "Point", "coordinates": [ 82.6719, 24.0983 ] } },
76
+ { "type": "Feature", "properties": { "Name": "KUDGI STPP", "Latitude": 16.499546, "Longitude": 75.834632 }, "geometry": { "type": "Point", "coordinates": [ 75.834632, 16.499546 ] } },
77
+ { "type": "Feature", "properties": { "Name": "RAMAGUNDEM STPS", "Latitude": 18.7584502, "Longitude": 79.4573172 }, "geometry": { "type": "Point", "coordinates": [ 79.4573172, 18.7584502 ] } },
78
+ { "type": "Feature", "properties": { "Name": "SIMHADRI", "Latitude": 17.591, "Longitude": 83.09166 }, "geometry": { "type": "Point", "coordinates": [ 83.09166, 17.591 ] } },
79
+ { "type": "Feature", "properties": { "Name": "TELANGANA STPP PH-1", "Latitude": 18.7584502, "Longitude": 79.4573172 }, "geometry": { "type": "Point", "coordinates": [ 79.4573172, 18.7584502 ] } },
80
+ { "type": "Feature", "properties": { "Name": "BARAUNI TPS", "Latitude": 25.391376, "Longitude": 86.023488 }, "geometry": { "type": "Point", "coordinates": [ 86.023488, 25.391376 ] } },
81
+ { "type": "Feature", "properties": { "Name": "BARH STPS", "Latitude": 25.4693, "Longitude": 85.74516 }, "geometry": { "type": "Point", "coordinates": [ 85.74516, 25.4693 ] } },
82
+ { "type": "Feature", "properties": { "Name": "DARLIPALI STPS", "Latitude": 21.963554, "Longitude": 83.89187 }, "geometry": { "type": "Point", "coordinates": [ 83.89187, 21.963554 ] } },
83
+ { "type": "Feature", "properties": { "Name": "FARAKKA STPS", "Latitude": 24.772729, "Longitude": 87.893707 }, "geometry": { "type": "Point", "coordinates": [ 87.893707, 24.772729 ] } },
84
+ { "type": "Feature", "properties": { "Name": "KAHALGAON TPS", "Latitude": 25.236903, "Longitude": 87.265595 }, "geometry": { "type": "Point", "coordinates": [ 87.265595, 25.236903 ] } },
85
+ { "type": "Feature", "properties": { "Name": "NORTH KARANPURA TPP", "Latitude": 23.850772, "Longitude": 85.012411 }, "geometry": { "type": "Point", "coordinates": [ 85.012411, 23.850772 ] } },
86
+ { "type": "Feature", "properties": { "Name": "TALCHER STPS", "Latitude": 21.098074, "Longitude": 85.074005 }, "geometry": { "type": "Point", "coordinates": [ 85.074005, 21.098074 ] } },
87
+ { "type": "Feature", "properties": { "Name": "BONGAIGAON TPP", "Latitude": 26.44437, "Longitude": 90.367205 }, "geometry": { "type": "Point", "coordinates": [ 90.367205, 26.44437 ] } },
88
+ { "type": "Feature", "properties": { "Name": "INDIRA GANDHI STPP", "Latitude": 28.485091, "Longitude": 76.37316 }, "geometry": { "type": "Point", "coordinates": [ 76.37316, 28.485091 ] } },
89
+ { "type": "Feature", "properties": { "Name": "MEJA STPP", "Latitude": 25.145867, "Longitude": 81.940096 }, "geometry": { "type": "Point", "coordinates": [ 81.940096, 25.145867 ] } },
90
+ { "type": "Feature", "properties": { "Name": "BHILAI TPS", "Latitude": 21.184, "Longitude": 81.4237 }, "geometry": { "type": "Point", "coordinates": [ 81.4237, 21.184 ] } },
91
+ { "type": "Feature", "properties": { "Name": "SEIONI TPP", "Latitude": 22.735479, "Longitude": 79.912341 }, "geometry": { "type": "Point", "coordinates": [ 79.912341, 22.735479 ] } },
92
+ { "type": "Feature", "properties": { "Name": "VALLUR TPP", "Latitude": 13.237131, "Longitude": 80.301754 }, "geometry": { "type": "Point", "coordinates": [ 80.301754, 13.237131 ] } },
93
+ { "type": "Feature", "properties": { "Name": "MUZAFFARPUR TPS", "Latitude": 26.194771, "Longitude": 85.303302 }, "geometry": { "type": "Point", "coordinates": [ 85.303302, 26.194771 ] } },
94
+ { "type": "Feature", "properties": { "Name": "NABINAGAR STPP", "Latitude": 24.776, "Longitude": 84.158025 }, "geometry": { "type": "Point", "coordinates": [ 84.158025, 24.776 ] } },
95
+ { "type": "Feature", "properties": { "Name": "NABINAGAR TPP", "Latitude": 24.705081, "Longitude": 84.088738 }, "geometry": { "type": "Point", "coordinates": [ 84.088738, 24.705081 ] } },
96
+ { "type": "Feature", "properties": { "Name": "BOKARO TPS `A` EXP", "Latitude": 23.782944, "Longitude": 85.883391 }, "geometry": { "type": "Point", "coordinates": [ 85.883391, 23.782944 ] } },
97
+ { "type": "Feature", "properties": { "Name": "CHANDRAPURA(DVC) TPS", "Latitude": 20.0063, "Longitude": 79.29 }, "geometry": { "type": "Point", "coordinates": [ 79.29, 20.0063 ] } },
98
+ { "type": "Feature", "properties": { "Name": "DURGAPUR STEEL TPS", "Latitude": 23.531506, "Longitude": 87.249856 }, "geometry": { "type": "Point", "coordinates": [ 87.249856, 23.531506 ] } },
99
+ { "type": "Feature", "properties": { "Name": "KODARMA TPP", "Latitude": 24.391534, "Longitude": 85.561899 }, "geometry": { "type": "Point", "coordinates": [ 85.561899, 24.391534 ] } },
100
+ { "type": "Feature", "properties": { "Name": "MEJIA TPS", "Latitude": 23.4639, "Longitude": 87.1311 }, "geometry": { "type": "Point", "coordinates": [ 87.1311, 23.4639 ] } },
101
+ { "type": "Feature", "properties": { "Name": "RAGHUNATHPUR TPP", "Latitude": 23.62191, "Longitude": 86.660703 }, "geometry": { "type": "Point", "coordinates": [ 86.660703, 23.62191 ] } },
102
+ { "type": "Feature", "properties": { "Name": "NTPL TUTICORIN TPP", "Latitude": 8.760363, "Longitude": 78.171083 }, "geometry": { "type": "Point", "coordinates": [ 78.171083, 8.760363 ] } },
103
+ { "type": "Feature", "properties": { "Name": "ADANI POWER LIMITED KAWAI TPP", "Latitude": 24.777997, "Longitude": 76.737144 }, "geometry": { "type": "Point", "coordinates": [ 76.737144, 24.777997 ] } },
104
+ { "type": "Feature", "properties": { "Name": "ADANI POWER LIMITED RAIGARH TPP", "Latitude": 21.743775, "Longitude": 83.274093 }, "geometry": { "type": "Point", "coordinates": [ 83.274093, 21.743775 ] } },
105
+ { "type": "Feature", "properties": { "Name": "ADANI POWER LIMITED RAIPUR TPP", "Latitude": 21.449918, "Longitude": 81.852474 }, "geometry": { "type": "Point", "coordinates": [ 81.852474, 21.449918 ] } },
106
+ { "type": "Feature", "properties": { "Name": "ADANI POWER LIMITED TIRODA TPP", "Latitude": 21.412502, "Longitude": 79.96731 }, "geometry": { "type": "Point", "coordinates": [ 79.96731, 21.412502 ] } },
107
+ { "type": "Feature", "properties": { "Name": "AKALTARA TPS", "Latitude": 21.960296, "Longitude": 82.409064 }, "geometry": { "type": "Point", "coordinates": [ 82.409064, 21.960296 ] } },
108
+ { "type": "Feature", "properties": { "Name": "AMRAVATI TPS", "Latitude": 21.080316, "Longitude": 77.901242 }, "geometry": { "type": "Point", "coordinates": [ 77.901242, 21.080316 ] } },
109
+ { "type": "Feature", "properties": { "Name": "ANPARA C TPS", "Latitude": 24.202043, "Longitude": 82.789128 }, "geometry": { "type": "Point", "coordinates": [ 82.789128, 24.202043 ] } },
110
+ { "type": "Feature", "properties": { "Name": "ANUPPUR TPP", "Latitude": 23.073731, "Longitude": 81.784286 }, "geometry": { "type": "Point", "coordinates": [ 81.784286, 23.073731 ] } },
111
+ { "type": "Feature", "properties": { "Name": "BALCO TPS", "Latitude": 22.3930944, "Longitude": 82.7439443 }, "geometry": { "type": "Point", "coordinates": [ 82.7439443, 22.3930944 ] } },
112
+ { "type": "Feature", "properties": { "Name": "BANDAKHAR TPP", "Latitude": 22.340954, "Longitude": 82.430603 }, "geometry": { "type": "Point", "coordinates": [ 82.430603, 22.340954 ] } },
113
+ { "type": "Feature", "properties": { "Name": "BARADARHA TPS", "Latitude": 21.911436, "Longitude": 83.188863 }, "geometry": { "type": "Point", "coordinates": [ 83.188863, 21.911436 ] } },
114
+ { "type": "Feature", "properties": { "Name": "BARKHERA TPS", "Latitude": 28.55, "Longitude": 80.1 }, "geometry": { "type": "Point", "coordinates": [ 80.1, 28.55 ] } },
115
+ { "type": "Feature", "properties": { "Name": "BELA TPS", "Latitude": 20.806389, "Longitude": 79.051944 }, "geometry": { "type": "Point", "coordinates": [ 79.051944, 20.806389 ] } },
116
+ { "type": "Feature", "properties": { "Name": "BINA TPS", "Latitude": 24.317222, "Longitude": 78.133564 }, "geometry": { "type": "Point", "coordinates": [ 78.133564, 24.317222 ] } },
117
+ { "type": "Feature", "properties": { "Name": "BINJKOTE TPP", "Latitude": 22.010422, "Longitude": 83.205779 }, "geometry": { "type": "Point", "coordinates": [ 83.205779, 22.010422 ] } },
118
+ { "type": "Feature", "properties": { "Name": "BUDGE BUDGE TPS", "Latitude": 22.470344, "Longitude": 88.139949 }, "geometry": { "type": "Point", "coordinates": [ 88.139949, 22.470344 ] } },
119
+ { "type": "Feature", "properties": { "Name": "DAHANU TPS", "Latitude": 19.9545, "Longitude": 72.7478 }, "geometry": { "type": "Point", "coordinates": [ 72.7478, 19.9545 ] } },
120
+ { "type": "Feature", "properties": { "Name": "DERANG TPP", "Latitude": 21.127044, "Longitude": 84.980552 }, "geometry": { "type": "Point", "coordinates": [ 84.980552, 21.127044 ] } },
121
+ { "type": "Feature", "properties": { "Name": "DHARIWAL TPP", "Latitude": 20.010588, "Longitude": 79.203433 }, "geometry": { "type": "Point", "coordinates": [ 79.203433, 20.010588 ] } },
122
+ { "type": "Feature", "properties": { "Name": "GMR WARORA TPS", "Latitude": 20.279656, "Longitude": 78.975351 }, "geometry": { "type": "Point", "coordinates": [ 78.975351, 20.279656 ] } },
123
+ { "type": "Feature", "properties": { "Name": "HALDIA TPP", "Latitude": 22.060459, "Longitude": 88.109748 }, "geometry": { "type": "Point", "coordinates": [ 88.109748, 22.060459 ] } },
124
+ { "type": "Feature", "properties": { "Name": "HIRANMAYE TPP", "Latitude": 22.076989, "Longitude": 88.098413 }, "geometry": { "type": "Point", "coordinates": [ 88.098413, 22.076989 ] } },
125
+ { "type": "Feature", "properties": { "Name": "JOJOBERA TPS", "Latitude": 22.7554, "Longitude": 86.2491 }, "geometry": { "type": "Point", "coordinates": [ 86.2491, 22.7554 ] } },
126
+ { "type": "Feature", "properties": { "Name": "KAMALANGA TPS", "Latitude": 20.870576, "Longitude": 85.266979 }, "geometry": { "type": "Point", "coordinates": [ 85.266979, 20.870576 ] } },
127
+ { "type": "Feature", "properties": { "Name": "KHAMBARKHERA TPS", "Latitude": 27.9, "Longitude": 80.8 }, "geometry": { "type": "Point", "coordinates": [ 80.8, 27.9 ] } },
128
+ { "type": "Feature", "properties": { "Name": "KUNDARKI TPS", "Latitude": 27.03, "Longitude": 82.23 }, "geometry": { "type": "Point", "coordinates": [ 82.23, 27.03 ] } },
129
+ { "type": "Feature", "properties": { "Name": "LALITPUR TPS", "Latitude": 24.795833, "Longitude": 78.646944 }, "geometry": { "type": "Point", "coordinates": [ 78.646944, 24.795833 ] } },
130
+ { "type": "Feature", "properties": { "Name": "MAHADEV PRASAD STPP", "Latitude": 22.836504, "Longitude": 86.061294 }, "geometry": { "type": "Point", "coordinates": [ 86.061294, 22.836504 ] } },
131
+ { "type": "Feature", "properties": { "Name": "MAHAN TPP", "Latitude": 24.008674, "Longitude": 82.41703 }, "geometry": { "type": "Point", "coordinates": [ 82.41703, 24.008674 ] } },
132
+ { "type": "Feature", "properties": { "Name": "MAHATMA GANDHI TPS", "Latitude": 28.488143, "Longitude": 76.352534 }, "geometry": { "type": "Point", "coordinates": [ 76.352534, 28.488143 ] } },
133
+ { "type": "Feature", "properties": { "Name": "MAITHON RB TPP", "Latitude": 23.8209, "Longitude": 86.76 }, "geometry": { "type": "Point", "coordinates": [ 86.76, 23.8209 ] } },
134
+ { "type": "Feature", "properties": { "Name": "MAQSOODPUR TPS", "Latitude": 27.81, "Longitude": 79.94 }, "geometry": { "type": "Point", "coordinates": [ 79.94, 27.81 ] } },
135
+ { "type": "Feature", "properties": { "Name": "NAWAPARA TPP", "Latitude": 21.906738, "Longitude": 83.128556 }, "geometry": { "type": "Point", "coordinates": [ 83.128556, 21.906738 ] } },
136
+ { "type": "Feature", "properties": { "Name": "NIGRI TPP", "Latitude": 24.14997, "Longitude": 81.904525 }, "geometry": { "type": "Point", "coordinates": [ 81.904525, 24.14997 ] } },
137
+ { "type": "Feature", "properties": { "Name": "OP JINDAL TPS", "Latitude": 22.104, "Longitude": 83.445 }, "geometry": { "type": "Point", "coordinates": [ 83.445, 22.104 ] } },
138
+ { "type": "Feature", "properties": { "Name": "PAINAMPURAM TPP", "Latitude": 14.351195, "Longitude": 80.143086 }, "geometry": { "type": "Point", "coordinates": [ 80.143086, 14.351195 ] } },
139
+ { "type": "Feature", "properties": { "Name": "PATHADI TPP", "Latitude": 22.2454, "Longitude": 82.7246 }, "geometry": { "type": "Point", "coordinates": [ 82.7246, 22.2454 ] } },
140
+ { "type": "Feature", "properties": { "Name": "PRAYAGRAJ TPP", "Latitude": 25.196345, "Longitude": 81.658534 }, "geometry": { "type": "Point", "coordinates": [ 81.658534, 25.196345 ] } },
141
+ { "type": "Feature", "properties": { "Name": "RAJPURA TPP", "Latitude": 30.558963, "Longitude": 76.577593 }, "geometry": { "type": "Point", "coordinates": [ 76.577593, 30.558963 ] } },
142
+ { "type": "Feature", "properties": { "Name": "ROSA TPP Ph-I", "Latitude": 27.8194455, "Longitude": 79.9371618 }, "geometry": { "type": "Point", "coordinates": [ 79.9371618, 27.8194455 ] } },
143
+ { "type": "Feature", "properties": { "Name": "SABARMATI (D-F STATIONS)", "Latitude": 23.070555, "Longitude": 72.593889 }, "geometry": { "type": "Point", "coordinates": [ 72.593889, 23.070555 ] } },
144
+ { "type": "Feature", "properties": { "Name": "SASAN UMTPP", "Latitude": 23.9775233, "Longitude": 82.6264733 }, "geometry": { "type": "Point", "coordinates": [ 82.6264733, 23.9775233 ] } },
145
+ { "type": "Feature", "properties": { "Name": "SGPL TPP", "Latitude": 14.351195, "Longitude": 80.143086 }, "geometry": { "type": "Point", "coordinates": [ 80.143086, 14.351195 ] } },
146
+ { "type": "Feature", "properties": { "Name": "SHIRPUR TPP", "Latitude": 21.15103, "Longitude": 74.854206 }, "geometry": { "type": "Point", "coordinates": [ 74.854206, 21.15103 ] } },
147
+ { "type": "Feature", "properties": { "Name": "SOUTHERN REPL. TPS", "Latitude": 22.549591, "Longitude": 88.291512 }, "geometry": { "type": "Point", "coordinates": [ 88.291512, 22.549591 ] } },
148
+ { "type": "Feature", "properties": { "Name": "TALWANDI SABO TPP", "Latitude": 29.92458, "Longitude": 75.238929 }, "geometry": { "type": "Point", "coordinates": [ 75.238929, 29.92458 ] } },
149
+ { "type": "Feature", "properties": { "Name": "TAMNAR TPP", "Latitude": 22.098747, "Longitude": 83.451312 }, "geometry": { "type": "Point", "coordinates": [ 83.451312, 22.098747 ] } },
150
+ { "type": "Feature", "properties": { "Name": "UCHPINDA TPP", "Latitude": 21.8864, "Longitude": 83.12081 }, "geometry": { "type": "Point", "coordinates": [ 83.12081, 21.8864 ] } },
151
+ { "type": "Feature", "properties": { "Name": "UTKAL TPP (IND BARATH)", "Latitude": 21.657942, "Longitude": 83.919513 }, "geometry": { "type": "Point", "coordinates": [ 83.919513, 21.657942 ] } },
152
+ { "type": "Feature", "properties": { "Name": "UTRAULA TPS", "Latitude": 27.43, "Longitude": 82.18 }, "geometry": { "type": "Point", "coordinates": [ 82.18, 27.43 ] } },
153
+ { "type": "Feature", "properties": { "Name": "VEDANTA TPP", "Latitude": 21.815743, "Longitude": 84.042036 }, "geometry": { "type": "Point", "coordinates": [ 84.042036, 21.815743 ] } },
154
+ { "type": "Feature", "properties": { "Name": "VIZAG TPP", "Latitude": 17.563642, "Longitude": 83.138877 }, "geometry": { "type": "Point", "coordinates": [ 83.138877, 17.563642 ] } },
155
+ { "type": "Feature", "properties": { "Name": "WARDHA WARORA TPP", "Latitude": 20.272443, "Longitude": 78.978916 }, "geometry": { "type": "Point", "coordinates": [ 78.978916, 20.272443 ] } },
156
+ { "type": "Feature", "properties": { "Name": "SIKKA REP. TPS", "Latitude": 22.420828, "Longitude": 69.8276 }, "geometry": { "type": "Point", "coordinates": [ 69.8276, 22.420828 ] } },
157
+ { "type": "Feature", "properties": { "Name": "ADANI POWER LIMITED MUNDRA TPP - III", "Latitude": 22.8234904, "Longitude": 69.5534831 }, "geometry": { "type": "Point", "coordinates": [ 69.5534831, 22.8234904 ] } },
158
+ { "type": "Feature", "properties": { "Name": "ADANI POWER LIMITED MUNDRA TPP - I & II", "Latitude": 22.8234904, "Longitude": 69.5534831 }, "geometry": { "type": "Point", "coordinates": [ 69.5534831, 22.8234904 ] } },
159
+ { "type": "Feature", "properties": { "Name": "ADANI POWER LIMITED UDUPI TPP", "Latitude": 13.1596, "Longitude": 74.8002 }, "geometry": { "type": "Point", "coordinates": [ 74.8002, 13.1596 ] } },
160
+ { "type": "Feature", "properties": { "Name": "ITPCL TPP", "Latitude": 11.5216092, "Longitude": 79.7518447 }, "geometry": { "type": "Point", "coordinates": [ 79.7518447, 11.5216092 ] } },
161
+ { "type": "Feature", "properties": { "Name": "JSW RATNAGIRI TPP", "Latitude": 17.296375, "Longitude": 73.213105 }, "geometry": { "type": "Point", "coordinates": [ 73.213105, 17.296375 ] } },
162
+ { "type": "Feature", "properties": { "Name": "MUNDRA UMTPP", "Latitude": 22.8158, "Longitude": 69.5281 }, "geometry": { "type": "Point", "coordinates": [ 69.5281, 22.8158 ] } },
163
+ { "type": "Feature", "properties": { "Name": "MUTHIARA TPP", "Latitude": 8.912716, "Longitude": 78.144965 }, "geometry": { "type": "Point", "coordinates": [ 78.144965, 8.912716 ] } },
164
+ { "type": "Feature", "properties": { "Name": "OPG Power Generation Private Limited", "Latitude": 13.437422, "Longitude": 80.09788 }, "geometry": { "type": "Point", "coordinates": [ 80.09788, 13.437422 ] } },
165
+ { "type": "Feature", "properties": { "Name": "SALAYA TPP", "Latitude": 22.3049, "Longitude": 69.7101 }, "geometry": { "type": "Point", "coordinates": [ 69.7101, 22.3049 ] } },
166
+ { "type": "Feature", "properties": { "Name": "SHREE CEMENT LTD TPS", "Latitude": 26.073889, "Longitude": 74.385 }, "geometry": { "type": "Point", "coordinates": [ 74.385, 26.073889 ] } },
167
+ { "type": "Feature", "properties": { "Name": "SIMHAPURI TPS", "Latitude": 14.204576, "Longitude": 80.086636 }, "geometry": { "type": "Point", "coordinates": [ 80.086636, 14.204576 ] } },
168
+ { "type": "Feature", "properties": { "Name": "TORANGALLU TPS(SBU-I)", "Latitude": 15.186771, "Longitude": 76.6621387 }, "geometry": { "type": "Point", "coordinates": [ 76.6621387, 15.186771 ] } },
169
+ { "type": "Feature", "properties": { "Name": "TORANGALLU TPS(SBU-II)", "Latitude": 15.186771, "Longitude": 76.6621387 }, "geometry": { "type": "Point", "coordinates": [ 76.6621387, 15.186771 ] } },
170
+ { "type": "Feature", "properties": { "Name": "TROMBAY TPS", "Latitude": 19.0027, "Longitude": 72.8979 }, "geometry": { "type": "Point", "coordinates": [ 72.8979, 19.0027 ] } },
171
+ { "type": "Feature", "properties": { "Name": "BUTIBORI TPP", "Latitude": 20.928591, "Longitude": 78.933281 }, "geometry": { "type": "Point", "coordinates": [ 78.933281, 20.928591 ] } },
172
+ { "type": "Feature", "properties": { "Name": "MIHAN TPS", "Latitude": 21.0377, "Longitude": 78.9334 }, "geometry": { "type": "Point", "coordinates": [ 78.9334, 21.0377 ] } },
173
+ { "type": "Feature", "properties": { "Name": "SALORA TPP", "Latitude": 22.489952, "Longitude": 82.606239 }, "geometry": { "type": "Point", "coordinates": [ 82.606239, 22.489952 ] } },
174
+ { "type": "Feature", "properties": { "Name": "TITAGARH TPS", "Latitude": 22.731974, "Longitude": 88.370309 }, "geometry": { "type": "Point", "coordinates": [ 88.370309, 22.731974 ] } },
175
+ { "type": "Feature", "properties": { "Name": "CHAKABURA TPP", "Latitude": 22.393653, "Longitude": 82.553249 }, "geometry": { "type": "Point", "coordinates": [ 82.553249, 22.393653 ] } },
176
+ { "type": "Feature", "properties": { "Name": "GEPL TPP Ph-I", "Latitude": 19.92949, "Longitude": 79.133159 }, "geometry": { "type": "Point", "coordinates": [ 79.133159, 19.92949 ] } },
177
+ { "type": "Feature", "properties": { "Name": "KASAIPALLI TPP", "Latitude": 22.38895, "Longitude": 82.5549 }, "geometry": { "type": "Point", "coordinates": [ 82.5549, 22.38895 ] } },
178
+ { "type": "Feature", "properties": { "Name": "KATGHORA TPP", "Latitude": 22.489779, "Longitude": 82.60618 }, "geometry": { "type": "Point", "coordinates": [ 82.60618, 22.489779 ] } },
179
+ { "type": "Feature", "properties": { "Name": "NIWARI TPP", "Latitude": 25.43, "Longitude": 79.71 }, "geometry": { "type": "Point", "coordinates": [ 79.71, 25.43 ] } },
180
+ { "type": "Feature", "properties": { "Name": "RATIJA TPS", "Latitude": 22.339994, "Longitude": 82.492776 }, "geometry": { "type": "Point", "coordinates": [ 82.492776, 22.339994 ] } },
181
+ { "type": "Feature", "properties": { "Name": "SVPL TPP", "Latitude": 22.292, "Longitude": 82.5254 }, "geometry": { "type": "Point", "coordinates": [ 82.5254, 22.292 ] } }
182
+ ]
183
+ }
ISRO_Logo.png ADDED
SAC_Logo.png ADDED
app.py ADDED
@@ -0,0 +1,398 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import json
3
+ import ee
4
+ import os
5
+ import pandas as pd
6
+ import geopandas as gpd
7
+ from datetime import datetime
8
+ import leafmap.foliumap as leafmap
9
+ import time
10
+ import re
11
+
12
+ # Set up the page layout
13
+ st.set_page_config(layout="wide")
14
+
15
+ # Custom button styling
16
+ m = st.markdown(
17
+ """
18
+ <style>
19
+ div.stButton > button:first-child {
20
+ background-color: #006400;
21
+ color:#ffffff;
22
+ }
23
+ </style>""",
24
+ unsafe_allow_html=True,
25
+ )
26
+
27
+ # Logo
28
+ st.write(
29
+ f"""
30
+ <div style="display: flex; justify-content: space-between; align-items: center;">
31
+ <img src="https://huggingface.co/spaces/YashMK89/GEE_Calculator/resolve/main/ISRO_Logo.png" style="width: 20%; margin-right: auto;">
32
+ <img src="https://huggingface.co/spaces/YashMK89/GEE_Calculator/resolve/main/SAC_Logo.png" style="width: 20%; margin-left: auto;">
33
+ </div>
34
+ """,
35
+ unsafe_allow_html=True,
36
+ )
37
+
38
+ # Authenticate and initialize Earth Engine
39
+ earthengine_credentials = os.environ.get("EE_Authentication")
40
+
41
+ # Initialize Earth Engine with secret credentials
42
+ os.makedirs(os.path.expanduser("~/.config/earthengine/"), exist_ok=True)
43
+ with open(os.path.expanduser("~/.config/earthengine/credentials"), "w") as f:
44
+ f.write(earthengine_credentials)
45
+
46
+ ee.Initialize(project='ee-yashsacisro24')
47
+
48
+ # Load Sentinel dataset options from JSON file
49
+ with open("sentinel_datasets.json") as f:
50
+ data = json.load(f)
51
+
52
+ # Display the title and dataset selection
53
+ st.title("Sentinel Dataset")
54
+
55
+ # Select dataset category and subcategory (case-insensitive selection)
56
+ main_selection = st.selectbox("Select Sentinel Dataset Category", list(data.keys()))
57
+
58
+ if main_selection:
59
+ sub_options = data[main_selection]["sub_options"]
60
+ sub_selection = st.selectbox("Select Specific Dataset ID", list(sub_options.keys()))
61
+
62
+ # Earth Engine Index Calculator Section
63
+ st.header("Earth Engine Index Calculator")
64
+
65
+ # Choose Index or Custom Formula (case-insensitive)
66
+ index_choice = st.selectbox("Select an Index or Enter Custom Formula", ['NDVI', 'NDWI', 'Average NO₂', 'Custom Formula'])
67
+
68
+ # Initialize custom_formula variable
69
+ custom_formula = ""
70
+
71
+ # Display corresponding formula based on the index selected (case-insensitive)
72
+ if index_choice.lower() == 'ndvi':
73
+ st.write("Formula for NDVI: NDVI = (B8 - B4) / (B8 + B4)")
74
+ elif index_choice.lower() == 'ndwi':
75
+ st.write("Formula for NDWI: NDWI = (B3 - B8) / (B3 + B8)")
76
+ elif index_choice.lower() == 'average no₂':
77
+ st.write("Formula for Average NO₂: Average NO₂ = Mean(NO2 band)")
78
+ elif index_choice.lower() == 'custom formula':
79
+ custom_formula = st.text_input("Enter Custom Formula (e.g., 'B5 - B4 / B5 + B4')")
80
+ st.write(f"Custom Formula: {custom_formula}") # Display the custom formula after the user inputs it
81
+
82
+ # Function to check if the polygon geometry is valid and convert it to the correct format
83
+ def convert_to_ee_geometry(geometry):
84
+ # Ensure the polygon geometry is in the right format
85
+ if geometry.is_valid:
86
+ # Convert the geometry to GeoJSON format
87
+ geojson = geometry.__geo_interface__
88
+ # Convert to Earth Engine geometry
89
+ return ee.Geometry(geojson)
90
+ else:
91
+ raise ValueError("Invalid geometry: The polygon geometry is not valid.")
92
+
93
+ # Function to read points from CSV
94
+ def read_csv(file_path):
95
+ df = pd.read_csv(file_path)
96
+ return df
97
+
98
+ # Function to read points from GeoJSON
99
+ def read_geojson(file_path):
100
+ gdf = gpd.read_file(file_path)
101
+ return gdf
102
+
103
+ # Function to read points from KML
104
+ def read_kml(file_path):
105
+ gdf = gpd.read_file(file_path, driver='KML')
106
+ return gdf
107
+
108
+ # Ask user whether they want to process 'Point' or 'Polygon' data (case-insensitive)
109
+ shape_type = st.selectbox("Do you want to process 'Point' or 'Polygon' data?", ["Point", "Polygon"])
110
+
111
+ # Ask user to upload a file based on shape type (case-insensitive)
112
+ file_upload = st.file_uploader(f"Upload your {shape_type} data (CSV, GeoJSON, KML)", type=["csv", "geojson", "kml"])
113
+
114
+ # Date Input for Start and End Dates
115
+ start_date = st.date_input("Start Date", value=pd.to_datetime('2020-01-01'))
116
+ end_date = st.date_input("End Date", value=pd.to_datetime('2020-12-31'))
117
+
118
+ # Convert start_date and end_date to string format for Earth Engine
119
+ start_date_str = start_date.strftime('%Y-%m-%d')
120
+ end_date_str = end_date.strftime('%Y-%m-%d')
121
+
122
+ # Initialize session state for storing results if not already done
123
+ if 'results' not in st.session_state:
124
+ st.session_state.results = []
125
+ if 'last_params' not in st.session_state:
126
+ st.session_state.last_params = {}
127
+ if 'map_data' not in st.session_state:
128
+ st.session_state.map_data = None # Initialize map_data
129
+
130
+ if 'file_upload' in st.session_state:
131
+ st.session_state.file_upload = None
132
+
133
+ # Function to check if parameters have changed
134
+ def parameters_changed():
135
+ return (
136
+ st.session_state.last_params.get('main_selection') != main_selection or
137
+ st.session_state.last_params.get('sub_selection') != sub_selection or
138
+ st.session_state.last_params.get('index_choice') != index_choice or
139
+ st.session_state.last_params.get('start_date_str') != start_date_str or
140
+ st.session_state.last_params.get('end_date_str') != end_date_str
141
+ )
142
+
143
+ # If parameters have changed, reset the results
144
+ if parameters_changed():
145
+ st.session_state.results = [] # Clear the previous results
146
+ # Update the last parameters to the current ones
147
+ st.session_state.last_params = {
148
+ 'main_selection': main_selection,
149
+ 'sub_selection': sub_selection,
150
+ 'index_choice': index_choice,
151
+ 'start_date_str': start_date_str,
152
+ 'end_date_str': end_date_str
153
+ }
154
+
155
+ # Function to perform index calculations
156
+ def calculate_ndvi(image, geometry):
157
+ ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI')
158
+ result = ndvi.reduceRegion(
159
+ reducer=ee.Reducer.mean(),
160
+ geometry=geometry,
161
+ scale=30
162
+ )
163
+ return result.get('NDVI')
164
+
165
+ def calculate_ndwi(image, geometry):
166
+ ndwi = image.normalizedDifference(['B3', 'B8']).rename('NDWI')
167
+ result = ndwi.reduceRegion(
168
+ reducer=ee.Reducer.mean(),
169
+ geometry=geometry,
170
+ scale=30
171
+ )
172
+ return result.get('NDWI')
173
+
174
+ def calculate_avg_no2_sentinel5p(image, geometry):
175
+ no2 = image.select('NO2').reduceRegion(
176
+ reducer=ee.Reducer.mean(),
177
+ geometry=geometry,
178
+ scale=1000
179
+ ).get('NO2')
180
+ return no2
181
+
182
+ def calculate_custom_formula(image, geometry, formula):
183
+ result = image.expression(formula).rename('Custom Index').reduceRegion(
184
+ reducer=ee.Reducer.mean(),
185
+ geometry=geometry,
186
+ scale=30
187
+ )
188
+ return result.get('Custom Index')
189
+
190
+ # Check if the file uploaded is different from the previous file uploaded
191
+ if 'file_upload' in st.session_state and st.session_state.file_upload != file_upload:
192
+ reset_session_state_for_new_file() # Reset session state for new file
193
+
194
+ # Process each point or polygon
195
+ if file_upload:
196
+ locations_df = None # Initialize locations_df to None
197
+ polygons_df = None # Initialize polygons_df to None
198
+
199
+ file_extension = os.path.splitext(file_upload.name)[1].lower() # Convert extension to lowercase
200
+
201
+ # Read file based on shape type (case-insensitive)
202
+ if shape_type.lower() == 'point':
203
+ if file_extension == '.csv':
204
+ locations_df = read_csv(file_upload)
205
+ elif file_extension == '.geojson':
206
+ locations_df = read_geojson(file_upload)
207
+ elif file_extension == '.kml':
208
+ locations_df = read_kml(file_upload)
209
+ else:
210
+ st.error("Unsupported file type. Please upload a CSV, GeoJSON, or KML file for points.")
211
+ elif shape_type.lower() == 'polygon':
212
+ if file_extension == '.geojson':
213
+ polygons_df = read_geojson(file_upload)
214
+ elif file_extension == '.kml':
215
+ polygons_df = read_kml(file_upload)
216
+ else:
217
+ st.error("Unsupported file type. Please upload a GeoJSON or KML file for polygons.")
218
+
219
+ # Check if locations_df is populated for points
220
+ if locations_df is not None:
221
+ # Display a preview of the points data
222
+ st.write("Preview of the uploaded points data:")
223
+ st.dataframe(locations_df.head())
224
+
225
+ # Create a LeafMap object to display the points
226
+ m = leafmap.Map(center=[locations_df['latitude'].mean(), locations_df['longitude'].mean()], zoom=10)
227
+
228
+ # Add points to the map using a loop
229
+ for _, row in locations_df.iterrows():
230
+ latitude = row['latitude']
231
+ longitude = row['longitude']
232
+
233
+ # Check if latitude or longitude are NaN and skip if they are
234
+ if pd.isna(latitude) or pd.isna(longitude):
235
+ continue # Skip this row and move to the next one
236
+
237
+ m.add_marker(location=[latitude, longitude], popup=row.get('name', 'No Name'))
238
+
239
+ # Display map
240
+ st.write("Map of Uploaded Points:")
241
+ m.to_streamlit()
242
+
243
+ # Store the map in session_state
244
+ st.session_state.map_data = m
245
+
246
+ # Process each point for index calculation
247
+ for idx, row in locations_df.iterrows():
248
+ latitude = row['latitude']
249
+ longitude = row['longitude']
250
+ location_name = row.get('name', f"Point_{idx}")
251
+
252
+ # Skip processing if latitude or longitude is NaN
253
+ if pd.isna(latitude) or pd.isna(longitude):
254
+ continue # Skip this row and move to the next one
255
+
256
+ # Define the region of interest (ROI)
257
+ roi = ee.Geometry.Point([longitude, latitude])
258
+
259
+ # Load Sentinel-2 image collection
260
+ collection = ee.ImageCollection(sub_options[sub_selection]) \
261
+ .filterDate(ee.Date(start_date_str), ee.Date(end_date_str)) \
262
+ .filterBounds(roi)
263
+
264
+ # Check if the collection has images for the selected date range
265
+ image_count = collection.size().getInfo()
266
+ if image_count == 0:
267
+ st.warning(f"No images found for {location_name}.")
268
+ else:
269
+ st.write(f"Found {image_count} images for {location_name}.")
270
+ image = collection.first()
271
+
272
+ # Perform the calculation based on user selection
273
+ result = None
274
+ if index_choice.lower() == 'ndvi':
275
+ result = calculate_ndvi(image, roi)
276
+ elif index_choice.lower() == 'ndwi':
277
+ result = calculate_ndwi(image, roi)
278
+ elif index_choice.lower() == 'average no₂':
279
+ if 'NO2' in image.bandNames().getInfo():
280
+ result = calculate_avg_no2_sentinel5p(image, roi)
281
+ else:
282
+ st.warning(f"No NO2 band found for {location_name}. Please use Sentinel-5P for NO₂ data.")
283
+ elif index_choice.lower() == 'custom formula' and custom_formula:
284
+ result = calculate_custom_formula(image, roi, custom_formula)
285
+
286
+ if result is not None:
287
+ # Only store the numeric value (not the dictionary structure)
288
+ calculated_value = result.getInfo() # Get the numeric value
289
+
290
+ # Store the result in session state
291
+ st.session_state.results.append({
292
+ 'Location Name': location_name,
293
+ 'Latitude': latitude,
294
+ 'Longitude': longitude,
295
+ 'Calculated Value': calculated_value
296
+ })
297
+
298
+ # Check if polygons_df is populated for polygons
299
+ if polygons_df is not None:
300
+ # Display a preview of the polygons data
301
+ st.write("Preview of the uploaded polygons data:")
302
+ st.dataframe(polygons_df.head())
303
+
304
+ # Create a LeafMap object to display the polygons
305
+ m = leafmap.Map(center=[polygons_df.geometry.centroid.y.mean(), polygons_df.geometry.centroid.x.mean()], zoom=10)
306
+
307
+ # Add polygons to the map
308
+ for _, row in polygons_df.iterrows():
309
+ polygon = row['geometry']
310
+ if polygon.is_valid: # Check if the geometry is valid
311
+ # Create a GeoDataFrame with the single row
312
+ gdf = gpd.GeoDataFrame([row], geometry=[polygon], crs=polygons_df.crs)
313
+
314
+ # Add the valid GeoDataFrame to the map
315
+ m.add_gdf(gdf=gdf, layer_name=row.get('name', 'Unnamed Polygon'))
316
+
317
+ # Display map
318
+ st.write("Map of Uploaded Polygons:")
319
+ m.to_streamlit()
320
+
321
+ # Store the map in session_state
322
+ st.session_state.map_data = m
323
+
324
+ # Process each polygon for index calculation
325
+ for idx, row in polygons_df.iterrows():
326
+ polygon = row['geometry']
327
+ location_name = row.get('name', f"Polygon_{idx}")
328
+
329
+ # Define the region of interest (ROI)
330
+ try:
331
+ roi = convert_to_ee_geometry(polygon)
332
+ except ValueError as e:
333
+ st.error(str(e))
334
+ continue # Skip this polygon if geometry is invalid
335
+
336
+ # Load Sentinel-2 image collection
337
+ collection = ee.ImageCollection(sub_options[sub_selection]) \
338
+ .filterDate(ee.Date(start_date_str), ee.Date(end_date_str)) \
339
+ .filterBounds(roi)
340
+
341
+ # Check if the collection has images for the selected date range
342
+ image_count = collection.size().getInfo()
343
+ if image_count == 0:
344
+ st.warning(f"No images found for {location_name}.")
345
+ else:
346
+ st.write(f"Found {image_count} images for {location_name}.")
347
+ image = collection.first()
348
+
349
+ # Perform the calculation based on user selection
350
+ result = None
351
+ if index_choice.lower() == 'ndvi':
352
+ result = calculate_ndvi(image, roi)
353
+ elif index_choice.lower() == 'ndwi':
354
+ result = calculate_ndwi(image, roi)
355
+ elif index_choice.lower() == 'average no₂':
356
+ if 'NO2' in image.bandNames().getInfo():
357
+ result = calculate_avg_no2_sentinel5p(image, roi)
358
+ else:
359
+ st.warning(f"No NO2 band found for {location_name}. Please use Sentinel-5P for NO₂ data.")
360
+ elif index_choice.lower() == 'custom formula' and custom_formula:
361
+ result = calculate_custom_formula(image, roi, custom_formula)
362
+
363
+ if result is not None:
364
+ # Only store the numeric value (not the dictionary structure)
365
+ calculated_value = result.getInfo() # Get the numeric value
366
+
367
+ # Store the result in session state
368
+ st.session_state.results.append({
369
+ 'Location Name': location_name,
370
+ 'Calculated Value': calculated_value
371
+ })
372
+
373
+ # After processing, show the results
374
+ if st.session_state.results:
375
+ # Convert the results to a DataFrame for better visualization
376
+ result_df = pd.DataFrame(st.session_state.results)
377
+
378
+ # If the shape type is 'Point', include 'Latitude' and 'Longitude'
379
+ if shape_type.lower() == 'point':
380
+ # Show the results in a table format with Latitude and Longitude
381
+ st.write("Processed Results Table (Points):")
382
+ st.dataframe(result_df[['Location Name', 'Latitude', 'Longitude', 'Calculated Value']])
383
+ else:
384
+ # For polygons, we only show the Location Name and Calculated Value
385
+ st.write("Processed Results Table (Polygons):")
386
+ st.dataframe(result_df[['Location Name', 'Calculated Value']])
387
+
388
+ # Generate the dynamic filename
389
+ filename = f"{main_selection}_{sub_selection}_{start_date.strftime('%Y/%m/%d')}_{end_date.strftime('%Y/%m/%d')}_{shape_type}.csv"
390
+
391
+ # Convert results to DataFrame for download
392
+ st.download_button(
393
+ label="Download results as CSV",
394
+ data=result_df.to_csv(index=False).encode('utf-8'),
395
+ file_name=filename,
396
+ mime='text/csv'
397
+ )
398
+
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ streamlit
2
+ ee
3
+ geemap
4
+ panda
5
+ geopandas
6
+ leafmap
sentinel_datasets.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "Sentinel-1 SAR GRD: C-band Synthetic Aperture Radar": {
3
+ "sub_options": {
4
+ "COPERNICUS/S1_GRD": "COPERNICUS/S1_GRD"
5
+ }
6
+ },
7
+ "Sentinel-2 MSI: Multispectral Instrument": {
8
+ "sub_options": {
9
+ "Surface Reflectance": "COPERNICUS/S2_SR_HARMONIZED",
10
+ "Top-of-Atmosphere Reflectance": "COPERNICUS/S2_HARMONIZED"
11
+ }
12
+ },
13
+ "Sentinel-3 OLCI EFR: Ocean and Land Color Instrument": {
14
+ "sub_options": {
15
+ "OLCI Radiance": "COPERNICUS/S3/OLCI"
16
+ }
17
+ },
18
+ "Sentinel-5P TROPOMI: TROPOspheric Monitoring Instrument": {
19
+ "sub_options": {
20
+ "Absorbing Aerosol Index": "COPERNICUS/S5P/OFFL/L3_AER_AI",
21
+ "Cloud Properties": "COPERNICUS/S5P/OFFL/L3_CLOUD",
22
+ "Carbon Monoxide (CO)": "COPERNICUS/S5P/OFFL/L3_CO",
23
+ "Formaldehyde (HCHO)": "COPERNICUS/S5P/OFFL/L3_HCHO",
24
+ "Nitrogen Dioxide (NO2)": "COPERNICUS/S5P/OFFL/L3_NO2",
25
+ "Ozone (O3)": "COPERNICUS/S5P/OFFL/L3_O3",
26
+ "Sulfur Dioxide (SO2)": "COPERNICUS/S5P/OFFL/L3_SO2",
27
+ "Methane (CH4)": "COPERNICUS/S5P/OFFL/L3_CH4"
28
+ }
29
+ },
30
+ "Derived Datasets": {
31
+ "sub_options": {
32
+ "Dynamic World": "GOOGLE/DYNAMICWORLD/V1",
33
+ "WorldCover": "ESA/WorldCover/v100",
34
+ "Cloud Score Plus": "GOOGLE/CLOUD_SCORE_PLUS/V1/S2_HARMONIZED",
35
+ "Sentinel-2 Cloud Probability": "COPERNICUS/S2_CLOUD_PROBABILITY"
36
+ }
37
+ }
38
+ }