-
Notifications
You must be signed in to change notification settings - Fork 1
/
happiest_state.py
198 lines (171 loc) · 75.4 KB
/
happiest_state.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
import sys
import json
finalScore = {}
phrase = []
states = {
'alaska': 'AK',
'alabama': 'AL',
'arkansas': 'AR',
'american Samoa': 'AS',
'arizona': 'AZ',
'california': 'CA',
'colorado': 'CO',
'connecticut': 'CT',
'district of columbia': 'DC',
'delaware': 'DE',
'florida': 'FL',
'georgia': 'GA',
'guam': 'GU',
'hawaii': 'HI',
'iowa': 'IA',
'idaho': 'ID',
'illinois': 'IL',
'indiana': 'IN',
'kansas': 'KS',
'kentucky': 'KY',
'louisiana': 'LA',
'massachusetts': 'MA',
'maryland': 'MD',
'maine': 'ME',
'michigan': 'MI',
'minnesota': 'MN',
'missouri': 'MO',
'northern mariana islands': 'MP',
'mississippi': 'MS',
'montana': 'MT',
'national': 'NA',
'north carolina': 'NC',
'north dakota': 'ND',
'nebraska': 'NE',
'new hampshire': 'NH',
'new jersey': 'NJ',
'new mexico': 'NM',
'nevada': 'NV',
'new york': 'NY',
'ohio': 'OH',
'oklahoma': 'OK',
'oregon': 'OR',
'pennsylvania': 'PA',
'puerto rico': 'PR',
'rhode island': 'RI',
'south carolina': 'SC',
'south dakota': 'SD',
'tennessee': 'TN',
'texas': 'TX',
'utah': 'UT',
'virginia': 'VA',
'virgin islands': 'VI',
'vermont': 'VT',
'washington': 'WA',
'wisconsin': 'WI',
'west virginia': 'WV',
'wyoming': 'WY'
}
def getPhrases(afinn):
# analyze AFINN file and get all the phrases
for line in afinn:
temp = line.split("\t")[0]
if len(temp.split(" ")) >1 :
phrase.append(temp)
def calculateScore(text,sent_file):
# get the word sentimental score from AFINN-111.txt
sentiment = {}
sentiment = givenSentimentScore(sent_file)
score=0
for str in phrase:
if text.find(str) >= 0:
score+=(text.count(str)*sentiment[str])
text = text.replace(str,"")
tokens = text.split(" ")
for token in tokens:
if sentiment.has_key(token.lower()):
score+=sentiment[token.lower()]
return score
def givenSentimentScore(sent_file):
score = {} # dictionary for storing sentiment score
for line in sent_file:
term, scor = line.split("\t") # store word and respective score
score[term] = int(scor)
return score
def inside_polygon(x, y, points):
"""
Return True if a coordinate (x, y) is inside a polygon defined by
a list of verticies [(x1, y1), (x2, x2), ... , (xN, yN)].
Reference: http://www.ariel.com.au/a/python-point-int-poly.html
"""
#print points
n = len(points)
inside = False
p1x, p1y = points[0]
for i in range(1, n + 1):
p2x, p2y = points[i % n]
if y >= min(p1y, p2y):
if y <= max(p1y, p2y):
if x <= max(p1x, p2x):
if p1y != p2y:
xinters = (y - p1y) * (p2x - p1x) / (p2y - p1y) + p1x
if p1x == p2x or x <= xinters:
inside = not inside
p1x, p1y = p2x, p2y
return inside
# load bounding box
def loadStateCoordinates():
stateCoordinate = {}
coordinates = open("boundingBox")
data = []
for line in coordinates:
data.append(json.loads(line))
stateCoordinate = data[0]
return stateCoordinate
# coordinates from bounding box
def readCoordinates(state):
from collections import defaultdict
coordinates = defaultdict(list)
coordinates = {'WA': [[(49.0023, -123.3208), (49.0027, -123.0338), (49.0018, -122.065), (48.9973, -121.7491), (48.9991, -121.5912), (49.0009, -119.6082), (49.0005, -118.0378), (48.9996, -117.0319), (47.9614, -117.0415), (46.506, -117.0394), (46.4274, -117.0394), (46.3498, -117.0621), (46.3384, -117.0277), (46.2848, -116.9879), (46.2388, -116.9577), (46.2022, -116.9659), (46.1722, -116.9254), (46.1432, -116.9357), (46.1009, -116.9584), (46.0785, -116.9762), (46.0537, -116.9433), (45.996, -116.9165), (46.0008, -118.033), (45.9998, -118.9867), (45.932, -119.1302), (45.9278, -119.1708), (45.9402, -119.2559), (45.9354, -119.3047), (45.922, -119.3644), (45.9172, -119.4386), (45.9067, -119.4894), (45.9249, -119.5724), (45.9196, -119.6013), (45.8565, -119.67), (45.8479, -119.8052), (45.8278, -119.9096), (45.8245, -119.9652), (45.7852, -120.071), (45.7623, -120.1705), (45.7258, -120.211), (45.7057, -120.3628), (45.6951, -120.4829), (45.7469, -120.5942), (45.746, -120.634), (45.7143, -120.6924), (45.6721, -120.8558), (45.6409, -120.9142), (45.6572, -120.9471), (45.6419, -120.9787), (45.6529, -121.0645), (45.6078, -121.1469), (45.6083, -121.1847), (45.6721, -121.2177), (45.7057, -121.3392), (45.6932, -121.401), (45.7263, -121.5328), (45.7091, -121.6145), (45.6947, -121.7361), (45.7067, -121.8095), (45.6452, -121.9338), (45.6088, -122.0451), (45.5833, -122.1089), (45.5838, -122.1426), (45.566, -122.2009), (45.5439, -122.2641), (45.5482, -122.3321), (45.5756, -122.3795), (45.5636, -122.4392), (45.6006, -122.5676), (45.6236, -122.6891), (45.6582, -122.7647), (45.6817, -122.775), (45.7613, -122.7619), (45.8106, -122.7962), (45.8642, -122.7839), (45.912, -122.8114), (45.9612, -122.8148), (46.016, -122.8587), (46.0604, -122.8848), (46.0832, -122.9034), (46.1028, -122.9597), (46.1556, -123.0579), (46.1865, -123.121), (46.1893, -123.1664), (46.1446, -123.281), (46.147, -123.3703), (46.1822, -123.4314), (46.2293, -123.4287), (46.2691, -123.4946), (46.2582, -123.5557), (46.2573, -123.6209), (46.2497, -123.6875), (46.2691, -123.7404), (46.235, -123.8729), (46.2383, -123.9292), (46.2677, -123.9711), (46.2924, -124.0212), (46.2653, -124.0329), (46.2596, -124.2444), (46.4312, -124.2691), (46.8386, -124.3529), (47.1832, -124.438), (47.4689, -124.5616), (47.8012, -124.7566), (48.0423, -124.8679), (48.2457, -124.8679), (48.3727, -124.8486), (48.4984, -124.7539), (48.4096, -124.4174), (48.3599, -124.2389), (48.2964, -124.0116), (48.2795, -123.9141), (48.2247, -123.5413), (48.2539, -123.3998), (48.2841, -123.2501), (48.4233, -123.1169), (48.4533, -123.1609), (48.5548, -123.222), (48.5902, -123.2336), (48.6901, -123.2721), (48.7675, -123.0084), (48.8313, -123.0084), (49.0023, -123.3215)]], 'DE': [[(39.7188, -75.7919), (39.521, -75.7837), (38.9081, -75.7288), (38.5911, -75.7068), (38.46, -75.6944), (38.4482, -74.8608), (38.8654, -74.8526), (38.8451, -75.0504), (39.0565, -75.1678), (39.2525, -75.3236), (39.3662, -75.461), (39.4542, -75.5592), (39.4908, -75.5578), (39.5713, -75.5118), (39.6284, -75.5557), (39.8106, -75.3937), (39.8249, -75.4692), (39.8296, -75.6477), (39.7199, -75.7906)]], 'WI': [[(42.5116, -90.6303), (42.4954, -87.0241), (43.3721, -87.1477), (43.6838, -87.123), (44.1694, -86.9911), (44.4828, -86.8579), (44.8792, -86.6876), (45.2343, -86.2523), (45.4418, -86.7535), (45.4438, -87.1024), (45.3531, -87.1724), (45.2401, -87.3193), (45.1995, -87.41), (45.0784, -87.4443), (45.0987, -87.6379), (45.2217, -87.6956), (45.3367, -87.6462), (45.3869, -87.6956), (45.3425, -87.8549), (45.4813, -87.7945), (45.5679, -87.7945), (45.6764, -87.7876), (45.7934, -87.9936), (45.8077, -88.1145), (45.8728, -88.0733), (45.9521, -88.1982), (46.0122, -88.5498), (45.997, -88.7036), (46.038, -88.8451), (46.1389, -89.0909), (46.3412, -90.1195), (46.5664, -90.4147), (47.2876, -89.9615), (47.31, -90.6578), (46.7079, -92.0352), (46.5928, -92.2948), (46.0761, -92.2975), (46.0132, -92.3579), (45.9769, -92.5227), (45.8135, -92.7466), (45.614, -92.8564), (45.5477, -92.7754), (45.4293, -92.6587), (45.3029, -92.7136), (44.9648, -92.7466), (44.7877, -92.7686), (44.653, -92.6422), (44.5504, -92.3552), (44.4652, -92.2632), (44.4024, -92.0654), (44.258, -91.8745), (44.06, -91.6383), (43.9612, -91.4941), (43.8296, -91.3184), (43.644, -91.2524), (43.5167, -91.2305), (43.3342, -91.2085), (43.2932, -91.0547), (43.1651, -91.1865), (43.0257, -91.1536), (42.9082, -91.1426), (42.7692, -91.0547), (42.6915, -90.791), (42.634, -90.7031), (42.5096, -90.6303)]], 'WV': [[(39.7188, -79.4765), (39.2057, -79.4806), (39.4871, -79.0576), (39.4394, -78.9725), (39.6438, -78.7747), (39.5369, -78.6703), (39.521, -78.5742), (39.521, -78.4644), (39.6015, -78.4094), (39.6395, -78.3517), (39.6205, -78.2817), (39.6839, -78.2405), (39.6935, -78.1732), (39.5972, -77.8835), (39.4987, -77.7859), (39.3279, -77.731), (39.1279, -77.8271), (39.4563, -78.3421), (39.3407, -78.3408), (39.1918, -78.4341), (39.1652, -78.4053), (39.0299, -78.5715), (39.016, -78.5522), (38.8846, -78.7843), (38.7669, -78.8722), (38.8451, -78.9917), (38.7102, -79.0974), (38.6555, -79.1029), (38.4106, -79.3007), (38.46, -79.4792), (38.5342, -79.5314), (38.5868, -79.6481), (38.4869, -79.6962), (38.4213, -79.6989), (38.3557, -79.769), (38.2813, -79.7937), (38.1518, -79.9365), (38.0232, -79.9818), (37.8835, -80.137), (37.7295, -80.2592), (37.6795, -80.2881), (37.6295, -80.2194), (37.5391, -80.3224), (37.5315, -80.2881), (37.4988, -80.3032), (37.4182, -80.4776), (37.4814, -80.5119), (37.3691, -80.7715), (37.4214, -80.8635), (37.3429, -80.8525), (37.2872, -81.0516), (37.2598, -81.2741), (37.3254, -81.3675), (37.2019, -81.5543), (37.1953, -81.6724), (37.2697, -81.7685), (37.3003, -81.8701), (37.3636, -81.9333), (37.4574, -81.9772), (37.4912, -82.0308), (37.6142, -82.1558), (37.8054, -82.3535), (38.0481, -82.5513), (38.1864, -82.6392), (38.3761, -82.5966), (38.4106, -82.4854), (38.4407, -82.3412), (38.589, -82.2876), (38.5976, -82.1764), (38.798, -82.2148), (39.016, -82.028), (38.9615, -81.9649), (38.875, -81.8756), (38.937, -81.7671), (39.0117, -81.7657), (39.08, -81.752), (39.179, -81.7465), (39.2642, -81.5872), (39.3969, -81.4499), (39.3481, -81.3675), (39.4012, -81.237), (39.4691, -81.1093), (39.5644, -81.0104), (39.612, -80.9198), (39.6522, -80.8319), (39.8054, -80.8072), (39.8802, -80.7893), (39.8518, -80.799), (40.098, -80.7495), (40.2282, -80.7262), (40.3926, -80.6918), (40.591, -80.6451), (40.6338, -80.5188), (39.7241, -80.5174), (39.7209, -79.4778)]], 'HI': [[(19.5158, -154.6284), (19.8894, -154.8235), (20.1849, -155.0391), (20.391, -155.5952), (20.8614, -155.793), (21.0948, -156.1858), (21.3597, -156.6595), (21.4748, -157.1182), (21.5515, -157.5247), (21.8832, -157.8186), (22.3386, -159.218), (22.3374, -159.7508), (22.1493, -160.1422), (21.8857, -160.3922), (21.6025, -160.3249), (21.7276, -159.9939), (21.6932, -159.4295), (21.1037, -158.1784), (20.8152, -157.4629), (20.6803, -157.2171), (20.3408, -156.8285), (20.2931, -156.5456), (20.1643, -156.1418), (19.9308, -156.2393), (19.2826, -156.1432), (18.9881, -156.1212), (18.71, -155.712), (18.8829, -155.3673), (19.2048, -154.8839), (19.5158, -154.6271)]], 'FL': [[(30.9988, -87.605), (30.9964, -86.5613), (31.0035, -85.5313), (31.0012, -85.1193), (31.0023, -85.0012), (30.9364, -84.9847), (30.8845, -84.9367), (30.8409, -84.9271), (30.7902, -84.9257), (30.7489, -84.9147), (30.6993, -84.8611), (30.6911, -84.4272), (30.6509, -83.5991), (30.5895, -82.5595), (30.5682, -82.2134), (30.5315, -82.2134), (30.3883, -82.1997), (30.3598, -82.1544), (30.3598, -82.0638), (30.4877, -82.0226), (30.6308, -82.0473), (30.6757, -82.0514), (30.7111, -82.0377), (30.7371, -82.0514), (30.7678, -82.0102), (30.7914, -82.0322), (30.7997, -81.9717), (30.8244, -81.9608), (30.8056, -81.8893), (30.7914, -81.8372), (30.7796, -81.796), (30.7536, -81.6696), (30.7289, -81.6051), (30.7324, -81.5666), (30.7229, -81.5295), (30.7253, -81.4856), (30.7111, -81.4609), (30.7088, -81.4169), (30.7064, -81.2274), (30.4345, -81.2357), (30.316, -81.1725), (29.7763, -81.0379), (28.8603, -80.5861), (28.4771, -80.365), (28.1882, -80.3815), (27.1789, -79.9255), (26.8425, -79.8198), (26.1394, -79.9118), (25.5115, -79.9997), (24.8802, -80.3815), (24.5384, -80.8704), (24.3959, -81.925), (24.4496, -82.2066), (24.5484, -82.3137), (24.6982, -82.1997), (25.2112, -81.3977), (25.6019, -81.4622), (25.9235, -81.9456), (26.3439, -82.2876), (26.9098, -82.5307), (27.3315, -82.8342), (27.7565, -83.0182), (28.0574, -83.0017), (28.6098, -82.8548), (28.9697, -83.0264), (29.0478, -83.205), (29.4157, -83.5318), (29.9133, -83.9767), (29.893, -84.1072), (29.694, -84.4409), (29.4551, -85.0465), (29.4946, -85.361), (29.7262, -85.5807), (30.1594, -86.1946), (30.2175, -86.851), (30.1499, -87.5171), (30.3006, -87.4429), (30.4256, -87.375), (30.483, -87.3743), (30.5658, -87.3907), (30.6344, -87.4004), (30.6763, -87.4141), (30.7702, -87.5253), (30.8527, -87.6256), (30.947, -87.5912), (30.9682, -87.5912), (30.9964, -87.605)]], 'WY': [[(41.0037, -104.0556), (44.9949, -104.0584), (44.9998, -111.0539), (40.9986, -111.0457), (41.0006, -104.0556)]], 'NH': [[(45.0153, -71.5045), (45.0532, -71.4977), (45.091, -71.4619), (45.152, -71.4276), (45.2043, -71.396), (45.2362, -71.4455), (45.2372, -71.3878), (45.271, -71.3617), (45.3029, -71.2834), (45.2507, -71.2299), (45.2391, -71.1818), (45.2478, -71.1584), (45.2469, -71.1337), (45.2846, -71.1145), (45.3058, -71.0843), (44.923, -71.0527), (44.3592, -71.0143), (43.7364, -70.984), (43.5704, -70.9731), (43.3621, -70.9813), (43.2942, -70.903), (43.2272, -70.8083), (43.1411, -70.8261), (43.1, -70.7671), (43.0498, -70.697), (42.9222, -70.5583), (42.876, -70.6146), (42.8599, -70.8467), (42.886, -70.9195), (42.8105, -71.0609), (42.8125, -71.142), (42.7904, -71.1873), (42.7349, -71.1832), (42.745, -71.2463), (42.6986, -71.2972), (42.7077, -71.7421), (42.7268, -72.459), (42.7621, -72.5098), (42.8105, -72.5414), (42.8609, -72.5592), (42.8981, -72.5317), (42.9524, -72.54), (42.9745, -72.4919), (42.9906, -72.4658), (43.0127, -72.448), (43.0287, -72.4713), (43.0508, -72.4713), (43.0819, -72.4356), (43.104, -72.4452), (43.118, -72.4342), (43.1501, -72.459), (43.2052, -72.4329), (43.2562, -72.4384), (43.2812, -72.4095), (43.3741, -72.415), (43.4988, -72.3807), (43.5127, -72.4013), (43.5834, -72.3779), (43.642, -72.3134), (43.6758, -72.3024), (43.7036, -72.3079), (43.7344, -72.2694), (43.7741, -72.2035), (43.8187, -72.187), (43.8672, -72.1843), (43.889, -72.1568), (43.9117, -72.1321), (43.9454, -72.1198), (44.0017, -72.117), (44.0856, -72.047), (44.1093, -72.0552), (44.1428, -72.0387), (44.1763, -72.058), (44.1999, -72.0703), (44.2511, -72.0525), (44.2796, -72.0607), (44.3199, -72.0291), (44.3376, -71.9783), (44.3592, -71.9289), (44.3366, -71.8712), (44.3572, -71.8135), (44.3877, -71.8108), (44.4014, -71.7778), (44.4122, -71.738), (44.4416, -71.6597), (44.4642, -71.6542), (44.5073, -71.5855), (44.5357, -71.5746), (44.5601, -71.6048), (44.568, -71.5897), (44.568, -71.5649), (44.5914, -71.5485), (44.5993, -71.5649), (44.6315, -71.554), (44.6608, -71.5924), (44.7243, -71.613), (44.7526, -71.6364), (44.8198, -71.5746), (44.8325, -71.5526), (44.8539, -71.5553), (44.8744, -71.5279), (44.9123, -71.5018), (44.9366, -71.5182), (44.9697, -71.5237), (44.9862, -71.5443), (45.0017, -71.5237), (45.0163, -71.5045)]], 'NJ': [[(41.3572, -74.695), (41.3394, -74.6559), (40.9934, -73.894), (40.8398, -73.9586), (40.7691, -74.0094), (40.6994, -74.0231), (40.6786, -74.0437), (40.6515, -74.0808), (40.6421, -74.1357), (40.6452, -74.1962), (40.5952, -74.2003), (40.5566, -74.2195), (40.4877, -74.2552), (40.4762, -74.2264), (40.5253, -73.9503), (40.4846, -73.8885), (40.0045, -73.9352), (39.6131, -74.041), (39.4744, -74.2209), (38.9882, -74.6713), (38.8664, -74.8553), (38.8472, -75.0476), (39.0565, -75.1685), (39.2525, -75.325), (39.45, -75.5544), (39.4966, -75.5612), (39.4998, -75.5283), (39.5411, -75.5338), (39.5761, -75.509), (39.6237, -75.5708), (39.6713, -75.5104), (39.7167, -75.4843), (39.8033, -75.4156), (39.836, -75.2632), (39.8823, -75.1918), (40.118, -74.7922), (40.139, -74.7331), (40.2565, -74.8485), (40.3361, -74.9419), (40.402, -74.9721), (40.424, -75.0627), (40.4898, -75.0613), (40.5733, -75.1067), (40.5639, -75.2138), (40.6192, -75.2028), (40.6494, -75.2069), (40.8284, -75.0806), (40.8429, -75.0998), (40.8689, -75.0504), (40.9913, -75.1369), (41.2293, -74.8677), (41.3479, -74.7537), (41.3469, -74.7249), (41.3593, -74.696)]], 'NM': [[(36.9971, -109.0448), (31.3337, -109.0489), (31.3349, -108.214), (31.7795, -108.2071), (31.783, -106.5317), (32.0034, -106.6223), (31.9999, -103.0696), (36.9982, -103.0023), (36.9982, -109.0475)]], 'TX': [[(31.8659, -106.5715), (31.7504, -106.5042), (31.6242, -106.3092), (31.4638, -106.2103), (31.3912, -106.0181), (31.1846, -105.7874), (31.0012, -105.5663), (30.8456, -105.4015), (30.6462, -105.0032), (30.3847, -104.8521), (30.2591, -104.7437), (30.0738, -104.6915), (29.9169, -104.6777), (29.7644, -104.5679), (29.6475, -104.528), (29.5603, -104.4044), (29.4719, -104.2067), (29.3834, -104.1559), (29.2948, -103.9774), (29.2804, -103.9128), (29.2481, -103.8208), (29.1378, -103.564), (29.0682, -103.4692), (29.0105, -103.3154), (28.9601, -103.1616), (29.0177, -103.0957), (29.133, -103.0298), (29.2157, -102.8677), (29.2565, -102.8979), (29.357, -102.8375), (29.4898, -102.8004), (29.6881, -102.7002), (29.7691, -102.5134), (29.7596, -102.3843), (29.8788, -102.3047), (29.7834, -102.1509), (29.7572, -101.7004), (29.7644, -101.4917), (29.6308, -101.2939), (29.5269, -101.2582), (29.3642, -101.0056), (29.3056, -100.9204), (29.1642, -100.7707), (29.0946, -100.7007), (28.9012, -100.6306), (28.6593, -100.4974), (28.4675, -100.3601), (28.2778, -100.2969), (28.1882, -100.1733), (28.0526, -100.0195), (27.9435, -99.9344), (27.7638, -99.8438), (27.6641, -99.7119), (27.4839, -99.4812), (27.3059, -99.5375), (27.1948, -99.429), (27.0175, -99.4455), (26.8829, -99.3164), (26.6867, -99.2065), (26.4116, -99.0967), (26.3574, -98.8138), (26.2257, -98.6668), (26.2343, -98.5474), (26.1357, -98.3276), (26.0457, -98.1697), (26.0518, -97.9143), (26.005, -97.6643), (25.8419, -97.402), (25.9074, -97.3526), (25.9679, -97.0148), (26.1789, -97.0697), (26.8253, -97.2249), (27.423, -97.0752), (28.0599, -96.6096), (28.4228, -95.9285), (28.7568, -95.3036), (29.0742, -94.7296), (29.381, -94.3355), (29.6021, -93.8205), (29.8013, -93.9317), (29.9157, -93.8136), (30.0489, -93.723), (30.1214, -93.6996), (30.2021, -93.7216), (30.2792, -93.7038), (30.3278, -93.7628), (30.3835, -93.7587), (30.438, -93.701), (30.5079, -93.7024), (30.5362, -93.7299), (30.6296, -93.6694), (30.7466, -93.609), (30.8114, -93.5527), (30.8834, -93.5747), (30.9376, -93.5307), (31.0318, -93.5074), (31.0812, -93.5266), (31.1787, -93.5335), (31.167, -93.598), (31.3055, -93.6832), (31.383, -93.6708), (31.4369, -93.6887), (31.5107, -93.7202), (31.582, -93.8315), (31.644, -93.8123), (31.7188, -93.8232), (31.7936, -93.8342), (31.8309, -93.8782), (31.8869, -93.9221), (31.9335, -93.9661), (32.0081, -94.043), (33.4681, -94.043), (33.5414, -94.043), (33.5689, -94.1528), (33.5872, -94.1968), (33.5872, -94.2627), (33.5689, -94.3176), (33.5597, -94.3945), (33.578, -94.4275), (33.6055, -94.4275), (33.6421, -94.4495), (33.6329, -94.4879), (33.6421, -94.5236), (33.6695, -94.6637), (33.7061, -94.7461), (33.7791, -94.8999), (33.8818, -95.0757), (33.9251, -95.1526), (33.9604, -95.2254), (33.875, -95.2858), (33.8841, -95.5399), (33.8887, -95.7568), (33.8408, -95.842), (33.8556, -96.0274), (33.6901, -96.3528), (33.8442, -96.6179), (33.8898, -96.5836), (33.8955, -96.6673), (33.8179, -96.7538), (33.8613, -96.8335), (33.8613, -96.8774), (33.9388, -96.9159), (33.7392, -97.0917), (33.7449, -97.1645), (33.8978, -97.218), (33.8225, -97.3746), (33.8305, -97.4611), (33.8761, -97.446), (33.9798, -97.6945), (33.8476, -97.8648), (33.8978, -97.9651), (34.0299, -98.0983), (34.1141, -98.1752), (34.1425, -98.3743), (34.064, -98.4773), (34.1209, -98.5529), (34.1232, -98.752), (34.2095, -98.9539), (34.2073, -99.0637), (34.2141, -99.1832), (34.3593, -99.2505), (34.4613, -99.3823), (34.3774, -99.4318), (34.416, -99.5718), (34.3706, -99.6158), (34.4726, -99.8094), (34.5631, -99.9934), (36.4975, -100.0017), (36.5008, -103.0408), (32.0011, -103.0655), (32.0023, -106.6168)]], 'LA': [[(33.0225, -94.043), (33.0179, -93.0048), (33.0087, -91.1646), (32.9269, -91.2209), (32.8773, -91.122), (32.8358, -91.1481), (32.7642, -91.1412), (32.6382, -91.1536), (32.5804, -91.1069), (32.6093, -91.008), (32.4588, -91.0904), (32.4379, -91.0355), (32.3742, -91.0286), (32.315, -90.9064), (32.2616, -90.9723), (32.1942, -91.0464), (32.1198, -91.0739), (32.0593, -91.0464), (31.9918, -91.1014), (31.9498, -91.1865), (31.8262, -91.3101), (31.7947, -91.3527), (31.623, -91.3925), (31.6218, -91.5134), (31.5668, -91.431), (31.513, -91.5161), (31.3701, -91.5244), (31.2598, -91.5477), (31.2692, -91.6425), (31.2328, -91.6603), (31.1917, -91.5848), (31.1047, -91.6287), (31.0318, -91.5614), (30.9988, -91.6397), (31.0012, -89.7336), (30.6686, -89.8517), (30.5386, -89.7858), (30.3148, -89.6347), (30.1807, -89.5688), (30.1582, -89.496), (30.214, -89.1843), (30.1463, -89.0373), (30.0905, -88.8354), (29.8383, -88.7421), (29.5758, -88.8712), (29.1833, -88.9371), (28.9649, -89.0359), (28.8832, -89.2282), (28.9048, -89.4754), (29.121, -89.7418), (28.9529, -90.1126), (28.912, -90.6619), (28.9553, -91.0355), (29.121, -91.3211), (29.2864, -91.9061), (29.436, -92.7452), (29.6009, -93.8177), (29.6749, -93.8631), (29.737, -93.8933), (29.793, -93.9304), (29.8216, -93.9276), (29.8883, -93.837), (29.9811, -93.7985), (30.0144, -93.7601), (30.0691, -93.7106), (30.0929, -93.7354), (30.1166, -93.6996), (30.1997, -93.7271), (30.2899, -93.7106), (30.335, -93.7656), (30.3871, -93.7601), (30.4416, -93.6914), (30.5102, -93.7106), (30.5433, -93.7463), (30.5954, -93.7106), (30.5906, -93.6914), (30.6545, -93.6859), (30.6781, -93.6365), (30.7513, -93.62), (30.789, -93.5925), (30.815, -93.5513), (30.8645, -93.5623), (30.8881, -93.5788), (30.9187, -93.5541), (30.9423, -93.5294), (31.0082, -93.576), (31.0318, -93.5101), (31.0906, -93.5596), (31.1211, -93.5321), (31.1799, -93.5349), (31.1658, -93.5953), (31.2292, -93.6282), (31.2668, -93.6118), (31.3044, -93.6859), (31.3888, -93.6694), (31.424, -93.7051), (31.4427, -93.6859), (31.4755, -93.7573), (31.5083, -93.7189), (31.5411, -93.804), (31.6113, -93.8425), (31.6581, -93.8205), (31.7071, -93.7985), (31.8029, -93.848), (31.8892, -93.9029), (31.9149, -93.9606), (32.0081, -94.043), (32.7041, -94.043), (33.0225, -94.043)]], 'NC': [[(33.7963, -78.485), (34.8037, -79.6742), (34.8206, -80.8003), (34.9377, -80.788), (35.1019, -80.9377), (35.0356, -81.0379), (35.1457, -81.0324), (35.166, -81.3867), (35.1985, -82.2739), (35.2041, -82.3933), (35.0637, -82.7765), (35.0817, -82.7861), (34.9996, -83.1075), (34.9918, -83.6183), (34.9918, -84.3201), (35.2131, -84.2885), (35.268, -84.2226), (35.231, -84.1113), (35.2815, -84.0454), (35.4058, -84.0248), (35.4719, -83.9424), (35.5166, -83.8559), (35.5512, -83.6938), (35.568, -83.5181), (35.6327, -83.3849), (35.7142, -83.2475), (35.7799, -82.9962), (35.8445, -82.9276), (35.9224, -82.8191), (35.9958, -82.771), (36.0613, -82.6419), (35.9702, -82.6103), (35.9547, -82.5677), (36.0236, -82.473), (36.0669, -82.4194), (36.1168, -82.3535), (36.1345, -82.2862), (36.1467, -82.1461), (36.1035, -82.1228), (36.1268, -82.0267), (36.2797, -81.936), (36.3527, -81.7987), (36.3361, -81.7081), (36.588, -81.6724), (36.5659, -80.7234), (36.5438, -80.2977), (36.5449, -79.6729), (36.5449, -77.2559), (36.5505, -75.7562), (36.3129, -75.7068), (35.7131, -75.4129), (35.2041, -75.472), (34.9794, -76.0748), (34.5258, -76.4951), (34.588, -76.8109), (34.5314, -77.1378), (34.391, -77.4481), (34.0481, -77.7983), (33.7666, -77.926), (33.7963, -78.4863)]], 'ND': [[(48.9955, -104.0501), (45.9445, -104.0446), (45.934, -96.5671), (46.3242, -96.6028), (46.6636, -96.7978), (46.8602, -96.7896), (46.9503, -96.7896), (47.13, -96.8335), (47.2345, -96.8335), (47.4132, -96.8555), (47.5469, -96.8555), (47.6506, -96.8774), (47.9918, -97.0601), (48.1267, -97.126), (48.2859, -97.1109), (48.4301, -97.1233), (48.553, -97.1425), (48.6765, -97.0999), (48.7326, -97.1356), (48.7951, -97.1727), (48.9081, -97.229), (48.9982, -97.2331), (48.9946, -104.0501)]], 'NE': [[(42.9986, -104.0543), (41.0027, -104.0543), (41.0006, -102.0506), (40.0034, -102.0493), (39.9992, -95.3091), (40.2397, -95.4808), (40.313, -95.647), (40.4302, -95.6689), (40.59, -95.75), (40.6827, -95.8543), (40.8138, -95.8447), (40.9654, -95.8324), (41.0794, -95.8667), (41.2923, -95.8722), (41.4458, -95.9354), (41.5261, -95.9999), (41.638, -96.0988), (41.7703, -96.0686), (41.8368, -96.1084), (41.9677, -96.1372), (42.033, -96.2402), (42.1155, -96.2746), (42.2021, -96.3583), (42.2448, -96.3281), (42.389, -96.4188), (42.4731, -96.4037), (42.5369, -96.6357), (42.6057, -96.7099), (42.6532, -96.6893), (42.6602, -96.7621), (42.7147, -96.839), (42.7571, -96.9763), (42.8085, -97.2029), (42.8458, -97.229), (42.8629, -97.3979), (42.8427, -97.5133), (42.8488, -97.6149), (42.8659, -97.8456), (42.747, -97.998), (42.8337, -98.145), (42.9293, -98.4485), (42.9966, -98.502), (43.0006, -104.0543)]], 'TN': [[(36.6739, -88.0678), (36.6354, -87.8522), (36.6023, -83.6787), (36.5946, -81.9402), (36.6144, -81.9209), (36.6111, -81.6518), (36.3295, -81.7163), (36.3516, -81.7973), (36.2974, -81.9072), (36.1212, -82.0308), (36.1024, -82.1255), (36.1434, -82.1475), (36.1323, -82.245), (36.1168, -82.3521), (36.0702, -82.4167), (35.9669, -82.5389), (35.9702, -82.6076), (36.0602, -82.6378), (35.9925, -82.7751), (35.9169, -82.8177), (35.8623, -82.9042), (35.7755, -83.0017), (35.7131, -83.2393), (35.5635, -83.4961), (35.5501, -83.6938), (35.5233, -83.8284), (35.5065, -83.8847), (35.4014, -84.0248), (35.2905, -84.0276), (35.2322, -84.1113), (35.2624, -84.2294), (35.2198, -84.2926), (34.9884, -84.3201), (34.9996, -90.3131), (35.1233, -90.2843), (35.1379, -90.1758), (35.1985, -90.1112), (35.2849, -90.1524), (35.4372, -90.1346), (35.5568, -90.0192), (35.7343, -89.9547), (35.8579, -89.7638), (35.918, -89.6635), (35.9947, -89.713), (36.0902, -89.6759), (36.1279, -89.5894), (36.1856, -89.6484), (36.2343, -89.7006), (36.2531, -89.5331), (36.2996, -89.621), (36.3494, -89.5784), (36.3406, -89.518), (36.4964, -89.5345), (36.5107, -89.3051), (36.4986, -88.1667), (36.4997, -88.0692), (36.6871, -88.0637)]], 'NY': [[(42.5142, -79.7624), (42.7783, -79.0672), (42.8508, -78.9313), (42.9061, -78.9024), (42.9554, -78.9313), (42.9584, -78.9656), (42.9886, -79.0219), (43.0568, -79.0027), (43.0769, -79.0727), (43.122, -79.0713), (43.1441, -79.0302), (43.1801, -79.0576), (43.2482, -79.0604), (43.2812, -79.0837), (43.4509, -79.2004), (43.6311, -78.6909), (43.6321, -76.7958), (43.9987, -76.4978), (44.0965, -76.4388), (44.1349, -76.3536), (44.1989, -76.3124), (44.2049, -76.2437), (44.2413, -76.1655), (44.2973, -76.1353), (44.3327, -76.0474), (44.3553, -75.9856), (44.3749, -75.9196), (44.3994, -75.873), (44.4308, -75.8221), (44.474, -75.8098), (44.5425, -75.7288), (44.6647, -75.5585), (44.7672, -75.4088), (44.8101, -75.3442), (44.8383, -75.3058), (44.8676, -75.2399), (44.9211, -75.1204), (44.9609, -74.9995), (44.9803, -74.9899), (44.9852, -74.9103), (45.0017, -74.8856), (45.0153, -74.8306), (45.0046, -74.7633), (45.0027, -74.707), (45.0007, -74.5642), (44.992, -74.1467), (45.0037, -73.7306), (45.0085, -73.4203), (45.0109, -73.343), (44.9874, -73.3547), (44.9648, -73.3379), (44.916, -73.3396), (44.8354, -73.3739), (44.8013, -73.3324), (44.7419, -73.3667), (44.6139, -73.3873), (44.5787, -73.3736), (44.4916, -73.3049), (44.4289, -73.2953), (44.3513, -73.3365), (44.2757, -73.3118), (44.198, -73.3818), (44.1142, -73.4079), (44.0511, -73.4367), (44.0165, -73.4065), (43.9375, -73.4079), (43.8771, -73.3749), (43.8167, -73.3914), (43.779, -73.3557), (43.646, -73.4244), (43.5893, -73.434), (43.5655, -73.3969), (43.6112, -73.3818), (43.6271, -73.3049), (43.5764, -73.3063), (43.5675, -73.2582), (43.5227, -73.2445), (43.2582, -73.2582), (42.9715, -73.2733), (42.8004, -73.2898), (42.746, -73.2664), (42.463, -73.3708), (42.084, -73.5095), (42.0218, -73.4903), (41.8808, -73.4999), (41.2953, -73.5535), (41.2128, -73.4834), (41.1011, -73.7275), (41.0237, -73.6644), (40.9851, -73.6578), (40.9509, -73.6132), (41.1869, -72.4823), (41.2551, -72.095), (41.3005, -71.9714), (41.3108, -71.9193), (41.1838, -71.7915), (41.1249, -71.7929), (41.0462, -71.7517), (40.6306, -72.9465), (40.5368, -73.4628), (40.4887, -73.8885), (40.5232, -73.949), (40.4772, -74.2271), (40.4861, -74.2532), (40.6468, -74.1866), (40.6556, -74.0547), (40.7618, -74.0156), (40.8699, -73.9421), (40.998, -73.8934), (41.0343, -73.9854), (41.3268, -74.6274), (41.3583, -74.7084), (41.3811, -74.7101), (41.4386, -74.8265), (41.5075, -74.9913), (41.6, -75.0668), (41.6719, -75.0366), (41.7672, -75.0545), (41.8808, -75.1945), (42.0013, -75.3552), (42.0003, -75.4266), (42.0013, -77.0306), (41.9993, -79.725), (42.0003, -79.7621), (42.1827, -79.7621), (42.5146, -79.7621)]], 'PA': [[(42.3261, -80.5174), (42.3961, -80.0821), (42.5167, -79.7621), (42.0003, -79.7607), (41.9983, -75.358), (41.9431, -75.2673), (41.8696, -75.1794), (41.7713, -75.0586), (41.6729, -75.0366), (41.6021, -75.0641), (41.5086, -74.9927), (41.4283, -74.7935), (41.3933, -74.707), (41.2282, -74.8608), (40.983, -75.1355), (40.8554, -75.049), (40.6806, -75.1904), (40.5639, -75.2124), (40.5743, -75.1025), (40.5013, -75.06), (40.4208, -75.0655), (40.4072, -74.9776), (40.3392, -74.9432), (40.2628, -74.8389), (40.1495, -74.7221), (39.9592, -75.0929), (39.837, -75.2577), (39.8128, -75.4321), (39.8317, -75.6477), (39.7199, -75.7892), (39.722, -80.5243), (42.324, -80.5202)]], 'CA': [[(41.9983, -124.4009), (42.0024, -123.6237), (42.0126, -123.1526), (42.0075, -122.0073), (41.9962, -121.2369), (41.9983, -119.9982), (39.0021, -120.0037), (37.5555, -117.9575), (36.3594, -116.3699), (35.0075, -114.6368), (34.9659, -114.6382), (34.9107, -114.6286), (34.8758, -114.6382), (34.8454, -114.597), (34.789, -114.5682), (34.7269, -114.4968), (34.6648, -114.4501), (34.6581, -114.4597), (34.5869, -114.4322), (34.5235, -114.3787), (34.4601, -114.3869), (34.45, -114.3361), (34.4375, -114.3031), (34.4024, -114.2674), (34.3559, -114.1864), (34.3049, -114.1383), (34.2561, -114.1315), (34.2595, -114.1651), (34.2044, -114.2249), (34.1914, -114.2221), (34.172, -114.2908), (34.1368, -114.3237), (34.1186, -114.3622), (34.1118, -114.4089), (34.0856, -114.4363), (34.0276, -114.4336), (34.0117, -114.4652), (33.9582, -114.5119), (33.9308, -114.5366), (33.9058, -114.5091), (33.8613, -114.5256), (33.8248, -114.5215), (33.7597, -114.505), (33.7083, -114.494), (33.6832, -114.5284), (33.6363, -114.5242), (33.5895, -114.5393), (33.5528, -114.5242), (33.5311, -114.5586), (33.507, -114.5778), (33.4418, -114.6245), (33.4142, -114.6506), (33.4039, -114.7055), (33.3546, -114.6973), (33.3041, -114.7302), (33.2858, -114.7206), (33.2754, -114.6808), (33.2582, -114.6698), (33.2467, -114.6904), (33.172, -114.6794), (33.0904, -114.7083), (33.0858, -114.6918), (33.0328, -114.6629), (33.0501, -114.6451), (33.0305, -114.6286), (33.0282, -114.5888), (33.0351, -114.575), (33.0328, -114.5174), (32.9718, -114.4913), (32.9764, -114.4775), (32.9372, -114.4844), (32.8427, -114.4679), (32.8161, -114.5091), (32.785, -114.5311), (32.7573, -114.5284), (32.7503, -114.5641), (32.7353, -114.6162), (32.748, -114.6986), (32.7191, -114.722), (32.6868, -115.1944), (32.5121, -117.3395), (32.7838, -117.4823), (33.0501, -117.5977), (33.2341, -117.6814), (33.4578, -118.0591), (33.5403, -118.629), (33.7928, -118.7073), (33.9582, -119.3706), (34.1925, -120.005), (34.2561, -120.7164), (34.536, -120.9128), (34.9749, -120.8427), (35.2131, -121.1325), (35.5255, -121.322), (35.9691, -121.8013), (36.2808, -122.1446), (36.7268, -122.1721), (37.2227, -122.6871), (37.7783, -122.8903), (37.8965, -123.2378), (38.3449, -123.3202), (38.7423, -123.8338), (38.9946, -123.9793), (39.3088, -124.0329), (39.7642, -124.0823), (40.1663, -124.5314), (40.4658, -124.6509), (41.011, -124.3144), (41.2386, -124.3419), (41.717, -124.4545), (41.9983, -124.4009)]], 'NV': [[(41.9922, -120.0037), (42.0003, -117.9602), (42.0003, -117.0264), (42.0003, -115.73), (41.9952, -114.0436), (38.2856, -114.0546), (36.1955, -114.0491), (36.1334, -114.0985), (36.1068, -114.126), (36.0891, -114.115), (36.0313, -114.1534), (36.0136, -114.2468), (36.0624, -114.3292), (36.1024, -114.3237), (36.1434, -114.3896), (36.129, -114.5105), (36.1467, -114.5215), (36.1556, -114.5654), (36.1334, -114.6204), (36.1157, -114.6863), (36.0979, -114.7742), (36.058, -114.7357), (36.0447, -114.7522), (35.9691, -114.7412), (35.898, -114.7028), (35.8757, -114.6588), (35.8579, -114.7083), (35.8267, -114.6973), (35.8089, -114.7192), (35.6618, -114.6973), (35.6037, -114.6478), (35.5814, -114.6863), (35.5233, -114.6533), (35.5054, -114.6863), (35.407, -114.6149), (35.3218, -114.5929), (35.1783, -114.5737), (35.1199, -114.6094), (35.1109, -114.6368), (35.0929, -114.6368), (35.075, -114.6039), (35.048, -114.6259), (35.0345, -114.6478), (35.003, -114.6423), (35.1334, -114.8016), (37.2303, -117.5153), (39.0, -120.0009), (41.9942, -119.9982)]], 'VA': [[(36.6017, -83.6753), (36.6519, -83.5613), (36.6673, -83.4432), (36.7108, -83.308), (36.7389, -83.1974), (36.7433, -83.1363), (36.8032, -83.1047), (36.8302, -83.1033), (36.8544, -83.0704), (36.8478, -83.0127), (36.9839, -82.8534), (37.0086, -82.7971), (37.0442, -82.736), (37.2664, -82.3494), (37.3046, -82.3027), (37.5054, -82.0136), (37.538, -81.9681), (37.5139, -81.9259), (37.4889, -81.9707), (37.4563, -81.98), (37.4389, -81.9374), (37.3592, -81.9319), (37.3134, -81.8619), (37.2872, -81.7987), (37.2424, -81.7259), (37.2008, -81.6792), (37.2083, -81.5549), (37.2588, -81.4988), (37.2456, -81.4856), (37.2742, -81.4367), (37.3243, -81.3675), (37.2653, -81.2741), (37.2719, -81.156), (37.3025, -80.9802), (37.3396, -80.8566), (37.3876, -80.8786), (37.4247, -80.8511), (37.3702, -80.7715), (37.4749, -80.5518), (37.4792, -80.5133), (37.4247, -80.4803), (37.5097, -80.3018), (37.5359, -80.2798), (37.538, -80.3293), (37.6316, -80.2249), (37.6903, -80.3018), (37.7251, -80.2551), (37.7707, -80.2551), (37.8347, -80.1961), (37.8749, -80.1508), (38.0394, -79.9722), (38.1302, -79.9448), (38.1972, -79.9063), (38.2684, -79.7882), (38.3093, -79.8129), (38.3589, -79.7662), (38.3513, -79.7401), (38.3869, -79.7333), (38.4321, -79.6893), (38.4987, -79.6948), (38.5857, -79.6495), (38.5492, -79.5328), (38.4557, -79.4724), (38.4149, -79.3103), (38.5138, -79.2087), (38.6576, -79.1016), (38.6941, -79.0851), (38.7112, -79.1016), (38.7712, -79.0576), (38.7926, -79.0604), (38.7926, -79.0247), (38.8504, -78.9944), (38.7637, -78.8736), (38.8857, -78.783), (38.9327, -78.7198), (38.9071, -78.7129), (38.985, -78.6291), (38.9658, -78.6044), (39.017, -78.5522), (39.0384, -78.577), (39.0938, -78.5083), (39.1492, -78.4314), (39.1684, -78.4039), (39.1939, -78.4314), (39.347, -78.338), (39.3853, -78.338), (39.4659, -78.3469), (39.2283, -77.9744), (39.1338, -77.8302), (39.313, -77.7355), (39.3213, -77.709), (39.3043, -77.6218), (39.3067, -77.5686), (39.2248, -77.4567), (39.1543, -77.5226), (39.1277, -77.5243), (39.0914, -77.4687), (39.072, -77.4485), (39.0634, -77.3427), (39.0456, -77.2936), (39.0168, -77.2459), (38.9829, -77.2445), (38.968, -77.1834), (38.925, -77.112), (38.8798, -77.0464), (38.7538, -77.0444), (38.7142, -77.0409), (38.6635, -77.1312), (38.6319, -77.1285), (38.5935, -77.2456), (38.4547, -77.3094), (38.3904, -77.3046), (38.35, -77.2188), (38.4041, -77.0622), (38.4256, -77.0265), (38.3039, -76.9826), (38.2155, -76.8851), (38.1745, -76.5926), (37.9496, -76.2424), (37.9561, -76.0501), (37.9474, -75.9416), (37.9085, -75.9512), (37.9139, -75.8002), (37.9539, -75.6931), (37.9474, -75.6477), (37.9962, -75.6258), (38.0091, -75.4596), (38.0373, -74.9707), (37.3625, -75.5777), (36.8994, -75.818), (36.5516, -75.8043), (36.5516, -76.1476), (36.5516, -76.8617), (36.5516, -76.918), (36.5438, -76.918), (36.5505, -77.1803), (36.5449, -77.5278), (36.5427, -80.273), (36.5571, -80.5971), (36.5626, -80.7248), (36.5593, -80.8511), (36.5681, -81.1066), (36.5813, -81.4746), (36.5802, -81.5007), (36.5902, -81.6792), (36.6122, -81.6476), (36.6177, -81.9237), (36.5935, -81.936), (36.5957, -82.3961), (36.5935, -82.9344), (36.5957, -83.2654), (36.6023, -83.6746)]], 'CO': [[(37.0004, -109.0448), (36.9949, -102.0424), (41.0006, -102.0534), (40.9996, -109.0489), (37.0004, -109.0448)]], 'AK': [[(70.0187, -141.0205), (70.1292, -141.7291), (70.4515, -144.8163), (70.7471, -148.4583), (70.7923, -151.1609), (71.147, -152.6221), (71.1185, -153.9954), (71.4307, -154.8853), (71.5232, -156.7529), (71.2796, -157.9449), (71.2249, -159.6313), (70.6363, -161.8671), (70.0843, -163.5809), (69.3028, -165.2399), (69.1782, -166.8768), (68.3344, -168.0414), (67.6844, -165.9155), (67.2933, -164.6082), (66.7789, -164.0149), (66.581, -165.7507), (66.2867, -167.5745), (66.0269, -168.9862), (65.497, -168.9478), (65.042, -167.4756), (64.3922, -167.0142), (64.0554, -165.7343), (64.0193, -163.2294), (63.9615, -162.1143), (63.6877, -163.6029), (63.453, -165.3717), (62.4133, -166.3715), (61.6534, -166.9867), (60.8556, -166.4429), (60.5357, -167.8381), (59.5482, -167.7118), (59.4115, -165.8002), (59.3696, -164.5972), (59.1168, -162.8558), (58.1185, -162.5427), (58.1359, -160.6421), (58.0285, -159.505), (57.6336, -158.8953), (56.909, -159.906), (56.3926, -160.6531), (56.2342, -161.8835), (55.724, -162.9822), (55.2478, -164.3994), (54.7753, -165.3168), (54.1463, -167.1075), (53.5632, -168.5852), (53.1402, -169.9146), (52.5964, -169.5959), (52.9089, -168.2227), (54.2139, -162.7734), (54.6786, -159.1452), (55.6567, -155.4634), (57.351, -152.14), (59.2209, -150.8203), (59.7695, -147.4461), (60.3521, -145.985), (59.8917, -144.1544), (59.8172, -141.6811), (59.5225, -140.5124), (59.0292, -138.8548), (57.9032, -136.8526), (56.9157, -136.0725), (56.1555, -134.9794), (55.3237, -134.0057), (54.6341, -133.6418), (54.7135, -130.6261), (55.2869, -129.993), (55.9869, -130.0108), (56.1057, -130.1083), (56.6086, -131.5887), (57.8404, -132.8755), (58.7276, -133.8423), (59.3108, -134.9121), (59.802, -135.4724), (59.6039, -136.3445), (59.1619, -136.8251), (59.2441, -137.6079), (60.0902, -139.2119), (60.3575, -139.0938), (60.1866, -140.0056), (60.3059, -140.9999), (70.0187, -141.0205)]], 'AL': [[(35.0041, -88.1955), (34.9918, -85.6068), (32.8404, -85.1756), (32.2593, -84.8927), (32.1535, -85.0342), (31.7947, -85.1358), (31.52, -85.0438), (31.3384, -85.0836), (31.2093, -85.107), (31.0023, -84.9944), (30.9953, -87.6009), (30.9423, -87.5926), (30.8539, -87.6256), (30.6745, -87.4072), (30.4404, -87.3688), (30.1463, -87.524), (30.1546, -88.3864), (31.8939, -88.4743), (34.8938, -88.1021), (34.9479, -88.1721), (34.9107, -88.1461)]], 'AR': [[(33.0225, -94.0416), (33.0075, -91.2057), (33.118, -91.1989), (33.1824, -91.1041), (33.3053, -91.1343), (33.4211, -91.1646), (33.4337, -91.2263), (33.5403, -91.2524), (33.6112, -91.1797), (33.6855, -91.2524), (33.6946, -91.1261), (33.7883, -91.1412), (33.77, -91.0451), (33.8328, -91.0341), (33.9399, -91.0863), (34.0208, -90.9256), (34.0856, -90.9036), (34.1345, -90.9586), (34.1675, -90.9132), (34.138, -90.8501), (34.2311, -90.9325), (34.3446, -90.6935), (34.4409, -90.5603), (34.5348, -90.5548), (34.5959, -90.5768), (34.7213, -90.5301), (34.7574, -90.5328), (34.878, -90.4546), (34.8454, -90.3529), (34.869, -90.2911), (35.0255, -90.3104), (35.1154, -90.2843), (35.1323, -90.1772), (35.1985, -90.1112), (35.2826, -90.1524), (35.4383, -90.1332), (35.5579, -90.0206), (35.674, -89.978), (35.7287, -89.9547), (35.9169, -89.6594), (35.9658, -89.6883), (36.0013, -89.713), (35.9958, -90.3735), (36.1268, -90.2664), (36.2875, -90.0934), (36.3892, -90.0742), (36.418, -90.1511), (36.4997, -90.1566), (36.4986, -94.6198), (35.3801, -94.4412), (33.6318, -94.4893), (33.6421, -94.4522), (33.5597, -94.4), (33.5883, -94.2462), (33.5872, -94.1885), (33.5345, -94.0375), (33.4314, -94.043), (33.0213, -94.043)]], 'VT': [[(45.0104, -73.3427), (45.0134, -73.1827), (45.0153, -72.7432), (45.0134, -72.61), (45.0075, -72.5551), (45.009, -72.4562), (45.0037, -72.3113), (45.0066, -72.0964), (45.007, -71.9131), (45.0138, -71.5636), (45.0138, -71.5059), (44.9748, -71.5294), (44.9123, -71.4949), (44.8296, -71.5567), (44.7506, -71.6281), (44.7077, -71.6061), (44.6481, -71.5677), (44.5817, -71.5388), (44.5533, -71.6006), (44.5308, -71.5746), (44.4955, -71.5883), (44.4504, -71.6556), (44.4093, -71.7146), (44.3975, -71.7957), (44.3563, -71.8163), (44.3327, -71.8698), (44.3484, -71.9138), (44.3386, -71.9865), (44.3052, -72.0346), (44.2432, -72.0428), (44.193, -72.0662), (44.1349, -72.036), (44.0698, -72.058), (44.0017, -72.1101), (43.9671, -72.0937), (43.9088, -72.1252), (43.8682, -72.1733), (43.7899, -72.1994), (43.7899, -72.1994), (43.7384, -72.2392), (43.7056, -72.301), (43.6391, -72.3271), (43.5893, -72.3436), (43.5814, -72.3793), (43.5027, -72.3972), (43.4988, -72.3807), (43.415, -72.3999), (43.3601, -72.4123), (43.3591, -72.3903), (43.3282, -72.4081), (43.2762, -72.3999), (43.2342, -72.437), (43.1852, -72.4493), (43.1311, -72.448), (43.0679, -72.4507), (43.0067, -72.4438), (42.9846, -72.4699), (42.9645, -72.5276), (42.8951, -72.5331), (42.8639, -72.5633), (42.7863, -72.5098), (42.7652, -72.5166), (42.7541, -72.4741), (42.7289, -72.459), (42.7465, -73.2761), (42.8025, -73.2912), (42.8357, -73.285), (43.0679, -73.2678), (43.5022, -73.2472), (43.5615, -73.2561), (43.5774, -73.2939), (43.6271, -73.3049), (43.6271, -73.3557), (43.5675, -73.3976), (43.5883, -73.4326), (43.6351, -73.4285), (43.6684, -73.4079), (43.7031, -73.3907), (43.7701, -73.3516), (43.8207, -73.3928), (43.8533, -73.3832), (43.9033, -73.3969), (43.9365, -73.4086), (43.9795, -73.4134), (44.0427, -73.4381), (44.1058, -73.4141), (44.1921, -73.3928), (44.2393, -73.3427), (44.2467, -73.3186), (44.3484, -73.3406), (44.369, -73.3385), (44.4328, -73.2946), (44.5367, -73.3296), (44.5919, -73.3832), (44.6569, -73.377), (44.7477, -73.3681), (44.7857, -73.3317), (44.8043, -73.3324), (44.8398, -73.3818), (44.904, -73.3564), (44.9181, -73.3392), (44.9643, -73.3372), (44.9799, -73.3537), (45.0046, -73.3447), (45.0109, -73.3447), (45.0104, -73.3426)]], 'IL': [[(42.5116, -90.629), (42.4924, -87.0213), (41.7641, -87.2067), (41.7611, -87.5226), (39.6417, -87.5336), (39.3566, -87.5308), (39.1386, -87.6517), (38.9445, -87.5157), (38.7294, -87.5047), (38.6115, -87.6146), (38.4944, -87.6544), (38.374, -87.778), (38.2856, -87.8371), (38.2414, -87.9758), (38.1454, -87.9291), (37.9788, -88.0225), (37.89, -88.0458), (37.7881, -88.0321), (37.6349, -88.1529), (37.5097, -88.0609), (37.4149, -88.4152), (37.2828, -88.5086), (37.1428, -88.4221), (37.0585, -88.499), (37.1428, -88.7256), (37.2128, -88.9453), (37.1559, -89.0689), (37.0376, -89.165), (36.9894, -89.2873), (37.1505, -89.4356), (37.2762, -89.5345), (37.3996, -89.4315), (37.6936, -89.5358), (37.9767, -89.967), (38.2587, -90.379), (38.6169, -90.2376), (38.7573, -90.1744), (38.8247, -90.1167), (38.8846, -90.1799), (38.968, -90.4504), (38.8654, -90.5905), (39.0405, -90.7086), (39.2301, -90.7306), (39.3173, -90.835), (39.3853, -90.9338), (39.5559, -91.1398), (39.7262, -91.3554), (39.857, -91.4406), (39.994, -91.4941), (40.1694, -91.512), (40.3497, -91.4667), (40.4166, -91.3939), (40.5566, -91.4021), (40.6265, -91.2524), (40.6963, -91.1151), (40.8232, -91.089), (40.9312, -90.9792), (41.1642, -91.0162), (41.2355, -91.1055), (41.417, -91.0368), (41.4458, -90.8487), (41.4417, -90.7251), (41.5816, -90.3516), (41.7713, -90.2637), (41.9023, -90.1538), (42.0819, -90.1758), (42.2021, -90.3598), (42.2936, -90.4395), (42.4032, -90.5356), (42.4843, -90.6564)]], 'GA': [[(34.9974, -85.6082), (34.9906, -84.7266), (34.9895, -84.158), (34.9996, -83.1088), (34.9287, -83.1418), (34.8318, -83.3025), (34.7281, -83.356), (34.6569, -83.308), (34.5744, -83.1528), (34.4839, -83.0072), (34.4681, -82.8918), (34.4443, -82.8589), (34.2674, -82.749), (34.1254, -82.6831), (34.014, -82.5952), (33.8647, -82.3988), (33.7563, -82.2505), (33.6695, -82.2217), (33.5963, -82.1558), (33.5036, -82.0432), (33.3707, -81.9484), (33.2077, -81.8303), (33.1674, -81.7795), (33.1456, -81.7424), (33.0881, -81.6078), (33.0075, -81.5034), (32.9418, -81.5089), (32.6914, -81.4142), (32.5815, -81.4087), (32.5283, -81.2769), (32.4576, -81.1945), (32.3185, -81.1642), (32.2151, -81.1436), (32.1128, -81.1134), (32.0477, -80.9225), (32.05, -80.696), (31.8881, -80.7289), (31.4697, -80.9665), (30.9988, -81.1011), (30.7041, -81.2288), (30.7241, -81.6023), (30.7713, -81.7657), (30.8221, -81.9498), (30.756, -82.0239), (30.6379, -82.0459), (30.4866, -82.0239), (30.4309, -82.0363), (30.3575, -82.061), (30.3598, -82.1585), (30.3859, -82.2025), (30.4842, -82.2148), (30.5682, -82.2162), (30.6131, -82.9688), (30.7041, -84.8639), (30.7831, -84.9257), (30.9117, -84.9586), (30.9741, -84.9985), (31.1282, -85.063), (31.2116, -85.107), (31.5247, -85.0493), (31.8006, -85.1358), (31.9592, -85.0919), (32.157, -85.0342), (32.25, -84.9023), (32.3974, -84.9628), (32.5468, -85.0342), (32.6949, -85.1001), (32.8138, -85.166), (32.9833, -85.2072), (33.6512, -85.3418), (34.562, -85.5231), (34.9929, -85.6068)]], 'IN': [[(41.7611, -87.5253), (41.7611, -84.809), (39.0981, -84.8199), (39.0533, -84.8927), (38.8996, -84.8625), (38.8312, -84.8268), (38.7841, -84.8145), (38.7905, -84.8941), (38.7809, -84.9861), (38.6877, -85.1797), (38.7198, -85.442), (38.5653, -85.4091), (38.4461, -85.5986), (38.2695, -85.751), (38.2824, -85.8266), (38.2414, -85.8376), (38.0967, -85.9035), (38.0232, -85.92), (37.9594, -86.0477), (38.0102, -86.0944), (38.0578, -86.2729), (38.0935, -86.2811), (38.1346, -86.2729), (38.1842, -86.3704), (38.0416, -86.5187), (37.9193, -86.5874), (37.8402, -86.6409), (37.9085, -86.6478), (37.9085, -86.6876), (37.9821, -86.8236), (37.9464, -86.9019), (37.9009, -87.0392), (37.7924, -87.1394), (37.9464, -87.4429), (37.9756, -87.5885), (37.9225, -87.6283), (37.8694, -87.6915), (37.9236, -87.8879), (37.7718, -87.962), (37.787, -88.0321), (37.8092, -88.0376), (37.8011, -88.0643), (37.8206, -88.0925), (37.8223, -88.0451), (37.8483, -88.0575), (37.9041, -88.098), (37.9307, -88.0705), (37.9561, -88.0369), (37.9669, -88.0122), (38.0102, -88.0259), (38.0384, -88.0417), (38.053, -88.0005), (38.0762, -87.9607), (38.1, -88.0163), (38.1313, -87.971), (38.1497, -87.9284), (38.1734, -87.9387), (38.1939, -87.973), (38.2349, -87.9813), (38.2608, -87.9421), (38.2759, -87.8604), (38.3029, -87.8302), (38.3233, -87.835), (38.3567, -87.8137), (38.3767, -87.7739), (38.4116, -87.7444), (38.5149, -87.6448), (38.546, -87.6723), (38.5949, -87.6105), (38.5986, -87.6242), (38.6828, -87.5343), (38.7284, -87.5075), (38.7696, -87.4972), (38.8247, -87.5322), (38.9039, -87.5171), (38.9413, -87.5253), (38.9712, -87.5281), (38.9872, -87.5761), (39.0906, -87.6228), (39.1066, -87.6517), (39.1365, -87.6599), (39.1695, -87.6366), (39.2493, -87.5899), (39.3492, -87.5336), (41.76, -87.5253)]], 'IA': [[(40.5848, -95.7623), (40.5785, -93.5445), (40.6129, -91.7372), (40.5545, -91.6768), (40.5451, -91.6246), (40.3622, -91.4365), (40.4637, -91.3623), (40.5482, -91.4021), (40.6931, -91.1124), (40.8107, -91.1028), (40.9218, -90.9668), (41.1642, -91.0121), (41.2406, -91.1082), (41.4067, -91.0451), (41.451, -90.7086), (41.5178, -90.4793), (41.5908, -90.3419), (41.7457, -90.2788), (41.8164, -90.2074), (41.9023, -90.1538), (42.0962, -90.1744), (42.1441, -90.2692), (42.2905, -90.4298), (42.4093, -90.537), (42.5217, -90.64), (42.636, -90.7127), (42.6956, -90.7883), (42.7712, -91.0533), (42.8448, -91.0904), (42.9082, -91.1398), (43.0609, -91.1549), (43.1391, -91.1522), (43.2882, -91.0547), (43.3322, -91.2057), (43.414, -91.2236), (43.5008, -91.2305), (43.4998, -96.5973), (43.4818, -96.611), (43.3871, -96.5245), (43.2232, -96.5533), (43.1301, -96.4421), (42.9243, -96.5479), (42.7188, -96.6357), (42.6158, -96.5561), (42.5055, -96.4847), (42.4599, -96.3995), (42.3667, -96.405), (42.2722, -96.3446), (42.2051, -96.3625), (41.9983, -96.2416), (41.9513, -96.1372), (41.7662, -96.0741), (41.6267, -96.0988), (41.4561, -95.9477), (41.2819, -95.8804), (41.0338, -95.8653), (40.8346, -95.8365), (40.6775, -95.8461), (40.5837, -95.761)]], 'OK': [[(37.0015, -103.0051), (36.503, -103.0037), (36.4986, -100.0003), (34.562, -99.9934), (34.3763, -99.6172), (34.4137, -99.5787), (34.3763, -99.429), (34.4534, -99.3823), (34.3616, -99.2505), (34.2129, -99.1818), (34.1982, -98.9648), (34.1232, -98.7424), (34.1254, -98.557), (34.0618, -98.4746), (34.1414, -98.3743), (34.1118, -98.1793), (34.006, -98.0818), (33.8966, -97.9843), (33.8487, -97.8662), (33.9798, -97.6932), (33.8841, -97.4529), (33.8282, -97.4611), (33.8237, -97.3622), (33.9001, -97.2166), (33.7426, -97.1645), (33.7392, -97.093), (33.9354, -96.9173), (33.8704, -96.8527), (33.8271, -96.7484), (33.8202, -96.5602), (33.7769, -96.5053), (33.6912, -96.3474), (33.8522, -96.0205), (33.8396, -95.8379), (33.8887, -95.7349), (33.8841, -95.5426), (33.8738, -95.2831), (33.957, -95.2171), (33.867, -95.0496), (33.7677, -94.8862), (33.6695, -94.6692), (33.6386, -94.4852), (35.3499, -94.4357), (36.3715, -94.5978), (36.4942, -94.6198), (36.9982, -94.6211), (37.0004, -103.0064)]], 'AZ': [[(36.9993, -112.5989), (37.0004, -110.863), (37.0004, -109.0475), (31.3325, -109.0503), (31.3325, -111.0718), (32.4935, -114.8126), (32.5184, -114.8099), (32.5827, -114.8044), (32.6246, -114.7992), (32.67, -114.7474), (32.7457, -114.7014), (32.7342, -114.6176), (32.7422, -114.5819), (32.7584, -114.5393), (32.8167, -114.5095), (32.845, -114.4696), (32.9107, -114.4817), (32.9741, -114.4803), (33.0317, -114.5256), (33.0259, -114.6094), (33.0317, -114.6588), (33.0904, -114.7096), (33.2065, -114.6849), (33.2846, -114.722), (33.3546, -114.6973), (33.4051, -114.7258), (33.412, -114.6533), (33.5016, -114.5888), (33.5317, -114.5599), (33.6306, -114.5187), (33.6786, -114.5297), (33.7083, -114.494), (33.7609, -114.5036), (33.8157, -114.5284), (33.8545, -114.5325), (33.9285, -114.538), (33.953, -114.5235), (34.0049, -114.4748), (34.0299, -114.4308), (34.0891, -114.4363), (34.1357, -114.3526), (34.172, -114.2908), (34.2044, -114.2255), (34.2595, -114.1685), (34.2572, -114.1301), (34.3037, -114.1397), (34.3664, -114.2276), (34.4012, -114.2633), (34.4534, -114.3388), (34.493, -114.3608), (34.5292, -114.3811), (34.5959, -114.4377), (34.6547, -114.4569), (34.7506, -114.5297), (34.8172, -114.5847), (34.8724, -114.6341), (34.949, -114.6313), (35.0342, -114.6351), (35.1019, -114.6451), (35.1233, -114.619), (35.1716, -114.5682), (35.3364, -114.5984), (35.4506, -114.6643), (35.578, -114.6753), (35.6171, -114.6547), (35.6528, -114.6918), (35.7053, -114.7028), (35.805, -114.7093), (35.8679, -114.6602), (35.9836, -114.7426), (36.0891, -114.7536), (36.1124, -114.6794), (36.1423, -114.6327), (36.1301, -114.4872), (36.1445, -114.369), (36.0746, -114.3038), (36.0602, -114.3172), (36.0163, -114.2451), (36.0402, -114.1438), (36.0979, -114.115), (36.1101, -114.1274), (36.119, -114.1054), (36.1989, -114.0463), (36.3638, -114.045), (37.0001, -114.0508)]], 'ID': [[(49.0, -117.0319), (49.0018, -116.0486), (47.9752, -116.0445), (47.5765, -115.6915), (47.5487, -115.7574), (47.4239, -115.7595), (47.3109, -115.535), (47.2606, -115.3235), (47.1888, -115.2878), (47.1542, -115.2493), (46.9728, -115.0433), (46.8677, -114.9472), (46.7201, -114.7865), (46.6984, -114.7549), (46.6325, -114.5874), (46.6325, -114.4638), (46.6466, -114.3279), (46.5135, -114.343), (46.453, -114.3896), (46.3488, -114.4144), (46.2682, -114.4611), (46.1227, -114.5105), (45.8585, -114.4418), (45.7742, -114.5654), (45.6745, -114.5229), (45.5621, -114.5654), (45.5439, -114.4666), (45.4601, -114.3375), (45.5468, -114.2441), (45.5631, -114.1342), (45.6889, -113.9708), (45.6102, -113.8403), (45.4409, -113.7978), (45.272, -113.7085), (45.026, -113.4256), (44.9405, -113.4998), (44.7887, -113.3459), (44.8062, -113.2471), (44.735, -113.118), (44.4887, -113.0246), (44.3592, -112.8502), (44.4151, -112.831), (44.4887, -112.7266), (44.4504, -112.3901), (44.5347, -112.327), (44.522, -112.1127), (44.5582, -111.8848), (44.5132, -111.8271), (44.5396, -111.4645), (44.6198, -111.5057), (44.7292, -111.3684), (44.4759, -111.0539), (43.8623, -111.0471), (42.0013, -111.0471), (41.9962, -112.1663), (41.9871, -113.8458), (41.9942, -114.0422), (42.0013, -114.8222), (41.9973, -115.9126), (41.9962, -117.014), (42.0013, -117.0264), (43.782, -117.0277), (43.833, -117.0325), (43.8632, -117.003), (43.9073, -116.9776), (44.0244, -116.9302), (44.0491, -116.9735), (44.1014, -116.933), (44.1561, -116.8945), (44.1965, -116.9714), (44.2442, -116.981), (44.2486, -117.0339), (44.2304, -117.0525), (44.2585, -117.0895), (44.2806, -117.1122), (44.259, -117.1541), (44.2973, -117.2255), (44.3445, -117.1994), (44.3813, -117.2372), (44.4769, -117.2269), (44.5234, -117.1836), (44.5376, -117.1458), (44.7423, -117.0442), (44.7921, -116.9316), (44.8568, -116.898), (44.9356, -116.8327), (44.9624, -116.8513), (44.9896, -116.8554), (45.0313, -116.8417), (45.0968, -116.7819), (45.1627, -116.7229), (45.2178, -116.7105), (45.3213, -116.6741), (45.3984, -116.6185), (45.4433, -116.5883), (45.463, -116.5553), (45.5371, -116.5334), (45.614, -116.464), (45.6904, -116.5354), (45.734, -116.5354), (45.7541, -116.5594), (45.7843, -116.6357), (45.7781, -116.5965), (45.7805, -116.6597), (45.8259, -116.7105), (45.8159, -116.7586), (45.8341, -116.7908), (45.8642, -116.8046), (45.9053, -116.8595), (45.9545, -116.8739), (45.9769, -116.8925), (46.0218, -116.9302), (46.0932, -116.9838), (46.1385, -116.9344), (46.1727, -116.9268), (46.2007, -116.9646), (46.2435, -116.9591), (46.2782, -116.992), (46.3152, -117.0209), (46.3446, -117.0511), (46.427, -117.0408), (46.9451, -117.0394), (48.9996, -117.0319)]], 'CT': [[(42.0498, -73.4875), (42.0511, -73.4247), (42.0371, -72.8146), (41.9983, -72.8174), (42.0044, -72.7638), (42.036, -72.7563), (42.0368, -72.6945), (42.0309, -72.6086), (42.0269, -72.6059), (42.0269, -72.5784), (42.035, -72.5729), (42.035, -72.4026), (42.0248, -71.7984), (41.6832, -71.7874), (41.4165, -71.7984), (41.3892, -71.8341), (41.3273, -71.8526), (41.3309, -71.8938), (41.3103, -71.9302), (41.2907, -72.0195), (41.2618, -72.0827), (41.1962, -72.4322), (41.0866, -73.0007), (41.0255, -73.2493), (40.9509, -73.6132), (40.983, -73.6606), (41.0338, -73.6723), (41.1011, -73.7272), (41.2153, -73.4834), (41.2953, -73.5507), (41.4906, -73.5329), (42.0493, -73.4875)]], 'ME': [[(45.3425, -71.0129), (45.3328, -70.9525), (45.2294, -70.8618), (45.3917, -70.8247), (45.4274, -70.7808), (45.383, -70.638), (45.5092, -70.719), (45.6544, -70.5721), (45.7292, -70.3894), (45.7924, -70.4169), (45.9368, -70.2493), (45.9597, -70.3098), (46.0923, -70.2946), (46.0989, -70.2589), (46.1342, -70.2466), (46.1903, -70.2905), (46.271, -70.2466), (46.327, -70.204), (46.4151, -70.0571), (46.6956, -69.9994), (47.455, -69.2303), (47.4132, -69.0381), (47.2578, -69.0504), (47.1748, -68.8843), (47.2643, -68.6206), (47.3546, -68.335), (47.3165, -68.1564), (47.1038, -67.8804), (47.0664, -67.7898), (45.9359, -67.7802), (45.9177, -67.7527), (45.7599, -67.809), (45.6208, -67.6524), (45.5987, -67.4533), (45.5044, -67.4176), (45.4823, -67.5014), (45.3714, -67.4231), (45.2768, -67.4863), (45.1297, -67.3434), (45.183, -67.2487), (45.123, -67.1223), (44.8315, -66.9672), (44.7409, -66.8628), (44.4945, -67.3105), (44.3268, -67.9051), (43.8702, -68.6673), (43.7274, -68.8431), (43.6639, -69.7137), (43.5625, -70.0818), (42.9182, -70.5569), (43.0649, -70.7108), (43.1391, -70.8302), (43.2292, -70.8179), (43.3631, -70.9799), (43.5675, -70.9717), (45.3029, -71.0829)]], 'MD': [[(39.722, -79.4778), (39.722, -78.36), (39.722, -75.7878), (39.5655, -75.7809), (39.3152, -75.7617), (38.9498, -75.7329), (38.4611, -75.6944), (38.4482, -74.8581), (38.02, -74.9721), (38.0275, -75.2316), (37.9962, -75.6079), (37.9951, -75.623), (37.9464, -75.6436), (37.9529, -75.7288), (37.9117, -75.8084), (37.9095, -75.9512), (37.9464, -75.943), (37.9529, -76.0584), (37.8889, -76.2396), (37.9474, -76.3454), (37.9669, -76.4154), (38.0146, -76.4703), (38.0275, -76.517), (38.0751, -76.5363), (38.1464, -76.6063), (38.1616, -76.6928), (38.167, -76.7601), (38.1637, -76.8494), (38.208, -76.9482), (38.2748, -76.9908), (38.3093, -77.0306), (38.3761, -77.0114), (38.4009, -77.043), (38.3697, -77.0897), (38.3697, -77.1432), (38.332, -77.2627), (38.4525, -77.3135), (38.5514, -77.2737), (38.5954, -77.249), (38.6373, -77.1281), (38.6737, -77.1378), (38.7112, -77.076), (38.7187, -77.0361), (38.7766, -77.0416), (38.8451, -77.032), (38.9025, -77.0708), (38.957, -77.1395), (38.9773, -77.2335), (39.024, -77.2462), (39.0634, -77.3431), (39.0717, -77.4351), (39.0792, -77.4636), (39.1218, -77.5202), (39.1804, -77.5092), (39.2269, -77.4577), (39.3051, -77.5666), (39.3067, -77.6321), (39.3202, -77.7159), (39.3383, -77.7626), (39.381, -77.7544), (39.4288, -77.7602), (39.4367, -77.8038), (39.4606, -77.7997), (39.5019, -77.7859), (39.5062, -77.8436), (39.521, -77.8217), (39.5337, -77.8354), (39.5231, -77.8656), (39.5591, -77.8848), (39.6015, -77.8821), (39.6078, -77.9974), (39.6247, -78.0222), (39.6924, -78.143), (39.6945, -78.1924), (39.6839, -78.2062), (39.6839, -78.2419), (39.6586, -78.2281), (39.6226, -78.2776), (39.6438, -78.3517), (39.612, -78.3765), (39.6036, -78.4067), (39.5824, -78.4177), (39.575, -78.4245), (39.5464, -78.4232), (39.5146, -78.4698), (39.5189, -78.5687), (39.5337, -78.6676), (39.5888, -78.739), (39.6015, -78.772), (39.6184, -78.7363), (39.6438, -78.7775), (39.6036, -78.7912), (39.6036, -78.8187), (39.5549, -78.8571), (39.4913, -78.9203), (39.4426, -78.9725), (39.4834, -79.0542), (39.4738, -79.0604), (39.4553, -79.1043), (39.3853, -79.1936), (39.3449, -79.2705), (39.3014, -79.3282), (39.2535, -79.4044), (39.2073, -79.4696), (39.2051, -79.4861), (39.2546, -79.4861), (39.3444, -79.4854), (39.3454, -79.484), (39.5316, -79.4833), (39.7214, -79.4772)]], 'MA': [[(42.0003, -72.7789), (42.033, -72.7405), (42.033, -72.3779), (42.0228, -71.7984), (42.0085, -71.8011), (42.0197, -71.385), (41.8961, -71.3837), (41.8982, -71.3411), (41.8358, -71.337), (41.8245, -71.3493), (41.7816, -71.3342), (41.7529, -71.2628), (41.6719, -71.1914), (41.6616, -71.1351), (41.6124, -71.1433), (41.5939, -71.131), (41.4973, -71.1214), (41.3149, -71.0266), (41.159, -70.8316), (41.1662, -69.9225), (41.3201, -69.7948), (41.8133, -69.7398), (42.1939, -70.0337), (42.2173, -70.5144), (42.4133, -70.6984), (42.642, -70.3647), (42.8286, -70.4759), (42.876, -70.6133), (42.8619, -70.844), (42.889, -70.9154), (42.8075, -71.0651), (42.8226, -71.1337), (42.7873, -71.1859), (42.7369, -71.1832), (42.747, -71.2189), (42.74, -71.256), (42.6986, -71.2985), (42.7127, -71.9151), (42.7309, -72.5441), (42.745, -73.2541), (42.746, -73.2664), (42.546, -73.3406), (42.2671, -73.4436), (42.1349, -73.4917), (42.088, -73.5081), (42.0483, -73.4985), (42.0452, -73.1841), (42.0371, -72.8146), (41.9962, -72.816), (42.0024, -72.7803)]], 'OH': [[(38.4385, -82.3425), (38.5707, -82.2917), (38.5965, -82.1722), (38.7712, -82.1997), (39.0181, -82.0294), (38.875, -81.8729), (38.9359, -81.7644), (39.1865, -81.7397), (39.2812, -81.568), (39.4022, -81.4444), (39.346, -81.3661), (39.4479, -81.1244), (39.5549, -81.0352), (39.6565, -80.8374), (39.8676, -80.7948), (40.5941, -80.652), (40.6223, -80.5188), (42.321, -80.5229), (42.2153, -81.2521), (41.9962, -81.6806), (41.9962, -81.7094), (41.677, -82.3961), (41.6709, -82.6845), (41.9585, -83.1157), (41.7314, -83.4219), (41.6944, -84.8021), (39.1056, -84.8172), (39.1407, -84.7444), (39.096, -84.5068), (39.0459, -84.4052), (38.9434, -84.2857), (38.8055, -84.2432), (38.7712, -84.0866), (38.7519, -83.8916), (38.633, -83.6636), (38.6962, -83.5263), (38.5976, -83.2736), (38.6169, -83.1445), (38.7027, -83.0127), (38.7327, -82.8973), (38.5782, -82.8355), (38.3761, -82.5952)]], 'UT': [[(36.9982, -114.0491), (37.0026, -109.0462), (40.9986, -109.0503), (41.0006, -111.0471), (41.9993, -111.0498), (41.9901, -114.0395), (37.0015, -114.0504)]], 'MO': [[(40.6181, -91.7468), (40.5597, -91.6809), (40.5472, -91.626), (40.4658, -91.5463), (40.3675, -91.4337), (40.1663, -91.5161), (39.9866, -91.49), (39.8634, -91.4447), (39.7283, -91.3623), (39.6861, -91.3074), (39.5464, -91.1096), (39.4022, -90.9558), (39.245, -90.7306), (38.9893, -90.6812), (38.8697, -90.5878), (38.9722, -90.4504), (38.8868, -90.1813), (38.8269, -90.1154), (38.7155, -90.1978), (38.4149, -90.3186), (38.2597, -90.379), (37.9572, -89.9341), (37.6925, -89.5331), (37.4007, -89.4287), (37.2784, -89.5386), (37.1734, -89.4452), (37.0859, -89.3793), (36.9938, -89.2859), (37.0311, -89.1829), (36.9839, -89.1403), (36.9466, -89.1005), (36.7884, -89.1788), (36.6288, -89.2035), (36.5449, -89.2516), (36.6188, -89.3532), (36.5538, -89.4397), (36.4942, -89.5358), (36.3594, -89.5331), (36.2509, -89.5345), (36.0891, -89.61), (36.0002, -89.7116), (35.9958, -90.3735), (36.1223, -90.2747), (36.2886, -90.0934), (36.3903, -90.0769), (36.4213, -90.1538), (36.5008, -90.1538), (36.4975, -94.6184), (38.9722, -94.6143), (39.1982, -94.6143), (39.1684, -94.7241), (39.279, -94.8834), (39.5612, -95.1086), (39.7283, -94.8834), (39.8296, -94.8944), (39.8845, -94.9384), (39.8971, -95.0153), (39.8718, -95.0922), (40.0066, -95.3119), (40.246, -95.4794), (40.3256, -95.6635), (40.5879, -95.7527), (40.5795, -94.3135), (40.5962, -92.5818), (40.614, -91.7358)]], 'MN': [[(43.5008, -96.4517), (43.5017, -91.2195), (43.8226, -91.3101), (43.9651, -91.4914), (44.1113, -91.7084), (44.2806, -91.8951), (44.371, -91.9556), (44.4357, -92.2083), (44.5513, -92.336), (44.6501, -92.6367), (44.7877, -92.7658), (45.3135, -92.7081), (45.4505, -92.6532), (45.6083, -92.8482), (45.8307, -92.7356), (45.976, -92.5159), (46.0151, -92.3566), (46.0789, -92.2934), (46.5957, -92.2879), (47.3072, -90.6564), (47.2885, -89.9615), (48.012, -89.4919), (48.0193, -89.7583), (48.0285, -89.9931), (48.0827, -90.0261), (48.1074, -90.1758), (48.0955, -90.3502), (48.1074, -90.4834), (48.1175, -90.5644), (48.0928, -90.7471), (48.1588, -90.7759), (48.2402, -90.8405), (48.2174, -90.9792), (48.0726, -91.3252), (48.0505, -91.5738), (48.1166, -91.707), (48.1963, -91.7166), (48.2494, -91.9844), (48.3188, -92.0078), (48.3544, -92.0531), (48.3599, -92.1561), (48.3307, -92.2975), (48.2475, -92.2742), (48.2228, -92.3717), (48.3854, -92.4609), (48.4474, -92.5104), (48.4611, -92.7122), (48.4984, -92.634), (48.5403, -92.6395), (48.6393, -93.2066), (48.5884, -93.4648), (48.5439, -93.4621), (48.5166, -93.8013), (48.6284, -93.8356), (48.6547, -94.2531), (48.7046, -94.2792), (48.6982, -94.4467), (48.7861, -94.6925), (48.8756, -94.6788), (49.0955, -94.7488), (49.1889, -94.7955), (49.3189, -94.8175), (49.3815, -94.9631), (49.3538, -95.04), (49.3681, -95.1196), (49.3877, -95.1553), (48.9991, -95.1553), (49.0, -97.2304), (48.8647, -97.1851), (48.7806, -97.1576), (48.6683, -97.104), (48.5539, -97.1645), (48.2832, -97.1411), (48.1578, -97.1397), (47.9633, -97.0587), (47.7098, -96.9434), (47.5821, -96.8582), (47.2345, -96.8335), (46.6702, -96.8005), (46.5135, -96.7126), (46.2786, -96.6028), (46.0189, -96.5767), (45.8173, -96.5891), (45.6169, -96.8486), (45.4601, -96.7456), (45.3676, -96.5918), (45.2961, -96.4558), (43.5008, -96.4531)]], 'MI': [[(48.3033, -88.3713), (48.0101, -87.605), (46.8902, -84.8584), (46.6362, -84.765), (46.4606, -84.5563), (46.4525, -84.478), (46.4894, -84.445), (46.5008, -84.4203), (46.4989, -84.3956), (46.5093, -84.375), (46.5069, -84.3386), (46.4927, -84.2905), (46.4951, -84.2651), (46.5343, -84.2253), (46.5404, -84.1951), (46.5272, -84.1779), (46.5348, -84.1347), (46.5041, -84.1113), (46.4189, -84.1457), (46.372, -84.1395), (46.3218, -84.1058), (46.3147, -84.1203), (46.2672, -84.1148), (46.2563, -84.0969), (46.2411, -84.1093), (46.2098, -84.0859), (46.1879, -84.0777), (46.1508, -84.0097), (46.118, -84.007), (46.1018, -83.9761), (46.057, -83.9555), (46.0604, -83.904), (46.1185, -83.8264), (46.1028, -83.7598), (46.1218, -83.6547), (46.1056, -83.5723), (45.9993, -83.4343), (45.8211, -83.5977), (45.3396, -82.5197), (43.5918, -82.1221), (43.0112, -82.4119), (42.9956, -82.4249), (42.9579, -82.4236), (42.9021, -82.4648), (42.8543, -82.4689), (42.81, -82.4826), (42.7863, -82.4723), (42.7339, -82.4847), (42.6855, -82.5032), (42.638, -82.5108), (42.6036, -82.5307), (42.5672, -82.5774), (42.549, -82.5993), (42.5521, -82.6501), (42.5354, -82.668), (42.4746, -82.7257), (42.4726, -82.725), (42.3738, -82.828), (42.3469, -82.944), (42.3382, -82.955), (42.3098, -83.0779), (42.2392, -83.1294), (42.1741, -83.1342), (42.1267, -83.1212), (42.0411, -83.1493), (41.96, -83.1116), (41.7344, -83.4164), (41.7211, -83.8724), (41.7057, -84.3736), (41.6965, -84.8062), (41.7611, -84.8076), (41.7621, -87.2067), (42.4934, -87.0241), (43.3771, -87.1477), (43.7056, -87.1216), (43.9958, -87.0474), (44.1674, -86.9939), (44.472, -86.8662), (44.8841, -86.6849), (45.0813, -86.5009), (45.2353, -86.2495), (45.4438, -86.7563), (45.4438, -87.0996), (45.3772, -87.1518), (45.3502, -87.171), (45.2401, -87.3166), (45.2024, -87.4059), (45.0774, -87.4416), (45.091, -87.5912), (45.1036, -87.6407), (45.2207, -87.697), (45.3367, -87.6476), (45.3878, -87.6984), (45.3425, -87.8494), (45.5025, -87.7959), (45.6726, -87.789), (45.757, -87.9318), (45.7953, -87.9922), (45.8058, -88.1186), (45.8585, -88.087), (45.9531, -88.1955), (45.9722, -88.3438), (45.9836, -88.3891), (46.0113, -88.5457), (45.997, -88.7022), (46.0227, -88.8135), (46.0418, -88.8547), (46.1408, -89.0936), (46.3384, -90.1222), (46.5692, -90.4175), (46.9034, -90.2019), (47.2913, -89.9547), (48.0129, -89.4946), (47.9743, -89.3381), (48.2448, -88.6761), (48.3042, -88.3726)]], 'RI': [[(41.3706, -71.0568), (41.3706, -71.0541), (41.6339, -71.1447), (41.6791, -71.1942), (41.7611, -71.2793), (41.7775, -71.3315), (41.7918, -71.3425), (41.8225, -71.3507), (41.8512, -71.337), (41.888, -71.3397), (41.9288, -71.3837), (42.0156, -71.3795), (42.0064, -71.7984), (41.675, -71.7874), (41.453, -71.7984), (41.3943, -71.8492), (41.3315, -71.852), (41.3057, -71.9041), (41.1849, -71.7915), (41.2665, -71.4084)]], 'KS': [[(40.0034, -102.0506), (40.0034, -102.0506), (36.9927, -102.0438), (36.9982, -94.6211), (38.8803, -94.6046), (39.0789, -94.6143), (39.1971, -94.6184), (39.1673, -94.7255), (39.2759, -94.8793), (39.5612, -95.099), (39.7283, -94.8807), (39.8286, -94.893), (39.8823, -94.9342), (39.8971, -95.0098), (39.876, -95.0922), (39.9445, -95.2213), (40.0087, -95.3036), (40.0024, -102.0506)]], 'MT': [[(44.475, -111.0512), (44.7311, -111.3684), (44.6198, -111.5071), (44.5386, -111.4673), (44.5151, -111.8285), (44.5592, -111.8848), (44.5229, -112.1127), (44.5367, -112.327), (44.4475, -112.3901), (44.4896, -112.7293), (44.4181, -112.8296), (44.3563, -112.8529), (44.4857, -113.0205), (44.5905, -113.0713), (44.7389, -113.1152), (44.8091, -113.2471), (44.7887, -113.3459), (44.9386, -113.497), (45.0269, -113.4229), (45.2749, -113.7085), (45.4447, -113.7964), (45.614, -113.8403), (45.6908, -113.9722), (45.5631, -114.1315), (45.5525, -114.2358), (45.4592, -114.3347), (45.5439, -114.4652), (45.5583, -114.5668), (45.6755, -114.5215), (45.7733, -114.5641), (45.8613, -114.4391), (45.9989, -114.4817), (46.1237, -114.5132), (46.2577, -114.4652), (46.3441, -114.4171), (46.453, -114.3896), (46.5069, -114.3484), (46.6504, -114.3279), (46.6334, -114.4652), (46.6362, -114.5929), (46.7003, -114.7659), (46.8423, -114.9307), (47.0402, -115.1147), (47.1888, -115.2933), (47.2569, -115.329), (47.3025, -115.5267), (47.4253, -115.7547), (47.5487, -115.7533), (47.5793, -115.6956), (47.9771, -116.0458), (48.9991, -116.0458), (48.9991, -104.0501), (45.0269, -104.0186), (45.0153, -104.0186), (44.9978, -104.0199), (44.9959, -111.0498), (44.475, -111.0512)]], 'MS': [[(35.0041, -90.3049), (35.0075, -88.1955), (34.8882, -88.0994), (34.7044, -88.1241), (33.6661, -88.2573), (31.8939, -88.4756), (30.8657, -88.418), (30.1594, -88.385), (30.0905, -88.8327), (30.2104, -89.187), (30.157, -89.4919), (30.1796, -89.5757), (30.3326, -89.6457), (30.5232, -89.7748), (30.6663, -89.8531), (30.9988, -89.7377), (30.9988, -91.6287), (31.0341, -91.5601), (31.1106, -91.6273), (31.1658, -91.5916), (31.2304, -91.6589), (31.2656, -91.6452), (31.2609, -91.5436), (31.3724, -91.5271), (31.4099, -91.5161), (31.5071, -91.512), (31.5692, -91.4502), (31.623, -91.5147), (31.6253, -91.3966), (31.7936, -91.3513), (31.8589, -91.2744), (31.9755, -91.1673), (32.0267, -91.0767), (32.1198, -91.0767), (32.1942, -91.0437), (32.2221, -91.0107), (32.315, -90.9132), (32.3742, -91.0313), (32.4263, -91.0217), (32.4634, -91.0986), (32.607, -91.008), (32.5746, -91.1096), (32.6394, -91.1536), (32.7226, -91.1426), (32.7873, -91.1426), (32.8519, -91.1536), (32.8796, -91.1206), (32.9257, -91.2195), (32.9995, -91.2085), (33.0444, -91.2016), (33.1192, -91.2016), (33.1835, -91.1041), (33.3397, -91.1536), (33.4223, -91.1646), (33.4337, -91.2291), (33.5414, -91.2524), (33.6135, -91.1838), (33.6878, -91.2524), (33.6969, -91.1261), (33.7883, -91.1426), (33.77, -91.0437), (33.8339, -91.0327), (33.8795, -91.0657), (33.9434, -91.0876), (33.9889, -90.9998), (34.0253, -90.9229), (34.0891, -90.9009), (34.1345, -90.9668), (34.1709, -90.9119), (34.1345, -90.8501), (34.2277, -90.9338), (34.2833, -90.8267), (34.3434, -90.6921), (34.3774, -90.6509), (34.3978, -90.6152), (34.4432, -90.5589), (34.5179, -90.574), (34.588, -90.5823), (34.7506, -90.5356), (34.7913, -90.5136), (34.878, -90.4532), (34.8476, -90.3543), (34.8702, -90.2911), (35.0041, -90.3062)]], 'SC': [[(32.0488, -80.7001), (32.0453, -80.8978), (32.1105, -81.1134), (32.2058, -81.1423), (32.3846, -81.1821), (32.4576, -81.1986), (32.5283, -81.2769), (32.5838, -81.4087), (32.6926, -81.4183), (32.8242, -81.4746), (32.9465, -81.5117), (33.0098, -81.5034), (33.0777, -81.601), (33.1238, -81.7122), (33.2065, -81.8289), (33.3443, -81.9319), (33.483, -82.028), (33.586, -82.1475), (33.6878, -82.2437), (33.7609, -82.2437), (33.8305, -82.3576), (33.9308, -82.5018), (33.965, -82.5471), (34.0947, -82.6625), (34.1664, -82.7216), (34.3434, -82.793), (34.4647, -82.8905), (34.476, -82.9893), (34.5281, -83.0855), (34.6581, -83.3121), (34.7326, -83.3588), (34.8318, -83.2983), (34.9276, -83.1459), (34.9996, -83.1047), (35.0817, -82.7779), (35.2075, -82.392), (35.1974, -82.2203), (35.148, -81.0379), (35.0446, -81.0324), (35.1019, -80.9322), (34.9344, -80.7811), (34.8194, -80.7948), (34.8048, -79.6756), (34.2016, -78.956), (33.7951, -78.4836), (33.6489, -78.7871), (33.2019, -79.0837), (32.7607, -79.4476), (32.5225, -79.8116), (32.3556, -80.1508), (32.2012, -80.424), (32.05, -80.7001)]], 'KY': [[(36.4986, -89.5372), (36.5074, -89.301), (36.5008, -88.6871), (36.4931, -88.0568), (36.6695, -88.0692), (36.6343, -87.8535), (36.6265, -86.5654), (36.5979, -83.6375), (36.686, -83.3423), (36.7466, -83.1377), (36.9762, -82.8589), (37.2894, -82.3192), (37.4934, -82.0308), (37.6653, -82.2121), (37.8618, -82.4016), (37.9908, -82.5073), (38.1778, -82.6392), (38.3761, -82.5952), (38.503, -82.7477), (38.5825, -82.8369), (38.7316, -82.9015), (38.7027, -83.0196), (38.619, -83.1418), (38.5986, -83.2819), (38.6941, -83.5291), (38.6351, -83.6595), (38.7487, -83.893), (38.7701, -84.044), (38.8119, -84.2184), (38.9872, -84.3228), (39.1013, -84.4917), (39.1183, -84.6277), (39.1439, -84.7554), (39.0523, -84.8914), (38.9263, -84.8735), (38.7894, -84.8131), (38.7691, -84.9957), (38.6866, -85.1921), (38.7209, -85.4407), (38.5653, -85.4077), (38.4461, -85.5972), (38.2748, -85.7455), (38.2716, -85.8087), (38.2069, -85.865), (38.0286, -85.9323), (37.955, -86.0422), (38.0135, -86.1108), (38.0643, -86.2756), (38.1389, -86.277), (38.1864, -86.369), (38.0308, -86.5283), (37.9204, -86.5874), (37.8423, -86.6423), (37.9041, -86.6547), (37.9864, -86.825), (37.9095, -87.0406), (37.7935, -87.1381), (37.942, -87.4168), (37.9745, -87.5858), (37.8749, -87.6929), (37.9215, -87.8906), (37.7761, -87.9552), (37.7903, -88.0307), (37.6479, -88.1584), (37.5097, -88.0664), (37.4193, -88.418), (37.2784, -88.5086), (37.1428, -88.4248), (37.0738, -88.5059), (37.1461, -88.7421), (37.2249, -88.9522), (37.1406, -89.0964), (37.0278, -89.1815), (36.9488, -89.1032), (36.8214, -89.1733), (36.7411, -89.1925), (36.6265, -89.2007), (36.5449, -89.2529), (36.6232, -89.3518), (36.4986, -89.5345)]], 'OR': [[(46.2587, -124.2444), (46.2634, -124.0384), (46.2891, -124.0205), (46.2407, -123.9368), (46.2388, -123.8681), (46.2691, -123.739), (46.252, -123.6868), (46.2596, -123.6456), (46.2577, -123.5468), (46.2672, -123.4863), (46.2369, -123.4287), (46.1817, -123.4287), (46.1513, -123.3765), (46.1494, -123.3051), (46.1874, -123.1512), (46.138, -123.0222), (46.098, -122.9398), (46.0551, -122.8848), (45.9588, -122.8189), (45.9053, -122.8162), (45.8824, -122.7887), (45.8173, -122.7969), (45.7637, -122.7585), (45.6851, -122.775), (45.6505, -122.753), (45.6064, -122.5937), (45.5679, -122.4426), (45.5756, -122.3712), (45.5506, -122.3245), (45.5641, -122.2064), (45.5987, -122.0856), (45.6659, -121.8933), (45.6812, -121.8906), (45.7081, -121.8164), (45.6966, -121.756), (45.7254, -121.5335), (45.6928, -121.3907), (45.7081, -121.3646), (45.6582, -121.2039), (45.6083, -121.1957), (45.6102, -121.1462), (45.6524, -121.0803), (45.6582, -121.0144), (45.6467, -120.9814), (45.6563, -120.943), (45.6371, -120.91), (45.6755, -120.8524), (45.7445, -120.6052), (45.7158, -120.531), (45.6966, -120.4733), (45.7234, -120.2893), (45.7234, -120.2124), (45.7714, -120.1575), (45.8211, -119.968), (45.8498, -119.7839), (45.8575, -119.6658), (45.9149, -119.6136), (45.9244, -119.5724), (45.911, -119.5258), (45.9378, -119.2676), (45.9168, -119.1687), (45.9779, -119.0149), (46.0027, -118.9847), (45.997, -116.9165), (45.9569, -116.8781), (45.8957, -116.8588), (45.8747, -116.8066), (45.8307, -116.7902), (45.8192, -116.7654), (45.8231, -116.7105), (45.7828, -116.6748), (45.7828, -116.6144), (45.7522, -116.543), (45.6889, -116.5402), (45.6121, -116.4606), (45.5006, -116.5567), (45.464, -116.5567), (45.4447, -116.5869), (45.3213, -116.6721), (45.2633, -116.694), (45.1414, -116.7325), (45.1065, -116.7764), (45.0696, -116.7847), (45.0231, -116.8451), (44.9765, -116.8616), (44.9298, -116.8286), (44.7955, -116.9302), (44.7487, -117.0346), (44.5787, -117.1225), (44.5455, -117.1445), (44.4847, -117.2076), (44.4789, -117.2269), (44.4063, -117.2269), (44.3926, -117.2488), (44.3455, -117.1939), (44.2983, -117.2269), (44.257, -117.1774), (44.2609, -117.1445), (44.2806, -117.1005), (44.2314, -117.0511), (44.2491, -117.0428), (44.2432, -116.9797), (44.194, -116.9742), (44.1664, -116.8945), (44.0935, -116.933), (44.0836, -116.9714), (44.0521, -116.9879), (44.0244, -116.9302), (43.9533, -116.9659), (43.8207, -117.0209), (43.6639, -117.0264), (42.0024, -117.0264), (41.9983, -121.2836), (42.0085, -122.5003), (42.0064, -123.0798), (42.0105, -123.154), (42.0044, -123.2419), (42.0024, -123.6209), (41.9952, -124.3982), (42.1593, -124.5493), (42.6521, -124.5877), (42.8115, -124.7305), (43.7552, -124.4119), (46.0065, -124.2554), (46.2587, -124.2444)]], 'SD': [[(45.9435, -104.0501), (43.0026, -104.0529), (42.9946, -98.4993), (42.9283, -98.4444), (42.8438, -98.1958), (42.7773, -98.0571), (42.7631, -97.9761), (42.8599, -97.8566), (42.8518, -97.229), (42.8075, -97.2057), (42.7157, -96.8486), (42.5237, -96.622), (42.4772, -96.4806), (42.7299, -96.6289), (43.0046, -96.5039), (43.1331, -96.438), (43.2262, -96.5561), (43.3841, -96.5259), (43.4848, -96.6138), (43.4998, -96.4558), (45.2981, -96.4545), (45.4601, -96.7429), (45.616, -96.8472), (45.8202, -96.5849), (45.9311, -96.5643), (45.9416, -104.0501)]]})
#for st in state:
#xNy = []
#for point in st["point"]:
#lat = float(point["-lat"])
#lng = float(point["-lng"])
#xNy.append((lat,lng))
#coordinates[states[st["-name"].lower().lstrip()]].append(xNy)
#print coordinates
return coordinates
def calculateStateHappiness(tweet_file,senti_file,box):
# store tweets in data
data = []
for line in tweet_file:
data.append(json.loads(line))
#calculate sentiment score
for tweet in data:
if tweet.has_key("text") and tweet.has_key("coordinates"):
score = calculateScore(tweet["text"],senti_file) # score of tweet
point = tweet["coordinates"]
if not point == None:
x,y = (point["coordinates"]) # coordinates of tweets
count = 0
for listCo in box.keys():
count += 1
#print count,listCo, inside_polygon(x,y,box[listCo][0]), score
if inside_polygon(x,y,box[listCo][0]): # check for which state it belongs to
if not finalScore.has_key(listCo): # caculate the happiness score
finalScore[listCo] = score
else:
finalScore[listCo] = finalScore[listCo] + score
senti_file.seek(0,0) # set read of file to 0,0
result = sorted (finalScore.items(), key= lambda x:(x[1],x[0]), reverse = True)
#result = result.reverse()
print result[0][0],result[0][1]
def main():
senti_file = open(sys.argv[1])
tweet_file = open(sys.argv[2])
getPhrases(senti_file) # get phrases from gevin sentiment score file
senti_file.seek(0,0)
#coordinates = loadStateCoordinates()
#data = coordinates["states"] # take states
#state = data["state"] # take state
box = readCoordinates(state) # bounding box of convex hull
#print box["UT"]
calculateStateHappiness(tweet_file, senti_file,box)
if __name__ == '__main__':
main()