Skip to content

Instantly share code, notes, and snippets.

@rzhade3
Created January 24, 2022 08:52
Show Gist options
  • Save rzhade3/0bdde47bd08c8305fa528a878fcc24ef to your computer and use it in GitHub Desktop.
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)
Display the source blob
Display the rendered blob
Raw
{"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."}}]}
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()
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