1 | 41.1533 | 20.1683 | 3430 | AL | 172 | |||||
2 | 46.6333 | 14.3128 | 4270 | AT | 214 | |||||
3 | 46.9894 | 15.5817 | 4200 | AT | 210 | |||||
4 | 47.252 | 11.42 | 4690 | AT | 235 | |||||
5 | 47.5784 | 12.7305 | 3550 | AT | 178 | |||||
6 | 47.9911 | 13.8878 | 11530 | AT | 577 | |||||
7 | 48.0671 | 13.1775 | 3300 | AT | 165 | |||||
8 | 48.2025 | 16.4186 | 4600 | AT | 230 | |||||
9 | 48.2049 | 16.2734 | 6100 | AT | 305 | |||||
10 | 48.2297 | 16.4692 | 2620 | AT | 131 | |||||
11 | 48.3656 | 13.9771 | 3340 | AT | 167 | |||||
12 | 43.3319 | 17.7513 | 5900 | BA | 295 | |||||
13 | 43.8784 | 18.3593 | 2460 | BA | 123 | |||||
14 | 50.2458 | 4.8519 | 2720 | BE | 136 | |||||
15 | 50.3753 | 4.3819 | 3420 | BE | 171 | |||||
16 | 50.4172 | 4.447 | 3220 | BE | 161 | |||||
17 | 50.4555 | 3.9662 | 3500 | BE | 175 | |||||
18 | 50.461 | 4.8498 | 2940 | BE | 147 | |||||
19 | 50.4797 | 4.1698 | 4600 | BE | 230 | |||||
20 | 50.588 | 5.8602 | 2840 | BE | 142 | |||||
21 | 50.5882 | 4.3253 | 3120 | BE | 156 | |||||
22 | 50.59 | 3.3922 | 2960 | BE | 148 | |||||
23 | 50.5942 | 5.4331 | 3200 | BE | 160 | |||||
24 | 50.5978 | 6.1325 | 3280 | BE | 164 | |||||
25 | 50.6473 | 5.5832 | 6550 | BE | 328 | |||||
26 | 50.7237 | 4.5543 | 3140 | BE | 157 | |||||
27 | 50.7416 | 3.2238 | 2420 | BE | 121 | |||||
28 | 50.7886 | 4.8612 | 2980 | BE | 149 | |||||
29 | 50.8137 | 5.2089 | 2460 | BE | 123 | |||||
30 | 50.8185 | 3.2785 | 2440 | BE | 122 | |||||
31 | 50.849 | 4.4297 | 5360 | BE | 268 | |||||
32 | 50.8521 | 5.6878 | 3520 | BE | 176 | |||||
33 | 50.8832 | 4.3551 | 9200 | BE | 460 | |||||
34 | 50.8903 | 4.7381 | 8200 | BE | 410 | |||||
35 | 50.8989 | 4.391 | 3200 | BE | 160 | |||||
36 | 50.9316 | 5.3368 | 4880 | BE | 244 | |||||
37 | 50.9406 | 3.1181 | 6900 | BE | 345 | |||||
38 | 50.9439 | 4.0442 | 2920 | BE | 146 | |||||
39 | 50.9676 | 5.4886 | 3160 | BE | 158 | |||||
40 | 50.9836 | 4.821 | 3280 | BE | 164 | |||||
41 | 50.9894 | 3.5106 | 3380 | BE | 169 | |||||
42 | 51.0077 | 3.368 | 3080 | BE | 154 | |||||
43 | 51.0293 | 4.094 | 2540 | BE | 127 | |||||
44 | 51.0353 | 4.4665 | 3280 | BE | 164 | |||||
45 | 51.0532 | 3.6307 | 9480 | BE | 474 | |||||
46 | 51.12 | 4.5734 | 2780 | BE | 139 | |||||
47 | 51.1462 | 4.3383 | 4120 | BE | 206 | |||||
48 | 51.16 | 4.8277 | 3440 | BE | 172 | |||||
49 | 51.1695 | 4.1647 | 4240 | BE | 212 | |||||
50 | 51.2062 | 5.3798 | 2480 | BE | 124 | |||||
51 | 51.212 | 4.4686 | 3670 | BE | 184 | |||||
52 | 51.2147 | 2.919 | 3280 | BE | 164 | |||||
53 | 51.2211 | 4.3664 | 3130 | BE | 157 | |||||
54 | 51.2329 | 3.2118 | 3610 | BE | 181 | |||||
55 | 51.2384 | 5.1949 | 3280 | BE | 164 | |||||
56 | 51.2706 | 4.5028 | 4450 | BE | 223 | |||||
57 | 51.3369 | 3.3234 | 3850 | BE | 193 | |||||
58 | 51.3531 | 4.771 | 2780 | BE | 139 | |||||
59 | 42.687 | 23.3273 | 4660 | BG | 233 | |||||
60 | 42.7266 | 23.3158 | 18640 | BG | 932 | |||||
61 | 53.1232 | 26.5796 | 7000 | BY | 350 | |||||
62 | 46.0338 | 8.9719 | 2940 | CH | 147 | |||||
63 | 46.1258 | 7.2274 | 2620 | CH | 131 | |||||
64 | 46.3407 | 6.1974 | 3670 | CH | 184 | |||||
65 | 46.5902 | 6.6716 | 4600 | CH | 230 | |||||
66 | 46.9374 | 7.4345 | 2700 | CH | 135 | |||||
67 | 46.96 | 9.0552 | 5800 | CH | 290 | |||||
68 | 46.9652 | 8.2183 | 2640 | CH | 132 | |||||
69 | 47.1921 | 7.5615 | 3360 | CH | 168 | |||||
70 | 47.3092 | 7.6031 | 4560 | CH | 228 | |||||
71 | 47.3475 | 9.4081 | 2520 | CH | 126 | |||||
72 | 47.3776 | 8.5381 | 5900 | CH | 295 | |||||
73 | 47.4036 | 8.0374 | 2820 | CH | 141 | |||||
74 | 47.5567 | 7.5979 | 3730 | CH | 187 | |||||
75 | 47.5777 | 9.0899 | 3340 | CH | 167 | |||||
76 | 35.0309 | 33.1374 | 5960 | CY | 298 | |||||
77 | 49.1812 | 16.6769 | 2520 | CZ | 126 | |||||
78 | 49.8397 | 18.3248 | 2800 | CZ | 140 | |||||
79 | 49.886 | 16.471 | 12610 | CZ | 631 | |||||
80 | 49.8879 | 14.6555 | 5000 | CZ | 250 | |||||
81 | 50.0446 | 14.5616 | 7790 | CZ | 390 | |||||
82 | 50.1368 | 14.4601 | 3000 | CZ | 150 | |||||
83 | 50.224 | 14.0776 | 2840 | CZ | 142 | |||||
84 | 47.7487 | 10.464 | 2420 | DE | 121 | |||||
85 | 47.8441 | 12.2004 | 4060 | DE | 203 | |||||
86 | 47.8484 | 11.2849 | 4480 | DE | 224 | |||||
87 | 47.8948 | 8.0721 | 3700 | DE | 185 | |||||
88 | 47.9083 | 9.5446 | 2560 | DE | 128 | |||||
89 | 47.9821 | 8.6801 | 3240 | DE | 162 | |||||
90 | 48.125 | 11.6005 | 7370 | DE | 369 | |||||
91 | 48.1827 | 11.5495 | 6400 | DE | 320 | |||||
92 | 48.3254 | 8.9595 | 2620 | DE | 131 | |||||
93 | 48.3371 | 10.8477 | 4870 | DE | 244 | |||||
94 | 48.4342 | 12.4117 | 3240 | DE | 162 | |||||
95 | 48.4461 | 10.1133 | 3880 | DE | 194 | |||||
96 | 48.4891 | 11.5684 | 3560 | DE | 178 | |||||
97 | 48.7264 | 13.0673 | 2800 | DE | 140 | |||||
98 | 48.7557 | 9.1817 | 3520 | DE | 176 | |||||
99 | 48.7875 | 9.8422 | 4630 | DE | 232 | |||||
100 | 48.8183 | 9.3529 | 4300 | DE | 215 | |||||
101 | 48.9686 | 8.2909 | 6120 | DE | 306 | |||||
102 | 49.0929 | 12.3527 | 7240 | DE | 362 | |||||
103 | 49.2842 | 9.5062 | 4300 | DE | 215 | |||||
104 | 49.341 | 7.1115 | 3370 | DE | 169 | |||||
105 | 49.3578 | 10.9545 | 5520 | DE | 276 | |||||
106 | 49.4069 | 10.9999 | 5080 | DE | 254 | |||||
107 | 49.425 | 11.961 | 3380 | DE | 169 | |||||
108 | 49.4288 | 8.9278 | 2440 | DE | 122 | |||||
109 | 49.4619 | 8.5093 | 4750 | DE | 238 | |||||
110 | 49.5131 | 7.989 | 4630 | DE | 232 | |||||
111 | 49.7477 | 8.7663 | 3260 | DE | 163 | |||||
112 | 49.8457 | 7.7122 | 5360 | DE | 268 | |||||
113 | 49.9622 | 10.0166 | 15520 | DE | 776 | |||||
114 | 50.0564 | 9.0616 | 8740 | DE | 437 | |||||
115 | 50.0891 | 11.9207 | 2960 | DE | 148 | |||||
116 | 50.113 | 11.0084 | 2500 | DE | 125 | |||||
117 | 50.1152 | 8.6563 | 4800 | DE | 240 | |||||
118 | 50.2084 | 8.1902 | 4600 | DE | 230 | |||||
119 | 50.3019 | 7.5317 | 4840 | DE | 242 | |||||
120 | 50.5261 | 10.6956 | 3180 | DE | 159 | |||||
121 | 50.5498 | 12.4075 | 2980 | DE | 149 | |||||
122 | 50.6064 | 6.9274 | 4900 | DE | 245 | |||||
123 | 50.6781 | 9.7457 | 2800 | DE | 140 | |||||
124 | 50.7328 | 11.7088 | 4840 | DE | 242 | |||||
125 | 50.7774 | 13.1232 | 3940 | DE | 197 | |||||
126 | 50.7986 | 8.6866 | 3480 | DE | 174 | |||||
127 | 50.8085 | 6.2872 | 4160 | DE | 208 | |||||
128 | 50.9001 | 6.7587 | 5900 | DE | 295 | |||||
129 | 50.9315 | 7.9958 | 2860 | DE | 143 | |||||
130 | 50.9609 | 7.3826 | 5360 | DE | 268 | |||||
131 | 51.1753 | 6.4773 | 3520 | DE | 176 | |||||
132 | 51.1773 | 13.7897 | 5600 | DE | 280 | |||||
133 | 51.1868 | 10.8303 | 4840 | DE | 242 | |||||
134 | 51.2019 | 14.5207 | 3280 | DE | 164 | |||||
135 | 51.214 | 6.8136 | 4280 | DE | 214 | |||||
136 | 51.2161 | 9.1977 | 4360 | DE | 218 | |||||
137 | 51.3013 | 7.5981 | 3100 | DE | 155 | |||||
138 | 51.3441 | 12.9357 | 3840 | DE | 192 | |||||
139 | 51.4942 | 8.0154 | 4630 | DE | 232 | |||||
140 | 51.4967 | 12.0202 | 4360 | DE | 218 | |||||
141 | 51.5245 | 9.9208 | 3520 | DE | 176 | |||||
142 | 51.532 | 7.3695 | 5800 | DE | 290 | |||||
143 | 51.5434 | 6.3875 | 7500 | DE | 375 | |||||
144 | 51.5557 | 7.1372 | 8980 | DE | 449 | |||||
145 | 51.717 | 6.5946 | 2400 | DE | 120 | |||||
146 | 51.7568 | 14.0347 | 2780 | DE | 139 | |||||
147 | 51.7898 | 8.6824 | 5400 | DE | 270 | |||||
148 | 52.1235 | 7.4302 | 4200 | DE | 210 | |||||
149 | 52.1595 | 8.8232 | 2760 | DE | 138 | |||||
150 | 52.1875 | 10.683 | 4420 | DE | 221 | |||||
151 | 52.2455 | 14.0142 | 3250 | DE | 163 | |||||
152 | 52.3179 | 12.7886 | 2740 | DE | 137 | |||||
153 | 52.3235 | 10.099 | 4060 | DE | 203 | |||||
154 | 52.3851 | 11.6495 | 2560 | DE | 128 | |||||
155 | 52.4013 | 9.6957 | 5000 | DE | 250 | |||||
156 | 52.4594 | 13.4892 | 3220 | DE | 161 | |||||
157 | 52.5117 | 13.4079 | 3370 | DE | 169 | |||||
158 | 52.5316 | 7.7278 | 5700 | DE | 285 | |||||
159 | 52.5878 | 13.3392 | 8560 | DE | 428 | |||||
160 | 52.9493 | 13.1648 | 3280 | DE | 164 | |||||
161 | 53.0899 | 8.8441 | 3060 | DE | 153 | |||||
162 | 53.2082 | 9.3574 | 2500 | DE | 125 | |||||
163 | 53.2934 | 7.7666 | 4900 | DE | 245 | |||||
164 | 53.3574 | 11.4806 | 3360 | DE | 168 | |||||
165 | 53.456 | 9.808 | 3520 | DE | 176 | |||||
166 | 53.5625 | 9.9914 | 4540 | DE | 227 | |||||
167 | 53.59 | 13.3337 | 3060 | DE | 153 | |||||
168 | 53.6327 | 10.0874 | 7780 | DE | 389 | |||||
169 | 53.955 | 10.956 | 6050 | DE | 303 | |||||
170 | 54.0318 | 12.4273 | 4570 | DE | 229 | |||||
171 | 54.3167 | 9.8918 | 3550 | DE | 178 | |||||
172 | 54.3256 | 9.1257 | 3340 | DE | 167 | |||||
173 | 55.6147 | 12.3188 | 7300 | DK | 365 | |||||
174 | 55.6689 | 12.55 | 3250 | DK | 163 | |||||
175 | 59.2217 | 24.187 | 6810 | EE | 341 | |||||
176 | 35.2931 | -2.9492 | 2420 | Madrid | ES | Iberia | 121 | |||
177 | 35.8917 | -5.3305 | 3000 | Madrid | ES | Iberia | 150 | |||
178 | 36.1408 | -5.3536 | 2440 | Madrid | ES | Iberia | 122 | |||
179 | 36.5295 | -5.7554 | 11200 | Madrid | ES | Iberia | 560 | |||
180 | 36.8099 | -4.6632 | 12760 | Madrid | ES | Iberia | 638 | |||
181 | 37.3103 | -2.3428 | 6040 | Madrid | ES | Iberia | 302 | |||
182 | 37.3968 | -3.23 | 11000 | Madrid | ES | Iberia | 550 | |||
183 | 37.5034 | -6.7991 | 5800 | Madrid | ES | Iberia | 290 | |||
184 | 37.5264 | -5.5807 | 14280 | Madrid | ES | Iberia | 714 | |||
185 | 37.9667 | -3.3442 | 5800 | Madrid | ES | Iberia | 290 | |||
186 | 37.9718 | -4.7691 | 7300 | Madrid | ES | Iberia | 365 | |||
187 | 38.073 | -1.4702 | 12160 | Madrid | ES | Iberia | 608 | |||
188 | 38.3649 | -0.4237 | 18480 | Madrid | ES | Iberia | 924 | |||
189 | 38.7208 | -5.9683 | 8840 | Madrid | ES | Iberia | 442 | |||
190 | 38.7359 | -1.865 | 6000 | Madrid | ES | Iberia | 300 | |||
191 | 38.979 | -3.7994 | 5700 | Madrid | ES | Iberia | 285 | |||
192 | 39.3672 | -0.7361 | 25920 | Madrid | ES | Iberia | 1296 | |||
193 | 39.6178 | 2.9067 | 6920 | Madrid | ES | Iberia | 346 | |||
194 | 39.7771 | -6.2981 | 4800 | Madrid | ES | Iberia | 240 | |||
195 | 39.8069 | -4.1161 | 5000 | Madrid | ES | Iberia | 250 | |||
196 | 39.9488 | -2.1217 | 2880 | Madrid | ES | Iberia | 144 | |||
197 | 40.2532 | -0.1381 | 5300 | Madrid | ES | Iberia | 265 | |||
198 | 40.5295 | -3.7669 | 77840 | Madrid | ES | Iberia | 3892 | |||
199 | 40.6066 | -0.7299 | 3320 | Madrid | ES | Iberia | 166 | |||
200 | 40.6391 | -4.9062 | 2540 | Madrid | ES | Iberia | 127 | |||
201 | 40.7418 | -2.5093 | 5250 | Madrid | ES | Iberia | 263 | |||
202 | 40.7762 | -6.0096 | 4690 | Madrid | ES | Iberia | 235 | |||
203 | 41.0536 | 0.9218 | 5000 | Madrid | ES | Iberia | 250 | |||
204 | 41.1183 | -3.9573 | 3340 | Madrid | ES | Iberia | 167 | |||
205 | 41.693 | -6.1506 | 3160 | Madrid | ES | Iberia | 158 | |||
206 | 41.7153 | -4.6488 | 4600 | Madrid | ES | Iberia | 230 | |||
207 | 41.747 | 2.0723 | 57700 | Madrid | ES | Iberia | 2885 | |||
208 | 41.8449 | -0.8662 | 12800 | Madrid | ES | Iberia | 640 | |||
209 | 42.0671 | 1.0973 | 4720 | Madrid | ES | Iberia | 236 | |||
210 | 42.0734 | 2.5063 | 9820 | Madrid | ES | Iberia | 491 | |||
211 | 42.1097 | -0.0637 | 2960 | Madrid | ES | Iberia | 148 | |||
212 | 42.1882 | -7.5237 | 5000 | Madrid | ES | Iberia | 250 | |||
213 | 42.2716 | -2.4001 | 6040 | Madrid | ES | Iberia | 302 | |||
214 | 42.3387 | -3.5794 | 4520 | Madrid | ES | Iberia | 226 | |||
215 | 42.3728 | -8.3689 | 8020 | Madrid | ES | Iberia | 401 | |||
216 | 42.4117 | -4.4814 | 3480 | Madrid | ES | Iberia | 174 | |||
217 | 42.6085 | -1.6054 | 11160 | Madrid | ES | Iberia | 558 | |||
218 | 42.63 | -5.8945 | 6850 | Madrid | ES | Iberia | 343 | |||
219 | 42.8386 | -2.7489 | 4840 | Madrid | ES | Iberia | 242 | |||
220 | 43.0522 | -7.3717 | 5800 | Madrid | ES | Iberia | 290 | |||
221 | 43.1264 | -3.9952 | 6100 | Madrid | ES | Iberia | 305 | |||
222 | 43.1369 | -8.4757 | 15040 | Madrid | ES | Iberia | 752 | |||
223 | 43.1534 | -2.1568 | 4600 | Madrid | ES | Iberia | 230 | |||
224 | 43.2274 | -2.9412 | 7930 | Madrid | ES | Iberia | 397 | |||
225 | 43.254 | -5.8255 | 7320 | Madrid | ES | Iberia | 366 | |||
226 | 60.1616 | 24.4844 | 27040 | FI | 1352 | |||||
227 | 42.17 | 9.0596 | 2400 | FR | 120 | |||||
228 | 42.6311 | 2.4388 | 3520 | FR | 176 | |||||
229 | 43.0339 | 2.4754 | 3340 | FR | 167 | |||||
230 | 43.1379 | 0.164 | 2700 | FR | 135 | |||||
231 | 43.1855 | -0.8778 | 7150 | FR | 358 | |||||
232 | 43.3118 | 1.2479 | 11440 | FR | 572 | |||||
233 | 43.4189 | 6.295 | 5440 | FR | 272 | |||||
234 | 43.5424 | 5.0287 | 7510 | FR | 376 | |||||
235 | 43.5903 | 3.363 | 6760 | FR | 338 | |||||
236 | 43.7836 | 2.2493 | 2440 | FR | 122 | |||||
237 | 43.9002 | 7.1858 | 10900 | FR | 545 | |||||
238 | 43.951 | 4.0774 | 3520 | FR | 176 | |||||
239 | 43.9988 | 5.216 | 3790 | FR | 190 | |||||
240 | 44.0016 | -0.6842 | 3300 | FR | 165 | |||||
241 | 44.0659 | 1.3696 | 2520 | FR | 126 | |||||
242 | 44.2961 | 2.6416 | 2920 | FR | 146 | |||||
243 | 44.3561 | 0.4815 | 3240 | FR | 162 | |||||
244 | 44.7237 | 5.2495 | 2480 | FR | 124 | |||||
245 | 44.8705 | -0.4731 | 15430 | FR | 772 | |||||
246 | 45.1283 | 0.7113 | 2760 | FR | 138 | |||||
247 | 45.2843 | 5.5725 | 4600 | FR | 230 | |||||
248 | 45.3313 | 1.8835 | 3520 | FR | 176 | |||||
249 | 45.4821 | 6.4061 | 2960 | FR | 148 | |||||
250 | 45.6645 | 0.251 | 2400 | FR | 120 | |||||
251 | 45.707 | -0.6045 | 3160 | FR | 158 | |||||
252 | 45.7517 | 4.2417 | 5480 | FR | 274 | |||||
253 | 45.7648 | 3.1922 | 7250 | FR | 363 | |||||
254 | 45.8667 | 4.7158 | 8040 | FR | 402 | |||||
255 | 45.9005 | 1.2659 | 3640 | FR | 182 | |||||
256 | 46.0596 | 5.4672 | 2520 | FR | 126 | |||||
257 | 46.0701 | 6.4298 | 3160 | FR | 158 | |||||
258 | 46.3615 | 3.1238 | 2760 | FR | 138 | |||||
259 | 46.475 | -0.3132 | 3220 | FR | 161 | |||||
260 | 46.5871 | 0.5476 | 3140 | FR | 157 | |||||
261 | 46.6602 | 4.5432 | 2800 | FR | 140 | |||||
262 | 46.6798 | -1.3315 | 3400 | FR | 170 | |||||
263 | 46.7656 | 5.7251 | 3080 | FR | 154 | |||||
264 | 46.8094 | 1.5497 | 3520 | FR | 176 | |||||
265 | 47.0122 | 2.4347 | 2680 | FR | 134 | |||||
266 | 47.0558 | 6.3897 | 3080 | FR | 154 | |||||
267 | 47.2181 | 0.7264 | 4360 | FR | 218 | |||||
268 | 47.3432 | -1.7285 | 6680 | FR | 334 | |||||
269 | 47.3935 | -0.5369 | 3730 | FR | 187 | |||||
270 | 47.4617 | 4.8003 | 4840 | FR | 242 | |||||
271 | 47.6285 | 6.9587 | 2760 | FR | 138 | |||||
272 | 47.6607 | 1.4362 | 2400 | FR | 120 | |||||
273 | 47.8153 | -2.8675 | 3430 | FR | 172 | |||||
274 | 47.8505 | 3.6084 | 3460 | FR | 173 | |||||
275 | 47.867 | 7.2316 | 3280 | FR | 164 | |||||
276 | 47.9159 | 2.2866 | 4090 | FR | 205 | |||||
277 | 48.0176 | 0.2363 | 4330 | FR | 217 | |||||
278 | 48.142 | -0.6382 | 3580 | FR | 179 | |||||
279 | 48.1548 | 6.3145 | 3240 | FR | 162 | |||||
280 | 48.1559 | -1.6391 | 9960 | FR | 498 | |||||
281 | 48.2314 | -4.069 | 5840 | FR | 292 | |||||
282 | 48.3211 | 4.147 | 3440 | FR | 172 | |||||
283 | 48.4526 | -2.7761 | 4090 | FR | 205 | |||||
284 | 48.4557 | 1.3917 | 3020 | FR | 151 | |||||
285 | 48.5286 | 2.2616 | 7000 | FR | 350 | |||||
286 | 48.5721 | 0.0739 | 2920 | FR | 146 | |||||
287 | 48.5815 | 7.5971 | 6350 | FR | 318 | |||||
288 | 48.6138 | 2.9691 | 5050 | FR | 253 | |||||
289 | 48.763 | 1.8421 | 7840 | FR | 392 | |||||
290 | 48.7731 | 2.4515 | 6700 | FR | 335 | |||||
291 | 48.8409 | 2.235 | 34540 | FR | 1727 | |||||
292 | 48.8608 | 2.3273 | 8740 | FR | 437 | |||||
293 | 48.9057 | 2.4519 | 10500 | FR | 525 | |||||
294 | 48.9459 | 5.9818 | 5760 | FR | 288 | |||||
295 | 48.9684 | 4.2424 | 6850 | FR | 343 | |||||
296 | 49.0086 | 5.3814 | 3340 | FR | 167 | |||||
297 | 49.0145 | 6.7953 | 3250 | FR | 163 | |||||
298 | 49.0663 | 1.0732 | 2500 | FR | 125 | |||||
299 | 49.0729 | 2.1066 | 6200 | FR | 310 | |||||
300 | 49.0903 | -1.3387 | 3580 | FR | 179 | |||||
301 | 49.0927 | -0.3537 | 3910 | FR | 196 | |||||
302 | 49.4129 | 2.4279 | 4600 | FR | 230 | |||||
303 | 49.4657 | 3.6021 | 3400 | FR | 170 | |||||
304 | 49.6714 | 0.9306 | 5650 | FR | 283 | |||||
305 | 49.9746 | 2.3059 | 2980 | FR | 149 | |||||
306 | 50.531 | 3.1643 | 14560 | FR | 728 | |||||
307 | 50.5375 | 2.3571 | 4750 | FR | 238 | |||||
308 | 41.9186 | 44.3628 | 2940 | GE | 147 | |||||
309 | 35.3225 | 25.0298 | 3490 | GR | 175 | |||||
310 | 37.5319 | 23.3407 | 4760 | GR | 238 | |||||
311 | 37.8935 | 23.7765 | 2640 | GR | 132 | |||||
312 | 37.938 | 23.7179 | 3360 | GR | 168 | |||||
313 | 37.9867 | 23.7207 | 6160 | GR | 308 | |||||
314 | 37.9894 | 23.7376 | 9750 | GR | 488 | |||||
315 | 38.0038 | 23.636 | 6160 | GR | 308 | |||||
316 | 38.0182 | 23.8641 | 4640 | GR | 232 | |||||
317 | 38.0829 | 23.8314 | 3300 | GR | 165 | |||||
318 | 38.2264 | 21.8153 | 3340 | GR | 167 | |||||
319 | 39.5679 | 20.8495 | 3520 | GR | 176 | |||||
320 | 39.5716 | 22.4681 | 3020 | GR | 151 | |||||
321 | 40.5811 | 23.0107 | 3480 | GR | 174 | |||||
322 | 40.6752 | 22.9383 | 3340 | GR | 167 | |||||
323 | 40.6986 | 23.2985 | 3700 | GR | 185 | |||||
324 | 40.7725 | 22.9897 | 3580 | GR | 179 | |||||
325 | 45.7921 | 16.0251 | 4600 | HR | 230 | |||||
326 | 47.4768 | 19.1392 | 6220 | HU | 311 | |||||
327 | 47.5492 | 19.0032 | 3700 | HU | 185 | |||||
328 | 47.6316 | 19.3811 | 4360 | HU | 218 | |||||
329 | 51.8969 | -8.4863 | 7960 | Birmingham | IE | IE | 398 | |||
330 | 52.2523 | -7.1272 | 3520 | Birmingham | IE | IE | 176 | |||
331 | 52.2713 | -9.6999 | 2800 | Birmingham | IE | IE | 140 | |||
332 | 52.6541 | -7.2448 | 2640 | Birmingham | IE | IE | 132 | |||
333 | 52.668 | -8.6305 | 4390 | Birmingham | IE | IE | 220 | |||
334 | 53.2706 | -9.0567 | 4150 | Birmingham | IE | IE | 208 | |||
335 | 53.3498 | -6.2603 | 25990 | Birmingham | IE | IE | 1300 | |||
336 | 53.7179 | -6.3561 | 3200 | Birmingham | IE | IE | 160 | |||
337 | 54.2766 | -8.4761 | 2880 | Birmingham | IE | IE | 144 | |||
338 | 36.9078 | 14.6821 | 2600 | IT | IT | 130 | ||||
339 | 37.0372 | 15.0897 | 3520 | IT | IT | 176 | ||||
340 | 37.4942 | 14.8494 | 9080 | IT | IT | 454 | ||||
341 | 37.8751 | 12.7816 | 3260 | IT | IT | 163 | ||||
342 | 37.8969 | 13.6601 | 3920 | IT | IT | 196 | ||||
343 | 38.0551 | 14.913 | 4600 | IT | IT | 230 | ||||
344 | 38.3917 | 16.1125 | 2860 | IT | IT | 143 | ||||
345 | 38.9736 | 16.6502 | 4560 | IT | IT | 228 | ||||
346 | 39.5872 | 16.3783 | 3370 | IT | IT | 169 | ||||
347 | 39.6113 | 9.0092 | 6530 | IT | IT | 327 | ||||
348 | 40.164 | 18.1712 | 3960 | IT | IT | 198 | ||||
349 | 40.2283 | 9.0985 | 2460 | IT | IT | 123 | ||||
350 | 40.4187 | 15.151 | 4510 | IT | IT | 226 | ||||
351 | 40.5298 | 15.8913 | 3120 | IT | IT | 156 | ||||
352 | 40.5583 | 17.2642 | 4090 | IT | IT | 205 | ||||
353 | 40.6411 | 17.7568 | 2680 | IT | IT | 134 | ||||
354 | 40.7877 | 14.4594 | 9910 | IT | IT | 496 | ||||
355 | 40.8184 | 8.9029 | 4390 | IT | IT | 220 | ||||
356 | 40.99 | 15.0829 | 2860 | IT | IT | 143 | ||||
357 | 41.0328 | 16.6632 | 7930 | IT | IT | 397 | ||||
358 | 41.2059 | 14.142 | 2420 | IT | IT | 121 | ||||
359 | 41.2296 | 14.7779 | 2540 | IT | IT | 127 | ||||
360 | 41.4621 | 13.1919 | 2460 | IT | IT | 123 | ||||
361 | 41.5281 | 15.5969 | 4280 | IT | IT | 214 | ||||
362 | 41.6198 | 13.4899 | 3320 | IT | IT | 166 | ||||
363 | 41.7225 | 14.5424 | 3380 | IT | IT | 169 | ||||
364 | 41.8548 | 12.5014 | 27680 | IT | IT | 1384 | ||||
365 | 42.1057 | 14.4617 | 3480 | IT | IT | 174 | ||||
366 | 42.1738 | 13.6418 | 2820 | IT | IT | 141 | ||||
367 | 42.3187 | 14.0083 | 3240 | IT | IT | 162 | ||||
368 | 42.5055 | 11.9724 | 3500 | IT | IT | 175 | ||||
369 | 42.6706 | 12.4041 | 2820 | IT | IT | 141 | ||||
370 | 42.6787 | 13.7479 | 3600 | IT | IT | 180 | ||||
371 | 42.7657 | 11.2306 | 2960 | IT | IT | 148 | ||||
372 | 43.0065 | 13.5481 | 3480 | IT | IT | 174 | ||||
373 | 43.1048 | 12.6 | 4440 | IT | IT | 222 | ||||
374 | 43.163 | 11.4531 | 4060 | IT | IT | 203 | ||||
375 | 43.1698 | 13.2772 | 3360 | IT | IT | 168 | ||||
376 | 43.4761 | 10.622 | 9560 | IT | IT | 478 | ||||
377 | 43.4872 | 13.2056 | 2460 | IT | IT | 123 | ||||
378 | 43.5243 | 11.919 | 3520 | IT | IT | 176 | ||||
379 | 43.6923 | 12.6369 | 3120 | IT | IT | 156 | ||||
380 | 43.8281 | 11.2139 | 5400 | IT | IT | 270 | ||||
381 | 43.9536 | 7.8298 | 3200 | IT | IT | 160 | ||||
382 | 44.0325 | 12.1991 | 7100 | IT | IT | 355 | ||||
383 | 44.2232 | 9.7594 | 2920 | IT | IT | 146 | ||||
384 | 44.2582 | 8.3252 | 3380 | IT | IT | 169 | ||||
385 | 44.3448 | 11.9549 | 4000 | IT | IT | 200 | ||||
386 | 44.442 | 11.2898 | 5760 | IT | IT | 288 | ||||
387 | 44.451 | 9.0572 | 4640 | IT | IT | 232 | ||||
388 | 44.4667 | 7.5591 | 4600 | IT | IT | 230 | ||||
389 | 44.542 | 10.9065 | 4330 | IT | IT | 217 | ||||
390 | 44.6048 | 10.5067 | 3670 | IT | IT | 184 | ||||
391 | 44.6927 | 9.9567 | 3910 | IT | IT | 196 | ||||
392 | 44.7542 | 11.7822 | 2560 | IT | IT | 128 | ||||
393 | 44.8288 | 9.5974 | 3380 | IT | IT | 169 | ||||
394 | 44.8353 | 8.1888 | 2720 | IT | IT | 136 | ||||
395 | 44.8537 | 8.647 | 3100 | IT | IT | 155 | ||||
396 | 44.9671 | 11.8537 | 3600 | IT | IT | 180 | ||||
397 | 45.0264 | 9.0348 | 4850 | IT | IT | 243 | ||||
398 | 45.1356 | 10.8501 | 3260 | IT | IT | 163 | ||||
399 | 45.1736 | 7.379 | 12700 | IT | IT | 635 | ||||
400 | 45.1926 | 9.8936 | 4270 | IT | IT | 214 | ||||
401 | 45.3923 | 11.7787 | 6550 | IT | IT | 328 | ||||
402 | 45.422 | 11.0567 | 8620 | IT | IT | 431 | ||||
403 | 45.4588 | 12.4754 | 4870 | IT | IT | 244 | ||||
404 | 45.4808 | 9.1197 | 23500 | IT | IT | 1175 | ||||
405 | 45.5522 | 8.196 | 4540 | IT | IT | 227 | ||||
406 | 45.6177 | 11.4649 | 3820 | IT | IT | 191 | ||||
407 | 45.7362 | 9.8421 | 4720 | IT | IT | 236 | ||||
408 | 45.7573 | 10.3516 | 7930 | IT | IT | 397 | ||||
409 | 45.7798 | 13.6245 | 3120 | IT | IT | 156 | ||||
410 | 45.8094 | 12.2113 | 3940 | IT | IT | 197 | ||||
411 | 45.8571 | 8.7999 | 4840 | IT | IT | 242 | ||||
412 | 45.8655 | 8.3388 | 4760 | IT | IT | 238 | ||||
413 | 45.9305 | 9.1572 | 3610 | IT | IT | 181 | ||||
414 | 46.1299 | 11.202 | 2760 | IT | IT | 138 | ||||
415 | 46.1357 | 9.9182 | 3180 | IT | IT | 159 | ||||
416 | 46.1933 | 13.0143 | 7150 | IT | IT | 358 | ||||
417 | 46.2907 | 12.1646 | 2780 | IT | IT | 139 | ||||
418 | 46.6645 | 11.3893 | 3380 | IT | IT | 169 | ||||
419 | 54.8917 | 23.9221 | 2620 | LT | 131 | |||||
420 | 55.1508 | 22.955 | 3220 | LT | 161 | |||||
421 | 55.1694 | 23.8813 | 4750 | LT | 238 | |||||
422 | 55.9302 | 25.3559 | 3480 | LT | 174 | |||||
423 | 56.9874 | 24.1059 | 4750 | LV | 238 | |||||
424 | 49.8153 | 6.1296 | 3940 | LX | 197 | |||||
425 | 47.0252 | 28.8509 | 3440 | MD | 172 | |||||
426 | 41.9876 | 21.4902 | 3480 | MK | 174 | |||||
427 | 35.9375 | 14.3754 | 6120 | MT | IT | 306 | ||||
428 | 50.8866 | 5.9619 | 3440 | NL | 172 | |||||
429 | 51.1076 | 5.8626 | 5720 | NL | 286 | |||||
430 | 51.3712 | 6.1711 | 2420 | NL | 121 | |||||
431 | 51.4204 | 5.401 | 3420 | NL | 171 | |||||
432 | 51.4375 | 5.4817 | 3160 | NL | 158 | |||||
433 | 51.4924 | 4.0378 | 3120 | NL | 156 | |||||
434 | 51.5886 | 4.7813 | 2900 | NL | 145 | |||||
435 | 51.598 | 5.0923 | 2440 | NL | 122 | |||||
436 | 51.686 | 5.3027 | 13100 | NL | 655 | |||||
437 | 51.8064 | 5.2585 | 12640 | NL | 632 | |||||
438 | 51.8471 | 5.8635 | 4450 | NL | 223 | |||||
439 | 51.9176 | 4.4887 | 3790 | NL | 190 | |||||
440 | 51.9805 | 5.9059 | 2680 | NL | 134 | |||||
441 | 52.023 | 5.0361 | 4920 | NL | 246 | |||||
442 | 52.024 | 5.557 | 2840 | NL | 142 | |||||
443 | 52.0787 | 4.3172 | 4870 | NL | 244 | |||||
444 | 52.0879 | 5.1162 | 2680 | NL | 134 | |||||
445 | 52.1326 | 5.2913 | 13740 | NL | 687 | |||||
446 | 52.1518 | 5.0451 | 2700 | NL | 135 | |||||
447 | 52.1554 | 4.4916 | 2760 | NL | 138 | |||||
448 | 52.2208 | 6.8993 | 2800 | NL | 140 | |||||
449 | 52.2244 | 5.1764 | 7900 | NL | 395 | |||||
450 | 52.3081 | 4.9442 | 4600 | NL | 230 | |||||
451 | 52.3728 | 4.9067 | 6700 | NL | 335 | |||||
452 | 52.5113 | 6.0903 | 2760 | NL | 138 | |||||
453 | 52.6307 | 4.7505 | 3120 | NL | 156 | |||||
454 | 52.7308 | 6.4723 | 5740 | NL | 287 | |||||
455 | 52.7847 | 6.9009 | 2860 | NL | 143 | |||||
456 | 53.218 | 6.5707 | 2620 | NL | 131 | |||||
457 | 59.7326 | 10.7913 | 6450 | NO | 323 | |||||
458 | 59.9342 | 10.7994 | 7780 | NO | 389 | |||||
459 | 50.218 | 19.002 | 4160 | PL | 208 | |||||
460 | 51.8135 | 19.445 | 10450 | PL | 523 | |||||
461 | 52.1077 | 21.0815 | 29210 | PL | 1461 | |||||
462 | 52.2658 | 17.6252 | 2860 | PL | 143 | |||||
463 | 52.282 | 21.0386 | 3000 | PL | 150 | |||||
464 | 37.0213 | -7.9338 | 2680 | Madrid | PT | Iberia | 134 | |||
465 | 38.525 | -8.8986 | 6120 | Madrid | PT | Iberia | 306 | |||
466 | 38.7367 | -9.1339 | 19060 | Madrid | PT | Iberia | 953 | |||
467 | 39.2322 | -8.686 | 2620 | Madrid | PT | Iberia | 131 | |||
468 | 39.3999 | -8.2245 | 2720 | Madrid | PT | Iberia | 136 | |||
469 | 39.7425 | -8.8064 | 2760 | Madrid | PT | Iberia | 138 | |||
470 | 40.2108 | -8.4221 | 5640 | Madrid | PT | Iberia | 282 | |||
471 | 40.6266 | -8.6479 | 2840 | Madrid | PT | Iberia | 142 | |||
472 | 40.6447 | -7.3044 | 2780 | Madrid | PT | Iberia | 139 | |||
473 | 40.6592 | -7.9147 | 3460 | Madrid | PT | Iberia | 173 | |||
474 | 41.1515 | -8.6051 | 10180 | Madrid | PT | Iberia | 509 | |||
475 | 41.5453 | -8.4199 | 3940 | Madrid | PT | Iberia | 197 | |||
476 | 44.3902 | 26.1161 | 26080 | RO | 1304 | |||||
477 | 44.4403 | 26.0342 | 5960 | RO | 298 | |||||
478 | 44.4531 | 26.1286 | 7580 | RO | 379 | |||||
479 | 44.5207 | 26.1358 | 9080 | RO | 454 | |||||
480 | 45.7945 | 25.2265 | 3040 | RO | 152 | |||||
481 | 45.9303 | 24.3044 | 18170 | RO | 909 | |||||
482 | 44.0165 | 21.0059 | 20720 | RS | 1036 | |||||
483 | 44.8262 | 20.4571 | 9300 | RS | 465 | |||||
484 | 52.2320 | 21.0158 | 145900 | PL | 7295 | |||||
485 | 57.387 | 12.2792 | 22750 | SE | 1138 | |||||
486 | 46.0563 | 14.5047 | 10090 | SI | 505 | |||||
487 | 46.5565 | 15.6499 | 4900 | SI | 245 | |||||
488 | 48.0498 | 18.2532 | 3140 | SK | 157 | |||||
489 | 48.0665 | 17.155 | 3490 | SK | 175 | |||||
490 | 48.1976 | 17.1478 | 4570 | SK | 229 | |||||
491 | 48.674 | 20.7849 | 3120 | SK | 156 | |||||
492 | 48.7536 | 19.2941 | 5640 | SK | 282 | |||||
493 | 49.1356 | 21.1867 | 3190 | SK | 160 | |||||
494 | 36.8995 | 30.7059 | 2780 | TR | 139 | |||||
495 | 37.0369 | 37.2875 | 2620 | TR | 131 | |||||
496 | 37.2867 | 35.7333 | 3040 | TR | 152 | |||||
497 | 37.8698 | 32.3994 | 4320 | TR | 216 | |||||
498 | 38.489 | 27.2261 | 22280 | TR | 1114 | |||||
499 | 38.7097 | 35.8409 | 6160 | TR | 308 | |||||
500 | 39.6242 | 37.3257 | 2440 | TR | 122 | |||||
501 | 39.9191 | 32.753 | 8560 | TR | 428 | |||||
502 | 40.1914 | 29.0555 | 2460 | TR | 123 | |||||
503 | 40.3689 | 36.5431 | 3260 | TR | 163 | |||||
504 | 40.9071 | 39.8005 | 2480 | TR | 124 | |||||
505 | 41.0105 | 29.0025 | 55600 | TR | 2780 | |||||
506 | 41.2007 | 36.1377 | 2900 | TR | 145 | |||||
507 | 48.3794 | 31.1656 | 24400 | UA | 1220 | |||||
508 | 48.4371 | 34.9045 | 4900 | UA | 245 | |||||
509 | 50.4424 | 30.5221 | 7780 | UA | 389 | |||||
510 | 49.2044 | -2.137 | 2860 | Birmingham | UK | UK | 143 | |||
511 | 50.4536 | -3.7099 | 2960 | Birmingham | UK | UK | 148 | |||
512 | 50.4769 | -4.4283 | 4040 | Birmingham | UK | UK | 202 | |||
513 | 50.8499 | -0.9419 | 19360 | Birmingham | UK | UK | 968 | |||
514 | 50.8647 | -0.1239 | 2940 | Birmingham | UK | UK | 147 | |||
515 | 50.9034 | -3.7971 | 2820 | Birmingham | UK | UK | 141 | |||
516 | 50.9553 | -1.3683 | 4090 | Birmingham | UK | UK | 205 | |||
517 | 51.0893 | -0.2995 | 3180 | Birmingham | UK | UK | 159 | |||
518 | 51.097 | 0.5201 | 2840 | Birmingham | UK | UK | 142 | |||
519 | 51.1703 | -0.7554 | 6450 | Birmingham | UK | UK | 323 | |||
520 | 51.3326 | -0.3905 | 3440 | Birmingham | UK | UK | 172 | |||
521 | 51.3775 | 0.0853 | 9240 | Birmingham | UK | UK | 462 | |||
522 | 51.4156 | 0.2693 | 2480 | Birmingham | UK | UK | 124 | |||
523 | 51.4249 | -2.6571 | 3160 | Birmingham | UK | UK | 158 | |||
524 | 51.4389 | -0.4269 | 3460 | Birmingham | UK | UK | 173 | |||
525 | 51.4477 | 0.0123 | 2800 | Birmingham | UK | UK | 140 | |||
526 | 51.4535 | -0.1893 | 4960 | Birmingham | UK | UK | 248 | |||
527 | 51.5144 | -0.1785 | 3140 | Birmingham | UK | UK | 157 | |||
528 | 51.5168 | -0.1805 | 3020 | Birmingham | UK | UK | 151 | |||
529 | 51.5313 | -0.0258 | 3100 | Birmingham | UK | UK | 155 | |||
530 | 51.5491 | -0.3638 | 3580 | Birmingham | UK | UK | 179 | |||
531 | 51.5559 | -0.1155 | 2600 | Birmingham | UK | UK | 130 | |||
532 | 51.5678 | 0.2725 | 3280 | Birmingham | UK | UK | 164 | |||
533 | 51.5699 | -0.1035 | 3280 | Birmingham | UK | UK | 164 | |||
534 | 51.5805 | -0.2073 | 3910 | Birmingham | UK | UK | 196 | |||
535 | 51.5844 | -0.3479 | 4120 | Birmingham | UK | UK | 206 | |||
536 | 51.6029 | 0.0771 | 3360 | Birmingham | UK | UK | 168 | |||
537 | 51.622 | -3.3992 | 8700 | Birmingham | UK | UK | 435 | |||
538 | 51.6633 | -0.3879 | 2740 | Birmingham | UK | UK | 137 | |||
539 | 51.7784 | -0.3156 | 8840 | Birmingham | UK | UK | 442 | |||
540 | 51.7924 | 0.4802 | 3440 | Birmingham | UK | UK | 172 | |||
541 | 51.8347 | -1.2995 | 3910 | Birmingham | UK | UK | 196 | |||
542 | 51.8808 | -4.4348 | 2780 | Birmingham | UK | UK | 139 | |||
543 | 51.9679 | 0.8749 | 2560 | Birmingham | UK | UK | 128 | |||
544 | 51.9687 | -0.153 | 2660 | Birmingham | UK | UK | 133 | |||
545 | 52.0941 | -0.6851 | 48300 | Birmingham | UK | UK | 2415 | |||
546 | 52.2252 | 0.2378 | 2400 | Birmingham | UK | UK | 120 | |||
547 | 52.273 | -0.8661 | 3060 | Birmingham | UK | UK | 153 | |||
548 | 52.3304 | -1.4821 | 2800 | Birmingham | UK | UK | 140 | |||
549 | 52.3767 | -1.8368 | 3520 | Birmingham | UK | UK | 176 | |||
550 | 52.4658 | -1.9879 | 3420 | Birmingham | UK | UK | 171 | |||
551 | 52.4664 | -1.8886 | 32500 | Birmingham | UK | UK | 1625 | |||
552 | 52.6388 | -1.0236 | 4720 | Birmingham | UK | UK | 236 | |||
553 | 52.6639 | 1.2331 | 14430 | Birmingham | UK | UK | 722 | |||
554 | 52.7268 | 0.128 | 3260 | Birmingham | UK | UK | 163 | |||
555 | 52.9482 | -3.8144 | 12840 | Birmingham | UK | UK | 642 | |||
556 | 53.0054 | -0.801 | 3100 | Birmingham | UK | UK | 155 | |||
557 | 53.2034 | -3.0312 | 3340 | Birmingham | UK | UK | 167 | |||
558 | 53.2582 | -1.4047 | 2800 | Birmingham | UK | UK | 140 | |||
559 | 53.3608 | -1.4674 | 2600 | Birmingham | UK | UK | 130 | |||
560 | 53.374 | -2.5496 | 2720 | Birmingham | UK | UK | 136 | |||
561 | 53.4236 | -1.4576 | 3260 | Birmingham | UK | UK | 163 | |||
562 | 53.4301 | -1.4092 | 2420 | Birmingham | UK | UK | 121 | |||
563 | 53.4669 | -2.2238 | 3460 | Birmingham | UK | UK | 173 | |||
564 | 53.51 | -2.2427 | 3280 | Birmingham | UK | UK | 164 | |||
565 | 53.5178 | -1.4647 | 2940 | Birmingham | UK | UK | 147 | |||
566 | 53.5278 | -0.6153 | 2440 | Birmingham | UK | UK | 122 | |||
567 | 53.5478 | -2.6538 | 3400 | Birmingham | UK | UK | 170 | |||
568 | 53.6686 | -1.458 | 11700 | Birmingham | UK | UK | 585 | |||
569 | 53.7526 | -0.3007 | 2760 | Birmingham | UK | UK | 138 | |||
570 | 53.7726 | -2.7852 | 2900 | Birmingham | UK | UK | 145 | |||
571 | 53.8316 | -2.9804 | 3340 | Birmingham | UK | UK | 167 | |||
572 | 53.8482 | -2.3786 | 7000 | Birmingham | UK | UK | 350 | |||
573 | 53.859 | -1.5386 | 3130 | Birmingham | UK | UK | 157 | |||
574 | 53.9762 | -2.0178 | 5920 | Birmingham | UK | UK | 296 | |||
575 | 54.1184 | -0.7891 | 3220 | Birmingham | UK | UK | 161 | |||
576 | 54.5486 | -1.1267 | 5760 | Birmingham | UK | UK | 288 | |||
577 | 54.7576 | -2.9054 | 6200 | Birmingham | UK | UK | 310 | |||
578 | 54.8088 | -1.7722 | 2820 | Birmingham | UK | UK | 141 | |||
579 | 54.8533 | -1.394 | 2760 | Birmingham | UK | UK | 138 | |||
580 | 55.2237 | -2.0276 | 6250 | Birmingham | UK | UK | 313 | |||
581 | 55.3781 | -3.436 | 16000 | Birmingham | UK | UK | 800 | |||
582 | 55.4331 | -4.509 | 3020 | Birmingham | UK | UK | 151 | |||
583 | 55.6095 | -3.7723 | 3360 | Birmingham | UK | UK | 168 | |||
584 | 55.7945 | -4.2076 | 6600 | Birmingham | UK | UK | 330 | |||
585 | 55.8453 | -4.3112 | 6500 | Birmingham | UK | UK | 325 | |||
586 | 56.7077 | -2.7597 | 3040 | Birmingham | UK | UK | 152 | |||
587 | 57.2367 | -2.7821 | 2780 | Birmingham | UK | UK | 139 | |||
588 | 57.8682 | -4.4448 | 2620 | Birmingham | UK | UK | 131 |
- Step 1 is running a greenfield analysis. You only need to enter demand.
- Step 2 is replicating the current situation, to get figures to compare scenario's against, such as average customer distance. You enter current warehouses and fix customer assignments.
- Step 3 is creating a realistic scenario that sits somewhere between the current situation and greenfield. Constraints of step 2 are partly relaxed, like "only some of the current warehouses remain as-is, but others may move to a Center-of-Gravity".
- Step 4 (optional) is adding suppliers to include supplier transport costs in the optimization.
Before setting up your own model, it may be helpful to play around with the demo data first, to get an idea of how the software works, and to check out - for instance - what data relates to what constraint.
1. Greenfield analysis
100% optimization freedom
- Free amount of new warehouses at Center-of-Gravity locations
- All customers reassignable
- No warehouse capacity limits
3. Realistic scenario
Some optimization freedom
- Some warehouses as is
- Some warehouses closed
- Some warehouses extended
- Some warehouses added
- Some customers reassignable
- Some warehouse capacity limits applicable
2. Current situation
Zero optimization freedom
- All warehouses as is
- All customer assignments as is (so warehouse capacity limits are respected without defining those explicitly)
100% ←------ Optimization freedom ------→0%
- Fill out table Customers under section
"Input tables".
- You can start with only the 4 obligatory fields filled: Customer_ID, Latitude, Longitude, Demand.
- All fields are explained in section
"Input tables"- subsection"About tables and fields".- Select the number of Center-of-Gravity under section
"Calculate Center-of-Gravity locations"- Press Calculate. That's it!
- Main output - including Center-of-Gravity locations - is found in section
"Output - Reports". All reports can easily be copied into Excel.
- View the service level distance chart under section
"Output - Service level distances"showing percentage of demand and customers reached per distance. This indicates if more warehouses should be opened, or if some could be closed.
![]()
- Check option "distance based customer coloring" under
"Map settings"below map. Customers beyond acceptable lead time distance (set under"Parameters & Constraints"- subsection"Service level") become black. Based on this map you may decide to add/relocate warehouses. Or accept that some customers will have a longer lead time - which is probably already the case in reality. A few far-away customers should not be driving your supply chain network design!
![]()
- Check option "Improve service level" under section
"Parameters & Constraints"- subsection"Service level"and rerun. Service level will be improved at the expense of increased transport costs.
- Go to section
"Parameters & constraints"- subsection"Sensitivity analysis".- Check option "Randomize each demand quantity" and rerun. Each customer demand temporarily changes between −X% and +X%. See how it affects Center-of-Gravity.
- Check option "Display cost-increase-areas" and rerun. A grey area around each Center-of-Gravity appears. If the warehouse would be located at the dotted border, then its transport costs would increase X%.
![]()
To fix warehouses at their current locations:
- Set field Move_range set to 0 in input table Predefined warehouses.
- Check constraint "Predefined warehouses" under section
"Parameters & constraints"- subsection"Constraints", and rerun.
To assign customers to their current warehouse:
- Enter field Warehouse_ID in table Customers
- Check constraint "Fixed customer warehouse assignments" under section
"Parameters & constraints"- subsection"Constraints", and rerun.- Displaying current warehouse-customer links may already reveil some room for improvement.
- Fixing current customer-warehouse assignments automatically means that current capacity limits will be respected, so there is no need to enter those explicitly, yet.
- Investigate if current locations are optimal - given fixed customer assignments:
- Increase value of field Move_range of (some) predefined warehouses, and rerun.
- Investigate if current customer assignments are optimal - given fixed warehouse locations:
- Empty field Warehouse_ID of (some) customers, and rerun
- Or uncheck constraint "Fixed customer-warehouse assignments" under section
"Parameters & constraints"- subsection"Constraints", and rerun.
- Investigate where to open a next new warehouse:
- Increase the number of Center-of-Gravity beyond the number of predefined warehouses, and rerun.
- Make sure you allow (some) customers to get (re)assigned to this new warehouse.
Relaxing some constraints, you may want to control the solution by other types of constraints:
- Limit warehouse throughput capacities:
- Enter field Capacity in the Predefined warehouses table.
- Check constraint "Capacity limits" under section
"Parameters & constraints"- subsection"Constraints", and rerun.- Keep in mind that current limits may not apply in future, if additional space can be rented or the owned facility expanded!
- Group customers for single sourcing:
To enforce all customers within a group to be assigned to the same, single warehouse:
- Enter field Group in table Customers.
- Activate constraint "Customer groups" under section
"Parameters & constraints"- subsection"Constraints", and rerun.
A Center-of-Gravity analysis focuses on the demand side with its relatively high transport costs and lead time requirements. But you can add suppliers (locations and supply quantities) to include supply transport costs in the optimization. Adding suppliers becomes more relevant if there are a few dominant supply locations (such as a large plant or entry harbour), in which case a warehouse should move towards that location.
Note that a supplier may pull all warehouses, whereas a customer only pulls one.
Enter suppliers - at least obligatory fields Supplier_ID, Latitude, Longitude, Supply - in input table Suppliers.
Supplier shipments are usually larger than customer shipments, on average. This makes supplier transport relatively cheaper. The lower transport rate makes suppliers pull Center-of-Gravity relatively less than customers do.
Enter supplier and customer transport rate under section"Parameters & Constraints"- subsection"Transport rates".
![]()
Check "Suppliers" under section"Parameter & constraints"- subsection"Supply options".
Select 1 of the 4 supply options in the same subsection. The selected option determines how supply flows are constructed.
Non-unique products
Unique products
- Each supplier delivers to closest warehouse* only
i- LP optimized supply flows - with auto-sized suppliers
i
- Each supplier delivers to each warehouse
i- Each supplier delivers to each warehouse via closest warehouse*
i* Closest warehouse can be manually overruled
Under options 2/3/4 each supplier - unlike a customer - pulls several/all warehouses.
Demand side only
Warehouses are pulled by customers only
Supply option 3
All warehouses are pulled towards a major supplier.Supply option 4
All warehouses - but especially the closest warehouse - are pulled towards a major supplier.![]()
![]()
![]()
Note that when activating supply, the picture may suddenly becomes much more complex.
![]()
Select a proper location for each Center-of-Gravity
Once the Centers-of-Gravity have been calculated (based on road distance estimations), select a proper warehouse location for each Center-of-Gravity.
Under Map Settings, select ESRI map and decrease Center-of-Gravity size factor or opacity to see the road network.
Consider locations within the 1%-costs-increase-range around the Center-of-Gravity - the visual outcome of the sensitivity analysis as described under step 1.
If the Center-of-Gravity sits on top of a dominant customer or supplier, then search for a highway/expressway junction close by. In this case, the 1%-costs-increase-range will be relatively small.
Else, search for a location where two expressways cross each other. At such crossing, transport in any direction will not cause a detour. Whereas if a location is only near an east-west expressway, then transport to the north or south means a detour to reach the north-south expressway. Moving the location to the crossing will remove that detour for 3 directions, but add it to 1 direction (east). If demand is almost equally divided across all 4 directions - which is usually true for a Center-of-Gravity - then this move lowers the sum of weighted road distances.
You may want to double check your selected location by testing also locations around it using actual road distances (instead of estimations). These can be retrieved with Batch Driving Distances Caclulator. Note that Google Maps returns the road distance of the fastest route, not shortest. Which is fine. But fastest route may depend on time of the day, day of the week, time of the year, roadworks, or vary between routes that are nearly-equivalent. So, even actual road distance might still be an estimation, to some extent.
Better would be to score your location against others by using transport tariffs that may capture macro-economic transport imbalances that cause transport in one direction to be less expensive per mile than in the opposite direction. But - most likely - it will be difficult to obtain all transport tariffs. This may (partly) be done via an RFQ/RFP in which you ask logistics service providers to quote for both the warehousing and transport operation.
The above does not yet take into account other/qualitative factors relevant for the warehouse location decision. And it may turn out there is no warehouse for rent/sale at the selected location.If which warehouse(s) to keep and which to close? is the main question, then use Select best warehouses.
- Enter your data in the input tables. Predefined warehouses is no longer optional input, but mandatory.
- Specify the number of warehouse to be selected (per group) and make your solver selection from 3×3 matrix (as depicted below), then press button "Select best warehouses".
![]()
Optional
- Enter warehouse capacity limits. Keep in mind that current limits may not apply in future, if additional space can be rented or the owned facility expanded!
- Enter fixed customer-warehouse assignments, if some customers definitely need to be delivered from a specific warehouse.
- You may override the transport costs (input) calculated by the software with your own transport costs based on your own costing method / on actual rate tables / on actual road distances that can be retrieved using Batch Driving Distances Calculator (Google Maps based).
Transport rates for new warehouses may be unknown. Or transport rates from a current warehouse to customers that are currently delivered from another warehouse may be unknown. Unknown rates is often a cumbersome part in supply chain network design, and reason to use a simpler costing method that is - more or less - similar to the one embedded in this software.- Enter warehouse fixed/variable costs, so these can be taken into account as well in the optimization.
KilometersMilesDistance circuity factoriColor customers black if warehouse distance exceeds lead time distance ofkmiImprove service leveliDisplay city closest to Center-of-Gravity locationiOnly consider cities with a population larger thanOnly consider cities within countryiClosest city is based on the underlying database that contains cities with a population larger than 15,000.
![]()
![]()
![]()
![]()
Display
-costs-increase-areas around Center-of-Gravity
iRandomize each demand quantity ±
; using a
distribution
iNon-unique products1. Each supplier delivers to closest warehouse onlyi
2. LP optimized supply flows - with auto-sized suppliersiUnique products3. Each supplier delivers to each warehousei
4. Each supplier delivers to each warehouse via closest warehousei
Link suppliers to closest main warehouse (not satellite) - Applies to options 1 and 4Auto-size shipments per individual customer
iThe below is meant to distinghuish between customer and supplier transport, if you activate suppliers.
Shipment sizes affect Center-of-Gravity locations, the cost/km (or cost/mile) value does not.
iShipment size
% FTL i% FTL costs
Cost ratio iCosts/km Costs/km/qty![]()
Full Truck Load Customer Supplier Interdepot Center-of-Gravity positions depend on ratio supplier rate/customer rate =
Transport costs curveiLTL cost factor as % FTL cost Shipment size as %FTL
Point X (as %) Y (as %) Start point (P0) Start control point (P1) End control point (P2) End point (P3) Just a specific point on the curve Animation of Bezier curve constructionYou may also drag the red control points in chart itself.
- Transport rates enable differentiation between relatively less expensive FTL-like transport (from suppliers) and relatively more expensive LTL-like transport (to customers).. It becomes most relevant if your model includes suppliers. To minimize transport costs a Center-of-Gravity should move closer towards a customer than towards a supplier, if their volumes would be equal. The ratio between supplier rate and customer rate is more important than rates as such. This ratio affects the Center-of-Gravity position, as shown in the animation below (and for more info and visuals, see section
About Center-of-Gravity algorithms- subsectionIncluding supply-side).- By the way, a supplier may pull all warehouses, whereas a customer only pulls one, so the supply-side model involves more than a difference between customer and supplier transport rate.
![]()
- Transport rates also enables differentiation between small and large customers, if shipment sizes are entered at individual customer level. However, the impact on Center-of-Gravity locations is often small, if smaller and larger customers are scattered all around.
- Transport cost of a customer = demand × distance warehouse-customer × customer transport rate. The rate becomes customer specific if shipment size is specified in table Customers.
- LTL transport being relatively more expensive than FTL transport is expressed in the transport cost curve as seen below. An LTL shipment size of 50% FTL brings 72% FTL costs, approximately. Thus, per each unit transported LTL transport is in that case 1.44 times more expensive than FTL transport.
- Under map settings you can choose to display location sizes as transport-rated volumes (volume × rate ratio), instead of plain volumes. Suppliers will then appear relatively smaller than customers, which better reflects the 'pull force' of a supplier/customer.
Calculate Center-of-Gravity locations first, before using this section.
Own truck operation
iWorking days per yeariDistribution hours per workday(s)iUnloading minutes per deliveryAverage speed (km/hour)Average speed (miles/hour)Maximum speed (km/hour)iTruck fill rateiSum of area size(s) (square km)iArea scanning leveliDisplay area(s) on map
Avg Inter Drop DistanceiManual overrule IDD (km)Manual overrule IDD (miles)Avg deliveries per roundtripiAvg roundtrip lengthiSum of yearly roundtrip kilometersSum of yearly roundtrip milesiDemand beyond reachCustomers beyond reachAbove fields remain empty, because an infeasibility error is encountered at a warehouse.
If you want to calculate more precisely, on a daily basis (auto-generated or user entry), with actual roundtrips being constructed, then use Fleet Mileage CalculatorCenters-of-Gravity Calculator goal value assumes that transport costs are linearly, perfectly positive correlated to weighted distance, as if 1 customer delivery means 1 trip with 1 drop only, and as if costs are fully determined by distance driven. In reality, multiple drops are done in a single roundtrip, and trip costs are not only costs of driving, but also costs of loading and unloading (see picture on the right).
Centers-of-Gravity Calculator minimizes the sum of weighted distances. This is the same as minimizing the weighted average distance. That distance is the distance from warehouse to the first customer in a trip, and also from last customer back to warehouse. It does not equal the distance between customers on a trip. That inter-drop distance depends on the number of drops and delivery area size. So, trip length - and costs of driving - is only partly determined by weighted average distance. And costs of (un)loading is not related to distance. Because transport costs are only partly determined by weighted average distance, X% change of goal value does not mean X% change of transport costs. To estimate future scenario transport costs you may combine your actual baseline transport costs with goal value change and some dampening factor, as shown below.
Or use the sum of yearly transport kilometers of above section
Baseline Future scenario Baseline transport costs from your financials USD 12,000,000 Goal value Centers-of-Gravity Calculator 10,000,000 9,000,000 Goal value change (as %) -10% Dampening factor (value assumed at 0.50) 0.50 Goal value change × dampening factor -5% Transport costs effect - USD 600,000 Future scenario costs USD 11,400,000 "Own truck operation"to estimate cost effects.
Predefined warehousesFixed customer-warehouse assignmentsFixed supplier-warehouse assignmentsCapacity limitsLP optimizationiContinuous optimizationPost-optimization onlyCustomer groupsiSuppliersBorder crossing pointsThis section explains the links between constraints and input tables. Similar info is found in section"Input tables"- subsection"About tables and fields".
This section also describes the contents of the demo data linked to a constraint.
Customers table
- Check constraint "Fixed customer-warehouse assignments" to assign customers to a predefined warehouse.
Demo: field Warehouse_IDs is set to "Birmingham" for all customers in UK/Ireland to assign them to the predefined Birmingham warehouse. It is set to "Madrid" for all customers in Spain/Portugal.- Check constraint "Customer groups" to have all customers within the same group delivered by the same single warehouse that can deliver the group against lowest transport costs (still calculated at individual customer level, see example in section
"About Center-of-Gravity algorithms"- subsection"Customer grouping").
Demo: field Group is filled with the applicable 2-letter ISO country code for all customers. So - in the demo - group stands for country. This prevents customers in Western France to get delivered by the UK warehouse.- Check constraint "Border crossing points" to activate border crossing points.
Demo: field Border_group is filled for customers in UK, IE, Italy, and Iberia.
Predefined warehouses table (optional)
- Check constraint "Predefined warehouses" to include predefined warehouses in the solution.
Demo: contains one predefined main warehouse in Birmingham (UK) and one in Madrid (Spain), with field Move limit set to 0 for the Birmingham warehouse (it cannot move), and set to 200 for the Madrid warehouse (it can move within a 200 km range). Demo also contains several other main and satellite warehouses that can move freely around.- Check constraint "Capacity limits" to limit warehouse throughput capacities.
Demo: field Capacity is set for both predefined warehouses Birmingham and Madrid.
Suppliers table (optional)
- Check "Suppliers" to include suppliers.
Demo: contains one supplier in Rotterdam (The Netherlands - Entry harbour supplying 71% total demand), and one in Bologna (Italy).- Flows from suppliers via warehouses to customers are constructed automatically, dependent on the selected Supply option as set in section
"Parameters & constraints"- subsection"Supply options".- Check constraint "Fixed customer-warehouse assignments" to assign suppliers to a predefined warehouse. It links to field Warehouse_ID. If filled, then the supplier will only supply this warehouse. And via this warehouse to each other warehouse, if supply option "Each supplier delivers to each warehouse via closest warehouse" is selected. (If field Warehouse_ID is filled, then a supplier will never supply all warehouses directly, even if supply option "Each supplier delivers to each warehouse directly" has been selected.)
Border crossing points table (optional)
- Check constraint "Border crossing points" to activate border crossing points.
Demo: field Border_group relates to the same field found in the customer table and specifies which border crossing points (if any) are applicable for which customers. The demo contains a limited amount of border crossing points in Italy, Iberia, UK/Ireland, just to show you how this concept works.Centers-of-Gravityirunsi
Minimum goal value iCurrent goal value Weighted distances i
ScenarioiNameScenario to reload
Show outcomes of Center-of-GravityDistance bin width (km)10 20 25 50 100
Distance Demand cum Demand Customers cum Customers # Customers
Tab separated Decimal point Semicolon separated Decimal commaOriginal input data and parameters are also copied in, at the end.Summary
i i iCenters-of-Gravity
iiiCustomer assignments
iiService level distances
Goal value to be minimized is the sum of weighted distances. In a basic approach distances are weighted by quantities only. Centers‑of‑Gravity Calculator uses two weights. Distances are weighted by transport quantity (1st weight) × transport rate (2nd weight). The transport rate converts distances and quantities into costs. Primary reason for adding transport rate as a second weight is to make suppliers (FTL-like transport) pull Centers-of-Gravity relatively less than customers (LTL-like transport) do, rather than to come up with highly accurate transport costs.
Relative changes in minimum goal value between baseline and future scenario (expressed as % change) can be applied to your actual baseline costs (derived from your financial reports) to estimate the transport costs effect of a supply chain network change. Because transport costs partly consist of (un)loading costs that will not change, you may add some factor to dampen the costs effect.
Baseline Future scenario Baseline transport costs from your financials USD 12,000,000 Goal value Centers-of-Gravity Calculator 10,000,000 9,000,000 Goal value change (as %) -10% Dampening factor (value assumed at 0.80) 0.80 Goal value change × dampening factor -8% Transport costs effect - USD 960,000 Future scenario costs USD 11,040,000
For more info about rates and differentiation between customers and suppliers, see section"Parameters & constraints"- subsection"Transport rates". By the way, a supplier may pull all warehouses, whereas a customer pulls only one warehouse, so the supply-side model involves more than only a difference between customer and supplier transport rate. (A supplier is not just a relatively smaller customer.)
In case of an owned truck operation, see section"Parameters & Constraints"- subsection"Own truck operation". It offers functionality to estimate transport mileage. That mileage can be used to estimate the transport costs effects of a supply chain network change more precisely.How to calculate Center-of-Gravity locations
This section explains in detail how Center-of-Gravity Calculator calculates Center-of-Gravity locations.
Center-of-Gravity locations are indicative warehouse locations that minimize transport costs
In fact, Center-of-Gravity locations are those locations that minimize the sum of weighted distances, given the amount of warehouses. Weighted distance is the distance from warehouse to customer multiplied by customer demand. If a customer has a demand of 10 and is located 25 kilometers from its warehouse, then its weighted distance is 250 kilometers. The sum of weighted distances of all customers acts as an indicator for transport costs.
Towards the algorithms - Introductory thoughts
Upfront: there exists no mathematical formula that can (simply) calculate the optimal warehouse position given customer locations and demand. So...
Imagine a case with two customers only. Customer A has a demand of 10 and customer B of 1. Where is the Center‑of‑Gravity? Somewhere on line A-B, closer to A?
Well, you could say that customer A pulls 10 times harder than customer B. If the 'Center‑of‑Gravity' * moves a distance d towards A the sum of weighted distances decreases (10 × d) – (1 × d) = 9 × d.
* If put between quotes then it refers to a location under investigation which is not yet the true Center‑of‑Gravity.
So, the Center‑of‑Gravity is right on top of customer A, not somewhere in between A and B!
The resultant pull force - sum of all customer pull forces - is leading. It always points in the direction that the 'Center‑of‑Gravity' should move into to decrease the sum of weighted distances. This resultant pull force is constructed by linking all customer pull forces together, head to tail.
![]()
However, the sum of weighted distances will only decrease if the 'Center‑of‑Gravity' moves the right distance! The resultant pull force does not tell how far to move. Move this far?
Or this far?
The smaller the move distance, the less chance of 'overshooting' the Center‑of‑Gravity, but the many more moves to be made. Therefore, it is better start with big moves. In case of 'extreme overshooting' the sum of weighted distances will have increased instead of decreased, and the resultant force arrow changed - or even completely reversed - its direction. By then, the move size needs to be reduced in order to get closer to the Center‑of‑Gravity. Else, the next move would end up at the previous position, followed by getting stuck in a loop of going back-and-forth without ever getting any closer. By reducing the move size each time the sum of weighted distances increased the 'Center‑of‑Gravity' ends up on top of the Center‑of‑Gravity.
Of course, the above was an extreme example. Usually, there is no single dominant customer, and the Center‑of‑Gravity will be somewhere in the center of all customers. Also then, the Center‑of‑Gravity is found by moving in the direction of the resultant pull force, but not too far. The resultant pull force becomes smaller the closer the location gets to the Center‑of‑Gravity (which implicates that the length of the resultant pull force somehow does relate to the distance to be moved). It becomes zero on top of the Center‑of‑Gravity, with all underlying pull forces (F) in a state of equilibrium in both x and y direction: ΣFx=0, ΣFy=0. All forces linked together start and finish at exactly the same location = zero resultant force.
Except if one dominant customer outweighs all other customers. Then the Center-of-Gravity is on top of this dominant customer, but the resultant force is not zero.
Another exceptional case, rather theoretical, is one in which there are only two customers, A and B, with equal demand. Then the resultant force is zero for all points between A and B on line A-B. Each of these points is Center‑of‑Gravity.
Single Center-of-Gravity location algorithm
There exists no mathematical formula that can calculate the Center‑of‑Gravity/optimal warehouse position, given customer locations and demand. It takes an iterative approach to determine the Center‑of‑Gravity.
The Single Center‑of‑Gravity algorithm works like this on an x,y plane:This algorithm will always find the global optimum with a single run. With this type of problem, there is no chance of getting stuck in local optimum. The algorithm relates to the gradient descent method (wikipedia), also used by Excel Solver's method GRG Nonlineair (GRG stands for Generalized Reduced Gradient).
- Initialization: locate the 'Center‑of‑Gravity' at an initial (random) position, and give the move distance a large value.
- Calculate the resultant pull force. Move the 'Center‑of‑Gravity' in that direction, at move distance.
- Calculate the sum of weighted distances. If it increased, then divide the move distance by two.
- Repeat steps 2 and 3 until the move distance becomes very small.
Determining the Center‑of‑Gravity is like finding the x and y coordinate of the lowest point (x,y,z) in a bowl-shaped 3D‑chart - visualizing the sum of weighted distances z = f(x,y) for each x and y - by going into the direction of steepest descent as pointed to by the resultant pull force. During this descent the direction gets adjusted after each move made/step taken.
Wikipedia presents complex methods to determine a proper move distance (a.k.a. step size) per iteration. Luckily, there is no urgent need for those, because the method of step 3 works quite good!
The Single Center‑of‑Gravity algorithm works like this on an x,y plane:
- Initialization: locate the 'Center‑of‑Gravity' at an initial (random) position, and give the move distance a large value.
- Calculate the resultant pull force. Move the 'Center‑of‑Gravity' in that direction, at move distance.
- Calculate the sum of weighted distances. If it increased, then divide the move distance by two.
- Repeat steps 2 and 3 until the move distance becomes very small.
Steps more detailed
- Initialization: locate the 'Center‑of‑Gravity' at an initial (random) position, and give the move distance a large value.
- A good initial position is the weighted average x and y coordinates of its customers. It is often near-optimal, but not the Center‑of‑Gravity, though you may have read elsewhere it is. Theoretically, it can be even 100% worse!
Often only 0-5% worse...
Often, the sum of weighted distances of the weighted average x,y position versus that of the true Center‑of‑Gravity will be 0-5% worse, but more than 5% worse is also possible, as sometimes will happen/can be seen in the simulation further below.
...but theoretically even 100% worse is possible!
Imagine a case with only two customers, customer A with demand 1000 at x,y position (0, 0) and B with demand 1 at position (100, 0). The weighted average x,y position is (0.0999, 0), with 0.0999 calculated as (1000×0 + 1×100)/(1000+1). If the 'Center‑of‑Gravity' moves a distance d towards customer A the goal value improves 1000×d (closer to A) − 1×d (further from B) = 999×d. So the Center‑of‑Gravity is on top of customer A, not at the initial weighted average x,y position! The Center‑of‑Gravity has a sum of weighted distances of 1000×0 (customer A) + 1×100 (customer B) = 100, whereas the initial position has a value of 1000×0.0999 (customer A) + 1×99.9 (customer B) = 199.8, which is 99.8% worse!
- A random location within the customer cloud can be used just as well, as the remainder of the algorithm will always find the Center‑of‑Gravity, in almost equal time.
- It is better to start with a bit too large move distance (100 kilometers) than with a bit too small, because if too small then it will take many iterations before the Center‑of‑Gravity is reached.
- Calculate the resultant pull force. Move the 'Center‑of‑Gravity' in that direction, at move distance.
- Sum up all pull forces (vectors) to get the resultant pull force (vector) with a certain size (less relevant) and direction (most relevant) by summing up x and y components separately. For each customer pull force F: Fx = length demand vector × (customer_x − CoG_x)/(distance from customer to CoG), or shorter: Fx = demand × cosinus(angle F). Fy = demand × sinus(angle F).
- Normalize this resultant pull force (a vector with origin at 0,0 and end point at x,y) by dividing x by its length √(x2 + y2) and y by its length. The vector keeps pointing in the same direction, but its length becomes 1, which makes it a unit vector.
- Multiply x and y values of this unit vector with the step size to get the move vector representing move distance in x and y direction.
- If the move vector's tail starts at the current 'Center‑of‑Gravity' position, then its head ends at the next 'Center‑of‑Gravity' position. So, add the move distance in x direction to the current x position of the 'Center‑of‑Gravity', and add distance in y direction to its current y position. This brings the next 'Center‑of‑Gravity' position.
- Calculate the sum of weighted distances. If it increased, then divide the move distance by two.
- This approach originates from the binary search algorithm - a.k.a. half interval search - to find the position of a target value within a sorted array. See half-interval search (wikipedia).
- Optional: move the 'Center‑of‑Gravity' back to its previous position if the sum increased, so with each 'accepted move' the solution always improves (or remains equal, but never worsens).
- Repeat steps 2 and 3 until the move distance becomes very small.
- Then the Center‑of‑Gravity hardly changes anymore, and the sum of weighted distances converges.
- The Center‑of‑Gravity may be in the middle of a lake or on top of a mountain.
Visual simulation
Press button Next process step to start the simulation.
Earth is a globe - Required adjustments
X,y on a flat plane (Chartesian coordinate system) becomes latitude,longitude on a globe (Spherical coordinate system). The algorithm involves summing up vectors with a length and an angle. The distance between two points on a globe is calculated with the Haversine formula, and the angle with a Bearing formula. Demand vectors are mapped to a flat tangent space before summing up, and the result is translated back to the globe - see also the picture of section 'Weiszfeld's algorithm as alternative'.
"No, it's not
a flat plane."Latitudes and longitudes in both formulas need to be expressed in radians = degrees × 𝜋/180.
Haversine formula - in 2 steps
- a = sinus2((latitude_customer − latitude_Center-of-Gravity)/2) + cos(latitude_Center-of-Gravity) × cos(latitude_customer) × sinus2((longitude_customer − longitude_Center-of-Gravity)/2)
- As-the-crow-flies-distance = 2 × atan2(√a , √(1-a)) × 6371. 6371 kilometers is Earth's mean radius.
See Excel - As-the-crow-flies distance function for an Excel implementation. Excel's atan2 function takes its arguments in reversed order!
Bearing formula
Bearing = atan2(sinus(longitude_customer − longitude_Center-of-Gravity) × cosinus(latitude_customer) , cosinus(latitude_Center-of-Gravity) × sinus(latitude_customer) − sinus(latitude_Center-of-Gravity) × cosinus(latitude_customer) × cosinus(longitude_customer − longitude_Center-of-Gravity)
Bearing is measured against the vertical longitude axis, not the horizontal latitiude axis, so you need to swap the use of cosinus/sinus when calculating forces in x and y direction.
Weiszfeld's algorithm as alternative
Weiszfeld's algorithm - see also Geometric median (wikipedia) - works like this on an x,y plane:Applying Weiszfeld's algorithm to Earth is also done via a flat tangent space.
- Initialization: locate the 'Center-of-Gravity' at an initial (random) position.
- Calculate each customer weight as demand divided by distance to 'Center-of-Gravity'.
- Calculate the weighted average x,y of customers as the next 'Center-of-Gravity'.
- Repeat steps 2 and 3 until the sum of weighted distances converges.
Source: section 2.3 "Weiszfeld Algorithm on a Riemannian Manifold" of scientific article
Generalized Weiszfeld Algorithms for Lq Optimization by K. Aftab, R. Hartley, J. Trumpf.
Differences between both algorithms
Major difference between Single Center-of-Gravity algorithm and Weiszfeld's algorithm is that the former uses an explicitly controlled move distance whereas - you could say - the latter has an implicit variable move distance of 1 ∕ Σ(demandi ∕ distancei), that is applied to a non-normalized resultant pull force vector.
This controlled move distance enables an advanced feature of Centers‑of‑Gravity Calculator: you can limit the move range of predefined warehouses. The optimal location may then be somewhere at the border of this limited range and Weiszfeld's algorithm cannot handle this. But this controlled move distance also means that, whereas under Weiszfeld's algorithm the sum of weighted distances decreases with each iteration, under the Single Center-of-Gravity algorithm it decreases only if the move distance did not result in 'extreme overshooting'.
Weiszfeld's algorithm converges approx. 10% faster. After 15 iterations the sum of weighted distances will have become less than 0.01% above absolute minimum. Weiszfeld's algorithm does not use a move distance, but the Single‑Center-of-Gravity algorithm does, and if the initial move distance is set too high, then the first few iterations will become useless 'extreme overshoots' (as can be seen in the chart), but if it is set too low it will take many more iterations to move to the Center-of-Gravity, so it's better to initialize it a bit too high.
Centers‑of‑Gravity Calculator uses both algorithms: the faster Weiszfeld's algorithm as its default, and Single‑Center-of-Gravity algorithm in case of predefined warehouses with limited move range. (Choice of algorithm can be case specific, and both algorithms used alternatingly also happens.)
![]()
Multiple Center-of-Gravity locations algorithm
Below, 'Center-of-Gravity' and warehouse are used interchangeably.
A single run of the Multiple Center-of-Gravity locations algorithm does the following:
Multiple runs are done to find the global optimum, as a run may get stuck in a local optimum. The more runs, the more likely the global optimum is found. Usually, this global optimum will then have been found multiple times as best solution. The warehouse locations of the best solution found are considered to be the Center-of-Gravity. But - especially with a higher number of warehouses - it may happen that two different warehouse structures bring an almost similar sum of weighted distances.
- Initialization: locate each warehouse at a random location within the customer cloud.
- (Re)assign each customer to its closest warehouse.
- Move each warehouse to the Center-of-Gravity of its assigned customers.
= apply Single Center-of-Gravity location algorithm / Weiszfeld's algorithm per warehouse- Repeat steps 2 and 3 until the sum of weighted distances converges.
Beware: a remote customer area at a very large distance from all other customers (e.g. an overseas island of a country), may cause one of the Centers-of-Gravity to end up in that remote area. Wanted? Only truck transport applicable? If not, then change the geocodes of these customers into exit harbour/airport geocodes. Or ignore demand completely, if marginal.
K-means Clustering
The above algorithm is similar to K-means Clustering (wikipedia) used for cluster analysis in data mining and machine learning, as depicted on the left.
K-means Clustering creates clusters that are purely distance based, just like each customer gets linked to its closest warehouse.
Expectation–Maximization (EM) algorithm creates clusters differently.
With Centers‑of‑Gravity Calculator you can group customers beforehand - like all dots in the yellow oval - if those need to be served by a single warehouse. The EM algorithm is useful for clustering analysis, not for Center-of-Gravity analysis.
Animations
The animations show what happens during a single run of the Multiple Center-of-Gravity locations algorithm. Customers are assigned to their closest warehouse, warehouses move to the Center-of-Gravity of their assigned customers, customer are reassigned, warehouses move, et cetera, until the final situation is reached where none of the customer assignments change anymore, and none of the warehouse positions.
Although each run starts with different random locations, the solution found (global optimum with a minimal sum of weighted distances) is the same in the first three run examples.
Run 1 - global minimum Run 2 - global minimum Run 3 - global minimum
The example below shows a run that got stuck in a local optimum. Therefore, multiple runs need to be done to find the global optimum.
Run 4 - local minimum Underlying assumptions
A major underlying assumption is that transport cost = rate/kilometer × distance. This assumption is only partly valid. For instance, parcel rates are often distance independent within a region. Macro-economic imbalances cause direction-dependent LTL/FTL rates. Different transport companies may have different rates for the same route because they have a different customer base that may enable efficiencies (or not). From that perspective, it would be better to calculate with costs based on actual carrier rates. But most often you will not have transport rates for each and every possible warehouse location to every customer location. So then you have to rely on transport costs estimators.
Distances used are not actual road distances, but estimated road distances. Estimated road distance = as-the-crow-flies distances × distance circuity factor. An important reason for using as-the-crow-flies distances is because run-time would become too long when having to calculate (extremely) large amounts of road distances.
Note that from a cost perspective the fastest route is more relevant than the shortest route, as driver and truck cost are more time-related than distance-related. Google Maps retuns fastst route by default. Which is fine. But fastest route may depend on time of the day, day of the week, time of the year, roadworks, or vary between routes that are nearly-equivalent. So, even actual road distance might still be an estimation, to some extent.
Calculating Centers-of-Gravity is not so much about distances as it is about pull forces and directions, finding the spot where all forces summed up together become zero, as explained in the section about the Single Center-of-Gravity location algorithm.*
As distance estimation errors occur in each and every direction (one customer distance might be a bit too large, another a bit too small), errors tend to cancel each other out, and the Centers-of-Gravity (indicative warehouse locations) become pretty accurate. The use of as-the-crow-flies distance is usually not an issue, if the road network is dense. Approximations are acceptable, and commonly used in network design software.
* The exceptional case in which distances become "directly relevant" is a case in which a customer is located thousands of miles away from all others, on an overseas island that belongs/belonged to a country. Then a Center-of-Gravity may end up on top of that customer. But locating a warehouse over there would make no sense. So you better remove such customer from your input data. Even in such case, the use of estimated distances is not the issue.
Broader supply chain network design perspective
Of course, transport costs are only a part of supply chain costs. The optimal number of warehouses and their locations are driven by many quantitative and qualitative factors such as (future) transport and warehousing space and labor rates, future demand (and supply), lead time requirements, inventory effects, supply chain risk/redundancy, contractual obligations, taxes, distance to parcel/logistics hubs, workforce availability/public transport connections, et cetera.
Nevertheless, it is common practice to run a Center-of-Gravity analysis to get a view on which logical warehouse locations to consider in a supply chain network design.A completely different alternative approach is one in which a large set of possible warehouse locations is pre-generated, after which the k best ones are selected (see Combination - wikipedia).
Advantages are that the warehouse-customer cost matrix can be based on various transport rate structures and using accurate road distances, and that it may take into account binary-fixed and variable warehousing costs as well.
Disadvantages are that it requires much more input. And still it has the risk that the set of predefined locations does not contain the optimal locations. Besides, runtime may become an issue.
See section"Select best warehouses"to apply this approach.
Add-ons
This section explains some additional functionality of Centers‑of‑Gravity Calculator.
LP optimization = Vogel's approximation + MODI + Stepping stone
If predefined warehouses have a limited capacity, a transportation problem arises. A transportation problem can be solved with the well-known Simplex method (LP). But it can be solved 50-100 times faster with a combination of Vogel's approximation + MODI + Stepping Stone method that generates an optimal solution. This combination has been implemented in the Centers‑of‑Gravity Calculator. Detailed descriptions of each separate method (standard as such) can be found on the internet. For a demo case that shows the speed difference, see Transportation problem solver
Note that if a customer receives from two warehouses in the optimal transportation problem solution (in which warehouse utilization never exceeds 100%), then this customer gets assigned in full to the warehouse that supplies the most, as Centers‑of‑Gravity Calculator is based on 'single sourcing'. This non-optimal, post-step may cause utilization to exceed 100%, usually less than 1%, as it involves a few customers only.
LP optimization ignores customer groups. But LP optimization will only get activated if warehouses still exceed capacity, after first having tried to solve capacity issues at group level if customer groups are applicable.
Superfast, greedy algorithm (if customer groups are relevant)
Centers‑of‑Gravity Calculator also contains a superfast, greedy algorithm as alternative that can be used if Vogel + MODI + Stepping Stone method runtime would become too long in case of an extremely large amount of customers and warehouses. As an extra, it will also try to keep customer groups intact. Roughly described, it works like this.The solution may become sub-optimal.
- Assign customers to warehouses as if capacities are unlimited
- Loop through all warehouse, and while the capacity of a warehouse is exceeded shift that customer to that other warehouse that will increase the costs the least (and only if the customer still fits in that warehouse if it is a warehouse earlier in the loop).
Suppliers come with supplier transport costs. Including suppliers means that Center-of-Gravity locations should move towards suppliers. But only as long as total transport costs decrease.
Besides customers, suppliers also pull Center-of-Gravity locations, but in 'opposite' direction, and usually relatively less hard, as supplier transport is relatively less expensive than customer transport. See sectionParameters & Constraints- subsectionTransport rates.
Centers‑of‑Gravity Calculator supports 4 supply options that determine how supply flows are constructed.
- Each supplier delivers to closest warehouse only
i- LP optimized supply flows - with auto-sized suppliers
i- Each supplier delivers to each warehouse
i- Each supplier delivers to each warehouse via closest warehouse
i
Each supplier causes (multiple) flows to warehouses. Each flow translates into a pull force (supplier or interdepot transport rate weighted) comparable to a customer pull force (customer tranport rate weighted) but pulling in 'opposite' direction. All forces are fed into the Single Center-of-Gravity algorithm that determines the position that minimizes total transport costs.
Besides, the customer assignment procedure of the Multiple Center-of-Gravity locations algorithm (step 2) takes into account (expected) supply-side transport costs when determining to which warehouse a customer gets assigned to.
Effect of ratio between supplier and customer transport cost rate on Center-of-Gravity
The highly simplified example on a Cartesian plane below shows the effect of including supply-side on a Center-of-Gravity, for varying ratio between supplier and customer transport rate.
![]()
- Solver outcomes have been verified by geometry that brings a formula for the Center-of-Gravity x‑position.
X‑position = max(0, 100 + 50 × F / √(1 - F2) ), with F = (1 - 3 × ratio)/2.
F stands for pull force in horizontal direction - of both customer C1 and C3 - required to reach an equilibrium state.- X-position becomes exactly 100 at ratio 1/3 (0.333...), as supply quantity × 1/3 equals C2 quantity.
- For a ratio ≥0.93 the supplier pull force outweighs customer pull forces, so the Center-of-Gravity ends up on top of the supplier. This 0.93 is in fact (1+2×1/√(12+0.52))/3 = (1+4/√5)/3 = 0.929618127...
A customer group is used to force all customers within a group to be delivered by a single warehouse only (single-sourcing). The group is assigned to the warehouse that comes with the lowest sum of weighted distances for this group of customers. Underlying cost calculation is still done at individual customer level.
What group stands for, is up to you to decide. For example, a group can be used to group customers per country, so each country is delivered from a single warehouse only.
![]()
A fixed customer-warehouse assignment takes precedence over a customer group. Warehouse capacity limits may cause a customer group to 'break'.The "Select best warehouses" routine selects those predefined warehouses that minimize supplier plus customer transport costs + warehouse binary‑fixed costs + warehouse variable handling costs.
- You may override the warehouse-customer transport costs (input) calculated by the software with your own transport costs based on your own costing method / on actual rate tables / on actual road distances that can be retrieved using Batch Driving Distances Calculator (Google Maps based).
- Enter a C×W matrix (C customers top to bottom × W warehouses left to right) in below text area with each matrix cell containing the total transport costs to deliver the total demand of customer c from warehouse w.
- Uncheck constraint "Fixed customer-warehouse assignments" if you no longer want to constrain customer assignments.
- Clear textarea if you no longer want to override.
i
Must‑be‑included Warehouse group a b c d e f g h i j Number of warehouses in group Number of warehouses to select For more info about above 3×3 options, read section
Warehouse combinations generation K-means Clustering
runsiSuperfast Selection
solverEnumeration
solverWarehouse
capacitiesIgnore / n.a. Greedy solver iLP solver i"About Select best warehouses algorithms".
Display selected warehouses onlyiCreate "Top X" report, X =i
Tab separated Decimal point Semicolon separated Decimal commaSummary
Selected warehouses
iCustomer assignments
Enumeration solver - Top X warehouse combinations
The "Select best warehouses" routine selects those predefined warehouses that minimize customer plus supplier transport costs + warehouse binary‑fixed costs + warehouse variable handling costs.
- Customer transport cost if customer c is delivered from warehouse w = demand qty of customer c × as-the-crow-flies-distance between warehouse w and customer c × distance circuity factor × customer transport rate (= transport cost/distance unit/qty unit).
- Distance is based on coordinates of the predefined warehouse, not final coordinates of Center-of-Gravity in case the warehouse was allowed to move, so you may want to copy those back into your predefined warehouse.
- Distance includes detour via a border crossing point if applicable.
- You can adjust cost input via section
"Optional - Override warehouse-customer transport costs (input)".- Supplier transport cost for each supplier = supply qty s × as-the-crow-flies-distance between warehouse w and supplier s × distance circuity factor × supplier transport rate * warehouse qty/total demand (conform supply option 3).
- Warehouse binary-fixed costs of warehouse w are its fixed costs and apply only if warehouse w is opened.
- Warehouse variable handling costs if customer c is delivered from warehouse w = productsum(customer c's whs quantities × warehouse w's variable rates). Note that customer field Demand (= transport qty) is irrelevant in this formula.
Constraint Supported How to activate Predefined warehouses yes Always active (regardles constraint setting). Fixed customer-warehouse assignments yes By checking constraint in "Parameters & Constraints"- subsection"Constraints"Capacity limits yes By using Greedy solver or LP solver (not by checking constraint). Customer groups no Suppliers yes By checking constraint in "Parameters & Constraints"- subsection"Constraints".
Supply option 3 is activated in background. Other options not supported.Border crossing points yes By checking constraint in "Parameters & Constraints"- subsection"Constraints".The selection of best warehouses is handled by two separate procedures.
Those two procedures have each 3 (solver) options, resulting in 3×3 combinations you can select from.
- One procedure that generates valid warehouse combinations = close/open decision (0/1) for each warehouse. The Enumeration solver simply generates all possible warehouse combinations, whereas the other two solvers generate only "promising" combinations (so run relatively much faster, but may miss out the optimal combination).
- One procedure that handles warehouse capacity limits, given the close/open decisions. The Greedy solver runs quick, but may produce sub-optimal results. The LP solver runs relatively slow, but produces optimal results. Of course, if "ignore / n.a" is selected, then customers can simply be assigned to the open warehouse that brings the lowest costs (usually the closest warehouse), which requires no specific solver.
Best is to run Enumerations Solver together with LP Solver (if warehouse capacity limits still apply in future). But if run time becomes too long - especially the LP Solver that handles capacity constraints is relatively slow - then stop the run and
- use K-means Solver (and limit number of runs) or Superfast Selection Solver to generate warehouse combinations.
- and/or use Greedy Solver to handle capacity constraints.
Warehouse combinations generation
Generates all possible valid warehouse combinations, so it will always find the optimum. But the higher the number of permutations, the longer the run time. It may even take hours. Reason to develop the other two solvers, that run quickly and will almost always find the optimal solution, however without guarantee. Because all combinations are generated and evaluated, the Enumeration Solver can produce a "top 20" list of warehouse combinations.Problem-specific solver, invented by Stelling Consulting. Found optimal solutions in almost all tests, or else 0-2% worse. Roughly described, it works like this:
For example, it solved a 145 million combinations case optimally in 0.1 second, versus 5 minutes Enumeration Solver.
- Open 1 by 1 the next best warehouse, until the amount of opened warehouses exceeds the amount to be opened with X. Then close X worst warehouses 1 by 1.
- Swap N open warehouses with N closed ones (within 1 to N groups). Run for all possible swaps, enumeration-wise. Revert swap if solution got worse.
Problem-specific solver, custom developed by Stelling Consulting. Performs a K-means-Clustering-like procedure.
Single runMultiple runs
- Initialisation: for each group, select a random warehouse within the group and open it, until the amount of warehouses to be opened for this group has been reached.
- As long as costs still decrease, keep looping through all open warehouses, and
- Close this open warehouse.
- Find the closed warehouse within this group that will decrease costs the most (or increase the least), if it is opened.
- Open that warehouse. (It might be the same warehouse as the one that just has been closed.)
This solver found optimal solutions in almost all tests, or else 0-2% worse. The chance of missing out the optimum becomes higher, if the number of runs is set lower.
- Perform the single run procedure multiple times (each starting with different randomly selected warehouses).
- Often, this best solution will have been found in several times of those runs. (Just like the Center-of-Gravity calculation procedure that will find the same solution several times doing N runs.).
Speed is usually in the same ballpark as Superfast Selection Solver. But if a high number of warehouses and (relatively) high number to be opened is applicable, then the limit on number of runs makes it finish faster than Superfast Selection Solver.
Warehouse capacity limits handling
Greedy Solver runs a fast, greedy algorithm that works likes this:The solution may become sub-optimal.
- Assign customers to warehouses as if capacities are unlimited
- Loop through all warehouse, and while the capacity of a warehouse is exceeded shift that customer to that other warehouse that will increase the costs the least (and only if the customer still fits in that warehouse if it is a warehouse earlier in the loop).
LP Solver runs Vogels' approximation + MODI + Stepping Stone a much faster equivalent of LP optimization by Simplex method. If predefined warehouses have a limited capacity, a transportation problem arises. A transportation problem can be solved with the well-known Simplex method (LP). But it can be solved 50-100 times faster with a combination of Vogel + MODI + Stepping Stone method that generates an optimal solution. This combination has been implemented. Detailed descriptions of each separate method (standard as such) can be found on the internet. For a demo case that shows the speed difference, see Transportation problem solver
Note that if a customer receives from two warehouses in the optimal transportation problem solution (in which warehouse utilization never exceeds 100%), then this customer gets assigned in full to the warehouse that supplies the most. This non-optimal, post-step may cause utilization to exceed 100%, usually less than 1%, as it will involve/apply to a few customers only.
"Suggestions are always welcomed!
Multiple customers have experienced that their suggestion for a new feature got realized."![]()
You want support to investigate your specific case?
Then go to section Collaborate, export a scenario file, and email that file with your question or description of your issue.
(Do not send a filled Excel template. It does not contain your parameter settings.)