]> git.basschouten.com Git - openhab-addons.git/blob
bc84954c62e57c2c2241fb767e7712797684bd7f
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2020 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.fmiweather.internal.discovery;
14
15 import java.math.BigDecimal;
16 import java.util.HashSet;
17 import java.util.Set;
18
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.binding.fmiweather.internal.client.Location;
21
22 /**
23  * Cities of Finland
24  *
25  * Parsed from
26  * https://opendata.fmi.fi/wfs?service=WFS&version=2.0.0&request=getFeature&storedquery_id=fmi::forecast::hirlam::surface::cities::multipointcoverage
27  *
28  * Using piece of code similar to below:
29  *
30  * <pre>
31  * System.out.println(parseMultiPointCoverageXml(new String(
32  *         Files.readAllBytes(getTestResource("forecast_hirlam_surface_cities_multipointcoverage_response.xml"))))
33  *                 .getLocations());
34  * </pre>
35  *
36  *
37  * @author Sami Salonen - Initial contribution
38  */
39 @NonNullByDefault
40 public final class CitiesOfFinland {
41
42     public static final Set<Location> CITIES_OF_FINLAND = new HashSet<>();
43     static {
44         CITIES_OF_FINLAND
45                 .add(new Location("Akaa", "61.16667,23.86667", new BigDecimal("61.16667"), new BigDecimal("23.86667")));
46         CITIES_OF_FINLAND.add(
47                 new Location("Alajärvi", "63.00000,23.81667", new BigDecimal("63.00000"), new BigDecimal("23.81667")));
48         CITIES_OF_FINLAND.add(
49                 new Location("Alavus", "62.58333,23.61667", new BigDecimal("62.58333"), new BigDecimal("23.61667")));
50         CITIES_OF_FINLAND.add(
51                 new Location("Espoo", "60.20520,24.65220", new BigDecimal("60.20520"), new BigDecimal("24.65220")));
52         CITIES_OF_FINLAND.add(
53                 new Location("Forssa", "60.81462,23.62146", new BigDecimal("60.81462"), new BigDecimal("23.62146")));
54         CITIES_OF_FINLAND.add(new Location("Haapajärvi", "63.75000,25.33333", new BigDecimal("63.75000"),
55                 new BigDecimal("25.33333")));
56         CITIES_OF_FINLAND.add(
57                 new Location("Haapavesi", "64.12507,25.34792", new BigDecimal("64.12507"), new BigDecimal("25.34792")));
58         CITIES_OF_FINLAND.add(
59                 new Location("Hamina", "60.56974,27.19794", new BigDecimal("60.56974"), new BigDecimal("27.19794")));
60         CITIES_OF_FINLAND.add(
61                 new Location("Hanko", "59.83333,22.95000", new BigDecimal("59.83333"), new BigDecimal("22.95000")));
62         CITIES_OF_FINLAND.add(new Location("Harjavalta", "61.31667,22.13333", new BigDecimal("61.31667"),
63                 new BigDecimal("22.13333")));
64         CITIES_OF_FINLAND.add(
65                 new Location("Heinola", "61.20564,26.03811", new BigDecimal("61.20564"), new BigDecimal("26.03811")));
66         CITIES_OF_FINLAND.add(
67                 new Location("Helsinki", "60.16952,24.93545", new BigDecimal("60.16952"), new BigDecimal("24.93545")));
68         CITIES_OF_FINLAND.add(
69                 new Location("Huittinen", "61.18333,22.70000", new BigDecimal("61.18333"), new BigDecimal("22.70000")));
70         CITIES_OF_FINLAND.add(
71                 new Location("Hyvinkää", "60.63333,24.86667", new BigDecimal("60.63333"), new BigDecimal("24.86667")));
72         CITIES_OF_FINLAND.add(new Location("Hämeenlinna", "60.99596,24.46434", new BigDecimal("60.99596"),
73                 new BigDecimal("24.46434")));
74         CITIES_OF_FINLAND.add(
75                 new Location("Iisalmi", "63.55915,27.19067", new BigDecimal("63.55915"), new BigDecimal("27.19067")));
76         CITIES_OF_FINLAND.add(
77                 new Location("Ikaalinen", "61.76951,23.06580", new BigDecimal("61.76951"), new BigDecimal("23.06580")));
78         CITIES_OF_FINLAND.add(
79                 new Location("Imatra", "61.17185,28.75242", new BigDecimal("61.17185"), new BigDecimal("28.75242")));
80         CITIES_OF_FINLAND.add(
81                 new Location("Jakobstad", "63.67486,22.70256", new BigDecimal("63.67486"), new BigDecimal("22.70256")));
82         CITIES_OF_FINLAND.add(
83                 new Location("Joensuu", "62.60118,29.76316", new BigDecimal("62.60118"), new BigDecimal("29.76316")));
84         CITIES_OF_FINLAND.add(
85                 new Location("Juankoski", "63.06667,28.35000", new BigDecimal("63.06667"), new BigDecimal("28.35000")));
86         CITIES_OF_FINLAND.add(
87                 new Location("Jyvaskyla", "62.24147,25.72088", new BigDecimal("62.24147"), new BigDecimal("25.72088")));
88         CITIES_OF_FINLAND.add(
89                 new Location("Jämsä", "61.86420,25.19002", new BigDecimal("61.86420"), new BigDecimal("25.19002")));
90         CITIES_OF_FINLAND.add(
91                 new Location("Järvenpää", "60.47369,25.08992", new BigDecimal("60.47369"), new BigDecimal("25.08992")));
92         CITIES_OF_FINLAND.add(
93                 new Location("Kaarina", "60.40724,22.36904", new BigDecimal("60.40724"), new BigDecimal("22.36904")));
94         CITIES_OF_FINLAND.add(
95                 new Location("Kajaani", "64.22728,27.72846", new BigDecimal("64.22728"), new BigDecimal("27.72846")));
96         CITIES_OF_FINLAND.add(
97                 new Location("Kalajoki", "64.25000,23.95000", new BigDecimal("64.25000"), new BigDecimal("23.95000")));
98         CITIES_OF_FINLAND.add(new Location("Kankaanpää", "61.80000,22.41667", new BigDecimal("61.80000"),
99                 new BigDecimal("22.41667")));
100         CITIES_OF_FINLAND.add(
101                 new Location("Kannus", "63.90000,23.90000", new BigDecimal("63.90000"), new BigDecimal("23.90000")));
102         CITIES_OF_FINLAND.add(
103                 new Location("Karkkila", "60.53418,24.20977", new BigDecimal("60.53418"), new BigDecimal("24.20977")));
104         CITIES_OF_FINLAND.add(
105                 new Location("Kaskinen", "62.38330,21.21670", new BigDecimal("62.38330"), new BigDecimal("21.21670")));
106         CITIES_OF_FINLAND.add(
107                 new Location("Kauhajoki", "62.43333,22.18333", new BigDecimal("62.43333"), new BigDecimal("22.18333")));
108         CITIES_OF_FINLAND.add(
109                 new Location("Kauhava", "63.10299,23.07129", new BigDecimal("63.10299"), new BigDecimal("23.07129")));
110         CITIES_OF_FINLAND.add(new Location("Kauniainen", "60.21209,24.72756", new BigDecimal("60.21209"),
111                 new BigDecimal("24.72756")));
112         CITIES_OF_FINLAND
113                 .add(new Location("Kemi", "65.75000,24.58333", new BigDecimal("65.75000"), new BigDecimal("24.58333")));
114         CITIES_OF_FINLAND.add(
115                 new Location("Kemijärvi", "66.66667,27.41667", new BigDecimal("66.66667"), new BigDecimal("27.41667")));
116         CITIES_OF_FINLAND.add(
117                 new Location("Kerava", "60.40338,25.10500", new BigDecimal("60.40338"), new BigDecimal("25.10500")));
118         CITIES_OF_FINLAND.add(
119                 new Location("Keuruu", "62.26667,24.70000", new BigDecimal("62.26667"), new BigDecimal("24.70000")));
120         CITIES_OF_FINLAND.add(
121                 new Location("Kitee", "62.10000,30.15000", new BigDecimal("62.10000"), new BigDecimal("30.15000")));
122         CITIES_OF_FINLAND.add(
123                 new Location("Kiuruvesi", "63.65000,26.61667", new BigDecimal("63.65000"), new BigDecimal("26.61667")));
124         CITIES_OF_FINLAND.add(
125                 new Location("Kokemäki", "61.25647,22.35643", new BigDecimal("61.25647"), new BigDecimal("22.35643")));
126         CITIES_OF_FINLAND.add(
127                 new Location("Kokkola", "63.83847,23.13066", new BigDecimal("63.83847"), new BigDecimal("23.13066")));
128         CITIES_OF_FINLAND.add(
129                 new Location("Kotka", "60.46667,26.91667", new BigDecimal("60.46667"), new BigDecimal("26.91667")));
130         CITIES_OF_FINLAND.add(
131                 new Location("Kouvola", "60.86667,26.70000", new BigDecimal("60.86667"), new BigDecimal("26.70000")));
132         CITIES_OF_FINLAND.add(new Location("Kristinestad", "62.27429,21.37596", new BigDecimal("62.27429"),
133                 new BigDecimal("21.37596")));
134         CITIES_OF_FINLAND.add(
135                 new Location("Kuhmo", "64.13333,29.51667", new BigDecimal("64.13333"), new BigDecimal("29.51667")));
136         CITIES_OF_FINLAND.add(
137                 new Location("Kuopio", "62.89238,27.67703", new BigDecimal("62.89238"), new BigDecimal("27.67703")));
138         CITIES_OF_FINLAND.add(
139                 new Location("Kurikka", "62.61667,22.41667", new BigDecimal("62.61667"), new BigDecimal("22.41667")));
140         CITIES_OF_FINLAND.add(
141                 new Location("Kuusamo", "65.96667,29.18333", new BigDecimal("65.96667"), new BigDecimal("29.18333")));
142         CITIES_OF_FINLAND.add(
143                 new Location("Lahti", "60.98267,25.66151", new BigDecimal("60.98267"), new BigDecimal("25.66151")));
144         CITIES_OF_FINLAND.add(
145                 new Location("Laitila", "60.87575,21.69765", new BigDecimal("60.87575"), new BigDecimal("21.69765")));
146         CITIES_OF_FINLAND.add(new Location("Lappeenranta", "61.05871,28.18871", new BigDecimal("61.05871"),
147                 new BigDecimal("28.18871")));
148         CITIES_OF_FINLAND.add(
149                 new Location("Lapua", "62.96927,23.00880", new BigDecimal("62.96927"), new BigDecimal("23.00880")));
150         CITIES_OF_FINLAND.add(
151                 new Location("Lieksa", "63.31667,30.01667", new BigDecimal("63.31667"), new BigDecimal("30.01667")));
152         CITIES_OF_FINLAND.add(
153                 new Location("Lohja", "60.24859,24.06534", new BigDecimal("60.24859"), new BigDecimal("24.06534")));
154         CITIES_OF_FINLAND.add(
155                 new Location("Loimaa", "60.84972,23.05610", new BigDecimal("60.84972"), new BigDecimal("23.05610")));
156         CITIES_OF_FINLAND.add(
157                 new Location("Loviisa", "60.45659,26.22505", new BigDecimal("60.45659"), new BigDecimal("26.22505")));
158         CITIES_OF_FINLAND.add(
159                 new Location("Mariehamn", "60.09726,19.93481", new BigDecimal("60.09726"), new BigDecimal("19.93481")));
160         CITIES_OF_FINLAND.add(
161                 new Location("Mikkeli", "61.68857,27.27227", new BigDecimal("61.68857"), new BigDecimal("27.27227")));
162         CITIES_OF_FINLAND.add(new Location("Mänttä-Vilppula", "62.02966,24.60268", new BigDecimal("62.02966"),
163                 new BigDecimal("24.60268")));
164         CITIES_OF_FINLAND.add(
165                 new Location("Naantali", "60.46744,22.02428", new BigDecimal("60.46744"), new BigDecimal("22.02428")));
166         CITIES_OF_FINLAND.add(
167                 new Location("Nilsiä", "63.20000,28.08333", new BigDecimal("63.20000"), new BigDecimal("28.08333")));
168         CITIES_OF_FINLAND.add(
169                 new Location("Nivala", "63.91667,24.96667", new BigDecimal("63.91667"), new BigDecimal("24.96667")));
170         CITIES_OF_FINLAND.add(
171                 new Location("Nokia", "61.46667,23.50000", new BigDecimal("61.46667"), new BigDecimal("23.50000")));
172         CITIES_OF_FINLAND.add(
173                 new Location("Nurmes", "63.54205,29.13965", new BigDecimal("63.54205"), new BigDecimal("29.13965")));
174         CITIES_OF_FINLAND.add(
175                 new Location("Nykarleby", "63.52277,22.53073", new BigDecimal("63.52277"), new BigDecimal("22.53073")));
176         CITIES_OF_FINLAND.add(
177                 new Location("Närpes", "62.47283,21.33707", new BigDecimal("62.47283"), new BigDecimal("21.33707")));
178         CITIES_OF_FINLAND.add(new Location("Orimattila", "60.80487,25.72964", new BigDecimal("60.80487"),
179                 new BigDecimal("25.72964")));
180         CITIES_OF_FINLAND.add(
181                 new Location("Orivesi", "61.67766,24.35720", new BigDecimal("61.67766"), new BigDecimal("24.35720")));
182         CITIES_OF_FINLAND.add(
183                 new Location("Oulainen", "64.26667,24.80000", new BigDecimal("64.26667"), new BigDecimal("24.80000")));
184         CITIES_OF_FINLAND
185                 .add(new Location("Oulu", "65.01236,25.46816", new BigDecimal("65.01236"), new BigDecimal("25.46816")));
186         CITIES_OF_FINLAND.add(
187                 new Location("Outokumpu", "62.72685,29.01592", new BigDecimal("62.72685"), new BigDecimal("29.01592")));
188         CITIES_OF_FINLAND.add(
189                 new Location("Paimio", "60.45671,22.68694", new BigDecimal("60.45671"), new BigDecimal("22.68694")));
190         CITIES_OF_FINLAND.add(
191                 new Location("Pargas", "60.00000,23.15000", new BigDecimal("60.00000"), new BigDecimal("23.15000")));
192         CITIES_OF_FINLAND.add(
193                 new Location("Parkano", "62.01667,23.01667", new BigDecimal("62.01667"), new BigDecimal("23.01667")));
194         CITIES_OF_FINLAND.add(new Location("Pieksämäki", "62.30000,27.13333", new BigDecimal("62.30000"),
195                 new BigDecimal("27.13333")));
196         CITIES_OF_FINLAND
197                 .add(new Location("Pori", "61.48333,21.78333", new BigDecimal("61.48333"), new BigDecimal("21.78333")));
198         CITIES_OF_FINLAND.add(
199                 new Location("Porvoo", "60.39233,25.66507", new BigDecimal("60.39233"), new BigDecimal("25.66507")));
200         CITIES_OF_FINLAND.add(new Location("Pudasjärvi", "65.38333,26.91667", new BigDecimal("65.38333"),
201                 new BigDecimal("26.91667")));
202         CITIES_OF_FINLAND.add(
203                 new Location("Pyhäjärvi", "63.66667,25.90000", new BigDecimal("63.66667"), new BigDecimal("25.90000")));
204         CITIES_OF_FINLAND.add(
205                 new Location("Raahe", "64.68333,24.48333", new BigDecimal("64.68333"), new BigDecimal("24.48333")));
206         CITIES_OF_FINLAND.add(
207                 new Location("Raisio", "60.48592,22.16895", new BigDecimal("60.48592"), new BigDecimal("22.16895")));
208         CITIES_OF_FINLAND.add(
209                 new Location("Raseborg", "59.97735,23.43967", new BigDecimal("59.97735"), new BigDecimal("23.43967")));
210         CITIES_OF_FINLAND.add(
211                 new Location("Rauma", "61.12724,21.51127", new BigDecimal("61.12724"), new BigDecimal("21.51127")));
212         CITIES_OF_FINLAND.add(
213                 new Location("Riihimäki", "60.73769,24.77726", new BigDecimal("60.73769"), new BigDecimal("24.77726")));
214         CITIES_OF_FINLAND.add(
215                 new Location("Rovaniemi", "66.50000,25.71667", new BigDecimal("66.50000"), new BigDecimal("25.71667")));
216         CITIES_OF_FINLAND.add(new Location("Saarijärvi", "62.70486,25.25396", new BigDecimal("62.70486"),
217                 new BigDecimal("25.25396")));
218         CITIES_OF_FINLAND
219                 .add(new Location("Salo", "60.38333,23.13333", new BigDecimal("60.38333"), new BigDecimal("23.13333")));
220         CITIES_OF_FINLAND.add(
221                 new Location("Sastamala", "61.35021,22.91053", new BigDecimal("61.35021"), new BigDecimal("22.91053")));
222         CITIES_OF_FINLAND.add(new Location("Savonlinna", "61.86990,28.87999", new BigDecimal("61.86990"),
223                 new BigDecimal("28.87999")));
224         CITIES_OF_FINLAND.add(
225                 new Location("Seinäjoki", "62.79446,22.82822", new BigDecimal("62.79446"), new BigDecimal("22.82822")));
226         CITIES_OF_FINLAND.add(
227                 new Location("Somero", "60.61667,23.53333", new BigDecimal("60.61667"), new BigDecimal("23.53333")));
228         CITIES_OF_FINLAND.add(new Location("Suonenjoki", "62.61667,27.13333", new BigDecimal("62.61667"),
229                 new BigDecimal("27.13333")));
230         CITIES_OF_FINLAND.add(
231                 new Location("Tampere", "61.49911,23.78712", new BigDecimal("61.49911"), new BigDecimal("23.78712")));
232         CITIES_OF_FINLAND.add(
233                 new Location("Tornio", "65.84811,24.14662", new BigDecimal("65.84811"), new BigDecimal("24.14662")));
234         CITIES_OF_FINLAND.add(
235                 new Location("Turku", "60.45148,22.26869", new BigDecimal("60.45148"), new BigDecimal("22.26869")));
236         CITIES_OF_FINLAND.add(
237                 new Location("Ulvila", "61.42844,21.87103", new BigDecimal("61.42844"), new BigDecimal("21.87103")));
238         CITIES_OF_FINLAND.add(new Location("Uusikaupunki", "60.80043,21.40841", new BigDecimal("60.80043"),
239                 new BigDecimal("21.40841")));
240         CITIES_OF_FINLAND.add(
241                 new Location("Vaasa", "63.09600,21.61577", new BigDecimal("63.09600"), new BigDecimal("21.61577")));
242         CITIES_OF_FINLAND.add(new Location("Valkeakoski", "61.26421,24.03122", new BigDecimal("61.26421"),
243                 new BigDecimal("24.03122")));
244         CITIES_OF_FINLAND.add(
245                 new Location("Vantaa", "60.30000,24.85000", new BigDecimal("60.30000"), new BigDecimal("24.85000")));
246         CITIES_OF_FINLAND.add(
247                 new Location("Varkaus", "62.31533,27.87300", new BigDecimal("62.31533"), new BigDecimal("27.87300")));
248         CITIES_OF_FINLAND.add(new Location("Viitasaari", "63.06667,25.86667", new BigDecimal("63.06667"),
249                 new BigDecimal("25.86667")));
250         CITIES_OF_FINLAND.add(
251                 new Location("Vilppula", "62.02121,24.50483", new BigDecimal("62.02121"), new BigDecimal("24.50483")));
252         CITIES_OF_FINLAND.add(
253                 new Location("Virrat", "62.24759,23.78004", new BigDecimal("62.24759"), new BigDecimal("23.78004")));
254         CITIES_OF_FINLAND.add(
255                 new Location("Ylivieska", "64.08333,24.55000", new BigDecimal("64.08333"), new BigDecimal("24.55000")));
256         CITIES_OF_FINLAND.add(
257                 new Location("Ylöjärvi", "61.55632,23.59606", new BigDecimal("61.55632"), new BigDecimal("23.59606")));
258         CITIES_OF_FINLAND.add(
259                 new Location("Ähtäri", "62.55403,24.06186", new BigDecimal("62.55403"), new BigDecimal("24.06186")));
260         CITIES_OF_FINLAND.add(
261                 new Location("Äänekoski", "62.60000,25.73333", new BigDecimal("62.60000"), new BigDecimal("25.73333")));
262     }
263 }