barometer 0.5.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +51 -9
- data/VERSION.yml +2 -2
- data/bin/barometer +57 -7
- data/lib/barometer.rb +11 -0
- data/lib/barometer/base.rb +3 -0
- data/lib/barometer/data.rb +11 -6
- data/lib/barometer/data/sun.rb +10 -0
- data/lib/barometer/data/zone.rb +79 -188
- data/lib/barometer/formats/coordinates.rb +4 -1
- data/lib/barometer/formats/geocode.rb +9 -7
- data/lib/barometer/formats/icao.rb +2 -2
- data/lib/barometer/formats/weather_id.rb +2 -2
- data/lib/barometer/measurements/common.rb +113 -0
- data/lib/barometer/{data → measurements}/current.rb +17 -42
- data/lib/barometer/measurements/forecast.rb +62 -0
- data/lib/barometer/measurements/forecast_array.rb +72 -0
- data/lib/barometer/{data → measurements}/measurement.rb +57 -45
- data/lib/barometer/measurements/night.rb +27 -0
- data/lib/barometer/query.rb +55 -5
- data/lib/barometer/services.rb +3 -1
- data/lib/barometer/translations/icao_country_codes.yml +274 -1
- data/lib/barometer/translations/weather_country_codes.yml +189 -6
- data/lib/barometer/translations/zone_codes.yml +360 -0
- data/lib/barometer/weather.rb +5 -4
- data/lib/barometer/weather_services/google.rb +19 -35
- data/lib/barometer/weather_services/service.rb +113 -255
- data/lib/barometer/weather_services/weather_bug.rb +291 -2
- data/lib/barometer/weather_services/weather_dot_com.rb +45 -54
- data/lib/barometer/weather_services/wunderground.rb +83 -89
- data/lib/barometer/weather_services/yahoo.rb +44 -91
- data/lib/barometer/web_services/geocode.rb +1 -0
- data/lib/barometer/web_services/timezone.rb +40 -0
- data/lib/barometer/web_services/weather_id.rb +17 -2
- data/lib/demometer/demometer.rb +28 -0
- data/lib/demometer/public/css/master.css +259 -1
- data/lib/demometer/public/css/print.css +94 -0
- data/lib/demometer/public/css/syntax.css +64 -0
- data/lib/demometer/public/images/link-out.gif +0 -0
- data/lib/demometer/views/about.erb +10 -0
- data/lib/demometer/views/index.erb +2 -0
- data/lib/demometer/views/layout.erb +3 -2
- data/lib/demometer/views/measurement.erb +4 -1
- data/lib/demometer/views/readme.erb +116 -88
- data/spec/data/sun_spec.rb +53 -0
- data/spec/data/zone_spec.rb +330 -100
- data/spec/fixtures/formats/weather_id/ksfo.xml +1 -0
- data/spec/fixtures/services/weather_bug/90210_current.xml +1 -0
- data/spec/fixtures/services/weather_bug/90210_forecast.xml +1 -0
- data/spec/formats/weather_id_spec.rb +10 -5
- data/spec/measurements/common_spec.rb +352 -0
- data/spec/{data → measurements}/current_spec.rb +40 -103
- data/spec/measurements/forecast_array_spec.rb +165 -0
- data/spec/measurements/forecast_spec.rb +135 -0
- data/spec/{data → measurements}/measurement_spec.rb +86 -107
- data/spec/measurements/night_measurement_spec.rb +49 -0
- data/spec/query_spec.rb +12 -2
- data/spec/spec_helper.rb +28 -1
- data/spec/weather_services/google_spec.rb +27 -117
- data/spec/weather_services/services_spec.rb +49 -1024
- data/spec/weather_services/weather_bug_spec.rb +274 -0
- data/spec/weather_services/weather_dot_com_spec.rb +45 -125
- data/spec/weather_services/wunderground_spec.rb +42 -136
- data/spec/weather_services/yahoo_spec.rb +26 -116
- data/spec/weather_spec.rb +45 -45
- metadata +27 -11
- data/lib/barometer/data/forecast.rb +0 -84
- data/lib/barometer/data/night.rb +0 -69
- data/lib/barometer/extensions/graticule.rb +0 -51
- data/spec/data/forecast_spec.rb +0 -192
- data/spec/data/night_measurement_spec.rb +0 -136
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'date'
|
2
|
+
module Barometer
|
3
|
+
#
|
4
|
+
# Night Measurement
|
5
|
+
# a data class for forecasted night weather conditions
|
6
|
+
#
|
7
|
+
# This is basically a data holding class for the forecasted night
|
8
|
+
# weather conditions.
|
9
|
+
#
|
10
|
+
class Measurement::ForecastNight < Measurement::Common
|
11
|
+
|
12
|
+
attr_reader :date, :pop
|
13
|
+
|
14
|
+
# accessors (with input checking)
|
15
|
+
#
|
16
|
+
def date=(date)
|
17
|
+
raise ArgumentError unless date.is_a?(Date)
|
18
|
+
@date = date
|
19
|
+
end
|
20
|
+
|
21
|
+
def pop=(pop)
|
22
|
+
raise ArgumentError unless pop.is_a?(Fixnum)
|
23
|
+
@pop = pop
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
data/lib/barometer/query.rb
CHANGED
@@ -30,12 +30,14 @@ module Barometer
|
|
30
30
|
:geocode => "Geocode"
|
31
31
|
}
|
32
32
|
|
33
|
-
attr_accessor :format, :q, :country_code
|
33
|
+
attr_accessor :format, :q, :country_code
|
34
|
+
attr_accessor :geo, :timezone, :conversions
|
34
35
|
|
35
36
|
def initialize(query=nil)
|
36
37
|
return unless query
|
37
38
|
@q = query
|
38
39
|
self.analyze!
|
40
|
+
@conversions = {}
|
39
41
|
end
|
40
42
|
|
41
43
|
# analyze the saved query to determine the format.
|
@@ -61,10 +63,16 @@ module Barometer
|
|
61
63
|
raise ArgumentError unless (preferred_formats && preferred_formats.size > 0)
|
62
64
|
|
63
65
|
# why convert if we are already there?
|
66
|
+
# (except in the case that the serivce excepts coordinates and we have a
|
67
|
+
# a geocode ... the google geocode results are superior)
|
68
|
+
#
|
64
69
|
skip_conversion = false
|
65
|
-
|
66
|
-
|
67
|
-
|
70
|
+
unless (@format.to_sym == Query::Format::Geocode.format) &&
|
71
|
+
preferred_formats.include?(Query::Format::Coordinates.format)
|
72
|
+
if preferred_formats.include?(@format.to_sym)
|
73
|
+
skip_conversion = true
|
74
|
+
converted_query = self.dup
|
75
|
+
end
|
68
76
|
end
|
69
77
|
|
70
78
|
unless skip_conversion
|
@@ -78,11 +86,14 @@ module Barometer
|
|
78
86
|
converted_query = Barometer::Query.new(@q)
|
79
87
|
end
|
80
88
|
unless converted
|
81
|
-
converted_query =
|
89
|
+
unless converted_query = get_conversion(preferred_format)
|
90
|
+
converted_query = Query::Format.const_get(klass.to_s).to(self)
|
91
|
+
end
|
82
92
|
converted = true if converted_query
|
83
93
|
end
|
84
94
|
if converted
|
85
95
|
converted_query.country_code ||= Query::Format.const_get(klass.to_s).country_code(converted_query.q)
|
96
|
+
post_conversion(converted_query)
|
86
97
|
break
|
87
98
|
end
|
88
99
|
end
|
@@ -94,13 +105,52 @@ module Barometer
|
|
94
105
|
if converted_query && converted_query.geo
|
95
106
|
@geo = converted_query.geo
|
96
107
|
else
|
108
|
+
puts "enhance geocode: #{converted_query.q}" if Barometer::debug?
|
97
109
|
geo_query = Query::Format::Coordinates.to(converted_query)
|
98
110
|
@geo = geo_query.geo if (geo_query && geo_query.geo)
|
111
|
+
converted_query.geo = @geo.dup
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
# enhance timezone?, unless we already did
|
116
|
+
#
|
117
|
+
if Barometer.enhance_timezone && !@timezone
|
118
|
+
if converted_query && converted_query.timezone
|
119
|
+
@geo = converted_query.timezone
|
120
|
+
elsif @geo && @geo.latitude && @geo.longitude
|
121
|
+
puts "enhance timezone: #{@geo.latitude}, #{@geo.longitude}" if Barometer::debug?
|
122
|
+
@timezone = WebService::Timezone.fetch(@geo.latitude,@geo.longitude)
|
123
|
+
converted_query.timezone = @timezone.dup
|
99
124
|
end
|
100
125
|
end
|
101
126
|
|
102
127
|
converted_query
|
103
128
|
end
|
104
129
|
|
130
|
+
# save the important parts of the conversion ... by saving conversion we
|
131
|
+
# can avoid doing the same conversion multiple times
|
132
|
+
#
|
133
|
+
def post_conversion(converted_query)
|
134
|
+
return unless (converted_query && converted_query.q && converted_query.format)
|
135
|
+
@conversions = {} unless @conversions
|
136
|
+
return if @conversions.has_key?(converted_query.format.to_sym)
|
137
|
+
puts "store: #{self.format} -> #{converted_query.format.to_sym} = #{self.q} -> #{converted_query.q}" if Barometer::debug?
|
138
|
+
@conversions[converted_query.format.to_sym] = converted_query.q
|
139
|
+
end
|
140
|
+
|
141
|
+
def get_conversion(format)
|
142
|
+
return nil unless format && @conversions
|
143
|
+
puts "found: #{self.format} -> #{format.to_sym} = #{self.q} -> #{@conversions[format.to_sym]}" if Barometer::debug? && @conversions.has_key?(format.to_sym)
|
144
|
+
# re-constuct converted query
|
145
|
+
if q = @conversions[format.to_sym]
|
146
|
+
converted_query = self.dup
|
147
|
+
converted_query.q = q
|
148
|
+
converted_query.format = format
|
149
|
+
converted_query
|
150
|
+
else
|
151
|
+
nil
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
105
155
|
end
|
106
156
|
end
|
data/lib/barometer/services.rb
CHANGED
@@ -7,10 +7,12 @@ require 'weather_services/wunderground'
|
|
7
7
|
require 'weather_services/google'
|
8
8
|
require 'weather_services/yahoo'
|
9
9
|
require 'weather_services/weather_dot_com'
|
10
|
+
require 'weather_services/weather_bug'
|
10
11
|
|
11
12
|
#
|
12
13
|
# web services (non weather)
|
13
14
|
#
|
14
15
|
require 'web_services/web_service'
|
15
16
|
require 'web_services/geocode'
|
16
|
-
require 'web_services/weather_id'
|
17
|
+
require 'web_services/weather_id'
|
18
|
+
require 'web_services/timezone'
|
@@ -1,9 +1,282 @@
|
|
1
1
|
# first term - icao code
|
2
2
|
# second term - standard country_code
|
3
3
|
#
|
4
|
+
# http://en.wikipedia.org/wiki/International_Civil_Aviation_Organization_airport_code
|
5
|
+
# http://www.theodora.com/country_digraphs.html
|
6
|
+
# http://www.unc.edu/~rowlett/units/codes/country.htm
|
7
|
+
#
|
4
8
|
one_letter:
|
5
9
|
C : CA
|
6
10
|
K : US
|
11
|
+
U : RU
|
12
|
+
Y : AU
|
13
|
+
Z : CN
|
7
14
|
|
8
15
|
two_letter:
|
9
|
-
|
16
|
+
# A - Western South Pacific
|
17
|
+
AG : SB
|
18
|
+
AN : NR
|
19
|
+
AY : PG
|
20
|
+
|
21
|
+
# B - Iceland/Greenland and Kosovo
|
22
|
+
BG : GL
|
23
|
+
BI : IS
|
24
|
+
#BK : Kosovo (also LY Serbia (RS) because of disputes)
|
25
|
+
|
26
|
+
# D - West Africa
|
27
|
+
DA : DZ
|
28
|
+
DB : BJ
|
29
|
+
DF : BF
|
30
|
+
DG : GH
|
31
|
+
DI : CI
|
32
|
+
DN : NG
|
33
|
+
DR : NE
|
34
|
+
DT : TN
|
35
|
+
# DX : Togolese Republic
|
36
|
+
|
37
|
+
# E - Northern Europe
|
38
|
+
EB : BE
|
39
|
+
ED : DE
|
40
|
+
EE : EE
|
41
|
+
EF : FI
|
42
|
+
EG : GB
|
43
|
+
EH : NL
|
44
|
+
EI : IE
|
45
|
+
EK : DK
|
46
|
+
EL : LU
|
47
|
+
EN : NO
|
48
|
+
EP : PL
|
49
|
+
ES : SE
|
50
|
+
ET : DE
|
51
|
+
EV : LV
|
52
|
+
EY : LT
|
53
|
+
|
54
|
+
# F - Southern Africa
|
55
|
+
FA : ZA
|
56
|
+
FB : BW
|
57
|
+
FC : CG
|
58
|
+
FD : SZ
|
59
|
+
FE : CF
|
60
|
+
FG : GQ
|
61
|
+
# FH : Ascension Island (none)
|
62
|
+
FI : MU
|
63
|
+
FJ : IO
|
64
|
+
FK : CM
|
65
|
+
FL : ZM
|
66
|
+
# FM : Comoros (none), Madagascar (MG), Mayotte (YT), Réunion (RE)
|
67
|
+
FN : AO
|
68
|
+
FO : GA
|
69
|
+
FP : ST
|
70
|
+
FQ : MZ
|
71
|
+
FS : SC
|
72
|
+
FT : TD
|
73
|
+
FV : ZW
|
74
|
+
FW : MW
|
75
|
+
FX : LS
|
76
|
+
FY : NA
|
77
|
+
FZ : CD
|
78
|
+
|
79
|
+
# G - Northwestern Africa
|
80
|
+
GA : ML
|
81
|
+
GB : GM
|
82
|
+
GC : ES
|
83
|
+
GE : ES
|
84
|
+
GF : SL
|
85
|
+
GG : GW
|
86
|
+
GL : LR
|
87
|
+
GM : MA
|
88
|
+
GO : SN
|
89
|
+
GQ : MR
|
90
|
+
GS : EH
|
91
|
+
GU : GN
|
92
|
+
GV : CV
|
93
|
+
|
94
|
+
# H - Northeastern Africa
|
95
|
+
HA : ET
|
96
|
+
HB : BI
|
97
|
+
HC : SO
|
98
|
+
HD : DJ
|
99
|
+
HE : EG
|
100
|
+
HF : DJ
|
101
|
+
HH : ER
|
102
|
+
HK : KE
|
103
|
+
HL : LY
|
104
|
+
HR : RW
|
105
|
+
HS : SD
|
106
|
+
HT : TZ
|
107
|
+
HU : UG
|
108
|
+
|
109
|
+
# L - Southern Europe,Israel and Turkey
|
110
|
+
LA : AL
|
111
|
+
LB : BG
|
112
|
+
LC : CY
|
113
|
+
LD : HR
|
114
|
+
LE : ES
|
115
|
+
LF : FR
|
116
|
+
LG : GR
|
117
|
+
LH : HU
|
118
|
+
LI : IT
|
119
|
+
LJ : SI
|
120
|
+
LK : CZ
|
121
|
+
LL : IL
|
122
|
+
LM : MT
|
123
|
+
LN : MC
|
124
|
+
LO : AT
|
125
|
+
LP : PT
|
126
|
+
LQ : BA
|
127
|
+
LR : RO
|
128
|
+
LS : CH
|
129
|
+
LT : TR
|
130
|
+
LU : MD
|
131
|
+
LV : PS
|
132
|
+
LW : MK
|
133
|
+
LX : GI
|
134
|
+
#LY : Serbia (RS) and Montenegro (ME)
|
135
|
+
LZ : SK
|
136
|
+
|
137
|
+
# M - Central America and Mexico
|
138
|
+
MB : TC
|
139
|
+
MD : DO
|
140
|
+
MG : GT
|
141
|
+
MH : HN
|
142
|
+
MK : JM
|
143
|
+
MM : MX
|
144
|
+
MN : NI
|
145
|
+
MP : PA
|
146
|
+
MR : CR
|
147
|
+
MS : SV
|
148
|
+
MT : HT
|
149
|
+
MU : CU
|
150
|
+
MW : KY
|
151
|
+
MY : BS
|
152
|
+
MZ : BZ
|
153
|
+
|
154
|
+
# N - South Pacific
|
155
|
+
NC : CK
|
156
|
+
# NF : Fiji (FJ), Tonga (TO)
|
157
|
+
# NG : Kiribati (KI) (Gilbert Islands), Tuvalu (TV)
|
158
|
+
NI : NU
|
159
|
+
NL : WF
|
160
|
+
# NS : Samoa (WS), American Samoa (AS)
|
161
|
+
NT : PF
|
162
|
+
NV : VU
|
163
|
+
NW : NC
|
164
|
+
# NZ : New Zealand (NZ), Antarctica (AQ)
|
165
|
+
|
166
|
+
# O - Southwest Asia (excluding Israel and Turkey), Afghanistan and Pakistan
|
167
|
+
OA : AF
|
168
|
+
OB : BH
|
169
|
+
OE : SA
|
170
|
+
OI : IR
|
171
|
+
OJ : JO
|
172
|
+
OK : KW
|
173
|
+
OL : LB
|
174
|
+
OM : AE
|
175
|
+
OO : OM
|
176
|
+
OP : PK
|
177
|
+
OR : IQ
|
178
|
+
OS : SY
|
179
|
+
OT : QA
|
180
|
+
OY : YE
|
181
|
+
|
182
|
+
# P - Eastern North Pacific
|
183
|
+
PA : US
|
184
|
+
# PB : Baker Island
|
185
|
+
PC : KI
|
186
|
+
PF : US
|
187
|
+
PG : GU
|
188
|
+
PH : US
|
189
|
+
# PJ : Johnston Atoll
|
190
|
+
PK : MH
|
191
|
+
PL : KI
|
192
|
+
# PM : Midway Island
|
193
|
+
PO : US
|
194
|
+
PP : US
|
195
|
+
# PT : Federated States of Micronesia (FM), Palau (PW)
|
196
|
+
# PW : Wake Island
|
197
|
+
|
198
|
+
# R - Western North Pacific
|
199
|
+
RC : TW
|
200
|
+
RJ : JP
|
201
|
+
RK : KR
|
202
|
+
RO : JP
|
203
|
+
RP : PH
|
204
|
+
|
205
|
+
# S - South America
|
206
|
+
SA : AR
|
207
|
+
SB : BR
|
208
|
+
SC : CL
|
209
|
+
SD : BR
|
210
|
+
SE : EC
|
211
|
+
SF : FK
|
212
|
+
SG : PY
|
213
|
+
SK : CO
|
214
|
+
SL : BO
|
215
|
+
SM : SR
|
216
|
+
SN : BR
|
217
|
+
SO : GF
|
218
|
+
SP : PE
|
219
|
+
SS : BR
|
220
|
+
SU : UY
|
221
|
+
SV : VE
|
222
|
+
SW : BR
|
223
|
+
SY : GY
|
224
|
+
|
225
|
+
# T - Caribbean
|
226
|
+
TA : AG
|
227
|
+
TB : BB
|
228
|
+
TD : DM
|
229
|
+
TF : GP
|
230
|
+
TG : GD
|
231
|
+
TI : VI
|
232
|
+
TJ : PR
|
233
|
+
TK : KN
|
234
|
+
TL : LC
|
235
|
+
# TN : Netherlands Antilles (AN), Aruba (AW)
|
236
|
+
TQ : AI
|
237
|
+
TR : MS
|
238
|
+
TT : TT
|
239
|
+
TU : VG
|
240
|
+
TV : VC
|
241
|
+
TX : BM
|
242
|
+
|
243
|
+
# U - Russia and former Soviet States
|
244
|
+
UA : KZ
|
245
|
+
UB : AZ
|
246
|
+
UD : AM
|
247
|
+
UG : GE
|
248
|
+
UK : UA
|
249
|
+
UM : BY
|
250
|
+
#UT Tajikistan (TJ), Turkmenistan (TM), Uzbekistan (UZ)
|
251
|
+
|
252
|
+
# V - South Asia (except Afghanistan and Pakistan) and mainland Southeast Asia
|
253
|
+
VA : IN
|
254
|
+
VC : LK
|
255
|
+
VD : KH
|
256
|
+
VE : IN
|
257
|
+
VG : BD
|
258
|
+
VH : HK
|
259
|
+
VI : IN
|
260
|
+
VL : LA
|
261
|
+
VM : MO
|
262
|
+
VN : NP
|
263
|
+
VO : IN
|
264
|
+
VQ : BT
|
265
|
+
VR : MV
|
266
|
+
VT : TH
|
267
|
+
VV : VN
|
268
|
+
VY : MM
|
269
|
+
|
270
|
+
# W - Maritime Southeast Asia (except the Philippines)
|
271
|
+
WA : ID
|
272
|
+
# WB : Malaysia (MY), Brunei (BN)
|
273
|
+
WI : ID
|
274
|
+
WM : MY
|
275
|
+
WP : TL
|
276
|
+
WQ : ID
|
277
|
+
WR : ID
|
278
|
+
WS : SG
|
279
|
+
|
280
|
+
# Z - China, Mongolia and North Korea
|
281
|
+
ZK : KP
|
282
|
+
ZM : MN
|
@@ -1,17 +1,200 @@
|
|
1
|
-
# first term
|
2
|
-
# second term
|
1
|
+
# first term : weather.com non:standard country_code
|
2
|
+
# second term : standard country_code
|
3
3
|
#
|
4
|
+
# http://ca.weather.yahoo.com/regional/INTL1.html?More%20World%20Cities
|
5
|
+
# http://www.theodora.com/country_digraphs.html
|
6
|
+
# http://www.unc.edu/~rowlett/units/codes/country.htm
|
7
|
+
#
|
8
|
+
|
9
|
+
AG : DZ
|
10
|
+
AN : AD
|
11
|
+
AV : AI
|
12
|
+
AY : AQ
|
13
|
+
AC : AG
|
14
|
+
AA : AW
|
15
|
+
### Ascension Island SH : AC (iana code, not iso code)
|
4
16
|
AS : AU
|
17
|
+
AU : AT
|
18
|
+
AJ : AZ
|
19
|
+
|
5
20
|
BF : BS
|
6
|
-
|
7
|
-
|
21
|
+
BA : BH
|
22
|
+
BG : BD
|
23
|
+
BO : BY
|
24
|
+
BH : BZ
|
25
|
+
BN : BJ
|
26
|
+
BD : BM
|
27
|
+
BC : BW
|
28
|
+
BL : BO
|
29
|
+
BK : BA
|
30
|
+
BX : BN
|
31
|
+
BU : BG
|
32
|
+
UV : BF
|
33
|
+
BY : BI
|
34
|
+
VI : VG
|
35
|
+
|
36
|
+
CB : KH
|
37
|
+
CJ : KY
|
38
|
+
CT : CF
|
39
|
+
CD : TD
|
8
40
|
CI : CL
|
9
|
-
|
41
|
+
CH : CN
|
42
|
+
KT : CX
|
43
|
+
CN : KM
|
44
|
+
CF : CG
|
45
|
+
CG : CD
|
46
|
+
CW : CK
|
47
|
+
CS : CR
|
48
|
+
IV : CI
|
49
|
+
EZ : CZ
|
50
|
+
|
51
|
+
DA : DK
|
52
|
+
DJ : DJ
|
53
|
+
DO : DM
|
54
|
+
DR : DO
|
55
|
+
|
56
|
+
ES : SV
|
57
|
+
EK : GQ
|
58
|
+
EN : EE
|
59
|
+
|
60
|
+
FP : PF
|
61
|
+
|
62
|
+
GB : GA
|
63
|
+
GA : GM
|
64
|
+
GG : GE
|
10
65
|
GM : DE
|
66
|
+
GJ : GD
|
67
|
+
GV : GN
|
68
|
+
PU : GW
|
69
|
+
|
70
|
+
HA : HT
|
11
71
|
HO : HN
|
72
|
+
|
73
|
+
IC : IS
|
74
|
+
IZ : IQ
|
75
|
+
EI : IE
|
12
76
|
IS : IL
|
77
|
+
|
13
78
|
JA : JP
|
79
|
+
|
80
|
+
KR : KI
|
81
|
+
KN : KP
|
82
|
+
KS : KR
|
83
|
+
KU : KW
|
84
|
+
|
85
|
+
LG : LV
|
86
|
+
LE : LB
|
87
|
+
LS : LI
|
88
|
+
LI : LR
|
89
|
+
LT : LS
|
90
|
+
LH : LT
|
91
|
+
|
92
|
+
MA : MG
|
93
|
+
MI : MW
|
94
|
+
MB : MQ
|
95
|
+
MP : MU
|
96
|
+
MF : YT
|
97
|
+
MN : MC
|
98
|
+
# Montenegro (YI) : ME
|
99
|
+
MO : MA
|
100
|
+
BM : MM
|
101
|
+
MG : MN
|
102
|
+
|
103
|
+
WA : NA
|
104
|
+
NT : AN
|
105
|
+
NU: NI
|
106
|
+
NG : NE
|
107
|
+
NI : NG
|
108
|
+
|
109
|
+
WE : PS
|
110
|
+
PM : PA
|
111
|
+
PP : PG
|
112
|
+
PA : PY
|
113
|
+
RP : PH
|
14
114
|
PO : PT
|
15
|
-
|
115
|
+
|
116
|
+
RS : RU
|
117
|
+
|
118
|
+
SX : GS
|
119
|
+
SC : KN
|
120
|
+
ST : LC
|
121
|
+
TP : ST
|
122
|
+
SG : SN
|
123
|
+
# Serbia (YI) : RS
|
124
|
+
SE : SC
|
16
125
|
SN : SG
|
126
|
+
LO : SK
|
127
|
+
BP : SB
|
128
|
+
SF : ZA
|
129
|
+
SP : ES
|
130
|
+
CE: LK
|
131
|
+
SU : SD
|
132
|
+
NS : SR
|
133
|
+
WZ : SZ
|
134
|
+
SW : SE
|
135
|
+
SZ : CH
|
136
|
+
|
137
|
+
TI : TJ
|
138
|
+
TO : TG
|
139
|
+
TN : TO
|
140
|
+
TD : TT
|
141
|
+
TS : TN
|
142
|
+
TU : TR
|
143
|
+
TX : TM
|
144
|
+
TK : TC
|
145
|
+
|
146
|
+
UP : UA
|
147
|
+
UK : GB
|
148
|
+
|
149
|
+
NH : VU
|
150
|
+
VM: VN
|
151
|
+
|
152
|
+
WI : EH
|
153
|
+
|
154
|
+
YM : YE
|
155
|
+
|
156
|
+
ZA : ZM
|
157
|
+
ZI : ZW
|
158
|
+
|
159
|
+
# Aland Islands : AX
|
160
|
+
# Bouvet Island : BV
|
161
|
+
# British Indian Ocean Territory : IO
|
162
|
+
# Cocos (Keeling) Islands : CC
|
163
|
+
# East Timor : TL
|
164
|
+
# Faroe Islands : FO
|
165
|
+
# France, Metropolitan : FX
|
166
|
+
# French Southern Territories : TF
|
167
|
+
# Great Britain (UK) : GB
|
168
|
+
# Heard and McDonald Islands : HM
|
169
|
+
# Hong Kong : HK
|
170
|
+
# Jersey : JE
|
171
|
+
# Macau : MO
|
172
|
+
# Montserrat : MS
|
173
|
+
# Neutral Zone : NT
|
174
|
+
# Niue : NU
|
175
|
+
# Norfolk Island : NF
|
176
|
+
# Oman : OM
|
177
|
+
# Pitcairn : PN
|
178
|
+
# Saint Vincent & the Grenadines : VC
|
179
|
+
# Samoa : WS
|
180
|
+
# St. Helena : SH
|
181
|
+
# St. Pierre and Miquelon : PM
|
182
|
+
# Svalbard & Jan Mayen Islands : SJ
|
183
|
+
# Tokelau : TK
|
184
|
+
# US Minor Outlying Islands : UM
|
185
|
+
# USSR (former) : SU
|
186
|
+
# Vatican City State (Holy See) : VA
|
187
|
+
# Wallis and Futuna Islands : WF
|
188
|
+
# Yugoslavia (former) : YU
|
189
|
+
# (ZR : Zaire) : See CD Congo, Democratic Republic
|
17
190
|
|
191
|
+
# four letter codes
|
192
|
+
### USWQ : ??? Wake Island
|
193
|
+
### Virgin Islands (U.S.) USVI : VI
|
194
|
+
### Puerto Rico USPR : PR
|
195
|
+
### Northern Mariana Islands USMP : MP
|
196
|
+
### Micronesia USFM : FM
|
197
|
+
### Marshall Islands USMH : MH
|
198
|
+
### American Samoa USAS : AS
|
199
|
+
### Palau USPW : PW
|
200
|
+
### Guam USGU : GU
|