-
Notifications
You must be signed in to change notification settings - Fork 0
/
neighborhoods.py
128 lines (99 loc) · 53.7 KB
/
neighborhoods.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
# CS5010 Final Project
# Group #3 Asmodeus
# Andrew C. Evans
# ace8p
#
# Creating a new 'neighborhood' data element by associating each coordinate for a parking ticket to a spacial boundary of a neighborhood
# Requires outputgeocoder.csv, which geocodes the address for every unique location in the data.
# Initiate numpy, shapely, and pandas #
import numpy as np
from shapely.geometry import Point
import pandas as pd
# Read in the outputgeocoder.csv file, which contains the latitudes and longitudes for each address #
latlongs = pd.read_csv('outputgeocoder.csv',float_precision='round_trip')
# Create a point column by using shapely's Point on the longitude and latitude #
latlongs['point'] = latlongs.apply(lambda row: Point(row.longitude,row.latitude), axis=1)
# Initiate the neighborhood column, in an effort to make the for loop below run faster #
latlongs['neighborhood'] = "Other"
# From the Charlottesville data portal, the longitude/latitude pairs for every point of the geographic boundaries making up the Planning Neighborhoods in the city #
barracksRoad = np.array([(-78.4990613092596,38.052791471501386),(-78.50325183218435,38.04883704148788),(-78.50385374077236,38.04788496734211),(-78.50608913024122,38.04145846515794),(-78.50654098190542,38.04168649486994),(-78.5122003531294,38.04412837866709),(-78.51176480628533,38.04445022344099),(-78.5111629194965,38.04468830251466),(-78.51094791428787,38.04468832242998),(-78.5090560976194,38.04468848096944),(-78.50694935794564,38.04519865987996),(-78.50604641322788,38.04519870904363),(-78.50587443674563,38.045300703182214),(-78.50514359931523,38.046592828133186),(-78.50492865702948,38.0471028744808),(-78.50557364267554,38.047816881646),(-78.51049931639551,38.05152476472579),(-78.50761818084008,38.05625526858156),(-78.50383313518758,38.057077289762525),(-78.50084396400264,38.05475343825034),(-78.4990613092596,38.052791471501386)])
lewsMtn = np.array([(-78.5122003531294,38.04412837866709),(-78.50654098190542,38.04168649486994),(-78.50608913024122,38.04145846515794),(-78.50666900742131,38.039818781577175),(-78.5081639651063,38.03586518614827),(-78.51214986988332,38.03689802382853),(-78.51329566508942,38.0371992734784),(-78.51451774639301,38.0369526789692),(-78.5156749274282,38.03686320571469),(-78.51692515471197,38.03999452662359),(-78.51620920052653,38.040429973871895),(-78.51731138510571,38.04117214004652),(-78.51681160001789,38.04222990795779),(-78.51598444363684,38.04347680568787),(-78.5138985421174,38.04413286116166),(-78.5144638516745,38.044785457775006),(-78.5122003531294,38.04412837866709)])
northDowntown = np.array([(-78.48551802697106,38.0296511007432),(-78.4851756497314,38.03056253571279),(-78.48506586140194,38.03167802578386),(-78.48470936000204,38.03265816160719),(-78.48432485496615,38.03319750630241),(-78.48375217211672,38.03358120904616),(-78.48563693355823,38.03504530908418),(-78.48499604671657,38.03564621680359),(-78.48354449543457,38.037021077645925),(-78.48283561326859,38.03768687899214),(-78.48096584921242,38.03945058749788),(-78.48129053508566,38.03967473841197),(-78.48141203662507,38.03975919633214),(-78.48170017090264,38.03995557853553),(-78.48199161394834,38.0401156311947),(-78.4810524259955,38.041431057710554),(-78.47843116486932,38.04513109300054),(-78.47751209893191,38.044358672416834),(-78.47618454159074,38.04369383352526),(-78.47540103802044,38.043236002508095),(-78.47427113847765,38.042122599465884),(-78.47346962651383,38.04141684454246),(-78.47219166573338,38.04057686030266),(-78.47086482370324,38.03979624577511),(-78.46945891708208,38.03909855219345),(-78.46790721794774,38.0388720134379),(-78.46744445228379,38.038901132843044),(-78.46801033322612,38.038395558146185),(-78.46845153453131,38.03795510997985),(-78.4689619592756,38.037520664376146),(-78.46957135313323,38.03685596351378),(-78.47016239413364,38.03604330108903),(-78.46997859515201,38.03594788692105),(-78.47045202955958,38.035230533803876),(-78.47018988084663,38.03511365435603),(-78.47060553554356,38.03448748020173),(-78.47222443535698,38.03518254764665),(-78.47349189585803,38.03336112032331),(-78.4727690032491,38.033071750084034),(-78.47387014738297,38.03137360169151),(-78.47527912808602,38.02960166650099),(-78.4762314289516,38.028931782839265),(-78.47664533999722,38.02850277566604),(-78.47796559066249,38.02867456889492),(-78.48068667937987,38.0251490454461),(-78.48124283157759,38.02570374304234),(-78.48157051686218,38.02619510767415),(-78.48281241557353,38.027450844261494),(-78.48314018047321,38.02766925247118),(-78.486073000605,38.02870681994104),(-78.48551802697106,38.0296511007432)])
johnsonVillage = np.array([(-78.5106857239989,38.01973021298541),(-78.51013397568607,38.020937815311406),(-78.50978691981844,38.02142869190906),(-78.50844367946547,38.02252238898753),(-78.50655194451109,38.02377948877259),(-78.50568760767327,38.02411248535249),(-78.5032160130025,38.02425811546459),(-78.50316046903247,38.02420456999639),(-78.50305978302251,38.02379610544599),(-78.50297299910227,38.02378237765069),(-78.50260155881809,38.02356682547675),(-78.50090753917969,38.0224670778812),(-78.50027923817794,38.022318110544624),(-78.50006054829758,38.022189048878325),(-78.49987657172326,38.02205518134585),(-78.49986615835195,38.02183412834202),(-78.49965788413768,38.021744196427676),(-78.49956416307141,38.02133092307495),(-78.49957804940485,38.021072799062175),(-78.49934200961977,38.020801630405636),(-78.49933159652272,38.02074671032596),(-78.49933159748471,38.02063892977961),(-78.49932812722658,38.020535268211525),(-78.49917192725634,38.0202386990712),(-78.49885258408861,38.01994967974463),(-78.49845597873001,38.019516630738394),(-78.49749194161028,38.01843798443812),(-78.49734617055661,38.01802814023897),(-78.49681628660299,38.01781432341555),(-78.49759369550922,38.01685134526393),(-78.4977106667428,38.01691258347603),(-78.49784950509073,38.016990847198464),(-78.49789810103088,38.01693112245565),(-78.49814454397398,38.01689817447823),(-78.49859577805248,38.01678010241574),(-78.49856801165136,38.0166929164214),(-78.49908519755657,38.01618628348626),(-78.49922979927203,38.01612433461466),(-78.49944270929747,38.01609566749488),(-78.49992864608434,38.01609154975865),(-78.50036946055133,38.01617392937523),(-78.50054648011131,38.01611214356281),(-78.50090746193491,38.01612312538131),(-78.50110530809475,38.016149897266146),(-78.50127191602598,38.01620344271624),(-78.50171273063346,38.01619863168651),(-78.50192446185159,38.01625011606339),(-78.50216396953608,38.016587184133165),(-78.5024590088449,38.0167183001653),(-78.50273668939697,38.01672035361961),(-78.5029380095315,38.016765657915094),(-78.5029900769915,38.01682400923002),(-78.50310463068693,38.017072519753214),(-78.50445833024955,38.017086206858224),(-78.50511090105284,38.0173559756446),(-78.50563505048414,38.017661445026775),(-78.50600299765802,38.01785913937781),(-78.5064611915816,38.018022502677816),(-78.50713112172177,38.01817212172136),(-78.50775593591968,38.01837391400516),(-78.50795873399825,38.01886293637539),(-78.5106857239989,38.01973021298541)])
frysSpring = np.array([(-78.50547515356932,38.028269932619224),(-78.50453707762567,38.026628636264135),(-78.5035731125721,38.02573210146888),(-78.5032160130025,38.02425811546459),(-78.50568760767327,38.02411248535249),(-78.50655194451109,38.02377948877259),(-78.50844367946547,38.02252238898753),(-78.50978691981844,38.02142869190906),(-78.51013397568607,38.020937815311406),(-78.5106857239989,38.01973021298541),(-78.50795873399825,38.01886293637539),(-78.50775593591968,38.01837391400516),(-78.50713112172177,38.01817212172136),(-78.5064611915816,38.018022502677816),(-78.50600299765802,38.01785913937781),(-78.50563505048414,38.017661445026775),(-78.50511090105284,38.0173559756446),(-78.50445833024955,38.017086206858224),(-78.50310463068693,38.017072519753214),(-78.5029900769915,38.01682400923002),(-78.5029380095315,38.016765657915094),(-78.50273668939697,38.01672035361961),(-78.5024590088449,38.0167183001653),(-78.50216396953608,38.016587184133165),(-78.50192446185159,38.01625011606339),(-78.50171273063346,38.01619863168651),(-78.50127191602598,38.01620344271624),(-78.50110530809475,38.016149897266146),(-78.50090746193491,38.01612312538131),(-78.50054648011131,38.01611214356281),(-78.50036946055133,38.01617392937523),(-78.49992864608434,38.01609154975865),(-78.49944270929747,38.01609566749488),(-78.49922979927203,38.01612433461466),(-78.49908519755657,38.01618628348626),(-78.49856801165136,38.0166929164214),(-78.49859577805248,38.01678010241574),(-78.49814454397398,38.01689817447823),(-78.49789810103088,38.01693112245565),(-78.49784950509073,38.016990847198464),(-78.4977106667428,38.01691258347603),(-78.49759369550922,38.01685134526393),(-78.49820565309045,38.016095518024024),(-78.49905258130458,38.0153196986008),(-78.50009844398616,38.01439004160461),(-78.50263566093093,38.01216052804533),(-78.50346528614065,38.011440502955416),(-78.50562075121093,38.01030384685505),(-78.50691522135888,38.01068110827349),(-78.50756798799011,38.0109505072621),(-78.5079085833929,38.01106276955684),(-78.50822077179417,38.011017851172355),(-78.50841811517043,38.01129946828021),(-78.50841913354367,38.01140461295552),(-78.50864702222546,38.01139289864949),(-78.50892182617187,38.011303248626575),(-78.50933062162869,38.010827827941824),(-78.50972486890659,38.01061355265495),(-78.51009373991263,38.01011954198239),(-78.51017502322333,38.00986138248824),(-78.51050781756706,38.009791275408396),(-78.51106641953494,38.00976000273885),(-78.51131438977022,38.00969374566237),(-78.51150878072605,38.00968202905504),(-78.51181708915396,38.009732662840676),(-78.51240019184922,38.009693637741925),(-78.51285597288083,38.00975982331263),(-78.51334527388363,38.00978313814534),(-78.5137943557178,38.00983765032702),(-78.51402225999176,38.00993892414485),(-78.51425015819788,38.01000515841137),(-78.51472602734654,38.01001677117244),(-78.51488688860066,38.00998948330883),(-78.5151616980897,38.00998944870074),(-78.5154029911312,38.01004008171319),(-78.51557055631321,38.010040059961405),(-78.51595279059102,38.0099083107248),(-78.51610675247443,38.01007895468585),(-78.51628103572867,38.010168560857544),(-78.5165893789097,38.010195786278),(-78.5168708849708,38.01018404879167),(-78.51715910103809,38.010222973594495),(-78.51734108696094,38.0102957715135),(-78.51756569163629,38.01036035231083),(-78.5177154464907,38.01048008373421),(-78.51832400680547,38.01050025738324),(-78.51860784090161,38.010634960234576),(-78.51894844575014,38.0107247011965),(-78.5192079145022,38.01071367565984),(-78.51936092619857,38.010932617861585),(-78.51933913068109,38.01120343299802),(-78.51925179958997,38.011445453045695),(-78.5188367343808,38.01159534163306),(-78.51879308236359,38.01177397648979),(-78.51879315051045,38.01204478799668),(-78.51885697653556,38.01231265118634),(-78.51880051614863,38.01248845963258),(-78.51880337919921,38.0126937783064),(-78.51883709771472,38.01303584334781),(-78.51877292783074,38.01333527826468),(-78.51874481150631,38.01360208487547),(-78.51896985236515,38.014246784545776),(-78.51902140138057,38.014680261089225),(-78.51898432639028,38.01506761875951),(-78.5189348038935,38.01537163703923),(-78.51895973068325,38.015803113067456),(-78.51921098723209,38.01685726444862),(-78.51928857167475,38.01728873168259),(-78.51964194620614,38.0176417003736),(-78.51974709741002,38.01769135823542),(-78.51978454634747,38.0178083867318),(-78.52014416826516,38.01827020442157),(-78.52061560617959,38.01863320048482),(-78.52062149907496,38.01873005100238),(-78.52071711786198,38.018944222682855),(-78.52123590389492,38.01904521185025),(-78.52136621019841,38.018926259199),(-78.52155826274043,38.018672274281215),(-78.52165749285726,38.01864281915603),(-78.52190556916338,38.018632970638826),(-78.52221560995362,38.01852496792347),(-78.52235199094109,38.018299248420185),(-78.52251319299732,38.01820110340031),(-78.52272418023075,38.01859357715789),(-78.52284831514687,38.01884865715534),(-78.52292279888744,38.01905470293675),(-78.5233571972416,38.02001626874854),(-78.5233946416924,38.020761993060376),(-78.5233947277727,38.02103675790913),(-78.5235105557443,38.021347829569926),(-78.52372430362507,38.022299935345615),(-78.5149780548904,38.02517418950966),(-78.51046107101241,38.02666456598996),(-78.50547515356932,38.028269932619224)])
tenthAndPage = np.array([(-78.49440392569568,38.03140046775628),(-78.49568271466069,38.031529856983106),(-78.49649869480535,38.03167759050274),(-78.49791124707207,38.03216325184508),(-78.49851177755606,38.0325811729419),(-78.49891334907362,38.03292777598377),(-78.49779348846525,38.033262249414804),(-78.4968899672573,38.03306429845721),(-78.49635514513633,38.03441772583274),(-78.49403002619242,38.03398980738164),(-78.49340846856636,38.03516643011999),(-78.4949875649553,38.035852399252455),(-78.49349387617877,38.03915462011178),(-78.49261120948398,38.03882787921547),(-78.49161223228747,38.038551018147146),(-78.49091524751947,38.03864375390728),(-78.49002537697687,38.0380525001641),(-78.48931582135421,38.037694060446896),(-78.48854096791248,38.03708967985712),(-78.48781636054385,38.03651731742363),(-78.48643644160626,38.035571423737046),(-78.48824531886602,38.034079528722785),(-78.49060994622658,38.03261763667877),(-78.49330253609028,38.03136078641047),(-78.49380189953496,38.031408483771436),(-78.49440392569568,38.03140046775628)])
jeffersonParkAvenue = np.array([(-78.52377336965668,38.02257155985074),(-78.52343435949872,38.023108250050264),(-78.52331335463057,38.023568228514094),(-78.52333784802681,38.0244114922259),(-78.5230007657418,38.026398231200844),(-78.52005133738018,38.026102717450776),(-78.52023035179896,38.02850815097206),(-78.51970545433397,38.02851386808664),(-78.51924783503236,38.02851770478483),(-78.51973072431363,38.02981648042712),(-78.51819628665854,38.029882628064435),(-78.5182482654569,38.02949200275545),(-78.51800504505749,38.02862773849375),(-78.5165053343935,38.02864168531007),(-78.51623108830589,38.028674674843835),(-78.5152104305719,38.0285835050315),(-78.51446406992571,38.02870854051728),(-78.51237786093779,38.0299183848128),(-78.51061793007115,38.03118582930498),(-78.50961557483576,38.0321691160029),(-78.50927029161623,38.03256522482138),(-78.50908408415074,38.03298867062549),(-78.50903845735986,38.032637214979474),(-78.50880584226263,38.03227407530049),(-78.5083606326919,38.032008432838424),(-78.5077156928017,38.03201740075009),(-78.5071036738526,38.03212318681402),(-78.50475431900689,38.03203197194373),(-78.50277196997165,38.0320814348297),(-78.501838078717,38.03214051911507),(-78.49985572399629,38.032647854725745),(-78.49891334907362,38.03292777598377),(-78.49851177755606,38.0325811729419),(-78.49791124707207,38.03216325184508),(-78.49649869480535,38.03167759050274),(-78.49568271466069,38.031529856983106),(-78.49440392569568,38.03140046775628),(-78.49380189953496,38.031408483771436),(-78.49330253609028,38.03136078641047),(-78.49693180377794,38.03048565027844),(-78.50237283838239,38.02918609793296),(-78.50547515356932,38.028269932619224),(-78.51046107101241,38.02666456598996),(-78.5149780548904,38.02517418950966),(-78.52372430362507,38.022299935345615),(-78.5237424841161,38.0223809936377),(-78.52377336965668,38.02257155985074)])
starrHill = np.array([(-78.48643644160626,38.035571423737046),(-78.48563693355823,38.03504530908418),(-78.48375217211672,38.03358120904616),(-78.48432485496615,38.03319750630241),(-78.48470936000204,38.03265816160719),(-78.48506586140194,38.03167802578386),(-78.4851756497314,38.03056253571279),(-78.48551802697106,38.0296511007432),(-78.48797230083231,38.030381807068984),(-78.4892319211397,38.030830347688834),(-78.49140979165243,38.031194670099836),(-78.49305372427028,38.031318209342594),(-78.49330253609028,38.03136078641047),(-78.49060994622658,38.03261763667877),(-78.48824531886602,38.034079528722785),(-78.48643644160626,38.035571423737046)])
fifeville = np.array([(-78.5032160130025,38.02425811546459),(-78.5035731125721,38.02573210146888),(-78.50453707762567,38.026628636264135),(-78.50547515356932,38.028269932619224),(-78.50237283838239,38.02918609793296),(-78.49693180377794,38.03048565027844),(-78.49330253609028,38.03136078641047),(-78.49140979165243,38.031194670099836),(-78.4892319211397,38.030830347688834),(-78.48797230083231,38.030381807068984),(-78.48551802697106,38.0296511007432),(-78.486073000605,38.02870681994104),(-78.48709804099164,38.026945105422115),(-78.48795558577011,38.02639393651331),(-78.49188667223258,38.024064674785016),(-78.49681628660299,38.01781432341555),(-78.49734617055661,38.01802814023897),(-78.49749194161028,38.01843798443812),(-78.49845597873001,38.019516630738394),(-78.49885258408861,38.01994967974463),(-78.49917192725634,38.0202386990712),(-78.49932812722658,38.020535268211525),(-78.49933159748471,38.02063892977961),(-78.49933159652272,38.02074671032596),(-78.49934200961977,38.020801630405636),(-78.49957804940485,38.021072799062175),(-78.49956416307141,38.02133092307495),(-78.49965788413768,38.021744196427676),(-78.49986615835195,38.02183412834202),(-78.49987657172326,38.02205518134585),(-78.50006054829758,38.022189048878325),(-78.50027923817794,38.022318110544624),(-78.50090753917969,38.0224670778812),(-78.50260155881809,38.02356682547675),(-78.50297299910227,38.02378237765069),(-78.50305978302251,38.02379610544599),(-78.50316046903247,38.02420456999639),(-78.5032160130025,38.02425811546459)])
ridgeStreet = np.array([(-78.50346528614065,38.011440502955416),(-78.50263566093093,38.01216052804533),(-78.50009844398616,38.01439004160461),(-78.49905258130458,38.0153196986008),(-78.49820565309045,38.016095518024024),(-78.49759369550922,38.01685134526393),(-78.49681628660299,38.01781432341555),(-78.49188667223258,38.024064674785016),(-78.48795558577011,38.02639393651331),(-78.48709804099164,38.026945105422115),(-78.486073000605,38.02870681994104),(-78.48314018047321,38.02766925247118),(-78.48281241557353,38.027450844261494),(-78.48157051686218,38.02619510767415),(-78.48124283157759,38.02570374304234),(-78.48068667937987,38.0251490454461),(-78.48632566176578,38.01732646884063),(-78.48698436721429,38.01648791255588),(-78.48705023902458,38.01653221278947),(-78.48729152485723,38.01663743819249),(-78.48784788798906,38.01666089210503),(-78.4881922168259,38.0166273155638),(-78.48857787836823,38.016636881735295),(-78.48935348452152,38.01680525610424),(-78.48955406705714,38.016856267143574),(-78.48972277329142,38.01699929373122),(-78.48997584544992,38.01725675320578),(-78.49027712473281,38.01730444877039),(-78.49069897008035,38.017218669744096),(-78.4910003062068,38.017085209554075),(-78.49119312827776,38.01702802465627),(-78.49150652234799,38.01676108075949),(-78.49195825086704,38.016653853086204),(-78.4922988604,38.01631705052043),(-78.49298008807615,38.01582311353436),(-78.49709558928419,38.01369013130684),(-78.49848627176429,38.01315125285588),(-78.4991958165886,38.01306143778699),(-78.49945123656161,38.01290428513719),(-78.49984645976178,38.012936304759634),(-78.50059046426549,38.01260118042373),(-78.50080495922019,38.0124725835446),(-78.50141486417238,38.011404901701205),(-78.50228926431815,38.01065882440131),(-78.50302712574879,38.01029954726672),(-78.50385015315295,38.00998516009922),(-78.50421908275074,38.00989535302451),(-78.50562075121093,38.01030384685505),(-78.50346528614065,38.011440502955416)])
belmont = np.array([(-78.48698134744843,38.016487912226516),(-78.48632264196603,38.01732646849459),(-78.48068365926382,38.02514904495737),(-78.47796257040386,38.02867456833732),(-78.47664231974554,38.02850277507502),(-78.47524103076962,38.028386803919844),(-78.47372573968532,38.027878937952934),(-78.4700044110105,38.02518187771086),(-78.468765589935,38.02397856594009),(-78.46770543524964,38.02294966018861),(-78.46660434691799,38.02231365829852),(-78.46511509414297,38.02203808308551),(-78.46361815387858,38.0221742770864),(-78.46195327629694,38.022635442856306),(-78.46186363143622,38.022531560543285),(-78.46256133186012,38.02147577967011),(-78.4630979848894,38.02077066393197),(-78.4636210767119,38.0203071347138),(-78.46692004626325,38.018266249471345),(-78.4690327872189,38.01533652673075),(-78.4690999634919,38.015052085290016),(-78.46891247039359,38.01478636039884),(-78.46814619029142,38.01471879875173),(-78.46950956853024,38.01215938054182),(-78.46970849173641,38.011530732153794),(-78.47205035713431,38.012083553791925),(-78.47228491460228,38.01217323826573),(-78.47325662234893,38.01268781506397),(-78.47350460557438,38.0128047679998),(-78.47392683472997,38.01289449074339),(-78.47428202569373,38.013034833967495),(-78.47444283355172,38.01322579851734),(-78.47463709921415,38.01362719658685),(-78.4746172672676,38.014585631523424),(-78.47492943010893,38.01472041663636),(-78.47513940807004,38.014757339443634),(-78.47535386816656,38.01488597944721),(-78.47558176881886,38.01488602629814),(-78.4759906846124,38.01475751375249),(-78.47654041209879,38.014523828019115),(-78.47688230001455,38.014399198536644),(-78.47723755830768,38.01436030098111),(-78.47748393480063,38.0142044843224),(-78.47804867822573,38.01410326185236),(-78.47850576379008,38.0138454125212),(-78.47876125552021,38.01359845481973),(-78.47901676133897,38.013418883603606),(-78.47931573426975,38.013316372376465),(-78.4793006165091,38.01326175164132),(-78.4794141726116,38.01317194933651),(-78.47955607903054,38.01310461413408),(-78.47972639490489,38.01296992398985),(-78.48125315816662,38.012085354427754),(-78.48156155129467,38.011890573065244),(-78.48193689951263,38.01181659803728),(-78.4823661045289,38.01178025013798),(-78.48270670741324,38.01171294035126),(-78.48296211649638,38.01173543945521),(-78.48316073300121,38.011960008899116),(-78.48318907348731,38.012184554127785),(-78.48316063176351,38.01240909133212),(-78.48318898757931,38.01256627691516),(-78.48316055583136,38.01274591683835),(-78.48318889661513,38.01297046200235),(-78.48316046471928,38.01315007443878),(-78.48324553391501,38.01346444948824),(-78.48316033310711,38.01373387584018),(-78.48327373947038,38.01429525820107),(-78.48330204604501,38.01467698466862),(-78.48329686466991,38.01487565756538),(-78.48357163043117,38.01515625523874),(-78.48399384322252,38.01544077144654),(-78.4850662515319,38.01583836741862),(-78.4856829035286,38.01601770226418),(-78.48646714666691,38.01614636176555),(-78.48698134744843,38.016487912226516)])
woolenMills = np.array([(-78.45855689115083,38.0344835480156),(-78.45870552886342,38.03440525650995),(-78.45893075418896,38.03413856152249),(-78.45938089652117,38.033716327692204),(-78.4597186056511,38.033316296716094),(-78.46000004589952,38.032893948451864),(-78.46011281492103,38.03242716802221),(-78.46022566544997,38.031804717258275),(-78.46045822213135,38.03078029288801),(-78.46049190712175,38.030433512799036),(-78.460606076457,38.03006336339673),(-78.46106232595102,38.02938160086512),(-78.46127718367114,38.028777689633976),(-78.46115551465604,38.02822570541168),(-78.46104964306161,38.02800607377881),(-78.46056518269266,38.02775869284347),(-78.46014352367959,38.02751399452104),(-78.45983419077415,38.0274249480576),(-78.45944044078875,38.027447057453244),(-78.45888787805521,38.02776831449912),(-78.45830715769748,38.0280872799421),(-78.4580538897143,38.02830744736364),(-78.45785121372474,38.02862772356775),(-78.45780867029451,38.02878038576358),(-78.45755540676687,38.02904706919447),(-78.45724599655567,38.029269246881036),(-78.45690840792011,38.029469225958),(-78.45653434321977,38.02958834877235),(-78.45633178602117,38.029688393715944),(-78.45592670618488,38.02976834541632),(-78.45552170790744,38.02976819517767),(-78.45506608290131,38.029727987948434),(-78.45450916717847,38.02972777698384),(-78.45423080750786,38.02956746936904),(-78.45390188260244,38.02932706842941),(-78.45357297226064,38.0290666482778),(-78.45331249748037,38.028903434683045),(-78.45258225622347,38.028131604987344),(-78.45242168568936,38.02760549097135),(-78.45243529915892,38.0272704026684),(-78.45274889717511,38.02537702583309),(-78.453030724425,38.02435447277319),(-78.45446670027215,38.021487190051396),(-78.45660373471785,38.02135455810756),(-78.45699731260365,38.02157701679196),(-78.45767424419199,38.02187160257794),(-78.45822376326728,38.02214458385703),(-78.45934308347431,38.02250346070219),(-78.46032172652205,38.0226596530192),(-78.46109936307354,38.02265990902808),(-78.46186363143622,38.022531560543285),(-78.46195327629694,38.022635442856306),(-78.46361815387858,38.0221742770864),(-78.46511509414297,38.02203808308551),(-78.46660434691799,38.02231365829852),(-78.46770543524964,38.02294966018861),(-78.46876861000362,38.02397856673045),(-78.46847471109177,38.024178480485915),(-78.46802854810576,38.024560549745104),(-78.46766546299993,38.0251551525214),(-78.46756092118325,38.02607571942477),(-78.463484247739,38.032437775646486),(-78.46155504960298,38.03335973976551),(-78.46029087913107,38.03419204677793),(-78.45948470639688,38.0349902265719),(-78.45855689115083,38.0344835480156)])
marthaJefferson = np.array([(-78.47664533999722,38.02850277566604),(-78.4762314289516,38.028931782839265),(-78.47527912808602,38.02960166650099),(-78.47387014738297,38.03137360169151),(-78.4727690032491,38.033071750084034),(-78.47349189585803,38.03336112032331),(-78.47222443535698,38.03518254764665),(-78.47060553554356,38.03448748020173),(-78.47018988084663,38.03511365435603),(-78.47045202955958,38.035230533803876),(-78.46997859515201,38.03594788692105),(-78.47016239413364,38.03604330108903),(-78.46957135313323,38.03685596351378),(-78.4689619592756,38.037520664376146),(-78.46847779386964,38.03792889277273),(-78.46801033322612,38.038395558146185),(-78.46744445228379,38.038901132843044),(-78.46642927623154,38.038717831905736),(-78.46364131817823,38.036768574907335),(-78.46105903364396,38.03569512354695),(-78.45948470639688,38.0349902265719),(-78.46029087913107,38.03419204677793),(-78.46155504960298,38.03335973976551),(-78.463484247739,38.032437775646486),(-78.46756092118325,38.02607571942477),(-78.46766546299993,38.0251551525214),(-78.46802854810576,38.024560549745104),(-78.46847471109177,38.024178480485915),(-78.46876861000362,38.02397856673045),(-78.47000743112781,38.02518187846983),(-78.47372875991174,38.027878938617754),(-78.47524405101656,38.02838680454632),(-78.47664533999722,38.02850277566604)])
locustGrove = np.array([(-78.45437909900934,38.05385692715986),(-78.4544144866895,38.05391293095076),(-78.45466221745357,38.05416505014798),(-78.45416627618665,38.054444894499674),(-78.45487415620957,38.05508923057047),(-78.44920518411865,38.05895132128372),(-78.448037474155,38.057494662140584),(-78.44781001885319,38.05706893852987),(-78.44749228235521,38.0556406503475),(-78.44756401295629,38.05438055794444),(-78.44749401565439,38.05317642040312),(-78.44710601062624,38.05102003164245),(-78.44685858008732,38.05034787286992),(-78.4465049236772,38.04973165622619),(-78.44636384209294,38.04894750802215),(-78.4468962312762,38.047211576812295),(-78.4471800861029,38.04639963560488),(-78.44732213484795,38.04586763815322),(-78.44785334537386,38.04575586301989),(-78.44812279285938,38.04566654397752),(-78.44834356526617,38.045515638487714),(-78.44895825617391,38.04528859097287),(-78.44952324197534,38.04523396659305),(-78.45006831082722,38.04531259344411),(-78.45156466765947,38.045705115642555),(-78.45203049338883,38.045744488805994),(-78.45304142005637,38.0457683962907),(-78.45393344418251,38.04580792891257),(-78.45440932597106,38.04558865320656),(-78.45460767191538,38.045408455460375),(-78.4547069436712,38.04512631664059),(-78.4548860290769,38.04400555900848),(-78.45475745321656,38.04354306021959),(-78.45462223347621,38.0432741776275),(-78.45445364371135,38.04289618439351),(-78.45420070834284,38.04247370113388),(-78.45386364983565,38.041762142954504),(-78.45380777271627,38.04127303481328),(-78.45380822658379,38.04053941875162),(-78.45389301080424,38.039872480071594),(-78.45409057501111,38.03873874005483),(-78.45454103904582,38.038049725539246),(-78.45482256673135,38.03756077267021),(-78.4553010383753,38.036982923053365),(-78.45597640835429,38.0363829016955),(-78.45631416510295,38.035893938274064),(-78.4569613255129,38.03529390077755),(-78.45780543304356,38.03469398434403),(-78.4584524278258,38.03453856874603),(-78.45855689115083,38.0344835480156),(-78.45948470639688,38.0349902265719),(-78.46105903364396,38.03569512354695),(-78.46364131817823,38.036768574907335),(-78.46642927623154,38.038717831905736),(-78.46744445228379,38.038901132843044),(-78.46790721794774,38.0388720134379),(-78.46945891708208,38.03909855219345),(-78.47086482370324,38.03979624577511),(-78.47219166573338,38.04057686030266),(-78.47346962651383,38.04141684454246),(-78.47427113847765,38.042122599465884),(-78.47344600313684,38.04281945808424),(-78.47331751532118,38.04286336509272),(-78.47312302718528,38.042984831013804),(-78.47292852621989,38.043139934844085),(-78.47221289825134,38.04407408937233),(-78.4721537783819,38.044318467569205),(-78.47193128218684,38.045035801881866),(-78.4719312548296,38.04510857024771),(-78.47195899656559,38.045206745417),(-78.47193802892636,38.0455623443807),(-78.47178506561762,38.04603873508686),(-78.47175721083563,38.046239184690705),(-78.47160418493303,38.04687346856472),(-78.47164932884186,38.04686661435752),(-78.4718572361857,38.04738142386968),(-78.4717877369703,38.04751527369167),(-78.47185712931076,38.047664945636484),(-78.47202723151472,38.04779198689039),(-78.47200658681635,38.04793350952149),(-78.47202735519815,38.04811062966422),(-78.47144695734826,38.04877216187655),(-78.47137994530661,38.04884411776879),(-78.47100440660095,38.04881283290634),(-78.4705707462592,38.04867405518425),(-78.47038997831422,38.04847377415893),(-78.47013701661575,38.04784444395037),(-78.46993833317589,38.047215099275114),(-78.46983160178048,38.0470162088995),(-78.469536620674,38.046844702811434),(-78.46930802485195,38.04694687689038),(-78.46840985407678,38.04661102959292),(-78.46769445152151,38.04625493233461),(-78.46612194828164,38.04572254609419),(-78.46533189631394,38.04719034494358),(-78.4651100998756,38.04825794233668),(-78.46474799047913,38.04825783596303),(-78.46429178787557,38.04867074962399),(-78.46394950184732,38.049251227692),(-78.46387561544886,38.04952009092843),(-78.45735720110437,38.04974003482305),(-78.45710262224233,38.04926846024978),(-78.45710755331937,38.049993563320484),(-78.4572496180072,38.05041363802244),(-78.45890110805763,38.05103755328474),(-78.45678686003811,38.05563784071067),(-78.45613008201012,38.05534076231007),(-78.45575487009599,38.05500668693189),(-78.45554724407742,38.054753431717444),(-78.45529945687194,38.05452932325385),(-78.45501636817184,38.054165184104995),(-78.45473316336071,38.053997078797394),(-78.45427303965899,38.05357685281817),(-78.45409584516662,38.05377279198782),(-78.45437909900934,38.05385692715986)])
venable = np.array([(-78.49403002619242,38.03398980738164),(-78.49635514513633,38.03441772583274),(-78.4968899672573,38.03306429845721),(-78.49830383679092,38.03337690276216),(-78.49860587954328,38.03349155167432),(-78.50014041045512,38.034353799842044),(-78.50098070981035,38.03536939907031),(-78.5015881989767,38.036099550153615),(-78.50300822906375,38.03659929209441),(-78.50339043103496,38.036861138954485),(-78.5013122906667,38.04027973642195),(-78.50194906399503,38.041223658563716),(-78.50479810739205,38.04298927012435),(-78.50576107491125,38.04138052307531),(-78.50527780086041,38.04109965911861),(-78.5059369839891,38.04019460780093),(-78.50607417334983,38.039424792405505),(-78.50666900742131,38.039818781577175),(-78.50608913024122,38.04145846515794),(-78.50385374077236,38.04788496734211),(-78.50325183218435,38.04883704148788),(-78.4990613092596,38.052791471501386),(-78.49860761286074,38.05227220444636),(-78.4979932830112,38.05159166219612),(-78.49689705980775,38.050374487526156),(-78.49632651778589,38.04964061057337),(-78.49531953441476,38.04880648639518),(-78.49481689966397,38.048672160128696),(-78.494090292756,38.0485208507545),(-78.49371180661576,38.048346462156886),(-78.49323611501697,38.04793042124764),(-78.49308682872179,38.047613252770574),(-78.49307644143754,38.047289227268344),(-78.49314905331592,38.04687343605578),(-78.49314250064697,38.04638443252559),(-78.49310089221383,38.04573294751831),(-78.49304894153046,38.044286501509134),(-78.49297259913673,38.043777118256045),(-78.492213446652,38.04188852443837),(-78.49219154978243,38.04176838640287),(-78.49218228769139,38.04102285222658),(-78.49215803536552,38.04052170916859),(-78.4920469597855,38.040221016895515),(-78.49091524751947,38.03864375390728),(-78.49161223228747,38.038551018147146),(-78.49261120948398,38.03882787921547),(-78.49349387617877,38.03915462011178),(-78.4949875649553,38.035852399252455),(-78.49340846856636,38.03516643011999),(-78.49403002619242,38.03398980738164)])
roseHill = np.array([(-78.48563693355823,38.03504530908418),(-78.48643644160626,38.035571423737046),(-78.48781636054385,38.03651731742363),(-78.48854096791248,38.03708967985712),(-78.48931582135421,38.037694060446896),(-78.49002537697687,38.0380525001641),(-78.49091524751947,38.03864375390728),(-78.49204998051127,38.04022101709669),(-78.49216105610347,38.040521709366956),(-78.49218530844959,38.041022852424334),(-78.49219217477315,38.04176838644375),(-78.49221646744526,38.04188852463534),(-78.4921192463685,38.04188989124762),(-78.49202897139935,38.04187478236769),(-78.49118868282184,38.04206208148708),(-78.49118869821251,38.04193164746753),(-78.4904269372374,38.041930133449824),(-78.49041090800635,38.04210527072728),(-78.4907268771223,38.04210392269675),(-78.49071341627726,38.0422927626384),(-78.49018911574454,38.04228585575851),(-78.49008765715145,38.04203231111698),(-78.48669922581759,38.04162854238614),(-78.4857930112539,38.04152203126578),(-78.48509522736478,38.041442202931016),(-78.48411600297054,38.04131243894209),(-78.48428664586378,38.041045414944854),(-78.48220719763924,38.039818383562405),(-78.48199463466976,38.04011563165034),(-78.48170319161765,38.03995557899856),(-78.48141505733214,38.03975919680244),(-78.48129355578929,38.03967473888536),(-78.48096584921242,38.03945058749788),(-78.48283561326859,38.03768687899214),(-78.48354751603087,38.03702107806226),(-78.48499906725725,38.035646217183185),(-78.48563693355823,38.03504530908418)])
barracksRugby = np.array([(-78.48105482178231,38.04143105809078),(-78.48199161394834,38.0401156311947),(-78.48220719763924,38.039818383562405),(-78.48428664586378,38.041045414944854),(-78.48411537798364,38.04131243885895),(-78.48509460237679,38.041442202852984),(-78.48579238626526,38.04152203119142),(-78.48669860082803,38.0416285423165),(-78.49008765715145,38.04203231111698),(-78.49018911574454,38.04228585575851),(-78.49071341627726,38.0422927626384),(-78.49072385631351,38.042103977381664),(-78.4904102830128,38.042105270677084),(-78.49042631224532,38.04193013339972),(-78.49118807322043,38.04193164742142),(-78.49118805782865,38.04206208144093),(-78.49202834640775,38.041874782325955),(-78.4921162255752,38.041889891048214),(-78.492213446652,38.04188852443837),(-78.49297259913673,38.043777118256045),(-78.49304894153046,38.044286501509134),(-78.49310089221383,38.04573294751831),(-78.49314250064697,38.04638443252559),(-78.49314905331592,38.04687343605578),(-78.49307644143754,38.047289227268344),(-78.49308682872179,38.047613252770574),(-78.49323611501697,38.04793042124764),(-78.49371180661576,38.048346462156886),(-78.494090292756,38.0485208507545),(-78.49481689966397,38.048672160128696),(-78.49531953441476,38.04880648639518),(-78.49632651778589,38.04964061057337),(-78.49689705980775,38.050374487526156),(-78.4979932830112,38.05159166219612),(-78.49860761286074,38.05227220444636),(-78.49834399363597,38.0527085903968),(-78.49800018758661,38.05311155594953),(-78.49777098205138,38.05336143495533),(-78.49755566557535,38.053620238176165),(-78.4971111376915,38.05412411320758),(-78.49697916915056,38.0542284566792),(-78.49662840933152,38.05449549254012),(-78.49626376009292,38.05467877494185),(-78.4957115758896,38.05491559596798),(-78.49540596612327,38.05499590410744),(-78.49492672041822,38.055014419981696),(-78.4945065153488,38.05498556875126),(-78.49415923998137,38.05494504927531),(-78.49343342642504,38.054965606316934),(-78.49291596285278,38.055162599789604),(-78.49267633666099,38.055197596397214),(-78.49092072419474,38.05585334964408),(-78.49021491575523,38.05684711335762),(-78.48910743528056,38.05672097772451),(-78.4870397720873,38.056452710185674),(-78.48549440546618,38.05617862249577),(-78.4842037026305,38.05562377380196),(-78.4832133284205,38.054991764534385),(-78.4822730446374,38.05393569469026),(-78.481932435554,38.05337445029397),(-78.48054349008771,38.04991071334171),(-78.47966681087853,38.04735846036077),(-78.47920440637287,38.04616794584552),(-78.47874624632934,38.045488236230305),(-78.47843356077486,38.04513109343339),(-78.48105482178231,38.04143105809078)])
theMeadows = np.array([(-78.48058788699099,38.06667012590781),(-78.4803247618815,38.06582526259697),(-78.48035518786918,38.06582538087662),(-78.480445879277,38.06581912125488),(-78.48049343026582,38.06581278759266),(-78.48056336727974,38.06580381972447),(-78.480663195807,38.06578824062471),(-78.48080672487377,38.06573845044564),(-78.48092683637687,38.0656498199741),(-78.48103265656698,38.06557233568643),(-78.48106963892347,38.065561297667415),(-78.48119884224856,38.0655199056468),(-78.48129387816826,38.065543549513),(-78.4813345222963,38.065551117545844),(-78.48137038593343,38.06555159510699),(-78.48145586374825,38.06554971885082),(-78.48152460505773,38.06554642062993),(-78.48170513634848,38.065488321706795),(-78.48180852071022,38.065371763129896),(-78.48184026844461,38.065318688650244),(-78.48185284519013,38.065214914051666),(-78.48196107355069,38.06506484168146),(-78.48201548191334,38.06500247036204),(-78.48209871034135,38.06490929200288),(-78.48213756962338,38.064881416075515),(-78.48219017844157,38.06484503658907),(-78.48244812398352,38.064786579059856),(-78.48255780759654,38.06475520714077),(-78.48260204709466,38.064731112684136),(-78.48266301974033,38.06471269103991),(-78.48277862424281,38.064675290687454),(-78.48283434683708,38.06464249140329),(-78.48289114303591,38.06459458090821),(-78.4829228311495,38.06456008765691),(-78.4829694692719,38.064497241102124),(-78.483003559567,38.06440897033808),(-78.48303562707733,38.06428052936766),(-78.48311374833973,38.064165785211856),(-78.48320482923187,38.06407791543931),(-78.48348589994315,38.064003286934195),(-78.48354686927593,38.063996207349746),(-78.4836789717833,38.063980158199364),(-78.48378059287657,38.06394255415654),(-78.4838840122811,38.06389011352271),(-78.48397787057101,38.06382207619827),(-78.48403574838034,38.06373465783646),(-78.48408238815328,38.06365725725625),(-78.48408104770762,38.06363186555782),(-78.48409675241476,38.06357361217466),(-78.48409178420302,38.06356054762279),(-78.48408659591296,38.06355140117868),(-78.48408063371997,38.06347626070339),(-78.48408319376979,38.06345238323189),(-78.48410183701847,38.06332557741542),(-78.48412131803936,38.06329092431112),(-78.4841471385185,38.0632722844082),(-78.48421565353216,38.06323025802687),(-78.48429695806247,38.063158909895975),(-78.48437467619938,38.06308850687768),(-78.48443506154638,38.06301526634788),(-78.48444044532944,38.0629925837241),(-78.48445180999722,38.06295685858028),(-78.48444405821513,38.062874157908404),(-78.48443689925679,38.062800906837715),(-78.48440164706238,38.062737293842694),(-78.48437476653369,38.06265695389921),(-78.48436282334117,38.062604780851736),(-78.48436136736571,38.06253987994417),(-78.48437898582789,38.062493727844185),(-78.48441069099498,38.06237001284394),(-78.48446808332395,38.062312837458705),(-78.48456438355684,38.062201607741535),(-78.48462663232888,38.06214037060182),(-78.48469419069802,38.06205711152164),(-78.48470497669364,38.06193093610663),(-78.48469364123785,38.06182554990771),(-78.48470801321297,38.06169918615617),(-78.48473851978943,38.0615835989166),(-78.48481863905177,38.06144798106109),(-78.48489708271596,38.06136376385805),(-78.48496151906737,38.061321539136564),(-78.48514479807054,38.061211358147226),(-78.4852261020576,38.06112715480606),(-78.48529485530646,38.06104172276131),(-78.48531519103477,38.06097084003239),(-78.4852930914772,38.060893806278365),(-78.4852710015688,38.06076810038087),(-78.48529553092061,38.060686369907124),(-78.48538083654421,38.060648074239346),(-78.48543600018793,38.06059960105576),(-78.48555989781696,38.060515713291664),(-78.48561888146484,38.0604566273469),(-78.48573254533754,38.06016156179851),(-78.48575793923784,38.06010694595862),(-78.48577796606142,38.05999038231713),(-78.48582643142174,38.05990213290165),(-78.48588800699841,38.05983833951119),(-78.4859304514922,38.05979250585161),(-78.48604283054348,38.059728248107774),(-78.48612472315938,38.059686199826494),(-78.48619940520491,38.05965403954747),(-78.48629388536226,38.05961060589275),(-78.48635292735257,38.05959336973544),(-78.4863763711796,38.0595874600149),(-78.4864297417499,38.059543820756005),(-78.4864846052256,38.05945454548232),(-78.48650431004317,38.05940695162107),(-78.48657007570334,38.05930913587897),(-78.48658442652574,38.05926802530104),(-78.48662015217502,38.05922242575433),(-78.48670029151495,38.05917218532734),(-78.48685341485552,38.05911257716023),(-78.48700738037249,38.05902673465575),(-78.48711404872921,38.05893685887283),(-78.48714610433959,38.05884800815161),(-78.48718779432765,38.05875141655633),(-78.48722618569278,38.058675560036164),(-78.48735085531746,38.05856529375254),(-78.48756181975212,38.05852639704761),(-78.48772689490117,38.05849093972818),(-78.48783336704943,38.058462890321806),(-78.48794742400794,38.05841616389358),(-78.48800817695785,38.05840085268883),(-78.48806581175509,38.05837922542807),(-78.48849504244349,38.0582181567882),(-78.48842783840813,38.05801170882362),(-78.48841372441287,38.057877594631236),(-78.4884367349881,38.057749470230384),(-78.48850654214768,38.05751357127621),(-78.48868717648458,38.05722729437994),(-78.48910743528056,38.05672097772451),(-78.49021491575523,38.05684711335762),(-78.49092072419474,38.05585334964408),(-78.49267633656135,38.05519861240452),(-78.49291596275638,38.05516361579691),(-78.49343342633568,38.05496662232432),(-78.4941592399019,38.05494606528273),(-78.49450651527404,38.054986584758645),(-78.4949267203492,38.055015435989084),(-78.49540596606076,38.05499692011483),(-78.49571157583127,38.0549166119754),(-78.4962637600421,38.054679790949365),(-78.49662840928568,38.05449650854769),(-78.49697916910945,38.0542294726869),(-78.49711113765221,38.054125129215294),(-78.49755566554208,38.05362125418409),(-78.49777098202108,38.053362450963355),(-78.49800018755943,38.05311257195765),(-78.49834399361347,38.05270960640507),(-78.4986076128766,38.05227135319606),(-78.4990613092703,38.05279062025124),(-78.50084396399299,38.054752587000834),(-78.50383313514384,38.057076438513754),(-78.5011458275266,38.05765990197139),(-78.5009087075311,38.058502996927544),(-78.50244989511722,38.06052636415991),(-78.49495040977258,38.06521228679367),(-78.49258284866039,38.06359119793486),(-78.49216032261835,38.06305343015614),(-78.49142474878236,38.061481702929115),(-78.49123506587246,38.06163156360194),(-78.49130612739535,38.06191256275952),(-78.48689520462361,38.066895850728436),(-78.48651579571981,38.06717680189153),(-78.48511632097372,38.069050198827675),(-78.48058788699099,38.06667012590781)])
greenbrier = np.array([(-78.47427113847765,38.042122599465884),(-78.47540103802044,38.043236002508095),(-78.47618454159074,38.04369383352526),(-78.47751209893191,38.044358672416834),(-78.47843116486932,38.04513109300054),(-78.4787455867717,38.04548757707871),(-78.47920201043405,38.046167945428145),(-78.47966351281754,38.04735571382514),(-78.48054616024417,38.04992493790771),(-78.481932435554,38.05337445029397),(-78.4822730446374,38.05393569469026),(-78.4832133284205,38.054991764534385),(-78.4842037026305,38.05562377380196),(-78.48549200920603,38.05617862220465),(-78.48703737581833,38.056452709925594),(-78.48910743528056,38.05672097772451),(-78.48868717635558,38.057228145628606),(-78.48850654201661,38.05751442252479),(-78.48843673485625,38.057750321478906),(-78.48841372428076,38.057878445879716),(-78.48842783827618,38.05801256007208),(-78.4884950423123,38.05821900803658),(-78.4880581555593,38.05838251638502),(-78.48801765838651,38.058399041305464),(-78.48793661650457,38.058416984874746),(-78.48781168846361,38.05846830280545),(-78.48774948117466,38.05848328939388),(-78.48760751934104,38.05851388535989),(-78.4873526352759,38.05856487689804),(-78.4872300191411,38.05867455473759),(-78.48715668188923,38.05882161029865),(-78.4871144544482,38.05893792640926),(-78.4870394589998,38.05900630303797),(-78.48685246617617,38.0591132721273),(-78.4867944439366,38.05913577574504),(-78.48668330447151,38.05918339553837),(-78.48661923363244,38.05922450571724),(-78.48658606521573,38.059268718840386),(-78.48657006688872,38.05930987042264),(-78.48651218036703,38.059396831926676),(-78.48644168268054,38.05953004596852),(-78.48637723507946,38.05958750816776),(-78.48629611467007,38.05961019425442),(-78.48611097760441,38.05969233373516),(-78.48598302303495,38.059763852783384),(-78.48593176690473,38.05979245108739),(-78.48590283090594,38.059823341450965),(-78.48582643142174,38.05990213290165),(-78.48577796606142,38.05999038231713),(-78.48575793923784,38.06010694595862),(-78.48561888146484,38.0604566273469),(-78.48555989781696,38.060515713291664),(-78.48545000253046,38.060591272206395),(-78.48538083654421,38.060648074239346),(-78.48529553092061,38.060686369907124),(-78.48527360152126,38.060770620119726),(-78.48529392764219,38.06089147231556),(-78.4853154110702,38.06097781651321),(-78.48529465139701,38.06104104654363),(-78.48522755413079,38.061127683582896),(-78.48514561596953,38.06121359105723),(-78.48507701056575,38.06125274674924),(-78.48504190631184,38.0612750515607),(-78.48489889091778,38.06136362335628),(-78.48481425786237,38.06145171500849),(-78.48473903381034,38.06158570650585),(-78.48471079994262,38.061669497548515),(-78.48469605102154,38.06182399874988),(-78.48470411208797,38.06193420540289),(-78.4846944945206,38.062057477116326),(-78.48462664312333,38.06214065721261),(-78.48456438355684,38.062201607741535),(-78.48446832594318,38.062315238487486),(-78.48440845629004,38.062375034223244),(-78.48437552930908,38.06250768029135),(-78.48436200560387,38.062539644905065),(-78.4843619918717,38.06260519435272),(-78.4843740411229,38.062658827920544),(-78.4843996507588,38.062733679214965),(-78.48443581629316,38.06279982890815),(-78.48445258523395,38.06296589459787),(-78.48443501802346,38.06301578635793),(-78.48438480591334,38.06308322909951),(-78.48432994529112,38.063134240085866),(-78.48427293183465,38.06318238295335),(-78.48422022576301,38.063227078469346),(-78.4841471385185,38.0632722844082),(-78.48411990249076,38.063292010492255),(-78.48410183701847,38.06332557741542),(-78.48408217622516,38.06348043133125),(-78.48408668338944,38.06354836690793),(-78.48409968300591,38.063573183509156),(-78.48408214435442,38.06362988689884),(-78.48408383626135,38.063656213985674),(-78.48403702069025,38.06373347381266),(-78.4839785024748,38.06382106886021),(-78.48388488901914,38.063891248064365),(-78.4837844961648,38.06394127781682),(-78.48369078941332,38.06397991267781),(-78.48354075426327,38.06399621508819),(-78.48349189118741,38.06400344222265),(-78.48320556973317,38.06407669874149),(-78.48311978365025,38.06416311562265),(-78.48304368140688,38.06426742715186),(-78.48303355808297,38.06428166864555),(-78.48301243007367,38.06437701038779),(-78.48296321832466,38.06449345937236),(-78.48292190688727,38.064567453551454),(-78.48283599411648,38.064643953861506),(-78.4827677173046,38.064679519602215),(-78.48270164274804,38.064700731138686),(-78.48261588259315,38.06472615824889),(-78.4825550365538,38.06475077030133),(-78.48244812398352,38.064786579059856),(-78.48234979269398,38.06481193033225),(-78.48218983945829,38.06484646958414),(-78.48211746908002,38.06489591857745),(-78.48209663639369,38.064912849420615),(-78.48205640084998,38.06495859958164),(-78.48200890223585,38.065011628848566),(-78.48196032661352,38.06506561730101),(-78.48191831689337,38.06513126673967),(-78.48185699188846,38.06521288782353),(-78.48183923875672,38.06532170046313),(-78.48180831888382,38.06537152797677),(-78.48170486493756,38.0654885722336),(-78.48152562077917,38.06554727718173),(-78.48140501859166,38.065552621656664),(-78.48131144285077,38.06554919863273),(-78.48119774616893,38.065519218985514),(-78.48112964305604,38.06553980290514),(-78.48103266093561,38.0655722292814),(-78.48090097712011,38.065669425390546),(-78.48079909931607,38.06574504122722),(-78.48073567090267,38.065769101020805),(-78.48066296734606,38.06579027259413),(-78.48056120667046,38.065806345651005),(-78.48049350070757,38.06581735961854),(-78.48041901041685,38.06582215113206),(-78.48036070171649,38.065825381783505),(-78.4803247618815,38.06582526259697),(-78.48030116354228,38.065749360520904),(-78.47882555184134,38.06557765057888),(-78.47743058693365,38.06497732150069),(-78.47613546280559,38.06677339079512),(-78.47454546299181,38.067622523081646),(-78.4748201192418,38.06870583197441),(-78.47292803560794,38.07006142350776),(-78.47253219626262,38.07025225902783),(-78.47173384598231,38.07053262643037),(-78.47099626230154,38.06977651697704),(-78.47221103017976,38.068031149603655),(-78.47145308441135,38.06798420725637),(-78.47125180488497,38.06815561623212),(-78.46951641197795,38.06835904534206),(-78.46952762135352,38.067957507611794),(-78.46829088740617,38.06811867508588),(-78.46819725011305,38.06761671752381),(-78.46684455424067,38.067830204416474),(-78.46625511497655,38.06684503847144),(-78.46531663396323,38.06561735548343),(-78.46447853655067,38.06487677210592),(-78.46533792951453,38.06306510515382),(-78.4663112649377,38.061335292565765),(-78.46645213308607,38.061335332226065),(-78.46739189988276,38.05953926767786),(-78.46872751621304,38.05728738654504),(-78.46984822131834,38.05564720817089),(-78.4712093215358,38.054028165502544),(-78.47243807897038,38.052624057737816),(-78.47208873689098,38.05194956664027),(-78.4716548355995,38.05147748719262),(-78.47147411260232,38.05113419791951),(-78.47140185491322,38.05093397195132),(-78.47140194804857,38.05069084375799),(-78.47209705573813,38.049947014888346),(-78.47235871934973,38.049647050919575),(-78.47241915410062,38.04942494324719),(-78.47233876495733,38.04923789650348),(-78.47225263480466,38.0489890914431),(-78.47137994530661,38.04884411776879),(-78.47144695734826,38.04877216187655),(-78.47202735519815,38.04811062966422),(-78.47200658681635,38.04793350952149),(-78.47202723151472,38.04779198689039),(-78.47185712931076,38.047664945636484),(-78.4717877369703,38.04751527369167),(-78.4718572361857,38.04738142386968),(-78.47164932884186,38.04686661435752),(-78.47160418493303,38.04687346856472),(-78.47175721083563,38.046239184690705),(-78.47178506561762,38.04603873508686),(-78.47193802892636,38.0455623443807),(-78.47195899656559,38.045206745417),(-78.4719312548296,38.04510857024771),(-78.47193128218684,38.045035801881866),(-78.4721537783819,38.044318467569205),(-78.47221289825134,38.04407408937233),(-78.47292852621989,38.043139934844085),(-78.47312302718528,38.042984831013804),(-78.47331751532118,38.04286336509272),(-78.47344600313684,38.04281945808424),(-78.47427113847765,38.042122599465884)])
# Define the function that will determine True or False if a point is within a boundary #
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
"""
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
print(range(len(latlongs)))
# ! Takes a long time to run ! A for loop that checks if the given point is within each of Charlottesville's defined neighborhood boundaries #
for i in range(len(latlongs)):
if inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], barracksRoad):
latlongs["neighborhood"][i] = "Barracks Road"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], lewsMtn):
latlongs["neighborhood"][i] = "Lewis Mountain"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], northDowntown):
latlongs["neighborhood"][i] = "North Downtown"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], johnsonVillage):
latlongs["neighborhood"][i] = "Johnson Village"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], tenthAndPage):
latlongs["neighborhood"][i] = "Tenth And Page"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], jeffersonParkAvenue):
latlongs["neighborhood"][i] = "Jefferson Park Avenue"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], starrHill):
latlongs["neighborhood"][i] = "Starr Hill"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], fifeville):
latlongs["neighborhood"][i] = "Fifeville"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], ridgeStreet):
latlongs["neighborhood"][i] = "Ridge Street"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], belmont):
latlongs["neighborhood"][i] = "Belmont"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], woolenMills):
latlongs["neighborhood"][i] = "Woolen Mills"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], marthaJefferson):
latlongs["neighborhood"][i] = "Martha Jefferson"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], locustGrove):
latlongs["neighborhood"][i] = "Locust Grove"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], venable):
latlongs["neighborhood"][i] = "Venable"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], roseHill):
latlongs["neighborhood"][i] = "Rose Hill"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], barracksRugby):
latlongs["neighborhood"][i] = "Barracks / Rugby"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], theMeadows):
latlongs["neighborhood"][i] = "The Meadows"
elif inside_polygon(latlongs["longitude"][i],latlongs["latitude"][i], greenbrier):
latlongs["neighborhood"][i] = "Greenbrier"
# Output the new data to a csv file #
latlongs.to_csv('out.csv')