Created
January 24, 2022 08:52
-
-
Save rzhade3/0bdde47bd08c8305fa528a878fcc24ef to your computer and use it in GitHub Desktop.
Location of all stores that sell Orca passes. Scraped from https://www.soundtransit.org/sites/default/files/documents/orca_retail_locations.pdf and put in a more viewable format (GeoJSON)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"type": "FeatureCollection", "features": [{"type": "Point", "properties": {"name": "Saars Super Saver Foods", "address": "1702 Auburn Way N, Auburn, WA", "hours": "Mon-Sat: 7 a.m. to 7 p.m."}, "coordinates": [-122.220304, 47.32449]}, {"type": "Point", "properties": {"name": "Safeway", "address": "101 Auburn Way S, Auburn, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.227516, 47.306289]}, {"type": "Point", "properties": {"name": "QFC", "address": "3550 Factoria Blvd SE, Bellevue, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.168933, 47.579052]}, {"type": "Point", "properties": {"name": "QFC", "address": "10116 NE 8th St, Bellevue, WA", "hours": "Mon-Sun: 10 a.m. to 7 p.m."}, "coordinates": [-122.205367, 47.618635]}, {"type": "Point", "properties": {"name": "QFC", "address": "15600 NE 8th St, Bellevue, WA", "hours": "Mon-Sun: 7:30 a.m. to 8 p.m."}, "coordinates": [-122.130427, 47.619118]}, {"type": "Point", "properties": {"name": "Safeway", "address": "300 Bellevue Way NE, Bellevue, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.200834, 47.613014]}, {"type": "Point", "properties": {"name": "Safeway", "address": "15100 SE 38th St, Bellevue, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.138148, 47.576535]}, {"type": "Point", "properties": {"name": "QFC", "address": "18921 Bothell Way NE, Bothell, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.211669, 47.76536]}, {"type": "Point", "properties": {"name": "Safeway", "address": "138 SW 148th St, Burien, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-122.336766, 47.47167]}, {"type": "Point", "properties": {"name": "Safeway", "address": "17023 SE 272nd St, Covington, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.115029, 47.356407]}, {"type": "Point", "properties": {"name": "Safeway", "address": "21401 Pacific Highway S, Des Moines, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.299442, 47.409977]}, {"type": "Point", "properties": {"name": "Safeway", "address": "27035 Pacific Highway S, Des Moines, WA", "hours": "Mon-Sun: 9:30 a.m. to 8 p.m."}, "coordinates": [-122.310585, 47.359438]}, {"type": "Point", "properties": {"name": "QFC", "address": "1009 Monroe Ave, Enumclaw, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-121.990567, 47.20042]}, {"type": "Point", "properties": {"name": "Safeway", "address": "2109 SW 336th St, Federal Way, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.361823, 47.299765]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1207 S 320th St, Federal Way, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.317951, 47.313636]}, {"type": "Point", "properties": {"name": "QFC", "address": "1540 Gilman Blvd, Issaquah, WA", "hours": "Mon-Sun: 7 a.m. to 11p.m."}, "coordinates": [-122.060388, 47.546557]}, {"type": "Point", "properties": {"name": "QFC", "address": "2902 228th Ave SE, Issaquah, WA", "hours": "Mon-Sun: 10 a.m. to 7 p.m."}, "coordinates": [-122.035733, 47.574887]}, {"type": "Point", "properties": {"name": "QFC", "address": "4570 Klahanie Dr SE, Issaquah, WA", "hours": "Mon-Sun: 7 a.m. to 7 p.m."}, "coordinates": [-122.003414, 47.565556]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1451 Highlands Dr NE, Issaquah, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.01963, 47.54135]}, {"type": "Point", "properties": {"name": "Safeway", "address": "6850 NE Bothell Way, Kenmore, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.247624, 47.759187]}, {"type": "Point", "properties": {"name": "QFC", "address": "13304 SE 240th St, Kent, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.163593, 47.387622]}, {"type": "Point", "properties": {"name": "Saars Super Saver Foods", "address": "25928 104th Ave SE, Kent, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-122.200693, 47.369457]}, {"type": "Point", "properties": {"name": "Safeway", "address": "210 Washington Ave S, Kent, WA", "hours": "Mon-Sun 9 a.m. to 8 p.m."}, "coordinates": [-122.246642, 47.380389]}, {"type": "Point", "properties": {"name": "Safeway", "address": "13101 SE Kent-Kangley Rd, Kent, WA", "hours": "Mon-Sun 9 a.m. to 9 p.m."}, "coordinates": [-122.166775, 47.356731]}, {"type": "Point", "properties": {"name": "Safeway", "address": "20830 108th Ave SE, Kent, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.19558, 47.415142]}, {"type": "Point", "properties": {"name": "QFC", "address": "425 Urban Plaza, Kirkland, WA", "hours": "Mon-Sun: 10 a.m. to 7 p.m."}, "coordinates": [-122.198557, 47.678576]}, {"type": "Point", "properties": {"name": "QFC", "address": "11224 NE 124th St, Kirkland, WA", "hours": "Mon-Sun: 8 a.m. to 9 p.m."}, "coordinates": [-122.191225, 47.712442]}, {"type": "Point", "properties": {"name": "QFC", "address": "14130 Juanita Dr, Kirkland, WA", "hours": "Mon-Sun: 5 a.m. to 11 p.m."}, "coordinates": [-122.242803, 47.728322]}, {"type": "Point", "properties": {"name": "Safeway", "address": "12519 NE 85th St, Kirkland, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.173401, 47.678793]}, {"type": "Point", "properties": {"name": "Albertsons", "address": "17171 Bothell Way NE, Lake Forest Park, WA", "hours": "Mon-Sun 10 a.m. to 7 p.m."}, "coordinates": [-122.280319, 47.754834]}, {"type": "Point", "properties": {"name": "Safeway", "address": "26916 Maple Valley Rd, Maple Valley, WA", "hours": "Mon-Sun 9 a.m. to 9 p.m."}, "coordinates": [-122.018303, 47.360171]}, {"type": "Point", "properties": {"name": "QFC", "address": "7823 SE 28th St, Mercer Island, WA", "hours": "Mon-Sun: 7:30 a.m. to 7 p.m."}, "coordinates": [-122.232905, 47.585026]}, {"type": "Point", "properties": {"name": "Safeway", "address": "6911 Coal Creek Pkwy SE, Newcastle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.16776, 47.539493]}, {"type": "Point", "properties": {"name": "QFC", "address": "17847 1st Ave S, Normandy Park, WA", "hours": "Mon-Sun: 9 a.m. to 7p.m."}, "coordinates": [-122.335777, 47.441809]}, {"type": "Point", "properties": {"name": "QFC", "address": "460 E North Bend Way, North Bend, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-121.780527, 47.493287]}, {"type": "Point", "properties": {"name": "Safeway", "address": "460 SW Mount Si Blvd, North Bend, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-121.793224, 47.48758]}, {"type": "Point", "properties": {"name": "QFC", "address": "8867 161st Ave NE, Redmond, WA", "hours": "Mon-Sun: 7 a.m. to 7 p.m."}, "coordinates": [-122.127345, 47.681]}, {"type": "Point", "properties": {"name": "QFC", "address": "15800 Redmond Way NE, Redmond, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-122.128762, 47.67577]}, {"type": "Point", "properties": {"name": "QFC", "address": "23475 NE Novelty Hill Rd, Redmond, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.090035, 47.688735]}, {"type": "Point", "properties": {"name": "Safeway", "address": "15000 NE 24th St, Redmond, WA", "hours": "Mon-Sun: 10 a.m. to 9 p.m."}, "coordinates": [-122.14014, 47.63261]}, {"type": "Point", "properties": {"name": "Safeway", "address": "17246 Redmond Way NE, Redmond, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.111681, 47.671107]}, {"type": "Point", "properties": {"name": "QFC", "address": "4800 NE 4th St, Renton, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-122.154817, 47.489805]}, {"type": "Point", "properties": {"name": "Saars Super Saver Foods", "address": "3208 NE Sunset Blvd, Renton, WA", "hours": "Mon-Sat: 9 a.m. to 7 p.m."}, "coordinates": [-122.162003, 47.503919]}, {"type": "Point", "properties": {"name": "Safeway", "address": "200 S 3rd St, Renton, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.214456, 47.480096]}, {"type": "Point", "properties": {"name": "Safeway", "address": "17230 140th Ave SE, Renton, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.152406, 47.44754]}, {"type": "Point", "properties": {"name": "Safeway", "address": "630 228th Ave NE, Sammamish, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.033514, 47.615362]}, {"type": "Point", "properties": {"name": "Safeway", "address": "4011 S 164th St, SeaTac, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.282445, 47.455688]}, {"type": "Point", "properties": {"name": "QFC", "address": "1801 N 45th St, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-122.335989, 47.661729]}, {"type": "Point", "properties": {"name": "QFC", "address": "1531 NE 145th St, Seattle, WA", "hours": "Mon-Sun: 7 a.m. to 9 p.m."}, "coordinates": [-122.310498, 47.733347]}, {"type": "Point", "properties": {"name": "QFC", "address": "2746 NE 45th St, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.296441, 47.66224]}, {"type": "Point", "properties": {"name": "QFC", "address": "11100 Roosevelt Way NE, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.317266, 47.709349]}, {"type": "Point", "properties": {"name": "Safeway", "address": "7300 Roosevelt Way NE, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.316937, 47.681847]}, {"type": "Point", "properties": {"name": "Safeway", "address": "7340 35th Ave NE, Seattle, WA", "hours": "Mon-Sun: 10 a.m. to 8 p.m."}, "coordinates": [-122.289396, 47.682597]}, {"type": "Point", "properties": {"name": "Safeway", "address": "12318 15th Ave NE, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.311964, 47.718045]}, {"type": "Point", "properties": {"name": "Albertsons", "address": "2550 32nd Ave W, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.397879, 47.642463]}, {"type": "Point", "properties": {"name": "QFC", "address": "500 Mercer St, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-122.346896, 47.624935]}, {"type": "Point", "properties": {"name": "QFC", "address": "1600 W Dravus St, Seattle, WA", "hours": "Mon-Sun: 7 a.m. to 9 p.m."}, "coordinates": [-122.377867, 47.649416]}, {"type": "Point", "properties": {"name": "QFC", "address": "5700 24th Ave NW, Seattle, WA", "hours": "Mon-Sun: 11 a.m. to 8 p.m."}, "coordinates": [-122.387202, 47.670557]}, {"type": "Point", "properties": {"name": "QFC", "address": "9999 Holman Rd NW, Seattle, WA", "hours": "Mon-Sun: 10 a.m. to 8 p.m."}, "coordinates": [-122.363665, 47.701932]}, {"type": "Point", "properties": {"name": "Safeway", "address": "2100 Queen Anne Ave N, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.356127, 47.637704]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1423 NW Market St, Seattle, WA", "hours": "Sun-Thu: 10 a.m. to 8 p.m.; Fri-Sat: 10 a.m. to 9 p.m."}, "coordinates": [-122.374285, 47.668346]}, {"type": "Point", "properties": {"name": "Safeway", "address": "8340 15th Ave NW, Seattle, WA", "hours": "Mon-Sun 9 a.m. to 8 p.m."}, "coordinates": [-122.37654, 47.690386]}, {"type": "Point", "properties": {"name": "QFC", "address": "2500 SW Barton St, Seattle, WA", "hours": "Mon-Sun: 10 a.m. to 7 p.m."}, "coordinates": [-122.365943, 47.522089]}, {"type": "Point", "properties": {"name": "Safeway", "address": "2622 California Ave SW, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.386031, 47.57987]}, {"type": "Point", "properties": {"name": "Safeway", "address": "4754 42nd Ave SW, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.384944, 47.559644]}, {"type": "Point", "properties": {"name": "Safeway", "address": "9620 28th Ave SW, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.366756, 47.516563]}, {"type": "Point", "properties": {"name": "QFC", "address": "417 Broadway E, Seattle, WA", "hours": "Mon-Sun: 8:45 a.m. to 9 p.m."}, "coordinates": [-122.321474, 47.622427]}, {"type": "Point", "properties": {"name": "QFC", "address": "1401 Broadway, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.321083, 47.613879]}, {"type": "Point", "properties": {"name": "QFC", "address": "2707 Rainier Ave S, Seattle, WA", "hours": "Mon-Sun: 10 a.m. to 6 p.m."}, "coordinates": [-122.299837, 47.578748]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1410 E John St, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.312948, 47.620129]}, {"type": "Point", "properties": {"name": "Safeway", "address": "2201 E Madison St, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.303625, 47.618002]}, {"type": "Point", "properties": {"name": "Safeway", "address": "3820 Rainier Ave S, Seattle, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.288222, 47.569583]}, {"type": "Point", "properties": {"name": "Safeway", "address": "9262 Rainier Ave S, Seattle, WA", "hours": "Mon-Sun: 9:30 a.m. to 8 p.m."}, "coordinates": [-122.269422, 47.520846]}, {"type": "Point", "properties": {"name": "QFC", "address": "600 NW Richmond Beach Rd, Shoreline, WA", "hours": "Mon-Sun: 11 a.m. to 7 p.m."}, "coordinates": [-122.364424, 47.76518]}, {"type": "Point", "properties": {"name": "Safeway", "address": "15332 Aurora Ave N, Shoreline, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.343637, 47.740845]}, {"type": "Point", "properties": {"name": "Safeway", "address": "17202 15th Ave NE, Shoreline, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.312791, 47.754385]}, {"type": "Point", "properties": {"name": "Saars Super Saver Foods", "address": "3725 S 144th St, Tukwila, WA", "hours": "Mon-Sun: 9 a.m. to 7 p.m."}, "coordinates": [-122.285891, 47.472746]}, {"type": "Point", "properties": {"name": "Saars Super Saver Foods", "address": "10616 16th Ave SW, White Center, WA", "hours": "Mon-Sat: 7 a.m. to 9 p.m."}, "coordinates": [-122.354245, 47.508047]}, {"type": "Point", "properties": {"name": "Safeway", "address": "19150 NE Woodinville Duvall Rd, Woodinville, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.12347, 47.76157]}, {"type": "Point", "properties": {"name": "Safeway", "address": "253 High School Rd NE, Bainbridge Island, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.519686, 47.635066]}, {"type": "Point", "properties": {"name": "Saars Super Saver Foods", "address": "2900 Wheaton Way, Bremerton, WA", "hours": "Mon-Sun: 7 a.m. to 9 p.m."}, "coordinates": [-122.627716, 47.589613]}, {"type": "Point", "properties": {"name": "Safeway", "address": "900 N Callow Ave, Bremerton, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.653272, 47.563949]}, {"type": "Point", "properties": {"name": "Food Market at Kingston", "address": "10978 SR 104, Kingston, WA", "hours": "Mon-Sun: 7 a.m. to 10 p.m."}, "coordinates": [-122.528922, 47.809512]}, {"type": "Point", "properties": {"name": "Safeway", "address": "3355 Bethel Rd SE, Port Orchard, WA", "hours": "Mon-Sun: 10 a.m. to 8 p.m."}, "coordinates": [-122.630198, 47.518028]}, {"type": "Point", "properties": {"name": "Albertsons", "address": "1434 Olney Ave SE, Port Orchard, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.610162, 47.535401]}, {"type": "Point", "properties": {"name": "Safeway", "address": "19245 10th Ave NE, Poulsbo, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.635882, 47.738095]}, {"type": "Point", "properties": {"name": "Safeway", "address": "2890 NW Bucklin Hill Rd, Silverdale, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.688091, 47.652672]}, {"type": "Point", "properties": {"name": "Safeway", "address": "8611 Steilacoom Blvd SW, Lakewood, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.551914, 47.179545]}, {"type": "Point", "properties": {"name": "Safeway", "address": "900 Meridian Ave E, Milton, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.295841, 47.24892]}, {"type": "Point", "properties": {"name": "QFC", "address": "11104 Pacific Ave S, Parkland, WA", "hours": "Mon-Sun: 6 a.m. to 7 p.m."}, "coordinates": [-122.434345, 47.157215]}, {"type": "Point", "properties": {"name": "Saars Market Place", "address": "13322 Pacific Ave S, Parkland, WA", "hours": "Mon-Sat: 7 a.m. to 7 p.m."}, "coordinates": [-122.434739, 47.136093]}, {"type": "Point", "properties": {"name": "Safeway", "address": "611 S Meridian, Puyallup, WA", "hours": "Mon-Sun: 10 a.m. to 7 p.m."}, "coordinates": [-122.292887, 47.186993]}, {"type": "Point", "properties": {"name": "Safeway", "address": "13308 Meridian E, Puyallup, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.292967, 47.154064]}, {"type": "Point", "properties": {"name": "Safeway", "address": "707 S 56th St, Tacoma, WA", "hours": "Sun-Wed: 9 a.m. to 8 p.m.; Thu-Sat: 9 a.m. to 9 p.m."}, "coordinates": [-122.440723, 47.20704]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1112 South M St, Tacoma, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.455317, 47.251202]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1302 S 38th St, Tacoma, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.451466, 47.222224]}, {"type": "Point", "properties": {"name": "Safeway", "address": "15805 Pacific Ave S, Tacoma, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.433983, 47.21083]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1624 72nd St E, Tacoma, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.407063, 47.190166]}, {"type": "Point", "properties": {"name": "Safeway", "address": "2411 N Proctor St, Tacoma, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.488145, 47.269558]}, {"type": "Point", "properties": {"name": "Safeway", "address": "2637 N Pearl St, Tacoma, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.51411, 47.272795]}, {"type": "Point", "properties": {"name": "Safeway", "address": "3842 Bridgeport Way W, University Place, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.53937, 47.221438]}, {"type": "Point", "properties": {"name": "Safeway", "address": "3532 172nd St NE, Arlington, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.181138, 48.151413]}, {"type": "Point", "properties": {"name": "QFC", "address": "22833 Bothell-Everett Highway, Bothell, WA", "hours": "Mon-Sun: 11 a.m. to 7 p.m."}, "coordinates": [-122.21678, 47.790575]}, {"type": "Point", "properties": {"name": "Safeway", "address": "20711 Bothell-Everett Highway, Bothell, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.205868, 47.809705]}, {"type": "Point", "properties": {"name": "Safeway", "address": "24040 Bothell-Everett Highway, Bothell, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}, "coordinates": [-122.220759, 47.778796]}, {"type": "Point", "properties": {"name": "QFC", "address": "22828 100th Ave W, Edmonds, WA", "hours": "Mon-Sun: 7 a.m. to 8 p.m."}, "coordinates": [-122.367839, 47.791391]}, {"type": "Point", "properties": {"name": "Safeway", "address": "23632 Highway 99, Edmonds, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.345028, 47.784255]}, {"type": "Point", "properties": {"name": "Safeway", "address": "520 128th St SW, Everett, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.24093, 47.881985]}, {"type": "Point", "properties": {"name": "QFC", "address": "2615 Broadway, Everett, WA", "hours": "Mon-Sun: 7:30 a.m. to 8 p.m."}, "coordinates": [-122.200646, 47.982767]}, {"type": "Point", "properties": {"name": "QFC", "address": "4919 Evergreen Way, Everett, WA", "hours": "Mon-Sat: 10 a.m. to 7 p.m.; Sun: 10 a.m. to 6 p.m."}, "coordinates": [-122.213238, 47.953424]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1715 Broadway, Everett, WA", "hours": "Mon-Sun: 8:30 a.m. to 8:30 p.m."}, "coordinates": [-122.201051, 47.994745]}, {"type": "Point", "properties": {"name": "Safeway", "address": "4128 Rucker Ave, Everett, WA", "hours": "Mon-Sun: 10 a.m. to 7 p.m."}, "coordinates": [-122.212346, 47.962439]}, {"type": "Point", "properties": {"name": "Safeway", "address": "7601 Evergreen Way, Everett, WA", "hours": "Mon-Sun: 10 a.m. to 7 p.m."}, "coordinates": [-122.218835, 47.929453]}, {"type": "Point", "properties": {"name": "Safeway", "address": "11031 19th Ave SE, Everett, WA", "hours": "Mon-Sun: 9:30 a.m. to 9 p.m."}, "coordinates": [-122.205068, 47.897318]}, {"type": "Point", "properties": {"name": "Safeway", "address": "14826 Highway 99, Lynnwood, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.293561, 47.849427]}, {"type": "Point", "properties": {"name": "Safeway", "address": "19500 Highway 99, Lynnwood, WA", "hours": "Mon-Sun: 10:30 a.m. to 6 p.m."}, "coordinates": [-122.316585, 47.821901]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1258 State Ave, Marysville, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.17443, 48.062545]}, {"type": "Point", "properties": {"name": "Albertsons", "address": "3322 132nd St SE, Mill Creek, WA", "hours": "Mon-Sun: 10:30 a.m. to 7 p.m."}, "coordinates": [-122.18759, 47.877885]}, {"type": "Point", "properties": {"name": "QFC", "address": "926 164th St SE, Mill Creek, WA", "hours": "Mon-Sun: 7 a.m. to 9 p.m."}, "coordinates": [-122.219411, 47.84864]}, {"type": "Point", "properties": {"name": "QFC", "address": "22803 44th Ave W, Mountlake Terrace, WA", "hours": "Mon-Sun: 5 a.m. to 11 p.m."}, "coordinates": [-122.292104, 47.791424]}, {"type": "Point", "properties": {"name": "Safeway", "address": "19651 Highway 2, Monroe, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-121.967353, 47.860035]}, {"type": "Point", "properties": {"name": "QFC", "address": "11700 Mukilteo Speedway, Mukilteo, WA", "hours": "Mon-Sun: 7 a.m. to 8 p.m."}, "coordinates": [-122.286578, 47.89248]}, {"type": "Point", "properties": {"name": "Safeway", "address": "1119 13th St, Snohomish, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}, "coordinates": [-122.095468, 47.926151]}, {"type": "Point", "properties": {"name": "QFC", "address": "27008 92nd Ave NW, Stanwood, WA", "hours": "Mon-Sun: 12 p.m. to 7 p.m."}, "coordinates": [-122.357525, 48.241487]}, {"type": "Point", "coordinates": [-122.229102, 47.272822], "properties": {"name": "Safeway", "address": "4010 A St, Auburn, WA", "hours": "Mon-Sun: 9:30 a.m. to 6 p.m."}}, {"type": "Point", "coordinates": [-122.337958, 47.489054], "properties": {"name": "Safeway", "address": "12725 1st Ave S, Burien, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}}, {"type": "Point", "coordinates": [-122.285248, 47.537451], "properties": {"name": "Safeway", "address": "3900 Othello St, Seattle, WA", "hours": "Mon-Sun: 10 a.m. to 6 p.m."}}, {"type": "Point", "coordinates": [-122.462251, 47.447736], "properties": {"name": "Vashon Thriftway", "address": "9740 SW Bank Rd, Vashon Island, WA", "hours": "Mon-Sun: 8 a.m. to 10 p.m."}}, {"type": "Point", "coordinates": [-122.633015, 47.620758], "properties": {"name": "Safeway", "address": "1401 NE McWilliams Rd, Bremerton, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}}, {"type": "Point", "coordinates": [-122.498153, 47.795735], "properties": {"name": "Albertsons", "address": "8196 NE SR 104, Kingston, WA", "hours": "Mon-Sun: 6 a.m. to 12 p.m."}}, {"type": "Point", "coordinates": [-122.147485, 47.166713], "properties": {"name": "Safeway", "address": "21301 Highway 410, Bonney Lake, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}}, {"type": "Point", "coordinates": [-122.578005, 47.302138], "properties": {"name": "Safeway", "address": "4831 Pt Fosdick Dr NW, Gig Harbor, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}}, {"type": "Point", "coordinates": [-122.522291, 47.164654], "properties": {"name": "Safeway", "address": "10223 Gravelly Lk Dr SW, Lakewood, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}}, {"type": "Point", "coordinates": [-122.358689, 47.152366], "properties": {"name": "Safeway", "address": "11501 Canyon Rd E, Puyallup, WA", "hours": "Mon-Sun: 9 a.m. to 8 p.m."}}, {"type": "Point", "coordinates": [-122.129611, 48.182301], "properties": {"name": "Safeway", "address": "20500 Olympic Pl NE, Arlington, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}}, {"type": "Point", "coordinates": [-122.105841, 48.00362], "properties": {"name": "Safeway", "address": "717 SR 9 NE, Lake Stevens, WA", "hours": "Mon-Sun: 9 a.m. to 9 p.m."}}]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from geojson import Point, FeatureCollection | |
import geojson | |
def create_points(): | |
points = [] | |
f = open('undecoded_coords.txt', 'r') | |
for line in f.readlines(): | |
store_name, address, hours, coords = line.strip().split('|') | |
lat, lng = coords.split(',') | |
feature = Point((float(lng), float(lat))) | |
feature['properties'] = { | |
'name': store_name, | |
'address': address, | |
'hours': hours | |
} | |
points.append(feature) | |
f.close() | |
return points | |
def add_to_geojson(points): | |
existing_points = geojson.load(open('stores.json', 'r')).geometries | |
all_points = FeatureCollection(existing_points + points) | |
return all_points | |
def main(): | |
points = create_points() | |
collection = add_to_geojson(points) | |
with open('new_stores.json', 'w') as f: | |
geojson.dump(collection, f) | |
if __name__ == '__main__': | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import re | |
from geopy.geocoders import Nominatim | |
from geojson import Point, FeatureCollection | |
import geojson | |
import time | |
def parse_raw(f_name): | |
f = open(f_name, 'r') | |
stores = [] | |
for line in f: | |
# Not a location | |
if '•' not in line: | |
# SE Seattle, NW Seattle etc. are not cities | |
if 'Seattle' in line: | |
city = 'Seattle' | |
else: | |
city = line.strip() | |
continue | |
loc_and_hour_string = line.strip() | |
loc_string, hours = loc_and_hour_string.split('•') | |
matches = re.match(r"([a-z\s]+)(.+)", loc_string, re.I) | |
store_name, loc = matches[1], matches[2] | |
address = loc.strip() + ', ' + city + ', WA' | |
# Get rid of the trailing comma | |
store_name, address, hours = store_name.strip(), address.strip(), hours.strip() | |
stores.append((store_name, address, hours)) | |
return stores | |
def get_coords(address): | |
geolocator = Nominatim(user_agent="orca_scraper") | |
return geolocator.geocode(address) | |
def convert_to_geojson(stores): | |
undecoded_stores = [] | |
decoded_stores = [] | |
for store in stores: | |
store_name, address, hours = store | |
location = get_coords(address) | |
if location is None: | |
undecoded_stores.append(store) | |
continue | |
lat, lon = location.latitude, location.longitude | |
feature = Point((lon, lat)) | |
feature['properties'] = { | |
'name': store_name, | |
'address': address, | |
'hours': hours | |
} | |
decoded_stores.append(feature) | |
time.sleep(1) # Don't overload the API with calls | |
return undecoded_stores, FeatureCollection(decoded_stores) | |
def main(): | |
FILENAME = 'orca_locations.txt' | |
stores = parse_raw(FILENAME) | |
undecoded_stores, decoded_stores = convert_to_geojson(stores) | |
with open('stores.json', 'w') as f: | |
f.write(geojson.dumps(decoded_stores)) | |
with open('undecoded_stores.txt', 'w') as f: | |
for store, address, hours in undecoded_stores: | |
f.write(f'{store}|{address}|{hours}\n') | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment