From 71df4d3e816b4b8fa61922b40d5631cb8b2c47ea Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Wed, 14 Mar 2018 16:35:59 -0700 Subject: [PATCH 01/11] Always include tile and layer in tippecanoe-decode, fixing corrupt JSON. --- CHANGELOG.md | 4 + Makefile | 3 +- README.md | 2 +- decode.cpp | 16 +- man/tippecanoe.1 | 2 +- tests/muni/decode/multi.mbtiles.onetile.json | 8613 ++++++++++++++++++ version.hpp | 2 +- 7 files changed, 8630 insertions(+), 12 deletions(-) create mode 100644 tests/muni/decode/multi.mbtiles.onetile.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a033c4b..9b9a86b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.27.11 + +* Always include tile and layer in tippecanoe-decode, fixing corrupt JSON. + ## 1.27.10 * Add --progress-interval setting to reduce progress indicator frequency diff --git a/Makefile b/Makefile index b8fcb3a..9e1bb64 100644 --- a/Makefile +++ b/Makefile @@ -143,9 +143,10 @@ decode-test: ./tippecanoe -z11 -Z11 -f -o tests/muni/decode/multi.mbtiles tests/muni/*.json ./tippecanoe-decode -l subway tests/muni/decode/multi.mbtiles > tests/muni/decode/multi.mbtiles.json.check ./tippecanoe-decode -c tests/muni/decode/multi.mbtiles > tests/muni/decode/multi.mbtiles.pipeline.json.check + ./tippecanoe-decode tests/muni/decode/multi.mbtiles 11 327 791 > tests/muni/decode/multi.mbtiles.onetile.json.check ./tippecanoe-decode --stats tests/muni/decode/multi.mbtiles > tests/muni/decode/multi.mbtiles.stats.json.check cmp tests/muni/decode/multi.mbtiles.json.check tests/muni/decode/multi.mbtiles.json - cmp tests/muni/decode/multi.mbtiles.pipeline.json.check tests/muni/decode/multi.mbtiles.pipeline.json + cmp tests/muni/decode/multi.mbtiles.onetile.json.check tests/muni/decode/multi.mbtiles.onetile.json cmp tests/muni/decode/multi.mbtiles.stats.json.check tests/muni/decode/multi.mbtiles.stats.json rm -f tests/muni/decode/multi.mbtiles.json.check tests/muni/decode/multi.mbtiles tests/muni/decode/multi.mbtiles.pipeline.json.check tests/muni/decode/multi.mbtiles.stats.json.check diff --git a/README.md b/README.md index 4ad3454..e3a002d 100644 --- a/README.md +++ b/README.md @@ -604,7 +604,7 @@ or on an individual tile: tippecanoe-decode file.mbtiles zoom x y tippecanoe-decode file.vector.pbf zoom x y -If you decode an entire file, you get a nested `FeatureCollection` identifying each +Unless you use `-c`, the output is a set of nested FeatureCollections identifying each tile and layer separately. Note that the same features generally appear at all zooms, so the output for the file will have many copies of the same features at different resolutions. diff --git a/decode.cpp b/decode.cpp index 261f306..8585afc 100644 --- a/decode.cpp +++ b/decode.cpp @@ -54,7 +54,7 @@ void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, u printf(" } }\n"); } -void handle(std::string message, int z, unsigned x, unsigned y, int describe, std::set const &to_decode, bool pipeline, bool stats) { +void handle(std::string message, int z, unsigned x, unsigned y, std::set const &to_decode, bool pipeline, bool stats) { mvt_tile tile; bool was_compressed; @@ -76,7 +76,7 @@ void handle(std::string message, int z, unsigned x, unsigned y, int describe, st if (!pipeline) { printf("{ \"type\": \"FeatureCollection\""); - if (describe) { + if (true) { printf(", \"properties\": { \"zoom\": %d, \"x\": %d, \"y\": %d", z, x, y); if (!was_compressed) { printf(", \"compressed\": false"); @@ -107,7 +107,7 @@ void handle(std::string message, int z, unsigned x, unsigned y, int describe, st } if (!pipeline) { - if (describe) { + if (true) { if (!first_layer) { printf(",\n"); } @@ -132,7 +132,7 @@ void handle(std::string message, int z, unsigned x, unsigned y, int describe, st layer_to_geojson(stdout, layer, z, x, y, !pipeline, pipeline, pipeline, false, 0, 0, 0, !force); if (!pipeline) { - if (describe) { + if (true) { printf("] }\n"); } } @@ -159,7 +159,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co if (strcmp(map, "SQLite format 3") != 0) { if (z >= 0) { std::string s = std::string(map, st.st_size); - handle(s, z, x, y, 1, to_decode, pipeline, stats); + handle(s, z, x, y, to_decode, pipeline, stats); munmap(map, st.st_size); return; } else { @@ -269,7 +269,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co } fclose(f); - handle(s, tiles[i].z, tiles[i].x, tiles[i].y, 1, to_decode, pipeline, stats); + handle(s, tiles[i].z, tiles[i].x, tiles[i].y, to_decode, pipeline, stats); } } else { const char *sql = "SELECT tile_data, zoom_level, tile_column, tile_row from tiles where zoom_level between ? and ? order by zoom_level, tile_column, tile_row;"; @@ -310,7 +310,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co ty = (1LL << tz) - 1 - ty; const char *s = (const char *) sqlite3_column_blob(stmt, 0); - handle(std::string(s, len), tz, tx, ty, 1, to_decode, pipeline, stats); + handle(std::string(s, len), tz, tx, ty, to_decode, pipeline, stats); } sqlite3_finalize(stmt); @@ -344,7 +344,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co fprintf(stderr, "%s: Warning: using tile %d/%u/%u instead of %d/%u/%u\n", fname, z, x, y, oz, ox, oy); } - handle(std::string(s, len), z, x, y, 0, to_decode, pipeline, stats); + handle(std::string(s, len), z, x, y, to_decode, pipeline, stats); handled = 1; } diff --git a/man/tippecanoe.1 b/man/tippecanoe.1 index acfe237..63e4abf 100644 --- a/man/tippecanoe.1 +++ b/man/tippecanoe.1 @@ -723,7 +723,7 @@ tippecanoe\-decode file.vector.pbf zoom x y .fi .RE .PP -If you decode an entire file, you get a nested \fB\fCFeatureCollection\fR identifying each +Unless you use \fB\fC\-c\fR, the output is a set of nested FeatureCollections identifying each tile and layer separately. Note that the same features generally appear at all zooms, so the output for the file will have many copies of the same features at different resolutions. diff --git a/tests/muni/decode/multi.mbtiles.onetile.json b/tests/muni/decode/multi.mbtiles.onetile.json new file mode 100644 index 0000000..c5d262e --- /dev/null +++ b/tests/muni/decode/multi.mbtiles.onetile.json @@ -0,0 +1,8613 @@ +{ "type": "FeatureCollection", "properties": { "zoom": 11, "x": 327, "y": 791 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "muni", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "name": "BUNKER RD/Stables" }, "geometry": { "type": "Point", "coordinates": [ -122.515411, 37.831751 ] } } +, +{ "type": "Feature", "properties": { "name": "BUNKER RD/Stables" }, "geometry": { "type": "Point", "coordinates": [ -122.514982, 37.831819 ] } } +, +{ "type": "Feature", "properties": { "name": "BUNKER RD/Rifle Range" }, "geometry": { "type": "Point", "coordinates": [ -122.508845, 37.833039 ] } } +, +{ "type": "Feature", "properties": { "name": "BUNKER RD/Rifle Range" }, "geometry": { "type": "Point", "coordinates": [ -122.508759, 37.832972 ] } } +, +{ "type": "Feature", "properties": { "name": "Mccullough Rd & Bunker Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.502451, 37.836124 ] } } +, +{ "type": "Feature", "properties": { "name": "Mccullough Rd & Bunker Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.502151, 37.836463 ] } } +, +{ "type": "Feature", "properties": { "name": "Mccullough Rd & Conzelman Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.494040, 37.833887 ] } } +, +{ "type": "Feature", "properties": { "name": " Conzelman Rd & Mccullough Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.493825, 37.833717 ] } } +, +{ "type": "Feature", "properties": { "name": "Mccullough Rd & Conzelman Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.494040, 37.833616 ] } } +, +{ "type": "Feature", "properties": { "name": "Conzelman Rd & Mccullough Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.493911, 37.833616 ] } } +, +{ "type": "Feature", "properties": { "name": "US101 Offramp/Sausalito Lateral Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.483869, 37.835920 ] } } +, +{ "type": "Feature", "properties": { "name": "Alexander Dr & Conzelman Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.483397, 37.833175 ] } } +, +{ "type": "Feature", "properties": { "name": "Conzelman Rd/GGNRA entrance sign" }, "geometry": { "type": "Point", "coordinates": [ -122.483568, 37.833107 ] } } +, +{ "type": "Feature", "properties": { "name": "Conzelman Rd/GGNRA entrance sign" }, "geometry": { "type": "Point", "coordinates": [ -122.483311, 37.832870 ] } } +, +{ "type": "Feature", "properties": { "name": "CONZELMAN RD/Kirby Cove" }, "geometry": { "type": "Point", "coordinates": [ -122.484040, 37.829548 ] } } +, +{ "type": "Feature", "properties": { "name": "CONZELMAN RD/Kirby Cove" }, "geometry": { "type": "Point", "coordinates": [ -122.483568, 37.829446 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Br Tunnel/Merchant Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.475886, 37.806699 ] } } +, +{ "type": "Feature", "properties": { "name": "Merchant St & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.475886, 37.803986 ] } } +, +{ "type": "Feature", "properties": { "name": "Merchant St & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.476015, 37.803782 ] } } +, +{ "type": "Feature", "properties": { "name": "Bowley St & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.481208, 37.792253 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Bowley Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.482624, 37.788488 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Bowley St" }, "geometry": { "type": "Point", "coordinates": [ -122.482495, 37.788421 ] } } +, +{ "type": "Feature", "properties": { "name": "BOWLEY ST & GIBSON RD" }, "geometry": { "type": "Point", "coordinates": [ -122.482281, 37.790252 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Stillwell Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.480521, 37.793575 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Pershing Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.480950, 37.792321 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Pershing Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.480993, 37.792117 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Bridge/Parking Lot" }, "geometry": { "type": "Point", "coordinates": [ -122.475028, 37.807580 ] } } +, +{ "type": "Feature", "properties": { "name": "GOLDEN GATE BRIDGE/TOLL PLAZA" }, "geometry": { "type": "Point", "coordinates": [ -122.475243, 37.807241 ] } } +, +{ "type": "Feature", "properties": { "name": "GOLDEN GATE BRIDGE/TOLL PLAZA" }, "geometry": { "type": "Point", "coordinates": [ -122.475071, 37.806597 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Bridge/Parking Lot" }, "geometry": { "type": "Point", "coordinates": [ -122.474899, 37.807478 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Br Tunnel/Merchant Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.475586, 37.806088 ] } } +, +{ "type": "Feature", "properties": { "name": "957 Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472239, 37.806936 ] } } +, +{ "type": "Feature", "properties": { "name": "957 Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472153, 37.806732 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Cowles St" }, "geometry": { "type": "Point", "coordinates": [ -122.469063, 37.801816 ] } } +, +{ "type": "Feature", "properties": { "name": "MASON ST (PRESIDIO)/Bldg B650" }, "geometry": { "type": "Point", "coordinates": [ -122.466831, 37.803477 ] } } +, +{ "type": "Feature", "properties": { "name": "MASON ST (PRESIDIO)/Bldg B650" }, "geometry": { "type": "Point", "coordinates": [ -122.466617, 37.803613 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcdowell Ave & Cowles St" }, "geometry": { "type": "Point", "coordinates": [ -122.467089, 37.801816 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcdowell Ave & Cowles St" }, "geometry": { "type": "Point", "coordinates": [ -122.466960, 37.801612 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Storey Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469277, 37.801036 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcdowell Ave & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.467346, 37.799849 ] } } +, +{ "type": "Feature", "properties": { "name": "MASON ST (PRESIDIO)/Bldg B639" }, "geometry": { "type": "Point", "coordinates": [ -122.462239, 37.803070 ] } } +, +{ "type": "Feature", "properties": { "name": "MASON ST (PRESIDIO)/Bldg B639" }, "geometry": { "type": "Point", "coordinates": [ -122.462239, 37.802935 ] } } +, +{ "type": "Feature", "properties": { "name": "Montgomery St (Presidio)/Bldg 102" }, "geometry": { "type": "Point", "coordinates": [ -122.459149, 37.800154 ] } } +, +{ "type": "Feature", "properties": { "name": "Montgomery St & Moraga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460394, 37.798560 ] } } +, +{ "type": "Feature", "properties": { "name": "Moraga Ave & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.460265, 37.798459 ] } } +, +{ "type": "Feature", "properties": { "name": "Moraga Ave & Graham St" }, "geometry": { "type": "Point", "coordinates": [ -122.459235, 37.797950 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St (Presidio)/Presidio Bank" }, "geometry": { "type": "Point", "coordinates": [ -122.458034, 37.803816 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St (Presidio)/Presidio Bank" }, "geometry": { "type": "Point", "coordinates": [ -122.457776, 37.803715 ] } } +, +{ "type": "Feature", "properties": { "name": "MASON ST (PRESIDIO)/PX" }, "geometry": { "type": "Point", "coordinates": [ -122.456832, 37.803918 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Anza St" }, "geometry": { "type": "Point", "coordinates": [ -122.456574, 37.801782 ] } } +, +{ "type": "Feature", "properties": { "name": "Anza Blvd & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.456789, 37.801646 ] } } +, +{ "type": "Feature", "properties": { "name": "Anza Blvd & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.456746, 37.801612 ] } } +, +{ "type": "Feature", "properties": { "name": "Graham St & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.456403, 37.801375 ] } } +, +{ "type": "Feature", "properties": { "name": "MASON ST (PRESIDIO)/PX" }, "geometry": { "type": "Point", "coordinates": [ -122.456317, 37.803884 ] } } +, +{ "type": "Feature", "properties": { "name": "Halleck St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.454557, 37.803715 ] } } +, +{ "type": "Feature", "properties": { "name": "Halleck St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.454386, 37.803782 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Transit Center" }, "geometry": { "type": "Point", "coordinates": [ -122.455759, 37.802324 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Transit Center NS-??/BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.455845, 37.802087 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Graham St" }, "geometry": { "type": "Point", "coordinates": [ -122.456360, 37.801612 ] } } +, +{ "type": "Feature", "properties": { "name": "Graham St & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.456145, 37.801443 ] } } +, +{ "type": "Feature", "properties": { "name": "220 Halleck St" }, "geometry": { "type": "Point", "coordinates": [ -122.454729, 37.801748 ] } } +, +{ "type": "Feature", "properties": { "name": "HALLECK ST/Army Headquarters" }, "geometry": { "type": "Point", "coordinates": [ -122.454515, 37.801884 ] } } +, +{ "type": "Feature", "properties": { "name": "Montgomery St (Presidio)/Bldg 102" }, "geometry": { "type": "Point", "coordinates": [ -122.459021, 37.800222 ] } } +, +{ "type": "Feature", "properties": { "name": "Graham St & Moraga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459064, 37.797916 ] } } +, +{ "type": "Feature", "properties": { "name": "Graham St & Moraga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458806, 37.797984 ] } } +, +{ "type": "Feature", "properties": { "name": "Moraga Ave & Graham St" }, "geometry": { "type": "Point", "coordinates": [ -122.458978, 37.797747 ] } } +, +{ "type": "Feature", "properties": { "name": "Halleck St & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.454901, 37.801104 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Halleck St" }, "geometry": { "type": "Point", "coordinates": [ -122.454772, 37.801036 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Girard Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.454128, 37.800765 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd&Girard Rd NW-FS/SB" }, "geometry": { "type": "Point", "coordinates": [ -122.454042, 37.800731 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Blvd & Girard Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.453957, 37.800561 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456317, 37.798425 ] } } +, +{ "type": "Feature", "properties": { "name": "Funston Ave & Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.456360, 37.798289 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Barnard Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.455115, 37.798255 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Barnard Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.455029, 37.798187 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio YMCA Center N-MB/SB" }, "geometry": { "type": "Point", "coordinates": [ -122.453442, 37.800358 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Letterman Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.452927, 37.799137 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Lincoln Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.452669, 37.799103 ] } } +, +{ "type": "Feature", "properties": { "name": "PresidioBlvd&Letterman Dr.SE-NS/SB" }, "geometry": { "type": "Point", "coordinates": [ -122.452455, 37.799137 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Letterman Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.452540, 37.799069 ] } } +, +{ "type": "Feature", "properties": { "name": "LETTERMAN DR/Tides Bldg" }, "geometry": { "type": "Point", "coordinates": [ -122.451854, 37.799408 ] } } +, +{ "type": "Feature", "properties": { "name": "LETTERMAN DR & LINCOLN BLVD" }, "geometry": { "type": "Point", "coordinates": [ -122.451725, 37.799239 ] } } +, +{ "type": "Feature", "properties": { "name": "LETTERMAN HOSPITAL" }, "geometry": { "type": "Point", "coordinates": [ -122.450094, 37.798187 ] } } +, +{ "type": "Feature", "properties": { "name": "LETTERMAN DR & LOMBARD ST" }, "geometry": { "type": "Point", "coordinates": [ -122.450137, 37.798086 ] } } +, +{ "type": "Feature", "properties": { "name": "Broderick St & Jefferson St" }, "geometry": { "type": "Point", "coordinates": [ -122.445374, 37.804359 ] } } +, +{ "type": "Feature", "properties": { "name": "Broderick St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.445245, 37.803647 ] } } +, +{ "type": "Feature", "properties": { "name": "Broderick St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.445202, 37.803443 ] } } +, +{ "type": "Feature", "properties": { "name": "Jefferson St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.443914, 37.804562 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.443700, 37.803782 ] } } +, +{ "type": "Feature", "properties": { "name": "Beach St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.443700, 37.803647 ] } } +, +{ "type": "Feature", "properties": { "name": "Beach St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.443442, 37.803681 ] } } +, +{ "type": "Feature", "properties": { "name": "Broderick St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.444987, 37.802494 ] } } +, +{ "type": "Feature", "properties": { "name": "Broderick St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.444816, 37.801545 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.443528, 37.802867 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.443314, 37.802867 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.443357, 37.801918 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.443357, 37.801918 ] } } +, +{ "type": "Feature", "properties": { "name": "Richardson Ave & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.447476, 37.800426 ] } } +, +{ "type": "Feature", "properties": { "name": "Richardson Ave & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.446961, 37.800358 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.447176, 37.798560 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.447176, 37.798425 ] } } +, +{ "type": "Feature", "properties": { "name": "Lyon St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.447219, 37.797170 ] } } +, +{ "type": "Feature", "properties": { "name": "Baker St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.445717, 37.797611 ] } } +, +{ "type": "Feature", "properties": { "name": "Broderick St & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.444644, 37.800629 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Broderick St" }, "geometry": { "type": "Point", "coordinates": [ -122.444429, 37.799849 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.443142, 37.801002 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.442970, 37.800052 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.442756, 37.800052 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.442884, 37.799103 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard & Richardson Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445116, 37.798696 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.442756, 37.798900 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Sumner Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.451725, 37.796729 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Blvd & Simonds Loop" }, "geometry": { "type": "Point", "coordinates": [ -122.451553, 37.796492 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.445545, 37.795780 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.446704, 37.795610 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.445331, 37.795915 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.447648, 37.790930 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447391, 37.790930 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.447433, 37.790727 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.447262, 37.789201 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.447047, 37.788997 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447047, 37.788115 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.444386, 37.791303 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.444258, 37.791202 ] } } +, +{ "type": "Feature", "properties": { "name": "Beach St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.442584, 37.803782 ] } } +, +{ "type": "Feature", "properties": { "name": "Scott St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.441854, 37.803104 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Jefferson St" }, "geometry": { "type": "Point", "coordinates": [ -122.437391, 37.805444 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.441297, 37.800120 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.441125, 37.800290 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.439709, 37.800459 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.439365, 37.800392 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.439451, 37.799306 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.439194, 37.799544 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Mallorca Way" }, "geometry": { "type": "Point", "coordinates": [ -122.437477, 37.800731 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & STEINER ST" }, "geometry": { "type": "Point", "coordinates": [ -122.437177, 37.796899 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.437177, 37.796899 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.437134, 37.804427 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.436962, 37.804461 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.436833, 37.803579 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Cervantes Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.436833, 37.802833 ] } } +, +{ "type": "Feature", "properties": { "name": "BATTERY St & GREENWICH St" }, "geometry": { "type": "Point", "coordinates": [ -122.436705, 37.802630 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.436533, 37.802426 ] } } +, +{ "type": "Feature", "properties": { "name": "BAY St & WEBSTER St" }, "geometry": { "type": "Point", "coordinates": [ -122.435203, 37.802765 ] } } +, +{ "type": "Feature", "properties": { "name": "Fort Mason access road/Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.433615, 37.805444 ] } } +, +{ "type": "Feature", "properties": { "name": "Buchanan St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.433658, 37.804901 ] } } +, +{ "type": "Feature", "properties": { "name": "Buchanan St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.433357, 37.803443 ] } } +, +{ "type": "Feature", "properties": { "name": "FORT MASON/Bus isl nr guard gate" }, "geometry": { "type": "Point", "coordinates": [ -122.432113, 37.805308 ] } } +, +{ "type": "Feature", "properties": { "name": "Marina Blvd & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.432241, 37.805139 ] } } +, +{ "type": "Feature", "properties": { "name": "Marina Blvd & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.432199, 37.805139 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.433100, 37.801172 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.432885, 37.801341 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.436490, 37.800900 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.436233, 37.801104 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.436190, 37.800934 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.436404, 37.800765 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.436147, 37.799713 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.435975, 37.799883 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.435975, 37.799713 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.436061, 37.799612 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.435632, 37.800866 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.434731, 37.800968 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.434516, 37.801104 ] } } +, +{ "type": "Feature", "properties": { "name": "Webster St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.434516, 37.800968 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.437091, 37.796797 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.435503, 37.797407 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.435675, 37.797136 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.435589, 37.797001 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.435331, 37.797068 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.432628, 37.797543 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.432113, 37.797611 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.432327, 37.797441 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.442026, 37.796322 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.442198, 37.796187 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.438893, 37.796594 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.438722, 37.796763 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.437177, 37.796628 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.441339, 37.791575 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.441082, 37.791541 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.440910, 37.791744 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.440910, 37.789981 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.440782, 37.789981 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.440910, 37.788115 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.440395, 37.788217 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.439280, 37.791948 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.439623, 37.791778 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.437520, 37.788522 ] } } +, +{ "type": "Feature", "properties": { "name": "Green St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.436833, 37.796017 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.437048, 37.795949 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.436876, 37.795881 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.436790, 37.794898 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.436705, 37.794932 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.436447, 37.794152 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.436318, 37.794084 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.434859, 37.794186 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.434902, 37.793813 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.434559, 37.792762 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.434688, 37.792558 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.433400, 37.792694 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.433057, 37.792728 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.432842, 37.792762 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.436361, 37.792219 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.436147, 37.792355 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.436147, 37.791473 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.434645, 37.792388 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.434516, 37.791507 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.436833, 37.788488 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.435589, 37.789336 ] } } +, +{ "type": "Feature", "properties": { "name": "Steiner St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.435589, 37.788861 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.435117, 37.788794 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.432842, 37.791744 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.434344, 37.789845 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.434130, 37.789947 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.433958, 37.789777 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.434044, 37.789608 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.433701, 37.789845 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.434173, 37.788963 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.433958, 37.788794 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.432542, 37.790015 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.432241, 37.790116 ] } } +, +{ "type": "Feature", "properties": { "name": "48th Ave & Point Lobos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.509961, 37.779941 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & El Camino Del Mar" }, "geometry": { "type": "Point", "coordinates": [ -122.509918, 37.779907 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.509618, 37.779806 ] } } +, +{ "type": "Feature", "properties": { "name": "902 Point Lobos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.513008, 37.779127 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & Merrie Way" }, "geometry": { "type": "Point", "coordinates": [ -122.512064, 37.779059 ] } } +, +{ "type": "Feature", "properties": { "name": "48th Ave & Point Lobos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.509446, 37.779025 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & La Playa St" }, "geometry": { "type": "Point", "coordinates": [ -122.510347, 37.775192 ] } } +, +{ "type": "Feature", "properties": { "name": "La Playa St & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.510262, 37.775023 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & La Playa St" }, "geometry": { "type": "Point", "coordinates": [ -122.509961, 37.773327 ] } } +, +{ "type": "Feature", "properties": { "name": "La Playa St & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.510090, 37.773225 ] } } +, +{ "type": "Feature", "properties": { "name": "La Playa St & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.510004, 37.773225 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & La Playa St" }, "geometry": { "type": "Point", "coordinates": [ -122.509832, 37.773666 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & La Playa St" }, "geometry": { "type": "Point", "coordinates": [ -122.509918, 37.773225 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Great Hwy" }, "geometry": { "type": "Point", "coordinates": [ -122.510819, 37.771427 ] } } +, +{ "type": "Feature", "properties": { "name": "La Playa St & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.509875, 37.771699 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & La Playa St" }, "geometry": { "type": "Point", "coordinates": [ -122.509403, 37.771359 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 47th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.508502, 37.780009 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507472, 37.780043 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507429, 37.779941 ] } } +, +{ "type": "Feature", "properties": { "name": "V.A. Hospital" }, "geometry": { "type": "Point", "coordinates": [ -122.505541, 37.782146 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.504168, 37.781841 ] } } +, +{ "type": "Feature", "properties": { "name": "V.A. HOSPITAL" }, "geometry": { "type": "Point", "coordinates": [ -122.504125, 37.781841 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 44th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505240, 37.779772 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 44th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505026, 37.779840 ] } } +, +{ "type": "Feature", "properties": { "name": "43rd Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.504253, 37.781027 ] } } +, +{ "type": "Feature", "properties": { "name": "43rd Ave & Point Lobos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.504168, 37.779806 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 42nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503095, 37.779568 ] } } +, +{ "type": "Feature", "properties": { "name": "LEGION OF HONOR" }, "geometry": { "type": "Point", "coordinates": [ -122.499704, 37.784995 ] } } +, +{ "type": "Feature", "properties": { "name": "LEGION OF HONOR" }, "geometry": { "type": "Point", "coordinates": [ -122.499619, 37.785029 ] } } +, +{ "type": "Feature", "properties": { "name": "42nd Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.503009, 37.781095 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 42nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502880, 37.779670 ] } } +, +{ "type": "Feature", "properties": { "name": "Point Lobos Ave & 42nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502880, 37.779670 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 39th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500691, 37.779500 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 45th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.506270, 37.779059 ] } } +, +{ "type": "Feature", "properties": { "name": "45th Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.505970, 37.775226 ] } } +, +{ "type": "Feature", "properties": { "name": "45th Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.505798, 37.775260 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503867, 37.775362 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503653, 37.775498 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & 47th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507987, 37.773293 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & 47th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507772, 37.773429 ] } } +, +{ "type": "Feature", "properties": { "name": "45th Ave & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.505841, 37.773564 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507043, 37.771597 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.506313, 37.771495 ] } } +, +{ "type": "Feature", "properties": { "name": "45th Ave & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.505713, 37.773598 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503653, 37.771597 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St t& 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503567, 37.771766 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503309, 37.771631 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503095, 37.771800 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 42nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502794, 37.779161 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500434, 37.775667 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500648, 37.775532 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 39th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499833, 37.779297 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500348, 37.771902 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500091, 37.771902 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499919, 37.771800 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 38th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.497988, 37.772004 ] } } +, +{ "type": "Feature", "properties": { "name": "GREAT HWY/near Beach Chalet" }, "geometry": { "type": "Point", "coordinates": [ -122.510304, 37.767899 ] } } +, +{ "type": "Feature", "properties": { "name": "GREAT HWY/near Beach Chalet" }, "geometry": { "type": "Point", "coordinates": [ -122.510476, 37.767390 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & Great Hwy" }, "geometry": { "type": "Point", "coordinates": [ -122.510090, 37.764133 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & La Playa St" }, "geometry": { "type": "Point", "coordinates": [ -122.509575, 37.763930 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah/La Playa/Ocean Beach" }, "geometry": { "type": "Point", "coordinates": [ -122.509232, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah/La Playa/Ocean Beach" }, "geometry": { "type": "Point", "coordinates": [ -122.509103, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah/La Playa/Ocean Beach" }, "geometry": { "type": "Point", "coordinates": [ -122.509017, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah/La Playa/Ocean Beach" }, "geometry": { "type": "Point", "coordinates": [ -122.508802, 37.760198 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 47th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507429, 37.764201 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.506270, 37.764065 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.506142, 37.764065 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.506185, 37.762403 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.506013, 37.762233 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.508459, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.508159, 37.760300 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.508073, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "48th Ave & Juda St" }, "geometry": { "type": "Point", "coordinates": [ -122.508030, 37.760300 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.506056, 37.760537 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505841, 37.760503 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505841, 37.760503 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.506099, 37.760401 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.506056, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.505884, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.505927, 37.758671 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.505755, 37.758501 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.505755, 37.756805 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.505584, 37.756635 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.505627, 37.754939 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.505455, 37.754769 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502880, 37.760537 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502880, 37.760503 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502623, 37.760673 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502580, 37.760605 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499404, 37.760775 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499361, 37.760775 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499189, 37.760707 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499146, 37.760673 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 36th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.496657, 37.779466 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 36th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.496443, 37.779704 ] } } +, +{ "type": "Feature", "properties": { "name": "Legion Of Honor Dr & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.494640, 37.781671 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & Legion Of Honor Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.494426, 37.781671 ] } } +, +{ "type": "Feature", "properties": { "name": "32nd Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.492580, 37.783435 ] } } +, +{ "type": "Feature", "properties": { "name": "32nd Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.492452, 37.783435 ] } } +, +{ "type": "Feature", "properties": { "name": "32nd Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.492452, 37.781807 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492537, 37.781603 ] } } +, +{ "type": "Feature", "properties": { "name": "32nd Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.492366, 37.782010 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492237, 37.781773 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.493525, 37.781535 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493482, 37.779806 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.493396, 37.781569 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493396, 37.779840 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493310, 37.779704 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493267, 37.779840 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493267, 37.779772 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493439, 37.779602 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493396, 37.779568 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493224, 37.779568 ] } } +, +{ "type": "Feature", "properties": { "name": "32nd Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.492323, 37.779941 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.488074, 37.783808 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.491465, 37.781671 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490520, 37.783672 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490091, 37.783604 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490649, 37.781841 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.491980, 37.779636 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.490091, 37.780789 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490220, 37.779738 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490005, 37.779975 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.488461, 37.783672 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 29th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489061, 37.781909 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 29th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489319, 37.781773 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 27th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487173, 37.781875 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 27th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486916, 37.782010 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.488074, 37.779873 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487817, 37.780009 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 37th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.497430, 37.775667 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 37th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.497215, 37.775803 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Anza St" }, "geometry": { "type": "Point", "coordinates": [ -122.493267, 37.777872 ] } } +, +{ "type": "Feature", "properties": { "name": "Anza St & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493052, 37.777872 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Anza St" }, "geometry": { "type": "Point", "coordinates": [ -122.493095, 37.777703 ] } } +, +{ "type": "Feature", "properties": { "name": "Anza St&32 AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.492194, 37.777770 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 35th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.494597, 37.775905 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.494211, 37.775803 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.493138, 37.776007 ] } } +, +{ "type": "Feature", "properties": { "name": "33rd Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.493010, 37.776040 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 37th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.496829, 37.771936 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 36th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.496357, 37.772106 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 36th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.495584, 37.772004 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493181, 37.772241 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492881, 37.772106 ] } } +, +{ "type": "Feature", "properties": { "name": "32ND AVE & ANZA St" }, "geometry": { "type": "Point", "coordinates": [ -122.492023, 37.777770 ] } } +, +{ "type": "Feature", "properties": { "name": "32nd Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.491980, 37.776685 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492065, 37.775905 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.491851, 37.776040 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489963, 37.776142 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489920, 37.776007 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487559, 37.776244 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487774, 37.776108 ] } } +, +{ "type": "Feature", "properties": { "name": "FULTON ST & 31ST AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.490735, 37.772207 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton S t& 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489662, 37.772377 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489448, 37.772411 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489190, 37.772241 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton S t& 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487516, 37.772479 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487302, 37.772513 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487173, 37.772377 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & El Camino Del Mar" }, "geometry": { "type": "Point", "coordinates": [ -122.485371, 37.787369 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & El Camino Del Mar" }, "geometry": { "type": "Point", "coordinates": [ -122.485156, 37.787539 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Lake St" }, "geometry": { "type": "Point", "coordinates": [ -122.485242, 37.785877 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485328, 37.783842 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Lake St" }, "geometry": { "type": "Point", "coordinates": [ -122.485070, 37.785707 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.485113, 37.784011 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484856, 37.783978 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.484856, 37.783808 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481894, 37.783944 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481680, 37.784113 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485242, 37.782078 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.484984, 37.782180 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.484727, 37.781976 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484512, 37.781976 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.484856, 37.780280 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484641, 37.780247 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484856, 37.780009 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.484641, 37.779941 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 24th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483697, 37.782146 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481809, 37.782112 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481551, 37.782248 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.482710, 37.780111 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481422, 37.780348 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.478719, 37.784113 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.478461, 37.784249 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479877, 37.782316 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479148, 37.782248 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479491, 37.780247 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479277, 37.780484 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 18th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477517, 37.782316 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476745, 37.782451 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476058, 37.780620 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476273, 37.780382 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Anza St" }, "geometry": { "type": "Point", "coordinates": [ -122.484727, 37.778313 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Anza St" }, "geometry": { "type": "Point", "coordinates": [ -122.484512, 37.778076 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.484598, 37.776448 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484641, 37.776380 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.484384, 37.776210 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484298, 37.776244 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.482195, 37.776481 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.482452, 37.776346 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.484426, 37.774582 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.484255, 37.774344 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484555, 37.772614 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Ave & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.484298, 37.772716 ] } } +, +{ "type": "Feature", "properties": { "name": "Cross Over Dr & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.484083, 37.772377 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483826, 37.772513 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481380, 37.772784 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 21st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.480307, 37.776448 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 21st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.480092, 37.776583 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.478161, 37.776549 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477946, 37.776685 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475801, 37.776787 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476015, 37.776651 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.480650, 37.772682 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479191, 37.772886 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.478461, 37.772750 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 18th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476788, 37.772988 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 18th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476830, 37.772852 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Park Presidio" }, "geometry": { "type": "Point", "coordinates": [ -122.476530, 37.772852 ] } } +, +{ "type": "Feature", "properties": { "name": "37th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.496657, 37.764371 ] } } +, +{ "type": "Feature", "properties": { "name": "36th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.495413, 37.764574 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.495799, 37.762641 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.495971, 37.762505 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 35th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.494726, 37.764778 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492580, 37.764846 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.491937, 37.764744 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490435, 37.764948 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.488718, 37.764914 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 29th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.488289, 37.765049 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.495885, 37.761012 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.495971, 37.760842 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.495971, 37.760808 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.495584, 37.760944 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.495670, 37.760775 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.495713, 37.759146 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.495542, 37.758909 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493224, 37.760978 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492967, 37.761080 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492967, 37.761046 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493181, 37.760910 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.495627, 37.757280 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.495413, 37.757042 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 38th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.496743, 37.753446 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.495499, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.495284, 37.755176 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.495327, 37.753548 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.495070, 37.753514 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492452, 37.753649 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492666, 37.753480 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489748, 37.761216 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489748, 37.761182 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489533, 37.761114 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489491, 37.761080 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486787, 37.761250 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486787, 37.761182 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.491636, 37.753514 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490306, 37.753751 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489491, 37.753615 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489233, 37.753785 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 29th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487345, 37.753717 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 27th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486143, 37.765151 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 27th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485542, 37.765049 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483997, 37.765253 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483397, 37.765117 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481852, 37.765355 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481637, 37.765219 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.481637, 37.765049 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.481508, 37.763149 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.480392, 37.765219 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 21st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479706, 37.765456 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 21st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479491, 37.765287 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.480307, 37.763692 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477775, 37.765524 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477646, 37.765558 ] } } +, +{ "type": "Feature", "properties": { "name": "LINC. WAY & 19TH AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.477431, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.477431, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "Cross Over Dr&Lincoln St" }, "geometry": { "type": "Point", "coordinates": [ -122.477260, 37.765558 ] } } +, +{ "type": "Feature", "properties": { "name": "LINCOLN WAY & 19TH AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.477217, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "19TH AVE & LINCOLN WAY" }, "geometry": { "type": "Point", "coordinates": [ -122.477217, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 19TH AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.477217, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.477217, 37.765219 ] } } +, +{ "type": "Feature", "properties": { "name": "19TH AVE & LINCOLN WAY" }, "geometry": { "type": "Point", "coordinates": [ -122.477217, 37.765185 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.477345, 37.763692 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.477045, 37.763455 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486529, 37.761351 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486529, 37.761317 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483568, 37.761385 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483568, 37.761351 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483311, 37.761453 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.481380, 37.761623 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481208, 37.761589 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481165, 37.761555 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.481251, 37.759757 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.481122, 37.757891 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486014, 37.753921 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 27th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485199, 37.753785 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 26th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483869, 37.753989 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 24th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.482796, 37.754057 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 25th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483053, 37.753887 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479877, 37.761555 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479835, 37.761521 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.480135, 37.761487 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.480006, 37.759621 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.479877, 37.757755 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477217, 37.761657 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477217, 37.761623 ] } } +, +{ "type": "Feature", "properties": { "name": "19 Ave & Juda St" }, "geometry": { "type": "Point", "coordinates": [ -122.477088, 37.761758 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.477131, 37.761419 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476873, 37.761792 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476830, 37.761758 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.476873, 37.761589 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.476745, 37.760164 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.476959, 37.759960 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.476788, 37.757891 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.476573, 37.757891 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.480993, 37.756025 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.479749, 37.755923 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.480865, 37.754158 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.480907, 37.753989 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.479620, 37.754362 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.476702, 37.756228 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.476444, 37.755991 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.476530, 37.753921 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.476315, 37.754124 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507858, 37.752937 ] } } +, +{ "type": "Feature", "properties": { "name": "47th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.506399, 37.752801 ] } } +, +{ "type": "Feature", "properties": { "name": "Ortega St & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507515, 37.750935 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505713, 37.753039 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505584, 37.752903 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.505498, 37.752869 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.505326, 37.752835 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 45th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.504468, 37.752937 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.505369, 37.751206 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 44th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503610, 37.753140 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.505198, 37.751037 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.505240, 37.749340 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.505069, 37.749170 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.507043, 37.747372 ] } } +, +{ "type": "Feature", "properties": { "name": "Lower Great Hwy & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.507558, 37.745472 ] } } +, +{ "type": "Feature", "properties": { "name": "Rivera St & 48th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.506742, 37.745370 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.505112, 37.747474 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.504897, 37.747440 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.504940, 37.747304 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.504983, 37.745607 ] } } +, +{ "type": "Feature", "properties": { "name": "Rivera St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505069, 37.745438 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.504811, 37.745438 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502322, 37.753039 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 42nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.501035, 37.753242 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 41st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500176, 37.753140 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.498889, 37.753344 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 39th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.498031, 37.753242 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 44th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503052, 37.747440 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.501979, 37.747575 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 41st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499833, 37.747542 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 41st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499533, 37.747711 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 39th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.497644, 37.747643 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.504854, 37.743741 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.504683, 37.743571 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.504725, 37.741874 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.504511, 37.741840 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.504554, 37.741705 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 46th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.504382, 37.741773 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.504597, 37.740008 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.504468, 37.738175 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.504425, 37.739838 ] } } +, +{ "type": "Feature", "properties": { "name": "Vicente St & 47th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505326, 37.738107 ] } } +, +{ "type": "Feature", "properties": { "name": "47th Ave & Wawona St" }, "geometry": { "type": "Point", "coordinates": [ -122.505369, 37.736037 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.504296, 37.738006 ] } } +, +{ "type": "Feature", "properties": { "name": "Wawona/46th Ave /SF Zoo" }, "geometry": { "type": "Point", "coordinates": [ -122.504382, 37.736139 ] } } +, +{ "type": "Feature", "properties": { "name": "46th Ave & Wawona St" }, "geometry": { "type": "Point", "coordinates": [ -122.504168, 37.736139 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 44th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502623, 37.741807 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 44th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502365, 37.741942 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 42nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500477, 37.741908 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 42nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500219, 37.742044 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.498331, 37.742010 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 40th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.498074, 37.742146 ] } } +, +{ "type": "Feature", "properties": { "name": "Great Hwy & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.506828, 37.735494 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 47th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505369, 37.735596 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 47th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.505369, 37.735562 ] } } +, +{ "type": "Feature", "properties": { "name": "SLOAT BLVD & 47TH AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.504940, 37.735426 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 45th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.503438, 37.735630 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 45th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.502794, 37.735392 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.501378, 37.735392 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 43rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.500777, 37.735019 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 41st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.499318, 37.734578 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 41st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.498975, 37.734136 ] } } +, +{ "type": "Feature", "properties": { "name": "Herbst Rd & Amory Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.501721, 37.730675 ] } } +, +{ "type": "Feature", "properties": { "name": "Armory Rd & Herbst Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.502322, 37.729758 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyline Blvd & Zoo Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.501721, 37.728231 ] } } +, +{ "type": "Feature", "properties": { "name": "Herbst Rd & Skyline Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.499232, 37.731625 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyline Blvd & Lake Merced Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.499232, 37.731150 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyline Blvd & Harding Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.502537, 37.726771 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyline Blvd & Harding Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.502451, 37.726398 ] } } +, +{ "type": "Feature", "properties": { "name": "John Muir Dr & Skyline Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.500048, 37.718998 ] } } +, +{ "type": "Feature", "properties": { "name": "John Muir Dr & Skyline Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.499919, 37.718760 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.495456, 37.753344 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.495155, 37.753310 ] } } +, +{ "type": "Feature", "properties": { "name": "37th AVE & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.495584, 37.751308 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.495027, 37.751817 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.495198, 37.751308 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.495070, 37.749815 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.494898, 37.749578 ] } } +, +{ "type": "Feature", "properties": { "name": "39th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.497430, 37.747643 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.494941, 37.747609 ] } } +, +{ "type": "Feature", "properties": { "name": "39th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.497473, 37.745981 ] } } +, +{ "type": "Feature", "properties": { "name": "39th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.497344, 37.745981 ] } } +, +{ "type": "Feature", "properties": { "name": "Rivera St & 37th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.495370, 37.745879 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.494769, 37.748084 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 36th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.494426, 37.747779 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 35th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493138, 37.747983 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 35th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493353, 37.747847 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.494812, 37.746082 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.494640, 37.745845 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.490993, 37.748051 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 33rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.491250, 37.747915 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489061, 37.748017 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 31st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.488847, 37.748152 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.487946, 37.748084 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.487817, 37.748017 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 29th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486959, 37.748152 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 29th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.486701, 37.748220 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.487817, 37.746388 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.487688, 37.746184 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.494683, 37.744250 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.494512, 37.744012 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.494555, 37.742349 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.494683, 37.742180 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.494640, 37.742146 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.494254, 37.742316 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & Sunset Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.494254, 37.742282 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.494383, 37.742112 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 35th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492967, 37.742248 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 35th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.492709, 37.742383 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.494426, 37.740144 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.494211, 37.740245 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.494297, 37.738650 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.494125, 37.738413 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Wawona St" }, "geometry": { "type": "Point", "coordinates": [ -122.494168, 37.736784 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Wawona St" }, "geometry": { "type": "Point", "coordinates": [ -122.493954, 37.736546 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489491, 37.742519 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 32nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.489791, 37.742383 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.487688, 37.744521 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.487602, 37.744284 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.487559, 37.742655 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487345, 37.742621 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487645, 37.742485 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.487431, 37.742417 ] } } +, +{ "type": "Feature", "properties": { "name": "30th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.487431, 37.740788 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487259, 37.740721 ] } } +, +{ "type": "Feature", "properties": { "name": "Vicente St & 30th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.487173, 37.738786 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485628, 37.748288 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485886, 37.748186 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 27th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484813, 37.748220 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 27th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.484598, 37.748322 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 26th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483482, 37.748390 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 26th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483482, 37.748288 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 24th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481337, 37.748492 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 24th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481594, 37.748390 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.476230, 37.752733 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.476401, 37.752089 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.476058, 37.750426 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.476273, 37.750222 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479191, 37.748560 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479448, 37.748458 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.476230, 37.748593 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475843, 37.748729 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.475929, 37.748560 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.476144, 37.748322 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.476015, 37.746490 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.475801, 37.746693 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.475672, 37.745268 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.475929, 37.745098 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485499, 37.742553 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 28th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485242, 37.742689 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 26th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483354, 37.742655 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 26th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483096, 37.742791 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 24th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.481208, 37.742757 ] } } +, +{ "type": "Feature", "properties": { "name": "29th Ave & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.486143, 37.738990 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.480478, 37.742892 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.478805, 37.742994 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 22nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.478461, 37.742892 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.475801, 37.743198 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475843, 37.742994 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.475629, 37.743028 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.475715, 37.741297 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 39th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.496786, 37.733933 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Skyline Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.496829, 37.733729 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyline Blvd & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.496872, 37.733627 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyline Blvd & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.496614, 37.733729 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyline Blvd & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.496657, 37.733559 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Yorba St" }, "geometry": { "type": "Point", "coordinates": [ -122.494082, 37.734815 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Yorba St" }, "geometry": { "type": "Point", "coordinates": [ -122.493825, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 36th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493653, 37.734069 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 37th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.494597, 37.733763 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 36th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493482, 37.733797 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493696, 37.733390 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493954, 37.732949 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493868, 37.732032 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.493653, 37.731862 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Lake Merced Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493525, 37.730369 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Blvd & Lake Merced Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.493696, 37.729826 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 34th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.491636, 37.734170 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Clearfield Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.491636, 37.733865 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Everglade Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.489705, 37.733967 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Constanso Way" }, "geometry": { "type": "Point", "coordinates": [ -122.489276, 37.734272 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & El Mirasol Pl" }, "geometry": { "type": "Point", "coordinates": [ -122.486272, 37.734408 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Sylvan Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.485843, 37.734136 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Vale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483997, 37.734510 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Forest View Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.483954, 37.734238 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Paraiso Pl" }, "geometry": { "type": "Point", "coordinates": [ -122.482238, 37.734578 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 26th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.482195, 37.734306 ] } } +, +{ "type": "Feature", "properties": { "name": "Lake Merced & Middlefield Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.486444, 37.729656 ] } } +, +{ "type": "Feature", "properties": { "name": "Lake Merced & Middlefield Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.486315, 37.729453 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & Crestlake Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.480092, 37.734680 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 23rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.479663, 37.734408 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 21st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477388, 37.734781 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 21st Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477260, 37.734510 ] } } +, +{ "type": "Feature", "properties": { "name": "Buckingham Way & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.479105, 37.728570 ] } } +, +{ "type": "Feature", "properties": { "name": "Buckingham Way & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.479148, 37.728061 ] } } +, +{ "type": "Feature", "properties": { "name": "Winston Dr & Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.478676, 37.728027 ] } } +, +{ "type": "Feature", "properties": { "name": "Winston Dr & Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.478504, 37.728061 ] } } +, +{ "type": "Feature", "properties": { "name": "20th Ave & Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.476058, 37.730030 ] } } +, +{ "type": "Feature", "properties": { "name": "20th Ave & Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.475886, 37.730437 ] } } +, +{ "type": "Feature", "properties": { "name": "20th Av/Macy's Stonestown" }, "geometry": { "type": "Point", "coordinates": [ -122.475801, 37.728808 ] } } +, +{ "type": "Feature", "properties": { "name": "20th Av/Macy's Stonestown" }, "geometry": { "type": "Point", "coordinates": [ -122.475715, 37.728876 ] } } +, +{ "type": "Feature", "properties": { "name": "Lake Merced Blvd/SFSU" }, "geometry": { "type": "Point", "coordinates": [ -122.484341, 37.726092 ] } } +, +{ "type": "Feature", "properties": { "name": "LAKE MERCED BLVD & Font DR" }, "geometry": { "type": "Point", "coordinates": [ -122.485199, 37.724123 ] } } +, +{ "type": "Feature", "properties": { "name": "Lake Merced Blvd & Font Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.484899, 37.724259 ] } } +, +{ "type": "Feature", "properties": { "name": "Winston Dr & Lake Merced Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.483311, 37.727145 ] } } +, +{ "type": "Feature", "properties": { "name": "Winston Dr & Lake Merced Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.483311, 37.727009 ] } } +, +{ "type": "Feature", "properties": { "name": "Lake Merced Blvd & Higuera Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485027, 37.718726 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Mary Ward Hall" }, "geometry": { "type": "Point", "coordinates": [ -122.483654, 37.722766 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Mary Ward Hall" }, "geometry": { "type": "Point", "coordinates": [ -122.483096, 37.722494 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Arballo Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.482581, 37.721849 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Arballo Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.482152, 37.721781 ] } } +, +{ "type": "Feature", "properties": { "name": "Arballo Dr & Pinto Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.483096, 37.720763 ] } } +, +{ "type": "Feature", "properties": { "name": "Arballo Dr & Acevedo Ave ." }, "geometry": { "type": "Point", "coordinates": [ -122.483139, 37.719914 ] } } +, +{ "type": "Feature", "properties": { "name": "Arballo Dr & Higuera Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.483225, 37.718624 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Tapia Dr NS/W/SB" }, "geometry": { "type": "Point", "coordinates": [ -122.481251, 37.720763 ] } } +, +{ "type": "Feature", "properties": { "name": "281 Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.480092, 37.727178 ] } } +, +{ "type": "Feature", "properties": { "name": "280 Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.480049, 37.726941 ] } } +, +{ "type": "Feature", "properties": { "name": "170 Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.478848, 37.725956 ] } } +, +{ "type": "Feature", "properties": { "name": "190 Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.478805, 37.725889 ] } } +, +{ "type": "Feature", "properties": { "name": "91 Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.477174, 37.725990 ] } } +, +{ "type": "Feature", "properties": { "name": "20th Ave & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.475972, 37.726907 ] } } +, +{ "type": "Feature", "properties": { "name": "Winston Dr & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475929, 37.727043 ] } } +, +{ "type": "Feature", "properties": { "name": "Winston Dr & 20th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475758, 37.726907 ] } } +, +{ "type": "Feature", "properties": { "name": "20th Ave & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.476144, 37.726364 ] } } +, +{ "type": "Feature", "properties": { "name": "90 Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.476873, 37.725990 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Tapia Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.480907, 37.720695 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Serrano Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.480006, 37.719643 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Serrano Dr NS/W-SB" }, "geometry": { "type": "Point", "coordinates": [ -122.479920, 37.719609 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Serrano Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.479620, 37.719609 ] } } +, +{ "type": "Feature", "properties": { "name": "Juan Bautista Cir & Font Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.478461, 37.718692 ] } } +, +{ "type": "Feature", "properties": { "name": "Crespi Dr & Varela Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475972, 37.720118 ] } } +, +{ "type": "Feature", "properties": { "name": "Gonzalez Dr & Cardenas Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475672, 37.719133 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475243, 37.784418 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475543, 37.784283 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.473269, 37.784520 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472796, 37.784385 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Presidio & California Street" }, "geometry": { "type": "Point", "coordinates": [ -122.472754, 37.784385 ] } } +, +{ "type": "Feature", "properties": { "name": "PARK PRESIDIO BLVD & California ST" }, "geometry": { "type": "Point", "coordinates": [ -122.472539, 37.784520 ] } } +, +{ "type": "Feature", "properties": { "name": "FUNSTON AVE & LAKE ST" }, "geometry": { "type": "Point", "coordinates": [ -122.472196, 37.784622 ] } } +, +{ "type": "Feature", "properties": { "name": "CALIFORNIA ST & FUNSTON AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.472153, 37.784554 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470865, 37.784588 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471123, 37.784486 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475371, 37.782417 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 15th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473998, 37.782587 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473140, 37.782519 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 14 Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473097, 37.782519 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471166, 37.782723 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470994, 37.782587 ] } } +, +{ "type": "Feature", "properties": { "name": "14th Avenue & Geary Boulevard" }, "geometry": { "type": "Point", "coordinates": [ -122.472839, 37.780721 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472711, 37.780552 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Presidio Blvd & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472239, 37.780789 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472453, 37.780687 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Presidio Blvd & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472453, 37.780586 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470822, 37.780620 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470608, 37.780857 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469192, 37.784690 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468977, 37.784554 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467046, 37.784758 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.466831, 37.784825 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466831, 37.784656 ] } } +, +{ "type": "Feature", "properties": { "name": "8th Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.466745, 37.784486 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464943, 37.785029 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464728, 37.784927 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465458, 37.784825 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469020, 37.782824 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468376, 37.782723 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467647, 37.780993 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466874, 37.782926 ] } } +, +{ "type": "Feature", "properties": { "name": "8th Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.466488, 37.783028 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466445, 37.782926 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466187, 37.782824 ] } } +, +{ "type": "Feature", "properties": { "name": "7th Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.465458, 37.783164 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464814, 37.783028 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467346, 37.780789 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.472711, 37.776787 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472453, 37.776821 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472239, 37.776922 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Presidio Blvd & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.471981, 37.776956 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.471981, 37.776922 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Presidio Blvd & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.472153, 37.776481 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470565, 37.776889 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470350, 37.777024 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474942, 37.773055 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474213, 37.772954 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472196, 37.773191 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Presidio Blvd & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.471938, 37.773293 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Park Presidio Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472024, 37.773055 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Presidio Blvd & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.471681, 37.773225 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470565, 37.773293 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468419, 37.776990 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468204, 37.777126 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466273, 37.777092 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466059, 37.777228 ] } } +, +{ "type": "Feature", "properties": { "name": "8th Ave & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.465930, 37.775192 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465029, 37.775294 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464857, 37.775396 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469835, 37.773191 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468419, 37.773361 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467647, 37.773259 ] } } +, +{ "type": "Feature", "properties": { "name": "8th Ave & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.466102, 37.775023 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466059, 37.773496 ] } } +, +{ "type": "Feature", "properties": { "name": "8th Ave & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.466016, 37.773496 ] } } +, +{ "type": "Feature", "properties": { "name": "8th Ave & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.465844, 37.773666 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 8th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465758, 37.773327 ] } } +, +{ "type": "Feature", "properties": { "name": "Cornwall St & 5th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463655, 37.784893 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Cornwall St" }, "geometry": { "type": "Point", "coordinates": [ -122.464514, 37.784690 ] } } +, +{ "type": "Feature", "properties": { "name": "Corwall St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464428, 37.784724 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.462583, 37.785199 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.462325, 37.785368 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.459321, 37.785707 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.459278, 37.785572 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.464385, 37.783231 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.464557, 37.783028 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464342, 37.782858 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.462583, 37.783096 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461982, 37.782994 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464170, 37.781162 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464385, 37.780925 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.464385, 37.780789 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.464213, 37.780891 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 2nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459836, 37.783096 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 3rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461166, 37.781061 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & 3rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460952, 37.781298 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Cherry St" }, "geometry": { "type": "Point", "coordinates": [ -122.456574, 37.786928 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Cherry St" }, "geometry": { "type": "Point", "coordinates": [ -122.456875, 37.786046 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.459064, 37.785673 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.459106, 37.785606 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458892, 37.783910 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Jordan Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456961, 37.783876 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Jordan Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456660, 37.784011 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Cherry St" }, "geometry": { "type": "Point", "coordinates": [ -122.456360, 37.785979 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Commonwealth St" }, "geometry": { "type": "Point", "coordinates": [ -122.456360, 37.785979 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Maple St" }, "geometry": { "type": "Point", "coordinates": [ -122.455244, 37.786250 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Parker Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.454772, 37.783978 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Parker Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.454515, 37.784147 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Spruce St" }, "geometry": { "type": "Point", "coordinates": [ -122.453742, 37.783978 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Euclid Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458978, 37.783740 ] } } +, +{ "type": "Feature", "properties": { "name": "ARGUELLO BLVD & EUCLID AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.459106, 37.783265 ] } } +, +{ "type": "Feature", "properties": { "name": "Clement St & 2nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459106, 37.783265 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Clement St" }, "geometry": { "type": "Point", "coordinates": [ -122.459106, 37.783096 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458806, 37.781875 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458978, 37.781434 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458763, 37.781400 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458720, 37.781162 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458763, 37.781095 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.456446, 37.781264 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Commonwealth St" }, "geometry": { "type": "Point", "coordinates": [ -122.455716, 37.781535 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Anza St" }, "geometry": { "type": "Point", "coordinates": [ -122.464256, 37.779195 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Anza St" }, "geometry": { "type": "Point", "coordinates": [ -122.464085, 37.779025 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464170, 37.777296 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461982, 37.777296 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.464128, 37.776990 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.463956, 37.777160 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463870, 37.777194 ] } } +, +{ "type": "Feature", "properties": { "name": "Cabrillo St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463999, 37.775464 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Cabrillo St" }, "geometry": { "type": "Point", "coordinates": [ -122.463827, 37.775633 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461767, 37.777397 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464128, 37.773700 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Fulton" }, "geometry": { "type": "Point", "coordinates": [ -122.463870, 37.773768 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Fulton" }, "geometry": { "type": "Point", "coordinates": [ -122.463870, 37.773768 ] } } +, +{ "type": "Feature", "properties": { "name": "6th Ave & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.463741, 37.773971 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463870, 37.773564 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461982, 37.773971 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461252, 37.773870 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458892, 37.777499 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Turk St" }, "geometry": { "type": "Point", "coordinates": [ -122.458549, 37.777499 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Balboa St" }, "geometry": { "type": "Point", "coordinates": [ -122.458677, 37.777092 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458205, 37.777160 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.455373, 37.777669 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.455072, 37.777567 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458549, 37.774378 ] } } +, +{ "type": "Feature", "properties": { "name": "Arguello Blvd & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.458334, 37.774446 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458034, 37.774311 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Stanyan StW" }, "geometry": { "type": "Point", "coordinates": [ -122.454858, 37.774819 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.454729, 37.774616 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.454557, 37.774785 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.454171, 37.772988 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.453914, 37.772920 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.454343, 37.772784 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.454214, 37.772852 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.453828, 37.770884 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475457, 37.765626 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475243, 37.765490 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 15th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473226, 37.765728 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 15th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473054, 37.765592 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471037, 37.765830 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470865, 37.765660 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470350, 37.762098 ] } } +, +{ "type": "Feature", "properties": { "name": "TEA GARDEN DR/DeYoung Museum" }, "geometry": { "type": "Point", "coordinates": [ -122.468934, 37.770545 ] } } +, +{ "type": "Feature", "properties": { "name": "CONCOURSE DR/Academy of Sciences" }, "geometry": { "type": "Point", "coordinates": [ -122.466187, 37.770443 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 11th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468891, 37.765931 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 11th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468719, 37.765762 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469363, 37.762098 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466788, 37.766033 ] } } +, +{ "type": "Feature", "properties": { "name": "LINCOLN&9AV(NEW STOP)" }, "geometry": { "type": "Point", "coordinates": [ -122.466359, 37.766033 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.466359, 37.765864 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466230, 37.765864 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Lincoln Way" }, "geometry": { "type": "Point", "coordinates": [ -122.466531, 37.765694 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.466273, 37.764303 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464643, 37.766101 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.466402, 37.763828 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466187, 37.764133 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St. & 9th Ave." }, "geometry": { "type": "Point", "coordinates": [ -122.466187, 37.764133 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave. & Irving St." }, "geometry": { "type": "Point", "coordinates": [ -122.466273, 37.763964 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Irving St" }, "geometry": { "type": "Point", "coordinates": [ -122.466273, 37.763930 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466702, 37.762233 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466316, 37.762166 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466316, 37.762132 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.466273, 37.762064 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Judah St" }, "geometry": { "type": "Point", "coordinates": [ -122.466102, 37.762098 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473783, 37.761928 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473698, 37.761928 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.473741, 37.759316 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Avenue at Lawton Street" }, "geometry": { "type": "Point", "coordinates": [ -122.473826, 37.758026 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.473698, 37.758128 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 15th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.472796, 37.761860 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 15th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.472796, 37.761826 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470608, 37.761962 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & Lomita Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.472711, 37.759180 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & Lomita Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.472281, 37.759146 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Lomita Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473526, 37.756975 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.473698, 37.756364 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.473612, 37.756330 ] } } +, +{ "type": "Feature", "properties": { "name": "Noriega St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473140, 37.755278 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.473226, 37.754260 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.472196, 37.754124 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469535, 37.761996 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469535, 37.761962 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470093, 37.758332 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470050, 37.758230 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & 11th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468162, 37.758264 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & 11th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467947, 37.758434 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.466187, 37.760435 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & KIRKHAM ST" }, "geometry": { "type": "Point", "coordinates": [ -122.466187, 37.760401 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Kirkham St" }, "geometry": { "type": "Point", "coordinates": [ -122.465973, 37.760266 ] } } +, +{ "type": "Feature", "properties": { "name": "9TH AVE & LAWTON ST" }, "geometry": { "type": "Point", "coordinates": [ -122.466059, 37.758569 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.466059, 37.758535 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466059, 37.758400 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465844, 37.758535 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.465844, 37.758366 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.465887, 37.756703 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Moraga St" }, "geometry": { "type": "Point", "coordinates": [ -122.465715, 37.756533 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.465758, 37.754837 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Noriega St" }, "geometry": { "type": "Point", "coordinates": [ -122.465587, 37.754667 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464042, 37.765965 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 5th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.462497, 37.766203 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 5th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461896, 37.766067 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464299, 37.764099 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464042, 37.764167 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464385, 37.762335 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464170, 37.762233 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 6th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.462883, 37.762403 ] } } +, +{ "type": "Feature", "properties": { "name": "Judah St & 5th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.462025, 37.762301 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461081, 37.764235 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460866, 37.764303 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & 3rd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460179, 37.766135 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460780, 37.762742 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & 4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460523, 37.762674 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave &4th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460952, 37.762539 ] } } +, +{ "type": "Feature", "properties": { "name": "513 Parnassus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459965, 37.762810 ] } } +, +{ "type": "Feature", "properties": { "name": "Lincoln Way & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.457991, 37.765999 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St & 2nd Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458677, 37.764473 ] } } +, +{ "type": "Feature", "properties": { "name": "Irving St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458034, 37.764371 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Arguello Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.457647, 37.766067 ] } } +, +{ "type": "Feature", "properties": { "name": "Carl St & Hillway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456574, 37.765015 ] } } +, +{ "type": "Feature", "properties": { "name": "Carl St & Hillway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456532, 37.764948 ] } } +, +{ "type": "Feature", "properties": { "name": "500 Parnassus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458763, 37.763319 ] } } +, +{ "type": "Feature", "properties": { "name": "513 Parnassus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458205, 37.763319 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Hillway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457004, 37.763828 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Hillway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456746, 37.763726 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Willard St" }, "geometry": { "type": "Point", "coordinates": [ -122.454944, 37.766237 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Willard St" }, "geometry": { "type": "Point", "coordinates": [ -122.454729, 37.766101 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Willard St" }, "geometry": { "type": "Point", "coordinates": [ -122.454557, 37.764371 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Willard St" }, "geometry": { "type": "Point", "coordinates": [ -122.454343, 37.764269 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464128, 37.758637 ] } } +, +{ "type": "Feature", "properties": { "name": "Lawton St & 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463913, 37.758501 ] } } +, +{ "type": "Feature", "properties": { "name": "7th Ave & Lawton St" }, "geometry": { "type": "Point", "coordinates": [ -122.463870, 37.758434 ] } } +, +{ "type": "Feature", "properties": { "name": "Warren Dr & Locksley Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463140, 37.758705 ] } } +, +{ "type": "Feature", "properties": { "name": "455 Warren Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.461939, 37.757755 ] } } +, +{ "type": "Feature", "properties": { "name": "1697 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463613, 37.756771 ] } } +, +{ "type": "Feature", "properties": { "name": "1697 7th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463741, 37.756601 ] } } +, +{ "type": "Feature", "properties": { "name": "1798 Laguna Honda Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.463827, 37.754667 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Noriega StE" }, "geometry": { "type": "Point", "coordinates": [ -122.463570, 37.754905 ] } } +, +{ "type": "Feature", "properties": { "name": "400 Warren Dr E" }, "geometry": { "type": "Point", "coordinates": [ -122.461510, 37.756941 ] } } +, +{ "type": "Feature", "properties": { "name": "345 Warren Dr E" }, "geometry": { "type": "Point", "coordinates": [ -122.461338, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "Warren Dr & Devonshire Way" }, "geometry": { "type": "Point", "coordinates": [ -122.461123, 37.754498 ] } } +, +{ "type": "Feature", "properties": { "name": "Warren Dr & Christopher Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.460008, 37.753785 ] } } +, +{ "type": "Feature", "properties": { "name": "117 Warren Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.457991, 37.753683 ] } } +, +{ "type": "Feature", "properties": { "name": "Warren Dr & Oakpark Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.456360, 37.755346 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakpark Dr & Forest Knolls Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.455416, 37.755312 ] } } +, +{ "type": "Feature", "properties": { "name": "Clarendon Ave & Panorama Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.455544, 37.753683 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Spruce St" }, "geometry": { "type": "Point", "coordinates": [ -122.453313, 37.786521 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Spruce St" }, "geometry": { "type": "Point", "coordinates": [ -122.453527, 37.786352 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Spruce St" }, "geometry": { "type": "Point", "coordinates": [ -122.453527, 37.784113 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Iris Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.451982, 37.784045 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Iris Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.451768, 37.784215 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Laurel St" }, "geometry": { "type": "Point", "coordinates": [ -122.450266, 37.786725 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Laurel St" }, "geometry": { "type": "Point", "coordinates": [ -122.449965, 37.786928 ] } } +, +{ "type": "Feature", "properties": { "name": "Walnut St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.448549, 37.787505 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Collins St" }, "geometry": { "type": "Point", "coordinates": [ -122.450309, 37.784385 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Collins St" }, "geometry": { "type": "Point", "coordinates": [ -122.449923, 37.784622 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448292, 37.784995 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Spruce St" }, "geometry": { "type": "Point", "coordinates": [ -122.453098, 37.781875 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Spruce St" }, "geometry": { "type": "Point", "coordinates": [ -122.453270, 37.781603 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Collins St" }, "geometry": { "type": "Point", "coordinates": [ -122.450008, 37.782248 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Collins St" }, "geometry": { "type": "Point", "coordinates": [ -122.449923, 37.782044 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Walnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.447991, 37.788047 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.446918, 37.787369 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447004, 37.787267 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447004, 37.787200 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.446790, 37.786352 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.446747, 37.787403 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.446532, 37.786250 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446747, 37.785402 ] } } +, +{ "type": "Feature", "properties": { "name": "Euclid Ave & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.785266 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.446318, 37.784418 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.446232, 37.784554 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446189, 37.784385 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.443657, 37.787742 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.443399, 37.787640 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.443099, 37.784893 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.443314, 37.784792 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.447605, 37.782146 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447305, 37.782180 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.447305, 37.782146 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446833, 37.782519 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.445931, 37.782689 ] } } +, +{ "type": "Feature", "properties": { "name": "Presidio Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.445803, 37.782723 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Presidio Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445974, 37.782349 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.442970, 37.782994 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Parker Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453313, 37.777906 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Parker Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453485, 37.777770 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Chabot Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.451725, 37.778110 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Chabot Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.451382, 37.778042 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Roselyn Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.449665, 37.778381 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Roselyn Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.449622, 37.778245 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.450094, 37.775430 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.449322, 37.775396 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Parker Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453270, 37.775023 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton Street & Shrader Street" }, "geometry": { "type": "Point", "coordinates": [ -122.453141, 37.774921 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Shrader St" }, "geometry": { "type": "Point", "coordinates": [ -122.452412, 37.775023 ] } } +, +{ "type": "Feature", "properties": { "name": "Shrader St & Grove St" }, "geometry": { "type": "Point", "coordinates": [ -122.452884, 37.774039 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Shrader St" }, "geometry": { "type": "Point", "coordinates": [ -122.452798, 37.773055 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Shrader St" }, "geometry": { "type": "Point", "coordinates": [ -122.452540, 37.773191 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Shrader St" }, "geometry": { "type": "Point", "coordinates": [ -122.452540, 37.773089 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.451124, 37.773259 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.450867, 37.773395 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.449193, 37.773632 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.449493, 37.773429 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Turk St" }, "geometry": { "type": "Point", "coordinates": [ -122.447176, 37.778788 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447219, 37.778686 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447176, 37.778551 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Turk St" }, "geometry": { "type": "Point", "coordinates": [ -122.447004, 37.778788 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Golden Gate Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446918, 37.777567 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Central Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445459, 37.778788 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Golden Gate Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446747, 37.777601 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446833, 37.775701 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.775905 ] } } +, +{ "type": "Feature", "properties": { "name": "Fulton St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446275, 37.775905 ] } } +, +{ "type": "Feature", "properties": { "name": "McAllister S t& Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.446318, 37.775769 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.446361, 37.775735 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Central Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445288, 37.778924 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.443829, 37.778992 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.443614, 37.779127 ] } } +, +{ "type": "Feature", "properties": { "name": "McAllister St & Central Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443228, 37.777296 ] } } +, +{ "type": "Feature", "properties": { "name": "Central Ave & McAllister St" }, "geometry": { "type": "Point", "coordinates": [ -122.444987, 37.776787 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Central Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444773, 37.776956 ] } } +, +{ "type": "Feature", "properties": { "name": "Central Ave & McAllister St" }, "geometry": { "type": "Point", "coordinates": [ -122.444859, 37.776821 ] } } +, +{ "type": "Feature", "properties": { "name": "McAllister St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.443442, 37.777126 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.443357, 37.777160 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Ashbury St" }, "geometry": { "type": "Point", "coordinates": [ -122.447605, 37.773802 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Ashbury St" }, "geometry": { "type": "Point", "coordinates": [ -122.447348, 37.773768 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.446275, 37.774039 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.446060, 37.774073 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446532, 37.773937 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445717, 37.773971 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.445631, 37.771970 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.445760, 37.771732 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Central Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444515, 37.774107 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Central Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444301, 37.774209 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.442884, 37.774311 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Lyon St" }, "geometry": { "type": "Point", "coordinates": [ -122.442670, 37.774446 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.440739, 37.787980 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.440524, 37.788014 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.440352, 37.787030 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Bush St" }, "geometry": { "type": "Point", "coordinates": [ -122.440009, 37.786284 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.439966, 37.785165 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.439837, 37.785368 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.439752, 37.785334 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.439451, 37.785266 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.438335, 37.785402 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.438121, 37.785538 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.437778, 37.783876 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & St Joseph'S Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442541, 37.782824 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Broderick St" }, "geometry": { "type": "Point", "coordinates": [ -122.440310, 37.779534 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.439408, 37.783435 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.439451, 37.783401 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.439580, 37.783197 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.439537, 37.783164 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Ellis St" }, "geometry": { "type": "Point", "coordinates": [ -122.439237, 37.781637 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Ellis St" }, "geometry": { "type": "Point", "coordinates": [ -122.439108, 37.781841 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.437692, 37.783638 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.438850, 37.780518 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.438765, 37.780552 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.438979, 37.780450 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.437177, 37.780891 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.437391, 37.780755 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.434816, 37.785945 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.435031, 37.785809 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.433572, 37.788081 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.433658, 37.787742 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.433228, 37.786013 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.433186, 37.786182 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.432842, 37.786114 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.433271, 37.785843 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.433057, 37.784418 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.433314, 37.784283 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.432928, 37.784758 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.432928, 37.784011 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.435546, 37.781095 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.435718, 37.780959 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.432714, 37.783028 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.432628, 37.783197 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.432370, 37.781739 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.432413, 37.781535 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.432456, 37.781366 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.432241, 37.781502 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Turk St" }, "geometry": { "type": "Point", "coordinates": [ -122.432156, 37.780213 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Golden Gate Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.431984, 37.779873 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.442198, 37.779297 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.442155, 37.779195 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.441854, 37.777329 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.441554, 37.777465 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Broderick St" }, "geometry": { "type": "Point", "coordinates": [ -122.440524, 37.779365 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Broderick St" }, "geometry": { "type": "Point", "coordinates": [ -122.440181, 37.777533 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Broderick St" }, "geometry": { "type": "Point", "coordinates": [ -122.439923, 37.777669 ] } } +, +{ "type": "Feature", "properties": { "name": "McAllister St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.438593, 37.777838 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.438550, 37.777737 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.438335, 37.777872 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.438250, 37.777872 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.438421, 37.777703 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.438250, 37.776787 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.438078, 37.776787 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.437778, 37.775091 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.441511, 37.774582 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.441297, 37.774514 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Buena Vista East Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440567, 37.770783 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Baker St" }, "geometry": { "type": "Point", "coordinates": [ -122.440267, 37.770952 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Broderick St" }, "geometry": { "type": "Point", "coordinates": [ -122.439837, 37.774785 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Broderick St" }, "geometry": { "type": "Point", "coordinates": [ -122.439623, 37.774751 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.438207, 37.775023 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.437906, 37.774921 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.437434, 37.775023 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.437520, 37.773055 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.437391, 37.773191 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.437391, 37.771325 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.435203, 37.778177 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.434945, 37.778279 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.436490, 37.775226 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Scott St" }, "geometry": { "type": "Point", "coordinates": [ -122.436275, 37.775159 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.434473, 37.775498 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.432113, 37.778652 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.431726, 37.778551 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.431769, 37.778347 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.434216, 37.775430 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.433228, 37.775633 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Steiner St" }, "geometry": { "type": "Point", "coordinates": [ -122.432499, 37.775633 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.437005, 37.771359 ] } } +, +{ "type": "Feature", "properties": { "name": "Divisadero St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.437134, 37.771054 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Divisadero St" }, "geometry": { "type": "Point", "coordinates": [ -122.436748, 37.771258 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.433872, 37.771631 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Pierce St" }, "geometry": { "type": "Point", "coordinates": [ -122.433658, 37.771800 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.453098, 37.769188 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.452884, 37.769358 ] } } +, +{ "type": "Feature", "properties": { "name": "Shrader St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.451768, 37.769324 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Waller St" }, "geometry": { "type": "Point", "coordinates": [ -122.453485, 37.768340 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Waller St" }, "geometry": { "type": "Point", "coordinates": [ -122.453356, 37.768272 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.453270, 37.766440 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Frederick St" }, "geometry": { "type": "Point", "coordinates": [ -122.452927, 37.766474 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.450824, 37.769629 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.450824, 37.769460 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.450781, 37.769460 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.450652, 37.769460 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.448678, 37.769731 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.448506, 37.769901 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Waller St" }, "geometry": { "type": "Point", "coordinates": [ -122.450438, 37.768544 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Frederick St" }, "geometry": { "type": "Point", "coordinates": [ -122.450223, 37.766847 ] } } +, +{ "type": "Feature", "properties": { "name": "Carl St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.452970, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Carl St" }, "geometry": { "type": "Point", "coordinates": [ -122.452841, 37.765558 ] } } +, +{ "type": "Feature", "properties": { "name": "Carl St & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.452626, 37.765524 ] } } +, +{ "type": "Feature", "properties": { "name": "Stanyan St & Carl St" }, "geometry": { "type": "Point", "coordinates": [ -122.452712, 37.765355 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.452884, 37.764574 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Stanyan St" }, "geometry": { "type": "Point", "coordinates": [ -122.452669, 37.764439 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Shrader St" }, "geometry": { "type": "Point", "coordinates": [ -122.451124, 37.764778 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Shrader St" }, "geometry": { "type": "Point", "coordinates": [ -122.451339, 37.764608 ] } } +, +{ "type": "Feature", "properties": { "name": "Carl St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.450094, 37.765897 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Carl St" }, "geometry": { "type": "Point", "coordinates": [ -122.449923, 37.765965 ] } } +, +{ "type": "Feature", "properties": { "name": "Carl St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.449837, 37.765864 ] } } +, +{ "type": "Feature", "properties": { "name": "Carl St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.450137, 37.765762 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Carl St" }, "geometry": { "type": "Point", "coordinates": [ -122.449965, 37.765592 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.450094, 37.764914 ] } } +, +{ "type": "Feature", "properties": { "name": "Parnassus Ave & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.449880, 37.764812 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Parnassus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.449751, 37.764778 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Parnassus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.449794, 37.764642 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Alma St" }, "geometry": { "type": "Point", "coordinates": [ -122.449536, 37.763285 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Alma St" }, "geometry": { "type": "Point", "coordinates": [ -122.449408, 37.763149 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.446876, 37.769968 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Waller St" }, "geometry": { "type": "Point", "coordinates": [ -122.446876, 37.769188 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445674, 37.770274 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.445459, 37.770342 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.445416, 37.770104 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Waller St" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.769019 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.447948, 37.767119 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Frederick St" }, "geometry": { "type": "Point", "coordinates": [ -122.447948, 37.766949 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Ashbury St" }, "geometry": { "type": "Point", "coordinates": [ -122.446704, 37.767288 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Frederick St" }, "geometry": { "type": "Point", "coordinates": [ -122.446489, 37.767322 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Ashbury St" }, "geometry": { "type": "Point", "coordinates": [ -122.446489, 37.767153 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Frederick St" }, "geometry": { "type": "Point", "coordinates": [ -122.446318, 37.767187 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.445331, 37.770376 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445374, 37.770240 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445159, 37.770172 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Central Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443571, 37.770511 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Buena Vista West Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442970, 37.770443 ] } } +, +{ "type": "Feature", "properties": { "name": "Masonic Ave & Frederick St" }, "geometry": { "type": "Point", "coordinates": [ -122.444859, 37.767526 ] } } +, +{ "type": "Feature", "properties": { "name": "Frederick St & Masonic St" }, "geometry": { "type": "Point", "coordinates": [ -122.444859, 37.767356 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Carl St" }, "geometry": { "type": "Point", "coordinates": [ -122.447820, 37.766305 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Carl St" }, "geometry": { "type": "Point", "coordinates": [ -122.447948, 37.766169 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Parnassus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447648, 37.765423 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Parnassus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447777, 37.765253 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Piedmont St" }, "geometry": { "type": "Point", "coordinates": [ -122.446103, 37.765321 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Clifford Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.446103, 37.764303 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Piedmont St" }, "geometry": { "type": "Point", "coordinates": [ -122.445889, 37.765151 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Clifford Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.445974, 37.764303 ] } } +, +{ "type": "Feature", "properties": { "name": "ASHBURY ST & CLAYTON ST" }, "geometry": { "type": "Point", "coordinates": [ -122.447004, 37.763048 ] } } +, +{ "type": "Feature", "properties": { "name": "Ashbury St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.446833, 37.762980 ] } } +, +{ "type": "Feature", "properties": { "name": "Upper Ter & Masonic Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443399, 37.765456 ] } } +, +{ "type": "Feature", "properties": { "name": "Upper Ter & Buena Vista Ave West" }, "geometry": { "type": "Point", "coordinates": [ -122.442842, 37.765830 ] } } +, +{ "type": "Feature", "properties": { "name": "414 Roosevelt Way" }, "geometry": { "type": "Point", "coordinates": [ -122.443314, 37.764507 ] } } +, +{ "type": "Feature", "properties": { "name": "415 Roosevelt Way" }, "geometry": { "type": "Point", "coordinates": [ -122.443142, 37.764507 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & Lower Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.443743, 37.763421 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & Lower Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.443829, 37.763251 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & Clifford Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.443013, 37.763760 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & Clifford Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.442927, 37.763760 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.449236, 37.761725 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Cole St" }, "geometry": { "type": "Point", "coordinates": [ -122.449021, 37.761691 ] } } +, +{ "type": "Feature", "properties": { "name": "Cole St & Carmel St" }, "geometry": { "type": "Point", "coordinates": [ -122.449064, 37.760944 ] } } +, +{ "type": "Feature", "properties": { "name": "Panorama Dr & Dellbrook Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.452626, 37.753480 ] } } +, +{ "type": "Feature", "properties": { "name": "Marview Way & Panorama Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.450566, 37.753649 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Belvedere St" }, "geometry": { "type": "Point", "coordinates": [ -122.447691, 37.761792 ] } } +, +{ "type": "Feature", "properties": { "name": "Carmel St & Belvedere St" }, "geometry": { "type": "Point", "coordinates": [ -122.447648, 37.760944 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.446704, 37.761860 ] } } +, +{ "type": "Feature", "properties": { "name": "Carmel St & Twin Peaks Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.760944 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Twin Peaks Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.446489, 37.760876 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Carmel St" }, "geometry": { "type": "Point", "coordinates": [ -122.446361, 37.760944 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.446146, 37.758942 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445974, 37.758807 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.445931, 37.758671 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445889, 37.758671 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.445374, 37.761996 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.445245, 37.761962 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Danvers St" }, "geometry": { "type": "Point", "coordinates": [ -122.444086, 37.761351 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Danvers St" }, "geometry": { "type": "Point", "coordinates": [ -122.444086, 37.761216 ] } } +, +{ "type": "Feature", "properties": { "name": "320 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445331, 37.759926 ] } } +, +{ "type": "Feature", "properties": { "name": "341 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445116, 37.759926 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Mars St" }, "geometry": { "type": "Point", "coordinates": [ -122.444515, 37.760503 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Mars St" }, "geometry": { "type": "Point", "coordinates": [ -122.444258, 37.760571 ] } } +, +{ "type": "Feature", "properties": { "name": "210 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442842, 37.761826 ] } } +, +{ "type": "Feature", "properties": { "name": "211 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442970, 37.761657 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Danvers St" }, "geometry": { "type": "Point", "coordinates": [ -122.443571, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Danvers St" }, "geometry": { "type": "Point", "coordinates": [ -122.443528, 37.760266 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.444472, 37.759825 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Iron Aly" }, "geometry": { "type": "Point", "coordinates": [ -122.444773, 37.757823 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.444515, 37.758400 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Clayton St" }, "geometry": { "type": "Point", "coordinates": [ -122.444086, 37.758434 ] } } +, +{ "type": "Feature", "properties": { "name": "Clayton St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.444344, 37.758230 ] } } +, +{ "type": "Feature", "properties": { "name": "539 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444172, 37.757517 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Graystone Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.443442, 37.756466 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Graystone Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.443314, 37.756432 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Romain St" }, "geometry": { "type": "Point", "coordinates": [ -122.442842, 37.755380 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Romain St" }, "geometry": { "type": "Point", "coordinates": [ -122.442799, 37.755516 ] } } +, +{ "type": "Feature", "properties": { "name": "795 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443013, 37.754124 ] } } +, +{ "type": "Feature", "properties": { "name": "800 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443013, 37.754023 ] } } +, +{ "type": "Feature", "properties": { "name": "Buena Vista Ave E & Buena Vista Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.440224, 37.767763 ] } } +, +{ "type": "Feature", "properties": { "name": "Buena Vista Ave E & Buena Vista Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.438550, 37.768679 ] } } +, +{ "type": "Feature", "properties": { "name": "BUENA VISTA TER & BUENA VISTA AVE E" }, "geometry": { "type": "Point", "coordinates": [ -122.438335, 37.768849 ] } } +, +{ "type": "Feature", "properties": { "name": "Park Hill Ave & Buena Vista East" }, "geometry": { "type": "Point", "coordinates": [ -122.439280, 37.768069 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.439537, 37.766508 ] } } +, +{ "type": "Feature", "properties": { "name": "Buena Vista Ter & Roosevelt Way" }, "geometry": { "type": "Point", "coordinates": [ -122.438207, 37.766813 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way&Buena Vista Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.438293, 37.766712 ] } } +, +{ "type": "Feature", "properties": { "name": "Buena Vista Ter & Roosevelt Way" }, "geometry": { "type": "Point", "coordinates": [ -122.438164, 37.766881 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Alpine Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.437220, 37.767322 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.437263, 37.767187 ] } } +, +{ "type": "Feature", "properties": { "name": "Roosevelt Way & Museum Way" }, "geometry": { "type": "Point", "coordinates": [ -122.441039, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Douglass St" }, "geometry": { "type": "Point", "coordinates": [ -122.439623, 37.762098 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.437520, 37.762437 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & Duboce Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.435975, 37.769188 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & Duboce Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.435718, 37.768951 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.435846, 37.767390 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.435803, 37.767288 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435589, 37.767628 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435718, 37.767424 ] } } +, +{ "type": "Feature", "properties": { "name": "Duboce St/Noe St/Duboce Park" }, "geometry": { "type": "Point", "coordinates": [ -122.433701, 37.769426 ] } } +, +{ "type": "Feature", "properties": { "name": "Duboce Ave & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.433658, 37.769222 ] } } +, +{ "type": "Feature", "properties": { "name": "Duboce Ave & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.433701, 37.769120 ] } } +, +{ "type": "Feature", "properties": { "name": "Sunset Tunnel East Portal" }, "geometry": { "type": "Point", "coordinates": [ -122.433100, 37.769154 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.433271, 37.767526 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.433572, 37.767424 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435589, 37.765864 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435417, 37.765626 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435460, 37.764303 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.435803, 37.762301 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435288, 37.764167 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435417, 37.762641 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.435460, 37.762471 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.435417, 37.762471 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.435288, 37.762573 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.435288, 37.762403 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435117, 37.762403 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.434902, 37.762539 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.432842, 37.764507 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.433701, 37.763930 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.433357, 37.763964 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.433014, 37.762674 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Hattie St" }, "geometry": { "type": "Point", "coordinates": [ -122.441125, 37.761725 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Hattie St" }, "geometry": { "type": "Point", "coordinates": [ -122.441125, 37.761623 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Ord St" }, "geometry": { "type": "Point", "coordinates": [ -122.440224, 37.761928 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Hattie St" }, "geometry": { "type": "Point", "coordinates": [ -122.441125, 37.760605 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Hattie St" }, "geometry": { "type": "Point", "coordinates": [ -122.440782, 37.760503 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.438293, 37.761623 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.438207, 37.760639 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Eureka St" }, "geometry": { "type": "Point", "coordinates": [ -122.438164, 37.760775 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.437305, 37.760707 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.438078, 37.759044 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.440438, 37.755041 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.441168, 37.754057 ] } } +, +{ "type": "Feature", "properties": { "name": "Hoffman Ave & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.440910, 37.754023 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Eureka St" }, "geometry": { "type": "Point", "coordinates": [ -122.437863, 37.757585 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.437906, 37.757416 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.437906, 37.755991 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.437735, 37.755821 ] } } +, +{ "type": "Feature", "properties": { "name": "21st St & Douglass St" }, "geometry": { "type": "Point", "coordinates": [ -122.439022, 37.755380 ] } } +, +{ "type": "Feature", "properties": { "name": "Douglass St & Alvarado St" }, "geometry": { "type": "Point", "coordinates": [ -122.438765, 37.753548 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.437778, 37.754396 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.437606, 37.754226 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.435160, 37.760978 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434945, 37.760842 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435074, 37.760775 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.434859, 37.760876 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434945, 37.759417 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434816, 37.759180 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434773, 37.757789 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.432928, 37.760978 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.432714, 37.761114 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Collingwood St" }, "geometry": { "type": "Point", "coordinates": [ -122.435975, 37.757687 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434645, 37.757653 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.434645, 37.756126 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.434473, 37.755957 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.434516, 37.754667 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.434344, 37.754430 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.473097, 37.752428 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.472968, 37.750562 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.472067, 37.752699 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.471981, 37.750833 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474127, 37.748831 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474084, 37.748695 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473826, 37.748865 ] } } +, +{ "type": "Feature", "properties": { "name": "17th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.473869, 37.748593 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 16th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473011, 37.748729 ] } } +, +{ "type": "Feature", "properties": { "name": "17th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.473912, 37.746999 ] } } +, +{ "type": "Feature", "properties": { "name": "17th Ave & Rivera St" }, "geometry": { "type": "Point", "coordinates": [ -122.473741, 37.746761 ] } } +, +{ "type": "Feature", "properties": { "name": "17th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.473741, 37.745132 ] } } +, +{ "type": "Feature", "properties": { "name": "Santiago St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473526, 37.745098 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.471852, 37.748933 ] } } +, +{ "type": "Feature", "properties": { "name": "14th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.470779, 37.748899 ] } } +, +{ "type": "Feature", "properties": { "name": "Santiago St & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470522, 37.745098 ] } } +, +{ "type": "Feature", "properties": { "name": "14th Ave & Santiago St" }, "geometry": { "type": "Point", "coordinates": [ -122.470307, 37.745030 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468376, 37.749069 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & Cragmont Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467690, 37.749102 ] } } +, +{ "type": "Feature", "properties": { "name": "Ortega St & 10th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466488, 37.752903 ] } } +, +{ "type": "Feature", "properties": { "name": "10th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.466531, 37.752733 ] } } +, +{ "type": "Feature", "properties": { "name": "9th Ave & Ortega St" }, "geometry": { "type": "Point", "coordinates": [ -122.465672, 37.752971 ] } } +, +{ "type": "Feature", "properties": { "name": "Ortega St & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465672, 37.752801 ] } } +, +{ "type": "Feature", "properties": { "name": "10th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.466574, 37.750731 ] } } +, +{ "type": "Feature", "properties": { "name": "10th Ave & Pacheco St" }, "geometry": { "type": "Point", "coordinates": [ -122.466402, 37.750867 ] } } +, +{ "type": "Feature", "properties": { "name": "10th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.466445, 37.749170 ] } } +, +{ "type": "Feature", "properties": { "name": "10th Ave & Quintara St" }, "geometry": { "type": "Point", "coordinates": [ -122.466273, 37.749340 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469664, 37.748865 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & Funston Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469449, 37.749001 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & 12th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468591, 37.748899 ] } } +, +{ "type": "Feature", "properties": { "name": "Quintara St & Cragmont Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467089, 37.749001 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.475543, 37.743334 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475457, 37.743130 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473741, 37.743096 ] } } +, +{ "type": "Feature", "properties": { "name": "Taraval St & 17th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473440, 37.743232 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.475457, 37.741501 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St. & 17th Ave." }, "geometry": { "type": "Point", "coordinates": [ -122.473526, 37.741230 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.471423, 37.743096 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.471337, 37.743130 ] } } +, +{ "type": "Feature", "properties": { "name": "14th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.470307, 37.743402 ] } } +, +{ "type": "Feature", "properties": { "name": "14th Ave & Taraval St" }, "geometry": { "type": "Point", "coordinates": [ -122.470179, 37.743198 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.471337, 37.741501 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.471209, 37.741535 ] } } +, +{ "type": "Feature", "properties": { "name": "14th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.470222, 37.741535 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.475543, 37.739024 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.475286, 37.739227 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Wawona St" }, "geometry": { "type": "Point", "coordinates": [ -122.475457, 37.737598 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Wawona St" }, "geometry": { "type": "Point", "coordinates": [ -122.475157, 37.737361 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & 15th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470522, 37.736512 ] } } +, +{ "type": "Feature", "properties": { "name": "15th Ave & West Portal Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.470393, 37.736410 ] } } +, +{ "type": "Feature", "properties": { "name": "14th Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.470050, 37.741603 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & Forest Side Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468805, 37.741467 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & Forest Side Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468505, 37.741535 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & Lenox Way" }, "geometry": { "type": "Point", "coordinates": [ -122.466273, 37.741196 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & West Portal Ave Leave" }, "geometry": { "type": "Point", "coordinates": [ -122.466145, 37.741128 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & WEST PORTAL AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.466145, 37.741026 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & West Portal Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466016, 37.740924 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Station" }, "geometry": { "type": "Point", "coordinates": [ -122.465415, 37.741467 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.465887, 37.741026 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Station" }, "geometry": { "type": "Point", "coordinates": [ -122.465973, 37.740890 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.465887, 37.740924 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Station" }, "geometry": { "type": "Point", "coordinates": [ -122.465801, 37.740958 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Station" }, "geometry": { "type": "Point", "coordinates": [ -122.465758, 37.740958 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & West portal t" }, "geometry": { "type": "Point", "coordinates": [ -122.465801, 37.740890 ] } } +, +{ "type": "Feature", "properties": { "name": "Ulloa St & West Portal Ave Arrive" }, "geometry": { "type": "Point", "coordinates": [ -122.465758, 37.740890 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Station" }, "geometry": { "type": "Point", "coordinates": [ -122.465672, 37.740958 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Station Inbound" }, "geometry": { "type": "Point", "coordinates": [ -122.465544, 37.741162 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.465930, 37.740788 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave&Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.465844, 37.740856 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Station" }, "geometry": { "type": "Point", "coordinates": [ -122.465801, 37.740822 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.465758, 37.740856 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469063, 37.738107 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469063, 37.738107 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469020, 37.738073 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469063, 37.737870 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & 14th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.469063, 37.737870 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.467003, 37.739872 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Vicente St" }, "geometry": { "type": "Point", "coordinates": [ -122.467003, 37.739635 ] } } +, +{ "type": "Feature", "properties": { "name": "Vicente St & West Portal Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466788, 37.739702 ] } } +, +{ "type": "Feature", "properties": { "name": "Vicente St & West Portal Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466617, 37.739465 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Ave & Claremont Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465072, 37.739872 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Clarendon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465286, 37.739567 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Clarendon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461381, 37.751138 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Clarendon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461081, 37.750969 ] } } +, +{ "type": "Feature", "properties": { "name": "Forest Hill Station Outbound" }, "geometry": { "type": "Point", "coordinates": [ -122.459192, 37.748186 ] } } +, +{ "type": "Feature", "properties": { "name": "Clarendon Ave & Clarendon Woods S" }, "geometry": { "type": "Point", "coordinates": [ -122.458420, 37.751715 ] } } +, +{ "type": "Feature", "properties": { "name": "LAGUNA HONDA Hosp/Clarendon Hall" }, "geometry": { "type": "Point", "coordinates": [ -122.456918, 37.749849 ] } } +, +{ "type": "Feature", "properties": { "name": "Clarendon Ave & Galewood Circle" }, "geometry": { "type": "Point", "coordinates": [ -122.455888, 37.753106 ] } } +, +{ "type": "Feature", "properties": { "name": "Olympia Way & Clarendon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456231, 37.751512 ] } } +, +{ "type": "Feature", "properties": { "name": "Clarendon Ave & Olympia Way" }, "geometry": { "type": "Point", "coordinates": [ -122.456188, 37.751647 ] } } +, +{ "type": "Feature", "properties": { "name": "Olympia Way & Dellbrook Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.454429, 37.751376 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd/opp Forest Hill" }, "geometry": { "type": "Point", "coordinates": [ -122.458935, 37.748390 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd/opp Forest Hill" }, "geometry": { "type": "Point", "coordinates": [ -122.458849, 37.748356 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd/opp FOREST HILL" }, "geometry": { "type": "Point", "coordinates": [ -122.458806, 37.748288 ] } } +, +{ "type": "Feature", "properties": { "name": "Forest Hill Station" }, "geometry": { "type": "Point", "coordinates": [ -122.459064, 37.748118 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd/Forest Hill Sta" }, "geometry": { "type": "Point", "coordinates": [ -122.458978, 37.748186 ] } } +, +{ "type": "Feature", "properties": { "name": "Forest Hill Station" }, "geometry": { "type": "Point", "coordinates": [ -122.458978, 37.748186 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd/Forest Hill Sta" }, "geometry": { "type": "Point", "coordinates": [ -122.458978, 37.748186 ] } } +, +{ "type": "Feature", "properties": { "name": "LAGUNA HONDA BLVD & 19TH AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.458763, 37.748220 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd/FOREST HILL STA" }, "geometry": { "type": "Point", "coordinates": [ -122.458849, 37.747915 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd/Forest Hill Sta" }, "geometry": { "type": "Point", "coordinates": [ -122.458806, 37.747847 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Dewey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.459064, 37.747270 ] } } +, +{ "type": "Feature", "properties": { "name": "Hospital Entr Rd/Laguna Honda Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.458677, 37.747134 ] } } +, +{ "type": "Feature", "properties": { "name": "LAGUNA HONDA Hospital/Main Hosp" }, "geometry": { "type": "Point", "coordinates": [ -122.457132, 37.747813 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Vasquez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458162, 37.746048 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Balceta Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456446, 37.746490 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Balceta Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457132, 37.745404 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Balceta Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457218, 37.745302 ] } } +, +{ "type": "Feature", "properties": { "name": "LAGUNA HONDA Hospital/E Parkng Lot" }, "geometry": { "type": "Point", "coordinates": [ -122.454686, 37.747813 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Hernandez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.455373, 37.746388 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Hernandez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.455630, 37.746286 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Hernandez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.455587, 37.746286 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.453871, 37.745777 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.454085, 37.745709 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & San Pablo Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461081, 37.740415 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & San Lorenzo Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.463698, 37.739940 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Dorchester Way" }, "geometry": { "type": "Point", "coordinates": [ -122.463441, 37.740110 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & San Pablo Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460866, 37.740245 ] } } +, +{ "type": "Feature", "properties": { "name": "Miraloma Dr & Juanita Way" }, "geometry": { "type": "Point", "coordinates": [ -122.460093, 37.739397 ] } } +, +{ "type": "Feature", "properties": { "name": "Miraloma Dr & Marne Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459278, 37.740211 ] } } +, +{ "type": "Feature", "properties": { "name": "Miraloma Dr & Marne Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459235, 37.740110 ] } } +, +{ "type": "Feature", "properties": { "name": "Miraloma Dr & Juanita Way" }, "geometry": { "type": "Point", "coordinates": [ -122.460051, 37.739227 ] } } +, +{ "type": "Feature", "properties": { "name": "126 Miraloma Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.461467, 37.737768 ] } } +, +{ "type": "Feature", "properties": { "name": "Miraloma Dr & Bengal Aly" }, "geometry": { "type": "Point", "coordinates": [ -122.461338, 37.737870 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Idora Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456660, 37.744182 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Idora Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456446, 37.744012 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Waithman Way" }, "geometry": { "type": "Point", "coordinates": [ -122.456532, 37.741637 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Rex Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457519, 37.740890 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Ulloa St" }, "geometry": { "type": "Point", "coordinates": [ -122.455802, 37.743503 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna Honda Blvd & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.455502, 37.743130 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Laguna Honda Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.455201, 37.743266 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Laguna Honda Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.455244, 37.742892 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Del Sur Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.455802, 37.741976 ] } } +, +{ "type": "Feature", "properties": { "name": "MYRA WAY & DALEWOOD" }, "geometry": { "type": "Point", "coordinates": [ -122.453957, 37.736716 ] } } +, +{ "type": "Feature", "properties": { "name": "Myra Way & Dalewood Way" }, "geometry": { "type": "Point", "coordinates": [ -122.453828, 37.736750 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475286, 37.734510 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd. & 19th Ave." }, "geometry": { "type": "Point", "coordinates": [ -122.475243, 37.734713 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.474985, 37.734747 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.475243, 37.734578 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474513, 37.734781 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475114, 37.732813 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474942, 37.732473 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474813, 37.732134 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473741, 37.732032 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.473826, 37.731829 ] } } +, +{ "type": "Feature", "properties": { "name": "West Potral & Sola Blvd NW-NS/SB" }, "geometry": { "type": "Point", "coordinates": [ -122.471552, 37.735053 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & West Portal Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471895, 37.734781 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & West Portal Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471895, 37.734646 ] } } +, +{ "type": "Feature", "properties": { "name": "Sloat Blvd & West Portal Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471895, 37.734578 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal/Sloat/St Francis Circle" }, "geometry": { "type": "Point", "coordinates": [ -122.471638, 37.734815 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.471981, 37.734306 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal Ave & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.471895, 37.734306 ] } } +, +{ "type": "Feature", "properties": { "name": "Junipero Serra Blvd & Sloat Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.471681, 37.734340 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal/Sloat/St Francis Circle" }, "geometry": { "type": "Point", "coordinates": [ -122.471123, 37.735494 ] } } +, +{ "type": "Feature", "properties": { "name": "WEST PORTAL AVE & SLOAT BLVD" }, "geometry": { "type": "Point", "coordinates": [ -122.471423, 37.734917 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal/Sloat/St Francis Circle" }, "geometry": { "type": "Point", "coordinates": [ -122.471294, 37.735053 ] } } +, +{ "type": "Feature", "properties": { "name": "West Portal/Sloat/St Francis Circle" }, "geometry": { "type": "Point", "coordinates": [ -122.471466, 37.734849 ] } } +, +{ "type": "Feature", "properties": { "name": "Junipero Serra Blvd & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471724, 37.731659 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Eucalyptus Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474985, 37.731184 ] } } +, +{ "type": "Feature", "properties": { "name": "Eucalyptus Dr & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474771, 37.731184 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/Eucalyptus Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474384, 37.731218 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Eucalyptus Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474728, 37.730980 ] } } +, +{ "type": "Feature", "properties": { "name": "Eucalyptus Dr & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474556, 37.731048 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/Eucalyptus Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474384, 37.731014 ] } } +, +{ "type": "Feature", "properties": { "name": "Eucalyptus Dr & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472453, 37.731014 ] } } +, +{ "type": "Feature", "properties": { "name": "Junipero Serra Blvd & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471895, 37.731252 ] } } +, +{ "type": "Feature", "properties": { "name": "Junipero Serra Blvd & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471852, 37.731285 ] } } +, +{ "type": "Feature", "properties": { "name": "Junipero Serra Blvd & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.471681, 37.731387 ] } } +, +{ "type": "Feature", "properties": { "name": "JUNIPERO SERRA BLVD & SLOAT BLVD" }, "geometry": { "type": "Point", "coordinates": [ -122.471681, 37.731353 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.471724, 37.730980 ] } } +, +{ "type": "Feature", "properties": { "name": "Saint Francis Blvd & San Fernando Way" }, "geometry": { "type": "Point", "coordinates": [ -122.469835, 37.734713 ] } } +, +{ "type": "Feature", "properties": { "name": "Saint Francis Blvd & San Fernando Way" }, "geometry": { "type": "Point", "coordinates": [ -122.469621, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "Saint Francis Blvd & Santa Ana Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467861, 37.734951 ] } } +, +{ "type": "Feature", "properties": { "name": "Saint Francis Blvd & Santa Ana Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.468076, 37.734815 ] } } +, +{ "type": "Feature", "properties": { "name": "Saint Francis Blvd & Santa Clara Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466402, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "Santa Clara Ave & Saint Francis Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.466187, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "Santa Clara Ave & Monterey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.465801, 37.733220 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & San Anselmo Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.465544, 37.733152 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & San Leandro Way" }, "geometry": { "type": "Point", "coordinates": [ -122.469492, 37.729962 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & San Leandro Way" }, "geometry": { "type": "Point", "coordinates": [ -122.469492, 37.729962 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & San Leandro Way" }, "geometry": { "type": "Point", "coordinates": [ -122.469106, 37.729996 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Aptos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467904, 37.728400 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Aptos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467904, 37.728400 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Aptos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.467604, 37.728299 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.475114, 37.727280 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474942, 37.727043 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474856, 37.727212 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Winston Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474685, 37.727212 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Buckingham Way" }, "geometry": { "type": "Point", "coordinates": [ -122.475071, 37.725787 ] } } +, +{ "type": "Feature", "properties": { "name": "19TH AVE & HOLLOWAY AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.475328, 37.721204 ] } } +, +{ "type": "Feature", "properties": { "name": "HOLLOWAY AVE & 19TH AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.475328, 37.721204 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Holloway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475328, 37.721204 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Holloway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475328, 37.721136 ] } } +, +{ "type": "Feature", "properties": { "name": "19TH AVE & HOLLOWAY Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475114, 37.721272 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Holloway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475114, 37.721272 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Avenue & Holloway St" }, "geometry": { "type": "Point", "coordinates": [ -122.475114, 37.721204 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Holloway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475243, 37.721102 ] } } +, +{ "type": "Feature", "properties": { "name": "19TH AVE & HOLLOWAY" }, "geometry": { "type": "Point", "coordinates": [ -122.475114, 37.721001 ] } } +, +{ "type": "Feature", "properties": { "name": "19TH AVE & Holloway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475028, 37.720967 ] } } +, +{ "type": "Feature", "properties": { "name": "Holloway Ave & Denslowe Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474341, 37.721340 ] } } +, +{ "type": "Feature", "properties": { "name": "Holloway Ave & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472968, 37.721612 ] } } +, +{ "type": "Feature", "properties": { "name": "Crespi Dr & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.475328, 37.720220 ] } } +, +{ "type": "Feature", "properties": { "name": "Gonzalez Dr. & Crespi Dr." }, "geometry": { "type": "Point", "coordinates": [ -122.475586, 37.719711 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Crespi Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474942, 37.719711 ] } } +, +{ "type": "Feature", "properties": { "name": "Cardenas Ave & Gonzalez Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.475414, 37.719066 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Banbury Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474599, 37.719541 ] } } +, +{ "type": "Feature", "properties": { "name": "Holloway Ave & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472754, 37.721510 ] } } +, +{ "type": "Feature", "properties": { "name": "Holloway Ave & Beverly St" }, "geometry": { "type": "Point", "coordinates": [ -122.471809, 37.721612 ] } } +, +{ "type": "Feature", "properties": { "name": "Beverly St & Garfield St" }, "geometry": { "type": "Point", "coordinates": [ -122.471766, 37.719745 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St & Beverly St" }, "geometry": { "type": "Point", "coordinates": [ -122.471552, 37.719745 ] } } +, +{ "type": "Feature", "properties": { "name": "Junipero Serra Blvd & Garfield St" }, "geometry": { "type": "Point", "coordinates": [ -122.472281, 37.719575 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Cerritos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466788, 37.727280 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Cerritos Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.466788, 37.727246 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Westgate Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.466488, 37.727212 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St & Byxbee St" }, "geometry": { "type": "Point", "coordinates": [ -122.469749, 37.719745 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St&Byxbee St" }, "geometry": { "type": "Point", "coordinates": [ -122.469964, 37.719609 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St & Vernon St" }, "geometry": { "type": "Point", "coordinates": [ -122.467947, 37.719778 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St&Vernon St" }, "geometry": { "type": "Point", "coordinates": [ -122.468162, 37.719609 ] } } +, +{ "type": "Feature", "properties": { "name": "GARFIELD ST & VICTORIA ST" }, "geometry": { "type": "Point", "coordinates": [ -122.465243, 37.719778 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St & Victoria St" }, "geometry": { "type": "Point", "coordinates": [ -122.465458, 37.719643 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & San Aleso Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.464557, 37.732304 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & San Jacinto Way" }, "geometry": { "type": "Point", "coordinates": [ -122.463999, 37.732066 ] } } +, +{ "type": "Feature", "properties": { "name": "Miraloma Dr & Yerba Buena Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460823, 37.735528 ] } } +, +{ "type": "Feature", "properties": { "name": "Yerba Buena Ave & Ravenwood Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.460566, 37.735324 ] } } +, +{ "type": "Feature", "properties": { "name": "Yerba Buena Ave & Hazelwood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459664, 37.734578 ] } } +, +{ "type": "Feature", "properties": { "name": "Yerba Buena Ave & Hazelwood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459707, 37.734408 ] } } +, +{ "type": "Feature", "properties": { "name": "Yerba Buena Ave & Brentwood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459192, 37.733729 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Northgate Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.461896, 37.729996 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & El Verano Way" }, "geometry": { "type": "Point", "coordinates": [ -122.461510, 37.730098 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Saint Elmo WayE" }, "geometry": { "type": "Point", "coordinates": [ -122.460437, 37.730573 ] } } +, +{ "type": "Feature", "properties": { "name": "Yerba Buena Ave & Brentwood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458978, 37.733627 ] } } +, +{ "type": "Feature", "properties": { "name": "Yerba Buena Ave & Saint Elmo Way" }, "geometry": { "type": "Point", "coordinates": [ -122.458720, 37.732643 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Yerba Buena Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458549, 37.732643 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Mangels Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457776, 37.732270 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Mangels Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457690, 37.732100 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Faxon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459106, 37.730708 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Monterey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.457561, 37.731116 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Plymouth Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457347, 37.731116 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Plymouth Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457690, 37.730878 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Valdez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.455845, 37.731285 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Valdez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.455673, 37.731455 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Victoria St" }, "geometry": { "type": "Point", "coordinates": [ -122.464385, 37.725990 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Victoria St" }, "geometry": { "type": "Point", "coordinates": [ -122.464342, 37.726058 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Fairfield Way" }, "geometry": { "type": "Point", "coordinates": [ -122.464085, 37.726024 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Jules Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461424, 37.724972 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Jules Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461424, 37.724938 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Dorado Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.461081, 37.724972 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St & Bright St" }, "geometry": { "type": "Point", "coordinates": [ -122.463655, 37.719812 ] } } +, +{ "type": "Feature", "properties": { "name": "Garfield St & Bright St" }, "geometry": { "type": "Point", "coordinates": [ -122.463484, 37.720016 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Ashton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.462153, 37.720050 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Jules Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.461338, 37.719982 ] } } +, +{ "type": "Feature", "properties": { "name": "GRAFTON AVE & JULES AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.461123, 37.720118 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Faxon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.460136, 37.720084 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Capitol Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.459321, 37.719982 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Miramar Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458119, 37.724395 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Miramar Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458377, 37.724293 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Miramar Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458334, 37.724293 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456059, 37.723784 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456274, 37.723648 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Lee St" }, "geometry": { "type": "Point", "coordinates": [ -122.454257, 37.723479 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Lee St" }, "geometry": { "type": "Point", "coordinates": [ -122.454214, 37.723445 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave&Lee Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.454214, 37.723445 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Lee St" }, "geometry": { "type": "Point", "coordinates": [ -122.454000, 37.723479 ] } } +, +{ "type": "Feature", "properties": { "name": "GRAFTON AVE & Capitol AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.459106, 37.720118 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Miramar Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.458076, 37.720084 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Granada Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.457261, 37.719982 ] } } +, +{ "type": "Feature", "properties": { "name": "GRAFTON AVE & PLYMOUTH AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.457047, 37.720118 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Holloway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456274, 37.721951 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Holloway Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456059, 37.721781 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Grafton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456231, 37.720118 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Plymouth Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456274, 37.719982 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave at Plymouth Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.455931, 37.720152 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Grafton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456017, 37.719914 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Brighton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.454987, 37.720084 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Lee St" }, "geometry": { "type": "Point", "coordinates": [ -122.454214, 37.720016 ] } } +, +{ "type": "Feature", "properties": { "name": "Olympia Way & Dellbrook Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453098, 37.751308 ] } } +, +{ "type": "Feature", "properties": { "name": "Olympia Way & Panorama Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.452283, 37.751308 ] } } +, +{ "type": "Feature", "properties": { "name": "Panorama Dr & Starview Way" }, "geometry": { "type": "Point", "coordinates": [ -122.452068, 37.749272 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyview Way & Aquavista Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450094, 37.751240 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyview Way & Glenview Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.450352, 37.749951 ] } } +, +{ "type": "Feature", "properties": { "name": "City View Way & Knollview Way" }, "geometry": { "type": "Point", "coordinates": [ -122.451382, 37.748899 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.452455, 37.745777 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Woodside Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.452412, 37.745336 ] } } +, +{ "type": "Feature", "properties": { "name": "Woodside Ave & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.452240, 37.745641 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Teresita Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.451940, 37.745336 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.452111, 37.745098 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Shaughnessy Blvd & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.451339, 37.745030 ] } } +, +{ "type": "Feature", "properties": { "name": "Skyview Way & City View Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450480, 37.748933 ] } } +, +{ "type": "Feature", "properties": { "name": "PORTOLA DR/McAteer High School" }, "geometry": { "type": "Point", "coordinates": [ -122.449579, 37.745947 ] } } +, +{ "type": "Feature", "properties": { "name": "PARKRIDGE DR & CRESTLINE DR" }, "geometry": { "type": "Point", "coordinates": [ -122.446103, 37.752360 ] } } +, +{ "type": "Feature", "properties": { "name": "74 Crestline Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.446232, 37.751783 ] } } +, +{ "type": "Feature", "properties": { "name": "40 CRESTLINE DR" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.750392 ] } } +, +{ "type": "Feature", "properties": { "name": "Parkridge Dr & Burnett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445803, 37.750426 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Hopkins Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443829, 37.752903 ] } } +, +{ "type": "Feature", "properties": { "name": "925 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443442, 37.752089 ] } } +, +{ "type": "Feature", "properties": { "name": "956 Corbett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443743, 37.751715 ] } } +, +{ "type": "Feature", "properties": { "name": "Crestline Dr & Burnett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445116, 37.749306 ] } } +, +{ "type": "Feature", "properties": { "name": "Burnett Ave & Crestline Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.444944, 37.749136 ] } } +, +{ "type": "Feature", "properties": { "name": "Corbett Ave & Cuesta Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.444000, 37.750867 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.442842, 37.750867 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.442756, 37.750731 ] } } +, +{ "type": "Feature", "properties": { "name": "6 Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.443485, 37.749985 ] } } +, +{ "type": "Feature", "properties": { "name": "Dawnview Way & Glenview Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.447562, 37.748051 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Glenview Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.447948, 37.746490 ] } } +, +{ "type": "Feature", "properties": { "name": "Glenview Dr & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.447777, 37.746693 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Glenview Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.447648, 37.746388 ] } } +, +{ "type": "Feature", "properties": { "name": "Burnett Ave & Dawnview Way" }, "geometry": { "type": "Point", "coordinates": [ -122.445116, 37.748084 ] } } +, +{ "type": "Feature", "properties": { "name": "Dawnview Way & Burnett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445116, 37.747949 ] } } +, +{ "type": "Feature", "properties": { "name": "Burnett Ave & Dawnview Way" }, "geometry": { "type": "Point", "coordinates": [ -122.444944, 37.748084 ] } } +, +{ "type": "Feature", "properties": { "name": "DIAMOND HEIGHTS BLVD & PORTOLA" }, "geometry": { "type": "Point", "coordinates": [ -122.444944, 37.746863 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Burnett Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444773, 37.747066 ] } } +, +{ "type": "Feature", "properties": { "name": "Portola Dr & Clipper St" }, "geometry": { "type": "Point", "coordinates": [ -122.444215, 37.747168 ] } } +, +{ "type": "Feature", "properties": { "name": "120 Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.444000, 37.749001 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & Clipper St" }, "geometry": { "type": "Point", "coordinates": [ -122.442670, 37.748254 ] } } +, +{ "type": "Feature", "properties": { "name": "Clipper St & Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.444000, 37.746897 ] } } +, +{ "type": "Feature", "properties": { "name": "Clipper St & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.445030, 37.746727 ] } } +, +{ "type": "Feature", "properties": { "name": "DUNCAN ST & AMBER DR" }, "geometry": { "type": "Point", "coordinates": [ -122.443485, 37.746048 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Duncan St" }, "geometry": { "type": "Point", "coordinates": [ -122.443228, 37.746693 ] } } +, +{ "type": "Feature", "properties": { "name": "Duncan St & Cameo Way" }, "geometry": { "type": "Point", "coordinates": [ -122.443056, 37.745200 ] } } +, +{ "type": "Feature", "properties": { "name": "Fowler Ave & Portola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.453270, 37.744386 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Fowler Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.451425, 37.743503 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Evelyn Way" }, "geometry": { "type": "Point", "coordinates": [ -122.451210, 37.743096 ] } } +, +{ "type": "Feature", "properties": { "name": "100 O'Shaughnessy Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.450695, 37.744487 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Marietta Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.450695, 37.742621 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Isola Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450566, 37.741739 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Isola Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450480, 37.741840 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Reposa Way" }, "geometry": { "type": "Point", "coordinates": [ -122.449236, 37.740992 ] } } +, +{ "type": "Feature", "properties": { "name": "Reposa Way & Teresita Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.449365, 37.740856 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Reposa Way" }, "geometry": { "type": "Point", "coordinates": [ -122.449193, 37.740721 ] } } +, +{ "type": "Feature", "properties": { "name": "555 Myra Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450910, 37.738209 ] } } +, +{ "type": "Feature", "properties": { "name": "Myra Way & Molimo Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.451768, 37.737734 ] } } +, +{ "type": "Feature", "properties": { "name": "Myra Way & Molimo Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.451510, 37.737836 ] } } +, +{ "type": "Feature", "properties": { "name": "Reposa Way & Myra Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450609, 37.740211 ] } } +, +{ "type": "Feature", "properties": { "name": "Myra Way & Reposa Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450566, 37.740042 ] } } +, +{ "type": "Feature", "properties": { "name": "Reposa Way & Myra Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450480, 37.740211 ] } } +, +{ "type": "Feature", "properties": { "name": "Myra Way & Omar Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450395, 37.739261 ] } } +, +{ "type": "Feature", "properties": { "name": "Myra Way & Omar Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450566, 37.739227 ] } } +, +{ "type": "Feature", "properties": { "name": "555 Myra Way" }, "geometry": { "type": "Point", "coordinates": [ -122.450738, 37.738209 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Shaughnessy Blvd & Del Vale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446060, 37.741399 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Shaughnessy Blvd & Del Vale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445974, 37.741094 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Gaviota Way" }, "geometry": { "type": "Point", "coordinates": [ -122.448034, 37.739872 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Gaviota Way" }, "geometry": { "type": "Point", "coordinates": [ -122.447777, 37.739906 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & El Sereno Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.446275, 37.738990 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & El Sereno Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.446060, 37.738956 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Bella Vista Way" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.737700 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Marietta Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.446361, 37.737496 ] } } +, +{ "type": "Feature", "properties": { "name": "636 Teresita Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.445889, 37.736852 ] } } +, +{ "type": "Feature", "properties": { "name": "636 Teresita Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.445674, 37.736818 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Shaughnessy Blvd & Malta Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.443786, 37.736478 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Shaughnessy Blvd & Malta Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.443314, 37.736614 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.442584, 37.752496 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.442498, 37.752326 ] } } +, +{ "type": "Feature", "properties": { "name": "Hoffman Ave & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.440782, 37.752428 ] } } +, +{ "type": "Feature", "properties": { "name": "Fountain St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.441683, 37.750765 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.442627, 37.749272 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.442541, 37.749102 ] } } +, +{ "type": "Feature", "properties": { "name": "Hoffman Ave & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.440567, 37.751037 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Hoffman Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440524, 37.751003 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Hoffman Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440953, 37.749340 ] } } +, +{ "type": "Feature", "properties": { "name": "Eureka St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.437606, 37.752801 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Eureka St" }, "geometry": { "type": "Point", "coordinates": [ -122.437391, 37.752801 ] } } +, +{ "type": "Feature", "properties": { "name": "Douglass St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.438550, 37.751138 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Douglass St" }, "geometry": { "type": "Point", "coordinates": [ -122.438378, 37.751105 ] } } +, +{ "type": "Feature", "properties": { "name": "Grand View Ave & Clipper St" }, "geometry": { "type": "Point", "coordinates": [ -122.442541, 37.748526 ] } } +, +{ "type": "Feature", "properties": { "name": "5157 Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.440224, 37.746931 ] } } +, +{ "type": "Feature", "properties": { "name": "Duncan St & Amber Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.441425, 37.745200 ] } } +, +{ "type": "Feature", "properties": { "name": "Duncan St & Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.440310, 37.745268 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Duncan St" }, "geometry": { "type": "Point", "coordinates": [ -122.439880, 37.745268 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.436576, 37.752699 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.436404, 37.751274 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.436190, 37.751240 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.436404, 37.751105 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.436233, 37.751105 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.436233, 37.749679 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.436061, 37.749510 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.434344, 37.752903 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.434173, 37.752801 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & Elizabeth St" }, "geometry": { "type": "Point", "coordinates": [ -122.434258, 37.752089 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & Elizabeth St" }, "geometry": { "type": "Point", "coordinates": [ -122.434087, 37.751919 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.434258, 37.751376 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434216, 37.751274 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434044, 37.751206 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.433958, 37.751274 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.432027, 37.751410 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.431812, 37.751512 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431812, 37.751342 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.434044, 37.749815 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.433872, 37.749611 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.431684, 37.749679 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Clipper St" }, "geometry": { "type": "Point", "coordinates": [ -122.436190, 37.748865 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Clipper St" }, "geometry": { "type": "Point", "coordinates": [ -122.436018, 37.748695 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.436104, 37.747881 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435932, 37.747915 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.435846, 37.747134 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.436018, 37.747100 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 27th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435803, 37.746320 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 27th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435932, 37.746286 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Duncan St" }, "geometry": { "type": "Point", "coordinates": [ -122.435889, 37.745641 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Duncan St" }, "geometry": { "type": "Point", "coordinates": [ -122.435718, 37.745472 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 28th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435632, 37.744691 ] } } +, +{ "type": "Feature", "properties": { "name": "Castro St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.433915, 37.748220 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.433658, 37.748152 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.433529, 37.748084 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.431812, 37.748288 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Gold Mine Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.437863, 37.743605 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Gold Mine Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.437520, 37.743639 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St (south)/Diamond Hts" }, "geometry": { "type": "Point", "coordinates": [ -122.437263, 37.738311 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.437263, 37.738243 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 28th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435803, 37.744657 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435675, 37.743266 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.435503, 37.743096 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.435675, 37.741874 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.435503, 37.741942 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.435760, 37.741603 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.435546, 37.741637 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.435374, 37.741603 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Gold Mine Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.435889, 37.740313 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Addison St" }, "geometry": { "type": "Point", "coordinates": [ -122.435803, 37.740211 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Berkeley Way" }, "geometry": { "type": "Point", "coordinates": [ -122.436919, 37.738616 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond Heights Blvd & Berkeley" }, "geometry": { "type": "Point", "coordinates": [ -122.436705, 37.738684 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Conrad St" }, "geometry": { "type": "Point", "coordinates": [ -122.436318, 37.738311 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Conrad St" }, "geometry": { "type": "Point", "coordinates": [ -122.435932, 37.738413 ] } } +, +{ "type": "Feature", "properties": { "name": "Addison St & Diamond Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.435718, 37.740042 ] } } +, +{ "type": "Feature", "properties": { "name": "Addison St & Farnum St" }, "geometry": { "type": "Point", "coordinates": [ -122.434473, 37.740076 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Moffitt St" }, "geometry": { "type": "Point", "coordinates": [ -122.434602, 37.738922 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Moffitt St" }, "geometry": { "type": "Point", "coordinates": [ -122.434645, 37.738820 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Arbor St" }, "geometry": { "type": "Point", "coordinates": [ -122.434473, 37.738684 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Arbor St" }, "geometry": { "type": "Point", "coordinates": [ -122.434688, 37.738277 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Sussex St" }, "geometry": { "type": "Point", "coordinates": [ -122.434773, 37.737327 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Sussex St" }, "geometry": { "type": "Point", "coordinates": [ -122.434645, 37.737361 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Surrey St" }, "geometry": { "type": "Point", "coordinates": [ -122.434473, 37.736241 ] } } +, +{ "type": "Feature", "properties": { "name": "Addison St & Farnum St" }, "geometry": { "type": "Point", "coordinates": [ -122.434258, 37.740211 ] } } +, +{ "type": "Feature", "properties": { "name": "Addison St & Digby St" }, "geometry": { "type": "Point", "coordinates": [ -122.433615, 37.740008 ] } } +, +{ "type": "Feature", "properties": { "name": "Farnum St & Moffitt St" }, "geometry": { "type": "Point", "coordinates": [ -122.434087, 37.738345 ] } } +, +{ "type": "Feature", "properties": { "name": "164 Addison St" }, "geometry": { "type": "Point", "coordinates": [ -122.432842, 37.738175 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Surrey St" }, "geometry": { "type": "Point", "coordinates": [ -122.434344, 37.736105 ] } } +, +{ "type": "Feature", "properties": { "name": "33 Moffitt St" }, "geometry": { "type": "Point", "coordinates": [ -122.432199, 37.736852 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Foerster St" }, "geometry": { "type": "Point", "coordinates": [ -122.448807, 37.734374 ] } } +, +{ "type": "Feature", "properties": { "name": "Foerster St & Teresita Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.448807, 37.734204 ] } } +, +{ "type": "Feature", "properties": { "name": "Foerster St & Mangels Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448978, 37.733152 ] } } +, +{ "type": "Feature", "properties": { "name": "Foerster St & Mangels Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448807, 37.733016 ] } } +, +{ "type": "Feature", "properties": { "name": "Foerster Street & Monterey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.448764, 37.731727 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Ridgewood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453313, 37.731625 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Ridgewood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453098, 37.731489 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Gennessee St" }, "geometry": { "type": "Point", "coordinates": [ -122.451468, 37.731625 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Gennessee St" }, "geometry": { "type": "Point", "coordinates": [ -122.451253, 37.731489 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Gennessee St" }, "geometry": { "type": "Point", "coordinates": [ -122.451253, 37.731489 ] } } +, +{ "type": "Feature", "properties": { "name": "Gennessee St & Monterey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.451253, 37.731421 ] } } +, +{ "type": "Feature", "properties": { "name": "Gennessee St & Flood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.451210, 37.729962 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelan Ave & Judson Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.452455, 37.727891 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelan Ave & Judson Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.452326, 37.727654 ] } } +, +{ "type": "Feature", "properties": { "name": "Judson Ave & Gennessee St" }, "geometry": { "type": "Point", "coordinates": [ -122.451296, 37.728434 ] } } +, +{ "type": "Feature", "properties": { "name": "Judson Ave & Gennessee St" }, "geometry": { "type": "Point", "coordinates": [ -122.451253, 37.728299 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Foerster St" }, "geometry": { "type": "Point", "coordinates": [ -122.449193, 37.731625 ] } } +, +{ "type": "Feature", "properties": { "name": "Foerster St & Monterey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.448807, 37.731421 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Foerster St" }, "geometry": { "type": "Point", "coordinates": [ -122.448549, 37.731489 ] } } +, +{ "type": "Feature", "properties": { "name": "Foerster St & Flood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448807, 37.729826 ] } } +, +{ "type": "Feature", "properties": { "name": "Foerster St & Judson Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448764, 37.728502 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Foerster St" }, "geometry": { "type": "Point", "coordinates": [ -122.446489, 37.735698 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Foerster St" }, "geometry": { "type": "Point", "coordinates": [ -122.446361, 37.735528 ] } } +, +{ "type": "Feature", "properties": { "name": "900 Teresita Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.734001 ] } } +, +{ "type": "Feature", "properties": { "name": "900 Teresita Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.446361, 37.733967 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Stillings Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445502, 37.734578 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Melrose Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445588, 37.734001 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Edna St" }, "geometry": { "type": "Point", "coordinates": [ -122.446489, 37.731659 ] } } +, +{ "type": "Feature", "properties": { "name": "Teresita Blvd & Stillings Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445288, 37.734476 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Detroit St" }, "geometry": { "type": "Point", "coordinates": [ -122.444644, 37.731659 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Edna St" }, "geometry": { "type": "Point", "coordinates": [ -122.446704, 37.731489 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Detroit St" }, "geometry": { "type": "Point", "coordinates": [ -122.444000, 37.731523 ] } } +, +{ "type": "Feature", "properties": { "name": "PHELAN AVE/CCSF (North Entrance)" }, "geometry": { "type": "Point", "coordinates": [ -122.452283, 37.726058 ] } } +, +{ "type": "Feature", "properties": { "name": "PHELAN AVE/CCSF (North Entrance)" }, "geometry": { "type": "Point", "coordinates": [ -122.452455, 37.725549 ] } } +, +{ "type": "Feature", "properties": { "name": "PHELAN AVE/CCSF (South Entrance)" }, "geometry": { "type": "Point", "coordinates": [ -122.452283, 37.724123 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Harold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453227, 37.723207 ] } } +, +{ "type": "Feature", "properties": { "name": "PHELAN LOOP" }, "geometry": { "type": "Point", "coordinates": [ -122.452669, 37.723546 ] } } +, +{ "type": "Feature", "properties": { "name": "PHELAN AVE/CCSF (South Entrance)" }, "geometry": { "type": "Point", "coordinates": [ -122.452455, 37.723852 ] } } +, +{ "type": "Feature", "properties": { "name": "PHELAN LOOP" }, "geometry": { "type": "Point", "coordinates": [ -122.452669, 37.723479 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Phelan Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.452455, 37.723105 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.452455, 37.723037 ] } } +, +{ "type": "Feature", "properties": { "name": "OCEAN AVE/CCSF Pedestrian Bridge" }, "geometry": { "type": "Point", "coordinates": [ -122.451468, 37.723071 ] } } +, +{ "type": "Feature", "properties": { "name": "GENEVA AVE & GENEVA AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.451210, 37.723139 ] } } +, +{ "type": "Feature", "properties": { "name": "OCEAN AVE/CCSF Pedestrian Bridge" }, "geometry": { "type": "Point", "coordinates": [ -122.450867, 37.722969 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Howth St" }, "geometry": { "type": "Point", "coordinates": [ -122.449794, 37.723037 ] } } +, +{ "type": "Feature", "properties": { "name": "Grafton Ave & Harold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.453012, 37.720084 ] } } +, +{ "type": "Feature", "properties": { "name": "Mt Vernon Ave & Howth St" }, "geometry": { "type": "Point", "coordinates": [ -122.451811, 37.719711 ] } } +, +{ "type": "Feature", "properties": { "name": "Howth St & Mt Vernon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.451682, 37.719812 ] } } +, +{ "type": "Feature", "properties": { "name": "Howth St & Niagra Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.451124, 37.720661 ] } } +, +{ "type": "Feature", "properties": { "name": "Mt Vernon Ave & Louisburg St" }, "geometry": { "type": "Point", "coordinates": [ -122.450953, 37.719371 ] } } +, +{ "type": "Feature", "properties": { "name": "Howth St & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.450309, 37.721951 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Howth St" }, "geometry": { "type": "Point", "coordinates": [ -122.450008, 37.722155 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Howth St" }, "geometry": { "type": "Point", "coordinates": [ -122.450094, 37.721985 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Howth St" }, "geometry": { "type": "Point", "coordinates": [ -122.449322, 37.722868 ] } } +, +{ "type": "Feature", "properties": { "name": "Louisburg St & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.449365, 37.721646 ] } } +, +{ "type": "Feature", "properties": { "name": "Louisburg St & Niagra Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.450137, 37.720423 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave&I-280 on-ramp NE-NS/SB" }, "geometry": { "type": "Point", "coordinates": [ -122.446961, 37.723037 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave/Balboa Park Bart Station" }, "geometry": { "type": "Point", "coordinates": [ -122.446790, 37.722969 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & San Jose Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444987, 37.723037 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444730, 37.723105 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444816, 37.723071 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444429, 37.723241 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave/Balboa Park BART" }, "geometry": { "type": "Point", "coordinates": [ -122.447262, 37.721068 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa Park BART/Mezzanine Level" }, "geometry": { "type": "Point", "coordinates": [ -122.447133, 37.721001 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave/Balboa Park BART" }, "geometry": { "type": "Point", "coordinates": [ -122.447262, 37.720865 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & San Jose Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447004, 37.720967 ] } } +, +{ "type": "Feature", "properties": { "name": "SAN JOSE AVE & GENEVA AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.446876, 37.720967 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.446833, 37.720933 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa Park BART/Mezzanine level" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.720933 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.446747, 37.720899 ] } } +, +{ "type": "Feature", "properties": { "name": "Balboa Park BART/Mezzanine level" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.720865 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.720865 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.720831 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446489, 37.720831 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446232, 37.721238 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Niagra Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447562, 37.719711 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave/Balboa Park Bart Station" }, "geometry": { "type": "Point", "coordinates": [ -122.446790, 37.720729 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & San Jose Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446790, 37.720729 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446790, 37.720695 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447004, 37.720457 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446918, 37.720491 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Niagra Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447219, 37.719982 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave/Balboa Park BART" }, "geometry": { "type": "Point", "coordinates": [ -122.447176, 37.719880 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave/Balboa Park BART" }, "geometry": { "type": "Point", "coordinates": [ -122.447004, 37.720016 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Niagra Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.447648, 37.719405 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.720661 ] } } +, +{ "type": "Feature", "properties": { "name": "SAN JOSE AVE & GENEVA AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.720627 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.720627 ] } } +, +{ "type": "Feature", "properties": { "name": "SAN JOSE AVE & GENEVA AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.720627 ] } } +, +{ "type": "Feature", "properties": { "name": "GENEVA AVE & SAN JOSE AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.720593 ] } } +, +{ "type": "Feature", "properties": { "name": "GENEVA AVE & SANA JOSE AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.446618, 37.720593 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446661, 37.720525 ] } } +, +{ "type": "Feature", "properties": { "name": "SAN JOSE AVE & GENEVA AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.446575, 37.720627 ] } } +, +{ "type": "Feature", "properties": { "name": "CAMERON BEACH YARD" }, "geometry": { "type": "Point", "coordinates": [ -122.446575, 37.720627 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.446704, 37.720491 ] } } +, +{ "type": "Feature", "properties": { "name": "SAN JOSE AVE & GENEVA AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.446704, 37.720491 ] } } +, +{ "type": "Feature", "properties": { "name": "Green Yard-San Jose & Ocean" }, "geometry": { "type": "Point", "coordinates": [ -122.445073, 37.722766 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & San Jose Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444987, 37.722868 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444901, 37.722935 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444816, 37.722868 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Ocean Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.444773, 37.722834 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & San Jose St" }, "geometry": { "type": "Point", "coordinates": [ -122.444429, 37.722901 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Delano Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445374, 37.720288 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Delano Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.445288, 37.720084 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave at Cayuga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443871, 37.718930 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Cayuga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443571, 37.718930 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Cayuga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.443571, 37.718726 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Elk St" }, "geometry": { "type": "Point", "coordinates": [ -122.440095, 37.735019 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Elk St" }, "geometry": { "type": "Point", "coordinates": [ -122.440095, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Congo St" }, "geometry": { "type": "Point", "coordinates": [ -122.441940, 37.731693 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Baden St" }, "geometry": { "type": "Point", "coordinates": [ -122.439666, 37.731693 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Acadia St" }, "geometry": { "type": "Point", "coordinates": [ -122.437778, 37.731693 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Congo St" }, "geometry": { "type": "Point", "coordinates": [ -122.442155, 37.731523 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Rosa Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440052, 37.729045 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Rosa Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440052, 37.729011 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Rosa Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.439923, 37.729011 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Rosa Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440095, 37.728842 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Nantucket Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.441039, 37.727755 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Baden St" }, "geometry": { "type": "Point", "coordinates": [ -122.439880, 37.731523 ] } } +, +{ "type": "Feature", "properties": { "name": "Circular Ave & Baden St" }, "geometry": { "type": "Point", "coordinates": [ -122.439623, 37.730403 ] } } +, +{ "type": "Feature", "properties": { "name": "Baden St & Circular Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.439537, 37.730335 ] } } +, +{ "type": "Feature", "properties": { "name": "Monterey Blvd & Acadia St" }, "geometry": { "type": "Point", "coordinates": [ -122.437263, 37.731523 ] } } +, +{ "type": "Feature", "properties": { "name": "Circular Ave & Monterey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.437177, 37.731421 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Lippard Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.435975, 37.733831 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Lippard Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.435718, 37.733933 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Chenery St" }, "geometry": { "type": "Point", "coordinates": [ -122.433958, 37.734476 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Chenery St" }, "geometry": { "type": "Point", "coordinates": [ -122.433872, 37.734476 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Castro St" }, "geometry": { "type": "Point", "coordinates": [ -122.432370, 37.734612 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Natick St" }, "geometry": { "type": "Point", "coordinates": [ -122.431941, 37.734612 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Bosworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.434344, 37.733356 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.434087, 37.733492 ] } } +, +{ "type": "Feature", "properties": { "name": "Diamond St & Bosworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.434130, 37.733424 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Diamond St" }, "geometry": { "type": "Point", "coordinates": [ -122.434044, 37.733627 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave/Glen Park Station" }, "geometry": { "type": "Point", "coordinates": [ -122.433872, 37.732406 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave/Glen Park Station" }, "geometry": { "type": "Point", "coordinates": [ -122.433443, 37.732541 ] } } +, +{ "type": "Feature", "properties": { "name": "Circular Ave & Monterey Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.437005, 37.731353 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Alemany Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.433271, 37.729826 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Alemany Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.433186, 37.729622 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Havelock St" }, "geometry": { "type": "Point", "coordinates": [ -122.441640, 37.726839 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Ynez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442541, 37.725753 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Ynez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442412, 37.725923 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Ynez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442369, 37.725889 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Ynez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442455, 37.725685 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Ynez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442412, 37.725685 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Santa Ynez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442112, 37.725990 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & San Juan Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.441211, 37.727178 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Otsego Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.441339, 37.723377 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Otsego Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.441254, 37.723275 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Otsego Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440825, 37.723445 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Cayuga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.438679, 37.723682 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Cayuga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.438550, 37.723580 ] } } +, +{ "type": "Feature", "properties": { "name": "Cayuga Ave & Onondaga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.439752, 37.722053 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Onondaga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.437520, 37.721306 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Italy Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.439280, 37.718658 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Italy Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.439108, 37.719167 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Persia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.435932, 37.723852 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.436275, 37.723377 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.435846, 37.723173 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.435803, 37.722969 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Norton St" }, "geometry": { "type": "Point", "coordinates": [ -122.435203, 37.724327 ] } } +, +{ "type": "Feature", "properties": { "name": "MISSION ST & BRAZIL AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.434945, 37.724667 ] } } +, +{ "type": "Feature", "properties": { "name": "MISSION ST & BRAZIL AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.434773, 37.724599 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.434688, 37.724734 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.434816, 37.724565 ] } } +, +{ "type": "Feature", "properties": { "name": "Ocean Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.435760, 37.723954 ] } } +, +{ "type": "Feature", "properties": { "name": "MISSION ST & OCEAN AVENUE" }, "geometry": { "type": "Point", "coordinates": [ -122.435417, 37.723920 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Persia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.435718, 37.723411 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Francis St" }, "geometry": { "type": "Point", "coordinates": [ -122.433658, 37.726364 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Excelsior Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.433529, 37.726364 ] } } +, +{ "type": "Feature", "properties": { "name": "Excelsior Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.433615, 37.726194 ] } } +, +{ "type": "Feature", "properties": { "name": "Excelsior Ave & Paris St" }, "geometry": { "type": "Point", "coordinates": [ -122.432199, 37.725549 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Paris St" }, "geometry": { "type": "Point", "coordinates": [ -122.433100, 37.723988 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Ruth St" }, "geometry": { "type": "Point", "coordinates": [ -122.436361, 37.722834 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Russia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.437134, 37.721476 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Paris St" }, "geometry": { "type": "Point", "coordinates": [ -122.434602, 37.722392 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Paris St" }, "geometry": { "type": "Point", "coordinates": [ -122.434301, 37.722426 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Madrid St" }, "geometry": { "type": "Point", "coordinates": [ -122.432971, 37.721646 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Madrid St" }, "geometry": { "type": "Point", "coordinates": [ -122.432714, 37.721646 ] } } +, +{ "type": "Feature", "properties": { "name": "Naples St & Russia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.432413, 37.719201 ] } } +, +{ "type": "Feature", "properties": { "name": "Beach St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.423229, 37.806393 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.422113, 37.806359 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.421212, 37.807038 ] } } +, +{ "type": "Feature", "properties": { "name": "HYDE STREET TURNABLE OUT OB" }, "geometry": { "type": "Point", "coordinates": [ -122.420697, 37.806732 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.421899, 37.805613 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.420654, 37.806699 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.420568, 37.806665 ] } } +, +{ "type": "Feature", "properties": { "name": "HYDE STREET TURNABLE OUT OB" }, "geometry": { "type": "Point", "coordinates": [ -122.420526, 37.805817 ] } } +, +{ "type": "Feature", "properties": { "name": "HYDE STREET TURNABLE IN IB" }, "geometry": { "type": "Point", "coordinates": [ -122.420526, 37.805817 ] } } +, +{ "type": "Feature", "properties": { "name": "HYDE STREET TURNABLE IN IB" }, "geometry": { "type": "Point", "coordinates": [ -122.420526, 37.805817 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.420483, 37.805715 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.420483, 37.805647 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.420268, 37.805817 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.420311, 37.805647 ] } } +, +{ "type": "Feature", "properties": { "name": "Jefferson St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.415547, 37.808326 ] } } +, +{ "type": "Feature", "properties": { "name": "Jones St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.417393, 37.807275 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.417436, 37.806190 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.417865, 37.805512 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.417607, 37.805512 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.417178, 37.806054 ] } } +, +{ "type": "Feature", "properties": { "name": "Jefferson St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.413359, 37.808597 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Jefferson St" }, "geometry": { "type": "Point", "coordinates": [ -122.412543, 37.808089 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.412543, 37.808055 ] } } +, +{ "type": "Feature", "properties": { "name": "Beach St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.414131, 37.807411 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.414260, 37.806563 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.413487, 37.806529 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.412372, 37.808123 ] } } +, +{ "type": "Feature", "properties": { "name": "Beach St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.410827, 37.807851 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.410612, 37.807817 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.410312, 37.808360 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Beach St" }, "geometry": { "type": "Point", "coordinates": [ -122.412286, 37.807614 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.412071, 37.806699 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.412200, 37.806529 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.411857, 37.805749 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.410612, 37.806902 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.410398, 37.807071 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.431512, 37.801511 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.431426, 37.801545 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.431426, 37.801375 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.431254, 37.801375 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.429838, 37.801714 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.429538, 37.801612 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.428207, 37.801918 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.427864, 37.801850 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.426577, 37.802121 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.426233, 37.802053 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.431040, 37.800595 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.800392 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.430654, 37.797645 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.430482, 37.797814 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St&Gough St NW-FS/BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.428079, 37.800968 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St&Gough St SE-FS/BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.427692, 37.800866 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.427392, 37.798086 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.427177, 37.798221 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.425418, 37.805139 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.425418, 37.804969 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.425289, 37.805173 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.425117, 37.805037 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.425375, 37.804868 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave&North Point St SE-NS/BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.425160, 37.804834 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.425032, 37.804291 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Street & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424989, 37.804122 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.424002, 37.805342 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.423530, 37.805274 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.423701, 37.805037 ] } } +, +{ "type": "Feature", "properties": { "name": "Francisco Street & Polk Street" }, "geometry": { "type": "Point", "coordinates": [ -122.423830, 37.803409 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.424946, 37.802460 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424903, 37.802358 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.424860, 37.802358 ] } } +, +{ "type": "Feature", "properties": { "name": "Chestnut St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424903, 37.802223 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.424645, 37.802596 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.422113, 37.805444 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.423272, 37.803681 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.423401, 37.803477 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.423015, 37.801646 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.422800, 37.801477 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.424302, 37.800493 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.424431, 37.800358 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424259, 37.798594 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424173, 37.798493 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.424088, 37.798459 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.423916, 37.798662 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.422328, 37.799035 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.422500, 37.798832 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.422457, 37.798832 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.422457, 37.798696 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.422071, 37.797747 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.422113, 37.796967 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.792965 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.429538, 37.793168 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.427864, 37.793372 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.426233, 37.793609 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.426276, 37.792558 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.791948 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.430654, 37.790320 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.429152, 37.792185 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.428980, 37.790557 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.429194, 37.790388 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.430868, 37.790218 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.427521, 37.790727 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.427177, 37.790693 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.423701, 37.796424 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.424603, 37.793813 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.424645, 37.792762 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.423358, 37.796085 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.423401, 37.794898 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.423143, 37.794932 ] } } +, +{ "type": "Feature", "properties": { "name": "PACIFIC AVE & VAN NESS AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.423100, 37.794932 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422929, 37.794796 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.421770, 37.796187 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.421813, 37.795678 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421556, 37.795305 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.421513, 37.795135 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.421255, 37.795000 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.423015, 37.794186 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.423401, 37.793982 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.423143, 37.793847 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422972, 37.794050 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422457, 37.793101 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.422628, 37.792456 ] } } +, +{ "type": "Feature", "properties": { "name": "JACKSON ST & POLK ST" }, "geometry": { "type": "Point", "coordinates": [ -122.421770, 37.794186 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.421427, 37.793711 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.421298, 37.794220 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.421212, 37.793508 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.421298, 37.793202 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.426147, 37.790896 ] } } +, +{ "type": "Feature", "properties": { "name": "Gough St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.425804, 37.791066 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.424474, 37.791914 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.424045, 37.791168 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422929, 37.792117 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.422457, 37.791439 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422328, 37.791405 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.422628, 37.791168 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.422285, 37.790455 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422371, 37.790388 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.421083, 37.791948 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.420740, 37.792388 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.421169, 37.791541 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.420869, 37.791744 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422028, 37.790455 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.420826, 37.790659 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.420869, 37.790523 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.422328, 37.789540 ] } } +, +{ "type": "Feature", "properties": { "name": "Bush St &Van ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421856, 37.788421 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.420268, 37.804800 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.420139, 37.804800 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.419925, 37.802935 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.419710, 37.802867 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.419667, 37.801884 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.419581, 37.801918 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.416191, 37.804528 ] } } +, +{ "type": "Feature", "properties": { "name": "Taylor St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.415247, 37.805342 ] } } +, +{ "type": "Feature", "properties": { "name": "Taylor St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.415333, 37.805274 ] } } +, +{ "type": "Feature", "properties": { "name": "TAYLOR STREET TURNABLE OUT OB" }, "geometry": { "type": "Point", "coordinates": [ -122.415204, 37.804562 ] } } +, +{ "type": "Feature", "properties": { "name": "TAYLOR STREET TURNABLE IN IB" }, "geometry": { "type": "Point", "coordinates": [ -122.415204, 37.804562 ] } } +, +{ "type": "Feature", "properties": { "name": "TAYLOR STREET TURNABLE IN IB" }, "geometry": { "type": "Point", "coordinates": [ -122.415204, 37.804562 ] } } +, +{ "type": "Feature", "properties": { "name": "TAYLOR STREET TURNABLE OUT OB" }, "geometry": { "type": "Point", "coordinates": [ -122.415204, 37.804562 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.415977, 37.804223 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.419496, 37.801036 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.419324, 37.801002 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.419367, 37.800222 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.420611, 37.799069 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.420568, 37.798967 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.800188 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.418981, 37.799273 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.418981, 37.799239 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.419152, 37.799205 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.419152, 37.799137 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.418981, 37.798357 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.418809, 37.798323 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.418809, 37.797407 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.418637, 37.797441 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.417564, 37.799476 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.417521, 37.799340 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.415891, 37.799544 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.415676, 37.799713 ] } } +, +{ "type": "Feature", "properties": { "name": "Taylor St & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.415075, 37.804969 ] } } +, +{ "type": "Feature", "properties": { "name": "Taylor St & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.414989, 37.804393 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.415161, 37.803816 ] } } +, +{ "type": "Feature", "properties": { "name": "Taylor St & Columbus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.415032, 37.803782 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.414603, 37.803443 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.414646, 37.803308 ] } } +, +{ "type": "Feature", "properties": { "name": "COLUMBUS AVE & CHESTNUT ST" }, "geometry": { "type": "Point", "coordinates": [ -122.414002, 37.802833 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.413659, 37.802630 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.413573, 37.802697 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.412801, 37.801951 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.412930, 37.801850 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.412672, 37.802121 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.411900, 37.804969 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Francisco St" }, "geometry": { "type": "Point", "coordinates": [ -122.411685, 37.804834 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.411470, 37.802799 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.411299, 37.802969 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.411642, 37.801205 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.411127, 37.801239 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.409711, 37.803138 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.414260, 37.799747 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.414045, 37.799917 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.412758, 37.800934 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.412586, 37.800968 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.412586, 37.799985 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.412586, 37.799985 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.412415, 37.800120 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.412415, 37.800052 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.412372, 37.799035 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.412243, 37.799103 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.410398, 37.800527 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.410440, 37.800392 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Columbus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.410655, 37.800222 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Columbus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.410054, 37.800392 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Columbus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.409968, 37.800426 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.412200, 37.798255 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.412028, 37.798221 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.412028, 37.797374 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.411857, 37.797238 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.420053, 37.795169 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.419882, 37.795339 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.418594, 37.796526 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.418423, 37.796356 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.418423, 37.795407 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.418380, 37.795373 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.418208, 37.795576 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.418208, 37.795407 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.418294, 37.794627 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.418036, 37.794661 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.419667, 37.794423 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.419839, 37.793440 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.419624, 37.792558 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.418208, 37.794559 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.418079, 37.793643 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.416577, 37.795780 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.416749, 37.795610 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.416406, 37.794864 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.416406, 37.794661 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.417865, 37.792897 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.417908, 37.792762 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.416320, 37.793847 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.416234, 37.793847 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.416320, 37.792965 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.416062, 37.792965 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.419538, 37.791744 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.420654, 37.790828 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.420568, 37.790693 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.418895, 37.790896 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.790727 ] } } +, +{ "type": "Feature", "properties": { "name": "Pine St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.420654, 37.789675 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.420397, 37.789540 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.420568, 37.789370 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.417479, 37.791982 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.417650, 37.791846 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.417479, 37.791134 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.417564, 37.791032 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.417564, 37.790930 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.415891, 37.792083 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.415762, 37.792185 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.415762, 37.791134 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.415633, 37.791303 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.415676, 37.791100 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.417307, 37.790184 ] } } +, +{ "type": "Feature", "properties": { "name": "Bush St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.416620, 37.789167 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.416921, 37.788217 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.415504, 37.790150 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Bush St" }, "geometry": { "type": "Point", "coordinates": [ -122.415333, 37.789234 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.415290, 37.788454 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.414947, 37.795983 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.415118, 37.795814 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.414861, 37.795068 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.413487, 37.796017 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.413273, 37.796187 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.413230, 37.795271 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.414732, 37.794050 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.414646, 37.793202 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.413015, 37.794288 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.412758, 37.793372 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.411857, 37.796221 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.411771, 37.796153 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.411642, 37.796390 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.411642, 37.796221 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.411556, 37.795712 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.411685, 37.795610 ] } } +, +{ "type": "Feature", "properties": { "name": "Jackson St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.411728, 37.795475 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.411513, 37.794627 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.411513, 37.794627 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.410183, 37.796424 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.410011, 37.796560 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.409797, 37.795339 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.410054, 37.794661 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.411556, 37.794593 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.411556, 37.794593 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.411556, 37.794457 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.411385, 37.794559 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.411084, 37.794525 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Sproule Ln" }, "geometry": { "type": "Point", "coordinates": [ -122.411900, 37.792694 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.410827, 37.793677 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.409797, 37.793813 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.414174, 37.792422 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.414131, 37.791473 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.414131, 37.791371 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.412629, 37.791575 ] } } +, +{ "type": "Feature", "properties": { "name": "Bush St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414989, 37.789302 ] } } +, +{ "type": "Feature", "properties": { "name": "Bush St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.413874, 37.789472 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.415118, 37.788353 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.413659, 37.788658 ] } } +, +{ "type": "Feature", "properties": { "name": "Jones St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.413616, 37.788692 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.412329, 37.791744 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.410998, 37.791880 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.410998, 37.791778 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.411985, 37.788861 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.410355, 37.789065 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Grant St" }, "geometry": { "type": "Point", "coordinates": [ -122.409410, 37.808258 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay St & Midway St" }, "geometry": { "type": "Point", "coordinates": [ -122.409196, 37.806122 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.407908, 37.807377 ] } } +, +{ "type": "Feature", "properties": { "name": "North Point St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.807275 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.407222, 37.807207 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.406321, 37.806970 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.406235, 37.806800 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.406063, 37.806631 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Bay St" }, "geometry": { "type": "Point", "coordinates": [ -122.405462, 37.806631 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.409668, 37.803308 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.408080, 37.803511 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.408080, 37.803409 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.409668, 37.802358 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.409539, 37.802223 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.409496, 37.801443 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.406535, 37.803715 ] } } +, +{ "type": "Feature", "properties": { "name": "Lombard St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.406535, 37.803579 ] } } +, +{ "type": "Feature", "properties": { "name": "225 TELEGRAPH Hill Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.406793, 37.803036 ] } } +, +{ "type": "Feature", "properties": { "name": "225 TELEGRAPH Hill Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.406664, 37.803003 ] } } +, +{ "type": "Feature", "properties": { "name": "TELEGRAPH Hill Blvd & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.406621, 37.802731 ] } } +, +{ "type": "Feature", "properties": { "name": "TELEGRAPH Hill Blvd & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.406492, 37.802630 ] } } +, +{ "type": "Feature", "properties": { "name": "COIT TOWER" }, "geometry": { "type": "Point", "coordinates": [ -122.405806, 37.802664 ] } } +, +{ "type": "Feature", "properties": { "name": "TELEGRAPH Hill Blvd & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.405763, 37.801850 ] } } +, +{ "type": "Feature", "properties": { "name": "115 TELEGRAPH Hill Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.405720, 37.801782 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.409282, 37.800561 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.409282, 37.800392 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Columbus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.409067, 37.799306 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Columbus Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.408895, 37.799239 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.408724, 37.799408 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.408638, 37.799137 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.407694, 37.800629 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.407522, 37.800697 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.408638, 37.797204 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.408338, 37.796797 ] } } +, +{ "type": "Feature", "properties": { "name": "BROADWAY & GRANT AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.407351, 37.797882 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.408295, 37.797611 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.405977, 37.800934 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.406106, 37.800765 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.404475, 37.801104 ] } } +, +{ "type": "Feature", "properties": { "name": "Union St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.404518, 37.800968 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.406921, 37.798154 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.406492, 37.797645 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.406363, 37.797848 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.406750, 37.797001 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.405763, 37.797340 ] } } +, +{ "type": "Feature", "properties": { "name": "COLUMBUS AVE & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405677, 37.797068 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405291, 37.797340 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.405248, 37.797170 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Chestnut St" }, "geometry": { "type": "Point", "coordinates": [ -122.403789, 37.805207 ] } } +, +{ "type": "Feature", "properties": { "name": "Embarcadero & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.403274, 37.805173 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.403316, 37.805037 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Lombard St" }, "geometry": { "type": "Point", "coordinates": [ -122.403274, 37.803952 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.402973, 37.802358 ] } } +, +{ "type": "Feature", "properties": { "name": "Battery St & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.402029, 37.803003 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Union St" }, "geometry": { "type": "Point", "coordinates": [ -122.402802, 37.801443 ] } } +, +{ "type": "Feature", "properties": { "name": "Battery St & Filbert St" }, "geometry": { "type": "Point", "coordinates": [ -122.401857, 37.802189 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.401128, 37.803274 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Greenwich St" }, "geometry": { "type": "Point", "coordinates": [ -122.401042, 37.802969 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.399411, 37.801273 ] } } +, +{ "type": "Feature", "properties": { "name": "Battery St & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.401514, 37.800561 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Vallejo St" }, "geometry": { "type": "Point", "coordinates": [ -122.402415, 37.799679 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.403960, 37.798154 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.403617, 37.797407 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.401943, 37.798425 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.402372, 37.797577 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.402029, 37.797781 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Green St" }, "geometry": { "type": "Point", "coordinates": [ -122.398939, 37.800629 ] } } +, +{ "type": "Feature", "properties": { "name": "Battery St & Broadway" }, "geometry": { "type": "Point", "coordinates": [ -122.401128, 37.798323 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.400742, 37.798560 ] } } +, +{ "type": "Feature", "properties": { "name": "Battery St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.400784, 37.796865 ] } } +, +{ "type": "Feature", "properties": { "name": "Pacific Ave & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.408595, 37.796763 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.408338, 37.795780 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.409668, 37.794661 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Pacific Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.408295, 37.796255 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.408252, 37.795373 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.409668, 37.793847 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.409496, 37.793779 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.409153, 37.793067 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.409453, 37.792965 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.409282, 37.792897 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.407780, 37.793745 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.407565, 37.794084 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.407866, 37.793440 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.407608, 37.793236 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.405033, 37.796153 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.404346, 37.796085 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Jackson St" }, "geometry": { "type": "Point", "coordinates": [ -122.404304, 37.796085 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.404776, 37.794728 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405977, 37.794288 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.406321, 37.793440 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405977, 37.792524 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.404432, 37.794491 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.404861, 37.793575 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.404561, 37.793779 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.404389, 37.792897 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.404304, 37.792728 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.404261, 37.792626 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.409453, 37.792083 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.409368, 37.791982 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.409325, 37.792219 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.409153, 37.792321 ] } } +, +{ "type": "Feature", "properties": { "name": "CALIFORNIA ST & POWELL ST" }, "geometry": { "type": "Point", "coordinates": [ -122.409325, 37.792049 ] } } +, +{ "type": "Feature", "properties": { "name": "CALIFORNIA ST & POWELL ST" }, "geometry": { "type": "Point", "coordinates": [ -122.409282, 37.791948 ] } } +, +{ "type": "Feature", "properties": { "name": "POWELL ST & CALIFORNIA ST" }, "geometry": { "type": "Point", "coordinates": [ -122.409110, 37.792151 ] } } +, +{ "type": "Feature", "properties": { "name": "POWELL ST & CALIFORNIA ST" }, "geometry": { "type": "Point", "coordinates": [ -122.409110, 37.792151 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.409067, 37.791100 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.408938, 37.791100 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.407565, 37.792321 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.407565, 37.792185 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Bush St" }, "geometry": { "type": "Point", "coordinates": [ -122.408895, 37.790150 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Bush St" }, "geometry": { "type": "Point", "coordinates": [ -122.408724, 37.790184 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.408681, 37.789268 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.408681, 37.789065 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.408509, 37.789133 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Post St" }, "geometry": { "type": "Point", "coordinates": [ -122.408509, 37.788421 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Post St" }, "geometry": { "type": "Point", "coordinates": [ -122.408338, 37.788217 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.407179, 37.789981 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.406964, 37.789608 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.407050, 37.789506 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.407951, 37.788319 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405977, 37.792388 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.406020, 37.788556 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.404389, 37.789845 ] } } +, +{ "type": "Feature", "properties": { "name": "POST & GRANT" }, "geometry": { "type": "Point", "coordinates": [ -122.405419, 37.788590 ] } } +, +{ "type": "Feature", "properties": { "name": "Columbus Ave & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.403703, 37.795915 ] } } +, +{ "type": "Feature", "properties": { "name": "Washington St & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.402072, 37.795746 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.401686, 37.796085 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402802, 37.794695 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.403231, 37.793813 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.403102, 37.793847 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402930, 37.792795 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Clay St" }, "geometry": { "type": "Point", "coordinates": [ -122.401514, 37.794491 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.401557, 37.794050 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402630, 37.792931 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.401128, 37.794830 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Front St" }, "geometry": { "type": "Point", "coordinates": [ -122.399025, 37.795102 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Sacramento St" }, "geometry": { "type": "Point", "coordinates": [ -122.401342, 37.794288 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.400312, 37.794186 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.401128, 37.793338 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & SANSOME ST" }, "geometry": { "type": "Point", "coordinates": [ -122.401299, 37.792999 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.401257, 37.793202 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.400999, 37.793168 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.400141, 37.793135 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.399840, 37.793304 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.399883, 37.793168 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Front St" }, "geometry": { "type": "Point", "coordinates": [ -122.398939, 37.793270 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & Bush St" }, "geometry": { "type": "Point", "coordinates": [ -122.404003, 37.791032 ] } } +, +{ "type": "Feature", "properties": { "name": "Pine St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402544, 37.791948 ] } } +, +{ "type": "Feature", "properties": { "name": "Bush St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402158, 37.790930 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.403746, 37.789777 ] } } +, +{ "type": "Feature", "properties": { "name": "Kearny St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.403488, 37.788217 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402415, 37.789031 ] } } +, +{ "type": "Feature", "properties": { "name": "POST & MONTGOMERY" }, "geometry": { "type": "Point", "coordinates": [ -122.402201, 37.788997 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402501, 37.788522 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & New Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.402201, 37.788624 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.400870, 37.792049 ] } } +, +{ "type": "Feature", "properties": { "name": "Pine St & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.400098, 37.792321 ] } } +, +{ "type": "Feature", "properties": { "name": "Bush St & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.400956, 37.791100 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.400699, 37.790320 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.400613, 37.790354 ] } } +, +{ "type": "Feature", "properties": { "name": "Sansome St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.400527, 37.790354 ] } } +, +{ "type": "Feature", "properties": { "name": "Bush St & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.399797, 37.791337 ] } } +, +{ "type": "Feature", "properties": { "name": "BUSH ST & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.399712, 37.791337 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Battery St" }, "geometry": { "type": "Point", "coordinates": [ -122.399111, 37.791134 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 1st St" }, "geometry": { "type": "Point", "coordinates": [ -122.399197, 37.790964 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 1st St" }, "geometry": { "type": "Point", "coordinates": [ -122.399154, 37.790896 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.401342, 37.789370 ] } } +, +{ "type": "Feature", "properties": { "name": "2ND ST & MARKET ST" }, "geometry": { "type": "Point", "coordinates": [ -122.401257, 37.789268 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Sansome St" }, "geometry": { "type": "Point", "coordinates": [ -122.400441, 37.790184 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.401342, 37.789099 ] } } +, +{ "type": "Feature", "properties": { "name": "TRANS BAY TERMINAL/TERMINAL W" }, "geometry": { "type": "Point", "coordinates": [ -122.400613, 37.788963 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Stevenson St" }, "geometry": { "type": "Point", "coordinates": [ -122.400656, 37.788624 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Stevenson St" }, "geometry": { "type": "Point", "coordinates": [ -122.400098, 37.788285 ] } } +, +{ "type": "Feature", "properties": { "name": "Broadway & Davis St" }, "geometry": { "type": "Point", "coordinates": [ -122.398596, 37.799001 ] } } +, +{ "type": "Feature", "properties": { "name": "THE EMBARCADERO & BROADWAY" }, "geometry": { "type": "Point", "coordinates": [ -122.397909, 37.799578 ] } } +, +{ "type": "Feature", "properties": { "name": "BROADWAY & THE EMBARCADERO" }, "geometry": { "type": "Point", "coordinates": [ -122.397823, 37.799103 ] } } +, +{ "type": "Feature", "properties": { "name": "THE EMBARCADERO & BROADWAY" }, "geometry": { "type": "Point", "coordinates": [ -122.397437, 37.798933 ] } } +, +{ "type": "Feature", "properties": { "name": "THE EMBARCADERO/Pier 5" }, "geometry": { "type": "Point", "coordinates": [ -122.396622, 37.797814 ] } } +, +{ "type": "Feature", "properties": { "name": "THE EMBARCADERO/Pier 5" }, "geometry": { "type": "Point", "coordinates": [ -122.396193, 37.797848 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.395678, 37.797102 ] } } +, +{ "type": "Feature", "properties": { "name": "THE EMBARCADERO/Pier 1" }, "geometry": { "type": "Point", "coordinates": [ -122.395592, 37.797238 ] } } +, +{ "type": "Feature", "properties": { "name": "Clay St & Drumm St" }, "geometry": { "type": "Point", "coordinates": [ -122.397008, 37.795441 ] } } +, +{ "type": "Feature", "properties": { "name": "Sacramento St & Davis St" }, "geometry": { "type": "Point", "coordinates": [ -122.397652, 37.794525 ] } } +, +{ "type": "Feature", "properties": { "name": "Davis St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.397738, 37.793643 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Davis St" }, "geometry": { "type": "Point", "coordinates": [ -122.397480, 37.793609 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Front St" }, "geometry": { "type": "Point", "coordinates": [ -122.398682, 37.793440 ] } } +, +{ "type": "Feature", "properties": { "name": "Pine St & Front St" }, "geometry": { "type": "Point", "coordinates": [ -122.398553, 37.792490 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Davis St" }, "geometry": { "type": "Point", "coordinates": [ -122.397780, 37.793440 ] } } +, +{ "type": "Feature", "properties": { "name": "Davis St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.397695, 37.793270 ] } } +, +{ "type": "Feature", "properties": { "name": "Pine St & Davis St" }, "geometry": { "type": "Point", "coordinates": [ -122.397738, 37.792558 ] } } +, +{ "type": "Feature", "properties": { "name": "Davis St & Pine St" }, "geometry": { "type": "Point", "coordinates": [ -122.397566, 37.792626 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Davis St" }, "geometry": { "type": "Point", "coordinates": [ -122.396836, 37.793542 ] } } +, +{ "type": "Feature", "properties": { "name": "Drumm St & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.396364, 37.793982 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Drumm St" }, "geometry": { "type": "Point", "coordinates": [ -122.396150, 37.793711 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Main St" }, "geometry": { "type": "Point", "coordinates": [ -122.396665, 37.792999 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Beale St" }, "geometry": { "type": "Point", "coordinates": [ -122.397051, 37.792592 ] } } +, +{ "type": "Feature", "properties": { "name": "MARKET ST & BEALE ST" }, "geometry": { "type": "Point", "coordinates": [ -122.396622, 37.793033 ] } } +, +{ "type": "Feature", "properties": { "name": "MARKET ST & DRUMM ST" }, "geometry": { "type": "Point", "coordinates": [ -122.396407, 37.793202 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Drumm St" }, "geometry": { "type": "Point", "coordinates": [ -122.396193, 37.793474 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Drumm St" }, "geometry": { "type": "Point", "coordinates": [ -122.396150, 37.793508 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.395592, 37.796695 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Washington St" }, "geometry": { "type": "Point", "coordinates": [ -122.395205, 37.796356 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.394476, 37.795034 ] } } +, +{ "type": "Feature", "properties": { "name": "THE EMBARCADERO/Ferry Building" }, "geometry": { "type": "Point", "coordinates": [ -122.393875, 37.795135 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.393575, 37.795034 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Ferry Building" }, "geometry": { "type": "Point", "coordinates": [ -122.393789, 37.794830 ] } } +, +{ "type": "Feature", "properties": { "name": "MARKET ST & SPEAR ST" }, "geometry": { "type": "Point", "coordinates": [ -122.395720, 37.793745 ] } } +, +{ "type": "Feature", "properties": { "name": "MARKET ST & SPEAR ST" }, "geometry": { "type": "Point", "coordinates": [ -122.395635, 37.793677 ] } } +, +{ "type": "Feature", "properties": { "name": "SPEAR ST & MARKET ST" }, "geometry": { "type": "Point", "coordinates": [ -122.395635, 37.793643 ] } } +, +{ "type": "Feature", "properties": { "name": "Spear St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.395549, 37.793609 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Steuart St" }, "geometry": { "type": "Point", "coordinates": [ -122.394948, 37.794457 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Steuart St" }, "geometry": { "type": "Point", "coordinates": [ -122.394948, 37.794288 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.394648, 37.794559 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.394648, 37.794559 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.394648, 37.794559 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.394648, 37.794559 ] } } +, +{ "type": "Feature", "properties": { "name": "EMBARCADERO & ST" }, "geometry": { "type": "Point", "coordinates": [ -122.394648, 37.794559 ] } } +, +{ "type": "Feature", "properties": { "name": "STEUART ST & FRANCISCO ST" }, "geometry": { "type": "Point", "coordinates": [ -122.394648, 37.794491 ] } } +, +{ "type": "Feature", "properties": { "name": "Main St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.395678, 37.792558 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.394562, 37.794457 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.394304, 37.794152 ] } } +, +{ "type": "Feature", "properties": { "name": "MUNI METRO TNL & DRUMM ST" }, "geometry": { "type": "Point", "coordinates": [ -122.393746, 37.794254 ] } } +, +{ "type": "Feature", "properties": { "name": "MUNI METRO TNL & DRUMM ST" }, "geometry": { "type": "Point", "coordinates": [ -122.393746, 37.794254 ] } } +, +{ "type": "Feature", "properties": { "name": "Don Chee Way/Steuart St" }, "geometry": { "type": "Point", "coordinates": [ -122.393489, 37.794084 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart & Donchee Way" }, "geometry": { "type": "Point", "coordinates": [ -122.393746, 37.793779 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.393703, 37.793711 ] } } +, +{ "type": "Feature", "properties": { "name": "Don Chee Way/Steuart St" }, "geometry": { "type": "Point", "coordinates": [ -122.393489, 37.793915 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Spear St" }, "geometry": { "type": "Point", "coordinates": [ -122.394004, 37.792694 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.393446, 37.793474 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.393532, 37.793372 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.393360, 37.793270 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.393274, 37.793372 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission Stt & Steuart St NW-FS/SB" }, "geometry": { "type": "Point", "coordinates": [ -122.393403, 37.793236 ] } } +, +{ "type": "Feature", "properties": { "name": "MISSION ST & STEUART STREET S-MB/BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.393403, 37.793033 ] } } +, +{ "type": "Feature", "properties": { "name": "Front & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.398424, 37.791914 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Front St" }, "geometry": { "type": "Point", "coordinates": [ -122.398167, 37.791948 ] } } +, +{ "type": "Feature", "properties": { "name": "Fremont St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.398167, 37.791676 ] } } +, +{ "type": "Feature", "properties": { "name": "Beale St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.396708, 37.791778 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 1st St" }, "geometry": { "type": "Point", "coordinates": [ -122.397523, 37.789947 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Fremont St" }, "geometry": { "type": "Point", "coordinates": [ -122.396965, 37.790150 ] } } +, +{ "type": "Feature", "properties": { "name": "1st St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.397223, 37.789404 ] } } +, +{ "type": "Feature", "properties": { "name": "1st St & Natoma St" }, "geometry": { "type": "Point", "coordinates": [ -122.396879, 37.789268 ] } } +, +{ "type": "Feature", "properties": { "name": "TRANS BAY TERMINAL/RAMP S" }, "geometry": { "type": "Point", "coordinates": [ -122.396364, 37.789675 ] } } +, +{ "type": "Feature", "properties": { "name": "TRANSBAY TERMINAL" }, "geometry": { "type": "Point", "coordinates": [ -122.396407, 37.789506 ] } } +, +{ "type": "Feature", "properties": { "name": "1st St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.396064, 37.788556 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Main" }, "geometry": { "type": "Point", "coordinates": [ -122.395506, 37.791541 ] } } +, +{ "type": "Feature", "properties": { "name": "Main St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.394991, 37.792015 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Main St" }, "geometry": { "type": "Point", "coordinates": [ -122.394948, 37.791982 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission & Main St" }, "geometry": { "type": "Point", "coordinates": [ -122.394819, 37.791846 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Beale St" }, "geometry": { "type": "Point", "coordinates": [ -122.395935, 37.791168 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Spear St" }, "geometry": { "type": "Point", "coordinates": [ -122.394390, 37.792422 ] } } +, +{ "type": "Feature", "properties": { "name": "Main St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.393618, 37.790862 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St. & Beale St." }, "geometry": { "type": "Point", "coordinates": [ -122.393575, 37.790625 ] } } +, +{ "type": "Feature", "properties": { "name": "Transbay Temporary Terminal" }, "geometry": { "type": "Point", "coordinates": [ -122.393403, 37.790761 ] } } +, +{ "type": "Feature", "properties": { "name": "Main St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.393360, 37.790625 ] } } +, +{ "type": "Feature", "properties": { "name": "Main St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.393360, 37.790591 ] } } +, +{ "type": "Feature", "properties": { "name": "Main St. & Howard St." }, "geometry": { "type": "Point", "coordinates": [ -122.393317, 37.790557 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & Main St" }, "geometry": { "type": "Point", "coordinates": [ -122.393532, 37.790421 ] } } +, +{ "type": "Feature", "properties": { "name": "Fremont St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.395935, 37.789981 ] } } +, +{ "type": "Feature", "properties": { "name": "Fremont St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.395892, 37.789879 ] } } +, +{ "type": "Feature", "properties": { "name": "Fremont St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.394991, 37.789201 ] } } +, +{ "type": "Feature", "properties": { "name": "Beale St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.394476, 37.789947 ] } } +, +{ "type": "Feature", "properties": { "name": "Beale St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.394304, 37.789811 ] } } +, +{ "type": "Feature", "properties": { "name": "Beale St. & Howard St." }, "geometry": { "type": "Point", "coordinates": [ -122.394261, 37.789845 ] } } +, +{ "type": "Feature", "properties": { "name": "Beale St. & Howard St." }, "geometry": { "type": "Point", "coordinates": [ -122.394261, 37.789845 ] } } +, +{ "type": "Feature", "properties": { "name": "Beale St. & Howard St." }, "geometry": { "type": "Point", "coordinates": [ -122.394176, 37.789743 ] } } +, +{ "type": "Feature", "properties": { "name": "Fremont St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.393789, 37.788217 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.392802, 37.793813 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.392330, 37.793779 ] } } +, +{ "type": "Feature", "properties": { "name": "Steuart St&Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.393188, 37.793101 ] } } +, +{ "type": "Feature", "properties": { "name": "Tunnel entry-not a stop-use Folsom Stn" }, "geometry": { "type": "Point", "coordinates": [ -122.391472, 37.792728 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.391171, 37.792694 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & Spear St" }, "geometry": { "type": "Point", "coordinates": [ -122.392545, 37.791405 ] } } +, +{ "type": "Feature", "properties": { "name": "Hward St&Spear" }, "geometry": { "type": "Point", "coordinates": [ -122.392416, 37.791371 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & Spear St" }, "geometry": { "type": "Point", "coordinates": [ -122.392588, 37.791202 ] } } +, +{ "type": "Feature", "properties": { "name": "Not a public stop - Use Howard/Spear" }, "geometry": { "type": "Point", "coordinates": [ -122.391257, 37.792422 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & The Embarcadero" }, "geometry": { "type": "Point", "coordinates": [ -122.391129, 37.792355 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.391086, 37.792185 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Main St" }, "geometry": { "type": "Point", "coordinates": [ -122.391901, 37.789302 ] } } +, +{ "type": "Feature", "properties": { "name": "Beale St. & Folsom St." }, "geometry": { "type": "Point", "coordinates": [ -122.393103, 37.788861 ] } } +, +{ "type": "Feature", "properties": { "name": "FOLSOM & BEALE" }, "geometry": { "type": "Point", "coordinates": [ -122.392845, 37.788692 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.390141, 37.791100 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom & Embarcadero" }, "geometry": { "type": "Point", "coordinates": [ -122.390227, 37.790828 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.389841, 37.790761 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.389927, 37.790591 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.389712, 37.790489 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & The Embarcadero" }, "geometry": { "type": "Point", "coordinates": [ -122.388811, 37.789472 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero&Harrison St NW-NS/PS" }, "geometry": { "type": "Point", "coordinates": [ -122.388639, 37.789608 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero&Harrsion St NE-FS/PS" }, "geometry": { "type": "Point", "coordinates": [ -122.388554, 37.789709 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.388511, 37.789574 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.388511, 37.789574 ] } } +, +{ "type": "Feature", "properties": { "name": "Gateview Ave & Mason Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.377224, 37.828192 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue B & Gateview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.377439, 37.826972 ] } } +, +{ "type": "Feature", "properties": { "name": "Gateview Ave & Bayside Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.375293, 37.829853 ] } } +, +{ "type": "Feature", "properties": { "name": "Gateview Ave & North Point St" }, "geometry": { "type": "Point", "coordinates": [ -122.373490, 37.829853 ] } } +, +{ "type": "Feature", "properties": { "name": "13th St & Gateview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.371988, 37.828430 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue H & 13th St" }, "geometry": { "type": "Point", "coordinates": [ -122.371988, 37.828328 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue B & 12th St" }, "geometry": { "type": "Point", "coordinates": [ -122.376323, 37.825480 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue B & Halibut Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.375679, 37.824497 ] } } +, +{ "type": "Feature", "properties": { "name": "AVENUE B & Gateview AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.375422, 37.824192 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue B & 9th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.374992, 37.823277 ] } } +, +{ "type": "Feature", "properties": { "name": "9th St & Avenue C" }, "geometry": { "type": "Point", "coordinates": [ -122.374306, 37.823413 ] } } +, +{ "type": "Feature", "properties": { "name": "9th St & Avenue D" }, "geometry": { "type": "Point", "coordinates": [ -122.372718, 37.824057 ] } } +, +{ "type": "Feature", "properties": { "name": "9th St. & Avenue D" }, "geometry": { "type": "Point", "coordinates": [ -122.373919, 37.823548 ] } } +, +{ "type": "Feature", "properties": { "name": "9th St & Avenue E" }, "geometry": { "type": "Point", "coordinates": [ -122.371473, 37.824599 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue M & 13th St" }, "geometry": { "type": "Point", "coordinates": [ -122.369628, 37.829277 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue M & 10th St" }, "geometry": { "type": "Point", "coordinates": [ -122.368298, 37.827311 ] } } +, +{ "type": "Feature", "properties": { "name": "9th St & Avenue H" }, "geometry": { "type": "Point", "coordinates": [ -122.370100, 37.825209 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue H & 9th St" }, "geometry": { "type": "Point", "coordinates": [ -122.369928, 37.825243 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue H & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.368941, 37.823650 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue M & 8th Street" }, "geometry": { "type": "Point", "coordinates": [ -122.366967, 37.825345 ] } } +, +{ "type": "Feature", "properties": { "name": "TREASURE ISLAND RD/GUARD STATION" }, "geometry": { "type": "Point", "coordinates": [ -122.371817, 37.816022 ] } } +, +{ "type": "Feature", "properties": { "name": "TREASURE ISLAND RD/GUARD STATION" }, "geometry": { "type": "Point", "coordinates": [ -122.371473, 37.816226 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Avenue D" }, "geometry": { "type": "Point", "coordinates": [ -122.369542, 37.818531 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue H & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.367997, 37.822396 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue H & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.367826, 37.821955 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue H & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.366452, 37.819955 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue H & California St" }, "geometry": { "type": "Point", "coordinates": [ -122.366366, 37.820023 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Avenue H" }, "geometry": { "type": "Point", "coordinates": [ -122.366152, 37.819921 ] } } +, +{ "type": "Feature", "properties": { "name": "California St & Avenue C" }, "geometry": { "type": "Point", "coordinates": [ -122.370143, 37.818328 ] } } +, +{ "type": "Feature", "properties": { "name": "Treasure Island Rd & Macalla Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.371173, 37.813073 ] } } +, +{ "type": "Feature", "properties": { "name": "Macalla St & Treasure Island Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.370915, 37.813242 ] } } +, +{ "type": "Feature", "properties": { "name": "Treasure Island Rd & Macalla Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.371044, 37.813140 ] } } +, +{ "type": "Feature", "properties": { "name": "Macalla Rd & Treasure Island Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.370872, 37.813174 ] } } +, +{ "type": "Feature", "properties": { "name": "Macalla St & Nimitz Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.369885, 37.812056 ] } } +, +{ "type": "Feature", "properties": { "name": "Macalla Rd & Nimitz Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.369585, 37.811818 ] } } +, +{ "type": "Feature", "properties": { "name": "Avenue M & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.364907, 37.822260 ] } } +, +{ "type": "Feature", "properties": { "name": "California Ave & Avenue M" }, "geometry": { "type": "Point", "coordinates": [ -122.364221, 37.820768 ] } } +, +{ "type": "Feature", "properties": { "name": "62 Macalla St" }, "geometry": { "type": "Point", "coordinates": [ -122.364864, 37.812022 ] } } +, +{ "type": "Feature", "properties": { "name": "Macalla Rd/Bldg 240" }, "geometry": { "type": "Point", "coordinates": [ -122.364564, 37.811886 ] } } +, +{ "type": "Feature", "properties": { "name": "Northgate Rd & Macalla St" }, "geometry": { "type": "Point", "coordinates": [ -122.363791, 37.811717 ] } } +, +{ "type": "Feature", "properties": { "name": "North Gate Rd and Macalla Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.364306, 37.811344 ] } } +, +{ "type": "Feature", "properties": { "name": "Hillcrest St & Macalla St" }, "geometry": { "type": "Point", "coordinates": [ -122.363405, 37.810530 ] } } +, +{ "type": "Feature", "properties": { "name": "Hillcrest St & Macalla St" }, "geometry": { "type": "Point", "coordinates": [ -122.363405, 37.810394 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.429881, 37.786589 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.429624, 37.786521 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.431383, 37.784520 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.431040, 37.784656 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.428722, 37.786725 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.428465, 37.786657 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.427092, 37.786962 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.427692, 37.785775 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.428164, 37.784859 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.427821, 37.785063 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.426662, 37.785911 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.428980, 37.781942 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.429152, 37.781773 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.427306, 37.782146 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.427263, 37.782044 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.424946, 37.787233 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.424989, 37.786148 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.425117, 37.785436 ] } } +, +{ "type": "Feature", "properties": { "name": "Starr King Way & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.424088, 37.785063 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.421684, 37.787844 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421556, 37.787640 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.421856, 37.787403 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421470, 37.786589 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Post St" }, "geometry": { "type": "Point", "coordinates": [ -122.421341, 37.786114 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.422929, 37.785572 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.421556, 37.785809 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.421427, 37.785707 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.421470, 37.785606 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.421341, 37.784927 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421427, 37.784690 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.421255, 37.784690 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.421169, 37.784825 ] } } +, +{ "type": "Feature", "properties": { "name": "VAN NESS AVE & OFARRELL ST" }, "geometry": { "type": "Point", "coordinates": [ -122.421212, 37.784520 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.424302, 37.782519 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.424216, 37.782417 ] } } +, +{ "type": "Feature", "properties": { "name": "808 McAllister St" }, "geometry": { "type": "Point", "coordinates": [ -122.425547, 37.779500 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.423873, 37.779704 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.423701, 37.779636 ] } } +, +{ "type": "Feature", "properties": { "name": "McAllister St & Gough st" }, "geometry": { "type": "Point", "coordinates": [ -122.423487, 37.779636 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.420740, 37.783231 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.420912, 37.782519 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421083, 37.781976 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Ave & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420697, 37.780959 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420740, 37.780111 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.431426, 37.778652 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.430525, 37.778856 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.429624, 37.778890 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Grove St" }, "geometry": { "type": "Point", "coordinates": [ -122.431383, 37.777024 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Grove St" }, "geometry": { "type": "Point", "coordinates": [ -122.431512, 37.776889 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.431598, 37.775871 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.776108 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.775600 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.430868, 37.775837 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.429881, 37.776074 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Webster St" }, "geometry": { "type": "Point", "coordinates": [ -122.429194, 37.776040 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.426963, 37.779195 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.426748, 37.779331 ] } } +, +{ "type": "Feature", "properties": { "name": "Grove St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.426362, 37.777397 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.428293, 37.776278 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.427564, 37.776244 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna St & Hayes St" }, "geometry": { "type": "Point", "coordinates": [ -122.426276, 37.776753 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.430825, 37.774277 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.430868, 37.773768 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.430782, 37.772173 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.430568, 37.772207 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.430525, 37.772038 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.430353, 37.772038 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.430224, 37.772072 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.427349, 37.772445 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.427092, 37.772614 ] } } +, +{ "type": "Feature", "properties": { "name": "785 Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.425246, 37.779399 ] } } +, +{ "type": "Feature", "properties": { "name": "Grove St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.424989, 37.777567 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.426147, 37.776549 ] } } +, +{ "type": "Feature", "properties": { "name": "Grove St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.423315, 37.777770 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.423358, 37.776922 ] } } +, +{ "type": "Feature", "properties": { "name": "Fell St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.423058, 37.775973 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.421684, 37.777126 ] } } +, +{ "type": "Feature", "properties": { "name": "Oak St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.421985, 37.775091 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.425504, 37.772954 ] } } +, +{ "type": "Feature", "properties": { "name": "Page St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.424173, 37.773836 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Octavia St" }, "geometry": { "type": "Point", "coordinates": [ -122.424216, 37.772988 ] } } +, +{ "type": "Feature", "properties": { "name": "Page St & Octavia Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.423873, 37.773836 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.425847, 37.772784 ] } } +, +{ "type": "Feature", "properties": { "name": "Laguna St & Haight St" }, "geometry": { "type": "Point", "coordinates": [ -122.425418, 37.772648 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Laguna St" }, "geometry": { "type": "Point", "coordinates": [ -122.424688, 37.770986 ] } } +, +{ "type": "Feature", "properties": { "name": "Page St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.422543, 37.774039 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.422585, 37.773191 ] } } +, +{ "type": "Feature", "properties": { "name": "Haight St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.422328, 37.773089 ] } } +, +{ "type": "Feature", "properties": { "name": "Page St & Franklin St" }, "geometry": { "type": "Point", "coordinates": [ -122.420998, 37.774209 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.421770, 37.773293 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & Mccoppin St" }, "geometry": { "type": "Point", "coordinates": [ -122.422628, 37.771359 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.422028, 37.772886 ] } } +, +{ "type": "Feature", "properties": { "name": "Mccoppin St & Gough St" }, "geometry": { "type": "Point", "coordinates": [ -122.420826, 37.771800 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.420225, 37.787844 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Sutter St" }, "geometry": { "type": "Point", "coordinates": [ -122.420096, 37.788014 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.420225, 37.787810 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Post St" }, "geometry": { "type": "Point", "coordinates": [ -122.420011, 37.786589 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Post St" }, "geometry": { "type": "Point", "coordinates": [ -122.419925, 37.786928 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.419581, 37.786827 ] } } +, +{ "type": "Feature", "properties": { "name": "Sutter St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.418551, 37.788014 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.418251, 37.786148 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420654, 37.785877 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.419667, 37.785029 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.784961 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.418036, 37.785097 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.417736, 37.787064 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.416620, 37.786352 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.416277, 37.787267 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.417822, 37.785097 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.415805, 37.785402 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420654, 37.782994 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420611, 37.782892 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Turk St" }, "geometry": { "type": "Point", "coordinates": [ -122.420568, 37.782316 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.419066, 37.783197 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.419024, 37.783062 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.782214 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.420225, 37.780213 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420182, 37.780009 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.420354, 37.779704 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Ave & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.418337, 37.781230 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.419024, 37.780314 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.418723, 37.780179 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.417693, 37.783367 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.417436, 37.783231 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.417393, 37.783299 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.417221, 37.782485 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St & Golden Gate Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.417135, 37.781705 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.415719, 37.783503 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.415891, 37.782655 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Turk St" }, "geometry": { "type": "Point", "coordinates": [ -122.415805, 37.782655 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.417436, 37.780518 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.416964, 37.780789 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.416878, 37.780586 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St&Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.416878, 37.780382 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.415891, 37.780620 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.415719, 37.780755 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Mcallister St" }, "geometry": { "type": "Point", "coordinates": [ -122.415462, 37.780789 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Post St" }, "geometry": { "type": "Point", "coordinates": [ -122.414904, 37.787369 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414603, 37.787471 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414989, 37.786589 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.414732, 37.786453 ] } } +, +{ "type": "Feature", "properties": { "name": "Jones St & Post St" }, "geometry": { "type": "Point", "coordinates": [ -122.413445, 37.787810 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.412972, 37.787674 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.413359, 37.786793 ] } } +, +{ "type": "Feature", "properties": { "name": "Jones St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.413273, 37.786860 ] } } +, +{ "type": "Feature", "properties": { "name": "Leavenworth St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.414560, 37.785504 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414474, 37.785572 ] } } +, +{ "type": "Feature", "properties": { "name": "Ellis St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414303, 37.784724 ] } } +, +{ "type": "Feature", "properties": { "name": "Ellis St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.413187, 37.784893 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.412543, 37.785809 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.412457, 37.783910 ] } } +, +{ "type": "Feature", "properties": { "name": "Post St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.411342, 37.787912 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.411685, 37.786996 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.410312, 37.787200 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.409968, 37.787233 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.410655, 37.786046 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.409797, 37.786114 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St&Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.411985, 37.785877 ] } } +, +{ "type": "Feature", "properties": { "name": "Ellis St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.411470, 37.785097 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.410827, 37.784113 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414088, 37.783706 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414260, 37.782858 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Ave & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.415118, 37.781671 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Ave & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414002, 37.781841 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.412586, 37.783062 ] } } +, +{ "type": "Feature", "properties": { "name": "McAllister St & Leavenworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.413616, 37.780891 ] } } +, +{ "type": "Feature", "properties": { "name": "Mcallister St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.413101, 37.781095 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 7th St N" }, "geometry": { "type": "Point", "coordinates": [ -122.412457, 37.780654 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.412457, 37.780586 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.413187, 37.779840 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.412629, 37.780382 ] } } +, +{ "type": "Feature", "properties": { "name": "Golden Gate Ave & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.411942, 37.782078 ] } } +, +{ "type": "Feature", "properties": { "name": "Turk St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.409925, 37.783401 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410440, 37.782112 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Taylor St" }, "geometry": { "type": "Point", "coordinates": [ -122.410269, 37.782349 ] } } +, +{ "type": "Feature", "properties": { "name": "McAllister St & Jones St" }, "geometry": { "type": "Point", "coordinates": [ -122.412200, 37.781196 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.411342, 37.781298 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.412415, 37.780314 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Grove St" }, "geometry": { "type": "Point", "coordinates": [ -122.419839, 37.778720 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420225, 37.777296 ] } } +, +{ "type": "Feature", "properties": { "name": "Grove St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.419753, 37.778211 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Grove St" }, "geometry": { "type": "Point", "coordinates": [ -122.419925, 37.777872 ] } } +, +{ "type": "Feature", "properties": { "name": "Grove St & Polk St" }, "geometry": { "type": "Point", "coordinates": [ -122.418337, 37.778415 ] } } +, +{ "type": "Feature", "properties": { "name": "Polk St & Lech Walesa St" }, "geometry": { "type": "Point", "coordinates": [ -122.418251, 37.778042 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.419496, 37.775532 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Oak St" }, "geometry": { "type": "Point", "coordinates": [ -122.419496, 37.775532 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.419410, 37.775226 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Ave & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.775328 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.775260 ] } } +, +{ "type": "Feature", "properties": { "name": "SOUTH VAN NESS AVE & 12TH ST" }, "geometry": { "type": "Point", "coordinates": [ -122.419152, 37.775091 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St/btw Market & Mission" }, "geometry": { "type": "Point", "coordinates": [ -122.418680, 37.775532 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.418551, 37.775532 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.418594, 37.775396 ] } } +, +{ "type": "Feature", "properties": { "name": "Larkin St & Grove St" }, "geometry": { "type": "Point", "coordinates": [ -122.416577, 37.778924 ] } } +, +{ "type": "Feature", "properties": { "name": "GROVE AND LARKIN" }, "geometry": { "type": "Point", "coordinates": [ -122.416792, 37.778754 ] } } +, +{ "type": "Feature", "properties": { "name": "Hayes St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.416878, 37.777737 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.416277, 37.777601 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Larkin St" }, "geometry": { "type": "Point", "coordinates": [ -122.416234, 37.777601 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 9th St" }, "geometry": { "type": "Point", "coordinates": [ -122.416363, 37.777431 ] } } +, +{ "type": "Feature", "properties": { "name": "9TH St AND MARKET St" }, "geometry": { "type": "Point", "coordinates": [ -122.416320, 37.777397 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 9th St" }, "geometry": { "type": "Point", "coordinates": [ -122.415204, 37.775973 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & South Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.419324, 37.775057 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness Ave & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.419324, 37.774989 ] } } +, +{ "type": "Feature", "properties": { "name": "MARKET ST & VAN NESS AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.775057 ] } } +, +{ "type": "Feature", "properties": { "name": "MARKET ST & 12TH ST" }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.775057 ] } } +, +{ "type": "Feature", "properties": { "name": "S. Van Ness Ave. & Market St." }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.774989 ] } } +, +{ "type": "Feature", "properties": { "name": "S. Van Ness Ave. & Market St." }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.774955 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.418637, 37.773327 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.418637, 37.773327 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & South Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.418509, 37.773021 ] } } +, +{ "type": "Feature", "properties": { "name": "150 Otis St" }, "geometry": { "type": "Point", "coordinates": [ -122.420311, 37.770749 ] } } +, +{ "type": "Feature", "properties": { "name": "Otis St & 12th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.772818 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.417350, 37.774582 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 11th St" }, "geometry": { "type": "Point", "coordinates": [ -122.417307, 37.774311 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 11th St" }, "geometry": { "type": "Point", "coordinates": [ -122.417135, 37.774243 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.416921, 37.774039 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.415762, 37.773361 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.415419, 37.772852 ] } } +, +{ "type": "Feature", "properties": { "name": "Hyde St & Fulton St" }, "geometry": { "type": "Point", "coordinates": [ -122.415161, 37.779365 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414861, 37.778618 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.414732, 37.778788 ] } } +, +{ "type": "Feature", "properties": { "name": "8TH St AND MARKET St" }, "geometry": { "type": "Point", "coordinates": [ -122.414775, 37.778585 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.414603, 37.778517 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Hyde St" }, "geometry": { "type": "Point", "coordinates": [ -122.414389, 37.779127 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.413573, 37.777262 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.413058, 37.777262 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.412758, 37.777703 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 9th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414346, 37.776481 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.411385, 37.778992 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.410784, 37.779195 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410526, 37.779365 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.411771, 37.776244 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St&Howard" }, "geometry": { "type": "Point", "coordinates": [ -122.411642, 37.776142 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409797, 37.775125 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.414260, 37.772139 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 11th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414303, 37.771766 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413831, 37.771597 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 11th St" }, "geometry": { "type": "Point", "coordinates": [ -122.413745, 37.772004 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.412672, 37.770850 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 9th St" }, "geometry": { "type": "Point", "coordinates": [ -122.411342, 37.773903 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.409925, 37.774785 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 9th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410398, 37.772411 ] } } +, +{ "type": "Feature", "properties": { "name": "Hermann St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.429967, 37.770308 ] } } +, +{ "type": "Feature", "properties": { "name": "Hermann St & Fillmore St" }, "geometry": { "type": "Point", "coordinates": [ -122.429709, 37.770274 ] } } +, +{ "type": "Feature", "properties": { "name": "Fillmore St & Deboce Ave temp bus terminal" }, "geometry": { "type": "Point", "coordinates": [ -122.430053, 37.769527 ] } } +, +{ "type": "Feature", "properties": { "name": "Duboce Ave & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.429409, 37.769493 ] } } +, +{ "type": "Feature", "properties": { "name": "Duboce Ave & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.429409, 37.769426 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Duboce Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.429194, 37.769527 ] } } +, +{ "type": "Feature", "properties": { "name": "Duboce Ave & Church St - Ramp" }, "geometry": { "type": "Point", "coordinates": [ -122.429152, 37.769493 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Duboce Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.429109, 37.769324 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Duboce Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.429066, 37.769324 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.431297, 37.767560 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & SANCHEZ ST" }, "geometry": { "type": "Point", "coordinates": [ -122.431126, 37.767696 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.429109, 37.767797 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.429066, 37.767831 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.429023, 37.767797 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.429152, 37.767696 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.429152, 37.767288 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.429066, 37.767356 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Buchanan St" }, "geometry": { "type": "Point", "coordinates": [ -122.426190, 37.769799 ] } } +, +{ "type": "Feature", "properties": { "name": "Duboce Portal/Not a stop" }, "geometry": { "type": "Point", "coordinates": [ -122.427263, 37.769460 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.427135, 37.768883 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.428894, 37.767797 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.428637, 37.767831 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.428894, 37.767390 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.428894, 37.767322 ] } } +, +{ "type": "Feature", "properties": { "name": "Sanchez St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431040, 37.766305 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431426, 37.765694 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.431254, 37.765660 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.431169, 37.765694 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.430739, 37.766203 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428722, 37.764642 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.428808, 37.764473 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428637, 37.764405 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428594, 37.764405 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.428551, 37.764608 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.426620, 37.764608 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.426190, 37.764744 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428508, 37.762810 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428508, 37.762810 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Guerrero St" }, "geometry": { "type": "Point", "coordinates": [ -122.424989, 37.770579 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & Duboce Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422457, 37.769833 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & Duboce Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422328, 37.770172 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.422156, 37.768408 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.422285, 37.767865 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421985, 37.766813 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Guerrero St" }, "geometry": { "type": "Point", "coordinates": [ -122.424259, 37.764744 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Guerrero St" }, "geometry": { "type": "Point", "coordinates": [ -122.424002, 37.764880 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.422156, 37.766271 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Valencia St" }, "geometry": { "type": "Point", "coordinates": [ -122.422071, 37.764880 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421856, 37.765253 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Valencia St" }, "geometry": { "type": "Point", "coordinates": [ -122.421770, 37.765015 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421985, 37.764642 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421684, 37.763421 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421813, 37.763116 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.430696, 37.761114 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.430482, 37.761250 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428422, 37.761487 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.428207, 37.761385 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.428164, 37.761250 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428207, 37.761216 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.426276, 37.761487 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.428293, 37.759791 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.427950, 37.758298 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.427821, 37.758230 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Liberty St" }, "geometry": { "type": "Point", "coordinates": [ -122.428079, 37.757382 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/Liberty St" }, "geometry": { "type": "Point", "coordinates": [ -122.427006, 37.757484 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/Liberty St" }, "geometry": { "type": "Point", "coordinates": [ -122.426877, 37.757246 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.426963, 37.756669 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.426834, 37.756466 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.427692, 37.754803 ] } } +, +{ "type": "Feature", "properties": { "name": "Right Of Way/22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.427778, 37.754633 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.425933, 37.761419 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Guerrero St" }, "geometry": { "type": "Point", "coordinates": [ -122.423959, 37.761623 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Guerrero St" }, "geometry": { "type": "Point", "coordinates": [ -122.423658, 37.761555 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Valencia St" }, "geometry": { "type": "Point", "coordinates": [ -122.421770, 37.761792 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421556, 37.762030 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Valencia St" }, "geometry": { "type": "Point", "coordinates": [ -122.421427, 37.761691 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421684, 37.761453 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421384, 37.760367 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421513, 37.759892 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421384, 37.758264 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421212, 37.758773 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.421041, 37.757178 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.421212, 37.756635 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.420912, 37.755583 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.421041, 37.755074 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.420912, 37.753412 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.420740, 37.753615 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 13th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419796, 37.770477 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419968, 37.768645 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.420053, 37.767831 ] } } +, +{ "type": "Feature", "properties": { "name": "14th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.419839, 37.768238 ] } } +, +{ "type": "Feature", "properties": { "name": "15th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.420182, 37.766712 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419796, 37.767153 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.415676, 37.768476 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 14th St" }, "geometry": { "type": "Point", "coordinates": [ -122.415547, 37.768476 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419882, 37.766203 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419710, 37.765151 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.419839, 37.765015 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419753, 37.765015 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.419624, 37.765151 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.419538, 37.765151 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419624, 37.764948 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.765049 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419367, 37.762641 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness &16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.417650, 37.765321 ] } } +, +{ "type": "Feature", "properties": { "name": "16 th St & South Van Ness" }, "geometry": { "type": "Point", "coordinates": [ -122.417650, 37.765287 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & South Van Ness" }, "geometry": { "type": "Point", "coordinates": [ -122.417607, 37.765083 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.415247, 37.765592 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.415462, 37.765423 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Shotwell St" }, "geometry": { "type": "Point", "coordinates": [ -122.415462, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Shotwell St" }, "geometry": { "type": "Point", "coordinates": [ -122.416062, 37.765219 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.415419, 37.765253 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.417350, 37.762132 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.415290, 37.763862 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.412286, 37.770376 ] } } +, +{ "type": "Feature", "properties": { "name": "11th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.411342, 37.769833 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 11th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410483, 37.769697 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & Division St" }, "geometry": { "type": "Point", "coordinates": [ -122.410483, 37.769697 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & Division St" }, "geometry": { "type": "Point", "coordinates": [ -122.410913, 37.769120 ] } } +, +{ "type": "Feature", "properties": { "name": "Division St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.410741, 37.769358 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & Alameda St" }, "geometry": { "type": "Point", "coordinates": [ -122.410827, 37.768103 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & Alameda St" }, "geometry": { "type": "Point", "coordinates": [ -122.410698, 37.768476 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.413316, 37.765389 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.413015, 37.765524 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414947, 37.762233 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410569, 37.765321 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410440, 37.765490 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.410355, 37.765592 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.409840, 37.765728 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410312, 37.764235 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410440, 37.764032 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.410355, 37.763149 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.410183, 37.762946 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.419538, 37.761928 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419496, 37.761792 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.760673 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.759825 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419024, 37.759112 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.419109, 37.758196 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 18 th St" }, "geometry": { "type": "Point", "coordinates": [ -122.417092, 37.761894 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.417006, 37.758942 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.416792, 37.758875 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.418895, 37.757517 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.418981, 37.756601 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.418723, 37.755821 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.418809, 37.755176 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.418637, 37.753446 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.418594, 37.754294 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.416706, 37.755753 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.416492, 37.755482 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.415118, 37.761860 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414818, 37.759010 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414646, 37.759010 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414646, 37.758841 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 20St" }, "geometry": { "type": "Point", "coordinates": [ -122.414818, 37.758773 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410226, 37.761894 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410054, 37.761691 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.410097, 37.760605 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409925, 37.760401 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409968, 37.759350 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.414346, 37.755957 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.414517, 37.755482 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.408338, 37.787471 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.408423, 37.787403 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.408166, 37.787267 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.408166, 37.786521 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.408166, 37.786352 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & O'Farrell St" }, "geometry": { "type": "Point", "coordinates": [ -122.407951, 37.786352 ] } } +, +{ "type": "Feature", "properties": { "name": "ELLIS ST & MASON ST" }, "geometry": { "type": "Point", "coordinates": [ -122.409368, 37.785368 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason St & Ellis St" }, "geometry": { "type": "Point", "coordinates": [ -122.409539, 37.785097 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.409410, 37.784283 ] } } +, +{ "type": "Feature", "properties": { "name": "Mason & Turk" }, "geometry": { "type": "Point", "coordinates": [ -122.409368, 37.783944 ] } } +, +{ "type": "Feature", "properties": { "name": "MASON ST & EDDY ST" }, "geometry": { "type": "Point", "coordinates": [ -122.409325, 37.784079 ] } } +, +{ "type": "Feature", "properties": { "name": "Eddy St & Cyril Magnin St" }, "geometry": { "type": "Point", "coordinates": [ -122.408638, 37.784418 ] } } +, +{ "type": "Feature", "properties": { "name": "Cyril Magnin St & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.408595, 37.784317 ] } } +, +{ "type": "Feature", "properties": { "name": "Cyril Magnin St & Eddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.408423, 37.784520 ] } } +, +{ "type": "Feature", "properties": { "name": "Ellis street & Powell street" }, "geometry": { "type": "Point", "coordinates": [ -122.407994, 37.785436 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Ellis St" }, "geometry": { "type": "Point", "coordinates": [ -122.407908, 37.785402 ] } } +, +{ "type": "Feature", "properties": { "name": "POWELL STREET TURNABLE OUT OB" }, "geometry": { "type": "Point", "coordinates": [ -122.407823, 37.784792 ] } } +, +{ "type": "Feature", "properties": { "name": "POWELL STREET TURNABLE OUT OB" }, "geometry": { "type": "Point", "coordinates": [ -122.407823, 37.784792 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.407823, 37.784656 ] } } +, +{ "type": "Feature", "properties": { "name": "POWELL & MARKET TURNTABLE" }, "geometry": { "type": "Point", "coordinates": [ -122.407694, 37.784825 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.407694, 37.784825 ] } } +, +{ "type": "Feature", "properties": { "name": "POWELL STREET TURNABLE IN IB" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.784792 ] } } +, +{ "type": "Feature", "properties": { "name": "POWELL STREET TURNABLE IN IB" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.784792 ] } } +, +{ "type": "Feature", "properties": { "name": "Powell/Market" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.784486 ] } } +, +{ "type": "Feature", "properties": { "name": "Cyril Magnin St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.408209, 37.784181 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407994, 37.784113 ] } } +, +{ "type": "Feature", "properties": { "name": "Cyril Magnin St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.408252, 37.784011 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408166, 37.783910 ] } } +, +{ "type": "Feature", "properties": { "name": "Cyril Magnin St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.408080, 37.784011 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Powell St" }, "geometry": { "type": "Point", "coordinates": [ -122.407351, 37.784690 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Geary Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.406707, 37.787742 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.406492, 37.787674 ] } } +, +{ "type": "Feature", "properties": { "name": "O'Farrell St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405634, 37.786657 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Grant Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405162, 37.786420 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404604, 37.786623 ] } } +, +{ "type": "Feature", "properties": { "name": "Stockton St & Ellis St" }, "geometry": { "type": "Point", "coordinates": [ -122.406278, 37.785775 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406836, 37.784859 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.405934, 37.785673 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Stockton St" }, "geometry": { "type": "Point", "coordinates": [ -122.405763, 37.785877 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.405677, 37.785538 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404561, 37.784385 ] } } +, +{ "type": "Feature", "properties": { "name": "4TH ST & Mission ST" }, "geometry": { "type": "Point", "coordinates": [ -122.404304, 37.784351 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Mason St" }, "geometry": { "type": "Point", "coordinates": [ -122.409668, 37.782858 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408681, 37.783401 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St &Stevenson St" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.783503 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Mary St" }, "geometry": { "type": "Point", "coordinates": [ -122.407136, 37.782112 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409110, 37.780755 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408338, 37.781196 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.406664, 37.782960 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.406664, 37.782790 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406664, 37.782756 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406578, 37.782621 ] } } +, +{ "type": "Feature", "properties": { "name": "Jessie St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406492, 37.782655 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.404776, 37.781468 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.404776, 37.781230 ] } } +, +{ "type": "Feature", "properties": { "name": "Geary Blvd & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.403660, 37.788014 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.403531, 37.787539 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.403402, 37.787742 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Market St" }, "geometry": { "type": "Point", "coordinates": [ -122.403445, 37.787640 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & Kearny St" }, "geometry": { "type": "Point", "coordinates": [ -122.403445, 37.787640 ] } } +, +{ "type": "Feature", "properties": { "name": "Market St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.403231, 37.787742 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.402501, 37.785979 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.401600, 37.786521 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Stevenson St" }, "geometry": { "type": "Point", "coordinates": [ -122.402115, 37.786386 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.402115, 37.786352 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Minna St" }, "geometry": { "type": "Point", "coordinates": [ -122.401643, 37.786046 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.403960, 37.784656 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.404132, 37.784283 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.400270, 37.787776 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.399883, 37.787878 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & New Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.399068, 37.786216 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & New Montgomery St" }, "geometry": { "type": "Point", "coordinates": [ -122.399282, 37.786080 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.400870, 37.784859 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.400270, 37.784961 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.399111, 37.784011 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Third St" }, "geometry": { "type": "Point", "coordinates": [ -122.398810, 37.783978 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.398767, 37.784011 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.402587, 37.783062 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.403574, 37.780314 ] } } +, +{ "type": "Feature", "properties": { "name": "5TH ST & FOLSOM ST" }, "geometry": { "type": "Point", "coordinates": [ -122.403488, 37.780450 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.403102, 37.780416 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.400870, 37.782180 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.401042, 37.781807 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.399926, 37.780687 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.409239, 37.777940 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.407908, 37.776889 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407866, 37.776651 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.405334, 37.778652 ] } } +, +{ "type": "Feature", "properties": { "name": "6th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.404261, 37.777329 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.406492, 37.775735 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406449, 37.775532 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404389, 37.777160 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408552, 37.773870 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.408381, 37.773564 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.407136, 37.772547 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407093, 37.772343 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 9th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408209, 37.771461 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.405205, 37.774718 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.405033, 37.774616 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404518, 37.774412 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.405934, 37.771563 ] } } +, +{ "type": "Feature", "properties": { "name": "Brannan St & 8th ST" }, "geometry": { "type": "Point", "coordinates": [ -122.405248, 37.771325 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402158, 37.778924 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.402072, 37.779331 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.401857, 37.778958 ] } } +, +{ "type": "Feature", "properties": { "name": "6th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.402630, 37.776176 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402244, 37.776176 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.399969, 37.777974 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.398725, 37.776481 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.403402, 37.773293 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.401857, 37.772038 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401986, 37.771699 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 7th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401686, 37.771732 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.399454, 37.773700 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.399454, 37.773496 ] } } +, +{ "type": "Feature", "properties": { "name": "Howard St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.398639, 37.786623 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.398167, 37.786759 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Howard St" }, "geometry": { "type": "Point", "coordinates": [ -122.398124, 37.786589 ] } } +, +{ "type": "Feature", "properties": { "name": "Second Street & Folsom Street" }, "geometry": { "type": "Point", "coordinates": [ -122.396750, 37.785639 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.396536, 37.785775 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.396536, 37.785741 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.396622, 37.785538 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.396536, 37.785504 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.396579, 37.785334 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 1st St" }, "geometry": { "type": "Point", "coordinates": [ -122.394218, 37.787437 ] } } +, +{ "type": "Feature", "properties": { "name": "FREMONT & FOLSOM" }, "geometry": { "type": "Point", "coordinates": [ -122.393618, 37.787980 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.395334, 37.784554 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.395463, 37.784215 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd ST & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.395077, 37.784317 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.395034, 37.784113 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Perry St" }, "geometry": { "type": "Point", "coordinates": [ -122.397480, 37.782723 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.397695, 37.782451 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.397437, 37.782655 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.398081, 37.779500 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.393789, 37.783299 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.393489, 37.782858 ] } } +, +{ "type": "Feature", "properties": { "name": "Brannan St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.394605, 37.780009 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & BRANNAN ST" }, "geometry": { "type": "Point", "coordinates": [ -122.393532, 37.779568 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & 1st St" }, "geometry": { "type": "Point", "coordinates": [ -122.392931, 37.786182 ] } } +, +{ "type": "Feature", "properties": { "name": "HARRISON & FREMONT" }, "geometry": { "type": "Point", "coordinates": [ -122.392201, 37.786759 ] } } +, +{ "type": "Feature", "properties": { "name": "Harrison St & Main St" }, "geometry": { "type": "Point", "coordinates": [ -122.390614, 37.788014 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.388167, 37.784385 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.387996, 37.784656 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.387996, 37.784622 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.392244, 37.781875 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.391987, 37.781841 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.390699, 37.780857 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.390699, 37.780654 ] } } +, +{ "type": "Feature", "properties": { "name": "2nd St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.390571, 37.780721 ] } } +, +{ "type": "Feature", "properties": { "name": "The Embarcadero & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.388339, 37.783604 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389970, 37.779806 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389884, 37.779738 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389841, 37.779636 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 2nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389584, 37.779602 ] } } +, +{ "type": "Feature", "properties": { "name": " 4th St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.396665, 37.778449 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.396622, 37.778313 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.398596, 37.776549 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.396150, 37.776346 ] } } +, +{ "type": "Feature", "properties": { "name": "5th St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.397180, 37.775498 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397223, 37.775464 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 5th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397223, 37.775260 ] } } +, +{ "type": "Feature", "properties": { "name": "TOWNSEND ST & 4TH ST" }, "geometry": { "type": "Point", "coordinates": [ -122.394648, 37.777296 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.394433, 37.777431 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.395163, 37.777126 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.394991, 37.777194 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.395034, 37.777058 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.394991, 37.777092 ] } } +, +{ "type": "Feature", "properties": { "name": "4TH ST & TOWNSEND ST" }, "geometry": { "type": "Point", "coordinates": [ -122.394905, 37.777092 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.394776, 37.777024 ] } } +, +{ "type": "Feature", "properties": { "name": "4TH ST & TOWNSEND ST" }, "geometry": { "type": "Point", "coordinates": [ -122.394905, 37.776922 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.394261, 37.776210 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.394047, 37.776346 ] } } +, +{ "type": "Feature", "properties": { "name": "4TH ST & BERRY ST" }, "geometry": { "type": "Point", "coordinates": [ -122.393961, 37.776380 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & King St" }, "geometry": { "type": "Point", "coordinates": [ -122.393918, 37.776346 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & King St" }, "geometry": { "type": "Point", "coordinates": [ -122.394047, 37.776278 ] } } +, +{ "type": "Feature", "properties": { "name": "4TH ST & BERRY ST" }, "geometry": { "type": "Point", "coordinates": [ -122.393961, 37.776176 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & King St" }, "geometry": { "type": "Point", "coordinates": [ -122.393875, 37.776312 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.394390, 37.776074 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Berry St" }, "geometry": { "type": "Point", "coordinates": [ -122.393360, 37.775803 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397866, 37.773191 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.397995, 37.772920 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.397866, 37.772920 ] } } +, +{ "type": "Feature", "properties": { "name": "King St & 6th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397823, 37.773123 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Brannan St" }, "geometry": { "type": "Point", "coordinates": [ -122.393188, 37.779297 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.393060, 37.778754 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.392459, 37.778992 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd Street & King St" }, "geometry": { "type": "Point", "coordinates": [ -122.391815, 37.778110 ] } } +, +{ "type": "Feature", "properties": { "name": "4TH ST & BERRY ST" }, "geometry": { "type": "Point", "coordinates": [ -122.392802, 37.775498 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & Berry St" }, "geometry": { "type": "Point", "coordinates": [ -122.392845, 37.775294 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Terry A Francois Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.390141, 37.776210 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Terry A Francois Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.389970, 37.776244 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Mission Rock St" }, "geometry": { "type": "Point", "coordinates": [ -122.389755, 37.773021 ] } } +, +{ "type": "Feature", "properties": { "name": "4th St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389712, 37.772988 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.389798, 37.772648 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Mission Rock St" }, "geometry": { "type": "Point", "coordinates": [ -122.389755, 37.772852 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission Bay North & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389627, 37.771190 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & Alameda St" }, "geometry": { "type": "Point", "coordinates": [ -122.407951, 37.768442 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & Alameda St" }, "geometry": { "type": "Point", "coordinates": [ -122.407694, 37.768272 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & Alameda St" }, "geometry": { "type": "Point", "coordinates": [ -122.407694, 37.768272 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave&15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.767356 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408209, 37.766372 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Potrero Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.407694, 37.765864 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Potrero Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.765728 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.765728 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407479, 37.766033 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407351, 37.764744 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407565, 37.764235 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405548, 37.765864 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Vermont St" }, "geometry": { "type": "Point", "coordinates": [ -122.404733, 37.766067 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404475, 37.764574 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.404432, 37.763251 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.404304, 37.763319 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404346, 37.762233 ] } } +, +{ "type": "Feature", "properties": { "name": "Townsend St & 8th St" }, "geometry": { "type": "Point", "coordinates": [ -122.403831, 37.770240 ] } } +, +{ "type": "Feature", "properties": { "name": "8th St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.404132, 37.770172 ] } } +, +{ "type": "Feature", "properties": { "name": "Division St & Townsend St" }, "geometry": { "type": "Point", "coordinates": [ -122.403316, 37.769901 ] } } +, +{ "type": "Feature", "properties": { "name": "Division St & Rhode Island St" }, "geometry": { "type": "Point", "coordinates": [ -122.403188, 37.769765 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & Alameda St" }, "geometry": { "type": "Point", "coordinates": [ -122.403059, 37.768747 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & Alameda St" }, "geometry": { "type": "Point", "coordinates": [ -122.402844, 37.768578 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402930, 37.767492 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 15th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402759, 37.767322 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Kansas St" }, "geometry": { "type": "Point", "coordinates": [ -122.403831, 37.765965 ] } } +, +{ "type": "Feature", "properties": { "name": "Kansas St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.403660, 37.764846 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Kansas St" }, "geometry": { "type": "Point", "coordinates": [ -122.403660, 37.764812 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Kansas St" }, "geometry": { "type": "Point", "coordinates": [ -122.403488, 37.764846 ] } } +, +{ "type": "Feature", "properties": { "name": "17TH ST & KANSAS ST" }, "geometry": { "type": "Point", "coordinates": [ -122.403445, 37.764846 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402802, 37.766169 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402630, 37.766339 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Street & Rhode Islandi St" }, "geometry": { "type": "Point", "coordinates": [ -122.402630, 37.766135 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St& Rhode Island St" }, "geometry": { "type": "Point", "coordinates": [ -122.402630, 37.766033 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401643, 37.766067 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402716, 37.764880 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & De Haro St" }, "geometry": { "type": "Point", "coordinates": [ -122.401729, 37.764778 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & De Haro St" }, "geometry": { "type": "Point", "coordinates": [ -122.401686, 37.764812 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & De Haro St" }, "geometry": { "type": "Point", "coordinates": [ -122.401471, 37.764914 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401557, 37.764778 ] } } +, +{ "type": "Feature", "properties": { "name": "Kansas St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.403488, 37.763591 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.402544, 37.763285 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Street & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.399883, 37.766305 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.399712, 37.766237 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.400012, 37.765015 ] } } +, +{ "type": "Feature", "properties": { "name": "17th St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.399325, 37.764948 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.401385, 37.763523 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401257, 37.762233 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407308, 37.761657 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407050, 37.761860 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409668, 37.759112 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407050, 37.759112 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404218, 37.762030 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404218, 37.760978 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406878, 37.759621 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.409539, 37.757517 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.409625, 37.757416 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.409453, 37.756228 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.409496, 37.755753 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.409196, 37.754328 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.409325, 37.754158 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 21st St" }, "geometry": { "type": "Point", "coordinates": [ -122.406921, 37.757517 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.406621, 37.757212 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.406793, 37.755889 ] } } +, +{ "type": "Feature", "properties": { "name": "Sf General Hospital" }, "geometry": { "type": "Point", "coordinates": [ -122.406707, 37.755210 ] } } +, +{ "type": "Feature", "properties": { "name": "POTRERO AVE/SF General Hospital" }, "geometry": { "type": "Point", "coordinates": [ -122.406492, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.406578, 37.754023 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Utah St" }, "geometry": { "type": "Point", "coordinates": [ -122.405334, 37.754328 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Utah St" }, "geometry": { "type": "Point", "coordinates": [ -122.404947, 37.754430 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404089, 37.760741 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402415, 37.761996 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402329, 37.760978 ] } } +, +{ "type": "Feature", "properties": { "name": "Vermont St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.404089, 37.759689 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Vermont St" }, "geometry": { "type": "Point", "coordinates": [ -122.403917, 37.759621 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Kansas St" }, "geometry": { "type": "Point", "coordinates": [ -122.402930, 37.759689 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Kansas St" }, "geometry": { "type": "Point", "coordinates": [ -122.403145, 37.759587 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Rhode Island St" }, "geometry": { "type": "Point", "coordinates": [ -122.402244, 37.759621 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402201, 37.759451 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402029, 37.759621 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & Southern Heights Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.402072, 37.758501 ] } } +, +{ "type": "Feature", "properties": { "name": "Southern Heights Ave & Rhode Island St" }, "geometry": { "type": "Point", "coordinates": [ -122.401772, 37.758400 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401128, 37.760944 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401042, 37.759689 ] } } +, +{ "type": "Feature", "properties": { "name": "Southern Heights Ave & De Haro St" }, "geometry": { "type": "Point", "coordinates": [ -122.401128, 37.758162 ] } } +, +{ "type": "Feature", "properties": { "name": "Southern Heights Ave & De Haro St" }, "geometry": { "type": "Point", "coordinates": [ -122.400827, 37.758128 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & Southern Heights Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.400870, 37.758026 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.399111, 37.759757 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.401943, 37.756907 ] } } +, +{ "type": "Feature", "properties": { "name": "176 Rhode Island St" }, "geometry": { "type": "Point", "coordinates": [ -122.401857, 37.756194 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Vermont St" }, "geometry": { "type": "Point", "coordinates": [ -122.403917, 37.754498 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Vermont St" }, "geometry": { "type": "Point", "coordinates": [ -122.403660, 37.754396 ] } } +, +{ "type": "Feature", "properties": { "name": "23RD ST & KANSAS ST" }, "geometry": { "type": "Point", "coordinates": [ -122.402673, 37.754464 ] } } +, +{ "type": "Feature", "properties": { "name": "Kansas St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.402501, 37.754464 ] } } +, +{ "type": "Feature", "properties": { "name": "KANSAS ST & 23RD ST" }, "geometry": { "type": "Point", "coordinates": [ -122.402501, 37.754464 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Rhode Island St" }, "geometry": { "type": "Point", "coordinates": [ -122.401729, 37.754532 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.401686, 37.754362 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401600, 37.753412 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.400827, 37.757450 ] } } +, +{ "type": "Feature", "properties": { "name": "Carolina St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.400012, 37.757348 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Carolina St" }, "geometry": { "type": "Point", "coordinates": [ -122.399755, 37.757314 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.399111, 37.757280 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.398896, 37.757212 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & Madera St" }, "geometry": { "type": "Point", "coordinates": [ -122.398853, 37.755923 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & Madera St" }, "geometry": { "type": "Point", "coordinates": [ -122.398725, 37.755787 ] } } +, +{ "type": "Feature", "properties": { "name": "De Haro St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.400613, 37.754905 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.398767, 37.754871 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Street & Missouri St" }, "geometry": { "type": "Point", "coordinates": [ -122.397051, 37.766508 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & Missouri St" }, "geometry": { "type": "Point", "coordinates": [ -122.396793, 37.766406 ] } } +, +{ "type": "Feature", "properties": { "name": "7th St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.395334, 37.766678 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397695, 37.764981 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 17th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397823, 37.764778 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397609, 37.762641 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Connecticut St" }, "geometry": { "type": "Point", "coordinates": [ -122.397394, 37.762607 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397437, 37.762437 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Texas St" }, "geometry": { "type": "Point", "coordinates": [ -122.395463, 37.762708 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Texas St" }, "geometry": { "type": "Point", "coordinates": [ -122.395163, 37.762641 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Pennsylvania Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.393489, 37.762844 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Pennsylvania Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.393231, 37.762742 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission Bay South & 4th St SE-FS/ BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.391043, 37.770545 ] } } +, +{ "type": "Feature", "properties": { "name": "16th Street & 4th Street" }, "geometry": { "type": "Point", "coordinates": [ -122.390914, 37.766881 ] } } +, +{ "type": "Feature", "properties": { "name": "16th St & 4th St" }, "geometry": { "type": "Point", "coordinates": [ -122.390742, 37.766780 ] } } +, +{ "type": "Feature", "properties": { "name": "1731 3RD ST" }, "geometry": { "type": "Point", "coordinates": [ -122.389326, 37.769731 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Gene Friend Way" }, "geometry": { "type": "Point", "coordinates": [ -122.389455, 37.769324 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Gene Friend Way" }, "geometry": { "type": "Point", "coordinates": [ -122.389326, 37.769561 ] } } +, +{ "type": "Feature", "properties": { "name": "UCSF/Mission Bay" }, "geometry": { "type": "Point", "coordinates": [ -122.389326, 37.769052 ] } } +, +{ "type": "Feature", "properties": { "name": "UCSF/Mission Bay" }, "geometry": { "type": "Point", "coordinates": [ -122.389283, 37.768544 ] } } +, +{ "type": "Feature", "properties": { "name": "1730 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389369, 37.767831 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.389197, 37.766610 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd/btw 16th and Gene Friend" }, "geometry": { "type": "Point", "coordinates": [ -122.389197, 37.766610 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 16th St" }, "geometry": { "type": "Point", "coordinates": [ -122.389026, 37.767221 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & Minnesota St" }, "geometry": { "type": "Point", "coordinates": [ -122.390871, 37.762878 ] } } +, +{ "type": "Feature", "properties": { "name": "Mariposa & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389197, 37.764371 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.388854, 37.764405 ] } } +, +{ "type": "Feature", "properties": { "name": "Third St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.388768, 37.764439 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.388897, 37.764269 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & MARIPOSA ST" }, "geometry": { "type": "Point", "coordinates": [ -122.388854, 37.764269 ] } } +, +{ "type": "Feature", "properties": { "name": "Tennessee St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.389669, 37.762912 ] } } +, +{ "type": "Feature", "properties": { "name": "Third St & Mariposa St." }, "geometry": { "type": "Point", "coordinates": [ -122.388983, 37.764201 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.388639, 37.763387 ] } } +, +{ "type": "Feature", "properties": { "name": "18th St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388940, 37.763014 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Mariposa St" }, "geometry": { "type": "Point", "coordinates": [ -122.388854, 37.762980 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 18th St" }, "geometry": { "type": "Point", "coordinates": [ -122.388854, 37.762708 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397480, 37.761351 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.397351, 37.761182 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Arkansas St" }, "geometry": { "type": "Point", "coordinates": [ -122.398381, 37.759892 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Arkansas St" }, "geometry": { "type": "Point", "coordinates": [ -122.398081, 37.759960 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & 19th St" }, "geometry": { "type": "Point", "coordinates": [ -122.396493, 37.761419 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.396364, 37.760164 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Missouri St" }, "geometry": { "type": "Point", "coordinates": [ -122.396450, 37.760096 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Missouri St" }, "geometry": { "type": "Point", "coordinates": [ -122.396450, 37.759994 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & Sierra St" }, "geometry": { "type": "Point", "coordinates": [ -122.396021, 37.758400 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & Sierra St" }, "geometry": { "type": "Point", "coordinates": [ -122.396150, 37.758128 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & Texas St" }, "geometry": { "type": "Point", "coordinates": [ -122.395463, 37.760062 ] } } +, +{ "type": "Feature", "properties": { "name": "Texas St & Sierra St" }, "geometry": { "type": "Point", "coordinates": [ -122.395163, 37.758400 ] } } +, +{ "type": "Feature", "properties": { "name": "Texas St & Sierra St" }, "geometry": { "type": "Point", "coordinates": [ -122.395205, 37.758264 ] } } +, +{ "type": "Feature", "properties": { "name": "Arkansas St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.398081, 37.757484 ] } } +, +{ "type": "Feature", "properties": { "name": "Arkansas St & Madera St" }, "geometry": { "type": "Point", "coordinates": [ -122.397909, 37.755991 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.398596, 37.754837 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.398639, 37.754701 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & Connecticut St" }, "geometry": { "type": "Point", "coordinates": [ -122.398553, 37.753582 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & Connecticut St" }, "geometry": { "type": "Point", "coordinates": [ -122.398682, 37.753480 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & Coral Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.398682, 37.753480 ] } } +, +{ "type": "Feature", "properties": { "name": "1095 CONNECTICUT ST" }, "geometry": { "type": "Point", "coordinates": [ -122.397351, 37.753921 ] } } +, +{ "type": "Feature", "properties": { "name": "23rd St & Dakota St" }, "geometry": { "type": "Point", "coordinates": [ -122.396793, 37.754701 ] } } +, +{ "type": "Feature", "properties": { "name": "Dakota St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.396579, 37.754735 ] } } +, +{ "type": "Feature", "properties": { "name": "Dakota St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.396579, 37.754701 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & Turner Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.395763, 37.757280 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & Turner Ter" }, "geometry": { "type": "Point", "coordinates": [ -122.395720, 37.756839 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Mississippi St" }, "geometry": { "type": "Point", "coordinates": [ -122.394004, 37.757653 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & Watchman Way" }, "geometry": { "type": "Point", "coordinates": [ -122.395806, 37.755482 ] } } +, +{ "type": "Feature", "properties": { "name": "Missouri St & Watchman Way" }, "geometry": { "type": "Point", "coordinates": [ -122.395763, 37.755516 ] } } +, +{ "type": "Feature", "properties": { "name": "14 Dakota St" }, "geometry": { "type": "Point", "coordinates": [ -122.395763, 37.753785 ] } } +, +{ "type": "Feature", "properties": { "name": "101 Dakota St" }, "geometry": { "type": "Point", "coordinates": [ -122.395678, 37.753751 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Iowa St" }, "geometry": { "type": "Point", "coordinates": [ -122.391815, 37.757789 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Iowa St" }, "geometry": { "type": "Point", "coordinates": [ -122.391772, 37.757721 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388768, 37.760571 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.388468, 37.760808 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.388725, 37.760605 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & 20TH ST" }, "geometry": { "type": "Point", "coordinates": [ -122.388639, 37.760605 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.388597, 37.760537 ] } } +, +{ "type": "Feature", "properties": { "name": "20th St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388425, 37.760469 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & 20th St" }, "geometry": { "type": "Point", "coordinates": [ -122.388597, 37.760401 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Minnesota St" }, "geometry": { "type": "Point", "coordinates": [ -122.390099, 37.757891 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Minnesota St" }, "geometry": { "type": "Point", "coordinates": [ -122.390013, 37.757823 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388468, 37.758060 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & 22ND ST" }, "geometry": { "type": "Point", "coordinates": [ -122.388468, 37.758060 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388511, 37.757891 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd ST & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388253, 37.758094 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 22nd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388210, 37.758196 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388124, 37.758026 ] } } +, +{ "type": "Feature", "properties": { "name": "22nd St & Pennsylvania Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.393060, 37.757585 ] } } +, +{ "type": "Feature", "properties": { "name": "Pennsylvania Avenue & 23rd Street" }, "geometry": { "type": "Point", "coordinates": [ -122.393017, 37.755176 ] } } +, +{ "type": "Feature", "properties": { "name": "Pennsylvania Avenue & 23rd Street" }, "geometry": { "type": "Point", "coordinates": [ -122.392802, 37.755041 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.387910, 37.755719 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388124, 37.755074 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388039, 37.755448 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & 23RD ST" }, "geometry": { "type": "Point", "coordinates": [ -122.388039, 37.755346 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & 23rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388039, 37.755312 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.429795, 37.751512 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.429581, 37.751647 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.427564, 37.751647 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.427521, 37.751817 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.427349, 37.751783 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.427392, 37.751614 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Clipper St" }, "geometry": { "type": "Point", "coordinates": [ -122.427306, 37.749408 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Clipper St" }, "geometry": { "type": "Point", "coordinates": [ -122.427135, 37.749204 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.431641, 37.748186 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 27th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431512, 37.746693 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 27th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431340, 37.746557 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 28th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431340, 37.745200 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 28th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.744963 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 27th St" }, "geometry": { "type": "Point", "coordinates": [ -122.427092, 37.746999 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 27th St" }, "geometry": { "type": "Point", "coordinates": [ -122.426920, 37.746795 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.425332, 37.751919 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.425289, 37.751817 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Guerrero St" }, "geometry": { "type": "Point", "coordinates": [ -122.422800, 37.752055 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Guerrero St" }, "geometry": { "type": "Point", "coordinates": [ -122.423015, 37.751919 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.420740, 37.751885 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.743571 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431083, 37.743334 ] } } +, +{ "type": "Feature", "properties": { "name": "Noe St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.431040, 37.742010 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Noe St" }, "geometry": { "type": "Point", "coordinates": [ -122.430825, 37.741908 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.429023, 37.741942 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.426620, 37.743605 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.426620, 37.743605 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Day St" }, "geometry": { "type": "Point", "coordinates": [ -122.426662, 37.742825 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & Day St" }, "geometry": { "type": "Point", "coordinates": [ -122.426662, 37.742655 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Sanchez St" }, "geometry": { "type": "Point", "coordinates": [ -122.428637, 37.742044 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.426791, 37.742044 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.426534, 37.742146 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.426534, 37.742112 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.426534, 37.742112 ] } } +, +{ "type": "Feature", "properties": { "name": "Church St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.426491, 37.742248 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Church St" }, "geometry": { "type": "Point", "coordinates": [ -122.426405, 37.742180 ] } } +, +{ "type": "Feature", "properties": { "name": "46 Addison St" }, "geometry": { "type": "Point", "coordinates": [ -122.431040, 37.737768 ] } } +, +{ "type": "Feature", "properties": { "name": "Bemis St & Moffitt St" }, "geometry": { "type": "Point", "coordinates": [ -122.431211, 37.736682 ] } } +, +{ "type": "Feature", "properties": { "name": "Bemis St & Addison St" }, "geometry": { "type": "Point", "coordinates": [ -122.429538, 37.737734 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Mateo St" }, "geometry": { "type": "Point", "coordinates": [ -122.428980, 37.736478 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Mateo St" }, "geometry": { "type": "Point", "coordinates": [ -122.429023, 37.736343 ] } } +, +{ "type": "Feature", "properties": { "name": "Randall St & Whitney St" }, "geometry": { "type": "Point", "coordinates": [ -122.427607, 37.739702 ] } } +, +{ "type": "Feature", "properties": { "name": "Whitney St & Fairmount Street" }, "geometry": { "type": "Point", "coordinates": [ -122.427521, 37.738922 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Miguel St" }, "geometry": { "type": "Point", "coordinates": [ -122.427950, 37.737123 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Miguel St" }, "geometry": { "type": "Point", "coordinates": [ -122.427778, 37.737157 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.425761, 37.742044 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.425847, 37.741942 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.424474, 37.742180 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Dolores St" }, "geometry": { "type": "Point", "coordinates": [ -122.424045, 37.742316 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421169, 37.743843 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.422071, 37.742451 ] } } +, +{ "type": "Feature", "properties": { "name": "30th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.422199, 37.742316 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422929, 37.741026 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422800, 37.741060 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.422671, 37.741026 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.422543, 37.740856 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.422028, 37.742451 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421899, 37.742451 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 30th St" }, "geometry": { "type": "Point", "coordinates": [ -122.421856, 37.742451 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Randall St" }, "geometry": { "type": "Point", "coordinates": [ -122.425718, 37.739940 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Randall St" }, "geometry": { "type": "Point", "coordinates": [ -122.425504, 37.739635 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Fairmount St" }, "geometry": { "type": "Point", "coordinates": [ -122.425804, 37.738922 ] } } +, +{ "type": "Feature", "properties": { "name": "San jose& Randall St" }, "geometry": { "type": "Point", "coordinates": [ -122.424302, 37.739838 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Randolph St" }, "geometry": { "type": "Point", "coordinates": [ -122.424431, 37.739567 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Randall St" }, "geometry": { "type": "Point", "coordinates": [ -122.424173, 37.739770 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Randall St" }, "geometry": { "type": "Point", "coordinates": [ -122.424345, 37.739397 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose& Randall St" }, "geometry": { "type": "Point", "coordinates": [ -122.424088, 37.739872 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Randolph St" }, "geometry": { "type": "Point", "coordinates": [ -122.424045, 37.739736 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Appleton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424045, 37.739024 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Appleton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.423873, 37.738888 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Highland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424216, 37.737089 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Highland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424002, 37.737463 ] } } +, +{ "type": "Feature", "properties": { "name": "Richland Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.424345, 37.736241 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Prospect Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420955, 37.740211 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Prospect Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.420912, 37.740313 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.420611, 37.752360 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Valencia St" }, "geometry": { "type": "Point", "coordinates": [ -122.420568, 37.752190 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Valencia St" }, "geometry": { "type": "Point", "coordinates": [ -122.420526, 37.752089 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.418423, 37.752733 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.418337, 37.752326 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.418551, 37.752190 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.418551, 37.751987 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.420483, 37.750765 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.420611, 37.750290 ] } } +, +{ "type": "Feature", "properties": { "name": "25TH ST & MISSION ST" }, "geometry": { "type": "Point", "coordinates": [ -122.418509, 37.750697 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.418122, 37.749544 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & South Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.416406, 37.752326 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.416191, 37.752496 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & South Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.416191, 37.752462 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness Ave & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.416191, 37.752292 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.417822, 37.749035 ] } } +, +{ "type": "Feature", "properties": { "name": "South Van Ness & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.416234, 37.750663 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & South Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.416105, 37.749136 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.420440, 37.748661 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.420354, 37.748017 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.420225, 37.748220 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St. & Valencia St." }, "geometry": { "type": "Point", "coordinates": [ -122.420096, 37.748084 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez & Bartlett" }, "geometry": { "type": "Point", "coordinates": [ -122.419024, 37.748220 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.418208, 37.748593 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.418380, 37.748254 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.418122, 37.748118 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Precita Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.419109, 37.746965 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Precita Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.418852, 37.747134 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & Duncan St" }, "geometry": { "type": "Point", "coordinates": [ -122.420268, 37.746761 ] } } +, +{ "type": "Feature", "properties": { "name": "Valencia St & Duncan St" }, "geometry": { "type": "Point", "coordinates": [ -122.420096, 37.746659 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Power St" }, "geometry": { "type": "Point", "coordinates": [ -122.419410, 37.746252 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Fair Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.419624, 37.745947 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Valencia St" }, "geometry": { "type": "Point", "coordinates": [ -122.420311, 37.745098 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & South Van Ness Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.415762, 37.748322 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.414260, 37.752564 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414217, 37.752598 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414045, 37.752767 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414131, 37.752462 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413960, 37.752496 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.414088, 37.751003 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.413874, 37.750833 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413917, 37.749238 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.413874, 37.749069 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.413745, 37.749238 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.412071, 37.752699 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.411771, 37.752598 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.413831, 37.748492 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.414002, 37.748356 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413831, 37.748152 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.413616, 37.748390 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom & Cesar Chavz St" }, "geometry": { "type": "Point", "coordinates": [ -122.413788, 37.748084 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.413616, 37.748118 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Bessie St" }, "geometry": { "type": "Point", "coordinates": [ -122.413659, 37.746897 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Precita Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.413530, 37.747100 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Stoneman St" }, "geometry": { "type": "Point", "coordinates": [ -122.413487, 37.745234 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Stoneman St" }, "geometry": { "type": "Point", "coordinates": [ -122.413402, 37.745336 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.411942, 37.748424 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.411642, 37.748220 ] } } +, +{ "type": "Feature", "properties": { "name": "C. Chavez St&Harrison St" }, "geometry": { "type": "Point", "coordinates": [ -122.411385, 37.748356 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Alabama St" }, "geometry": { "type": "Point", "coordinates": [ -122.410440, 37.748424 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Florida St" }, "geometry": { "type": "Point", "coordinates": [ -122.409797, 37.748254 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & 29th St" }, "geometry": { "type": "Point", "coordinates": [ -122.420654, 37.744318 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Elsie St" }, "geometry": { "type": "Point", "coordinates": [ -122.420011, 37.739940 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Elsie St" }, "geometry": { "type": "Point", "coordinates": [ -122.419710, 37.739702 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Bocana St" }, "geometry": { "type": "Point", "coordinates": [ -122.418723, 37.739329 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Bocana St" }, "geometry": { "type": "Point", "coordinates": [ -122.418466, 37.739329 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Andover St" }, "geometry": { "type": "Point", "coordinates": [ -122.416620, 37.739058 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Andover St" }, "geometry": { "type": "Point", "coordinates": [ -122.416406, 37.739092 ] } } +, +{ "type": "Feature", "properties": { "name": "Ripley St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413187, 37.744182 ] } } +, +{ "type": "Feature", "properties": { "name": "Ripley St & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413015, 37.744148 ] } } +, +{ "type": "Feature", "properties": { "name": "Ripley St & Alabama St" }, "geometry": { "type": "Point", "coordinates": [ -122.410483, 37.744386 ] } } +, +{ "type": "Feature", "properties": { "name": "Ripley St & Alabama St" }, "geometry": { "type": "Point", "coordinates": [ -122.410526, 37.744284 ] } } +, +{ "type": "Feature", "properties": { "name": "Bernal Heights Blvd & Powhattan St" }, "geometry": { "type": "Point", "coordinates": [ -122.411256, 37.741467 ] } } +, +{ "type": "Feature", "properties": { "name": "Nevada St & Powhattan Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.411342, 37.741264 ] } } +, +{ "type": "Feature", "properties": { "name": "Bernal Heights Blvd & Powhattan Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.410698, 37.741535 ] } } +, +{ "type": "Feature", "properties": { "name": "Bernal Heights Blvd & Bradford St" }, "geometry": { "type": "Point", "coordinates": [ -122.409797, 37.741840 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414646, 37.738854 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414560, 37.738922 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413702, 37.739024 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413445, 37.738922 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.413316, 37.738888 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.413402, 37.738820 ] } } +, +{ "type": "Feature", "properties": { "name": "FOLSOM ST & JARBOE AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.413487, 37.738277 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & JARBOE AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.413273, 37.738243 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Tompkins St" }, "geometry": { "type": "Point", "coordinates": [ -122.413530, 37.737191 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Tompkins St" }, "geometry": { "type": "Point", "coordinates": [ -122.413445, 37.737191 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Ogden St" }, "geometry": { "type": "Point", "coordinates": [ -122.413530, 37.736071 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Prentiss St" }, "geometry": { "type": "Point", "coordinates": [ -122.412028, 37.739804 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Prentiss St" }, "geometry": { "type": "Point", "coordinates": [ -122.412114, 37.739601 ] } } +, +{ "type": "Feature", "properties": { "name": "Nevada St & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.411427, 37.739940 ] } } +, +{ "type": "Feature", "properties": { "name": "Nevada St & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.411342, 37.740076 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Bradford St" }, "geometry": { "type": "Point", "coordinates": [ -122.409754, 37.739804 ] } } +, +{ "type": "Feature", "properties": { "name": "CORTLAND AVE & BRONTE ST" }, "geometry": { "type": "Point", "coordinates": [ -122.410183, 37.739736 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Roanoke St" }, "geometry": { "type": "Point", "coordinates": [ -122.430310, 37.735494 ] } } +, +{ "type": "Feature", "properties": { "name": "Chenery St & Roanoke St" }, "geometry": { "type": "Point", "coordinates": [ -122.430224, 37.735664 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Rotteck St" }, "geometry": { "type": "Point", "coordinates": [ -122.431297, 37.733220 ] } } +, +{ "type": "Feature", "properties": { "name": "Still St & Lyell St" }, "geometry": { "type": "Point", "coordinates": [ -122.431340, 37.731862 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Milton St" }, "geometry": { "type": "Point", "coordinates": [ -122.429538, 37.733322 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Milton St" }, "geometry": { "type": "Point", "coordinates": [ -122.429366, 37.733492 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Marsily St" }, "geometry": { "type": "Point", "coordinates": [ -122.427950, 37.733492 ] } } +, +{ "type": "Feature", "properties": { "name": "4080 Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.428036, 37.732202 ] } } +, +{ "type": "Feature", "properties": { "name": "Bosworth St & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.426705, 37.733729 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Bosworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.426834, 37.733356 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Bosworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.426834, 37.733356 ] } } +, +{ "type": "Feature", "properties": { "name": "Lyell St & Alemany Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.431340, 37.730675 ] } } +, +{ "type": "Feature", "properties": { "name": "Rousseau St & Cayuga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.429667, 37.731421 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Trumbull St" }, "geometry": { "type": "Point", "coordinates": [ -122.429280, 37.730675 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Trumbull St" }, "geometry": { "type": "Point", "coordinates": [ -122.429752, 37.730471 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.431426, 37.728910 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Silver Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.431426, 37.728706 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Silver Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.431340, 37.728638 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.431254, 37.728672 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.431126, 37.728808 ] } } +, +{ "type": "Feature", "properties": { "name": "Trumbull St & Congdon St" }, "geometry": { "type": "Point", "coordinates": [ -122.426405, 37.730980 ] } } +, +{ "type": "Feature", "properties": { "name": "Trumbull St & Congdon St" }, "geometry": { "type": "Point", "coordinates": [ -122.426276, 37.730844 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Lisbon St" }, "geometry": { "type": "Point", "coordinates": [ -122.428808, 37.728502 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Lisbon St" }, "geometry": { "type": "Point", "coordinates": [ -122.428637, 37.728604 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Lisbon St" }, "geometry": { "type": "Point", "coordinates": [ -122.428594, 37.728638 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Craut St" }, "geometry": { "type": "Point", "coordinates": [ -122.428122, 37.728570 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Murray St" }, "geometry": { "type": "Point", "coordinates": [ -122.425933, 37.734069 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Richland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424731, 37.735630 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Richland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424431, 37.735935 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.424474, 37.735426 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & College Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424088, 37.735256 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Leese St" }, "geometry": { "type": "Point", "coordinates": [ -122.422585, 37.735256 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Agnon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421856, 37.735087 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Congdon St" }, "geometry": { "type": "Point", "coordinates": [ -122.425890, 37.728740 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Congdon St" }, "geometry": { "type": "Point", "coordinates": [ -122.426105, 37.728570 ] } } +, +{ "type": "Feature", "properties": { "name": "Trumbull St & Stoneybrook Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.421942, 37.730980 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Gambier St" }, "geometry": { "type": "Point", "coordinates": [ -122.422800, 37.728774 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Gambier St" }, "geometry": { "type": "Point", "coordinates": [ -122.422585, 37.728910 ] } } +, +{ "type": "Feature", "properties": { "name": "SILVER AVE & GAMBIER ST" }, "geometry": { "type": "Point", "coordinates": [ -122.422500, 37.728774 ] } } +, +{ "type": "Feature", "properties": { "name": "Excelsior Ave & Madrid St" }, "geometry": { "type": "Point", "coordinates": [ -122.430611, 37.724768 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Madrid St" }, "geometry": { "type": "Point", "coordinates": [ -122.431512, 37.723173 ] } } +, +{ "type": "Feature", "properties": { "name": "Excelsior Ave & Naples St" }, "geometry": { "type": "Point", "coordinates": [ -122.429023, 37.724022 ] } } +, +{ "type": "Feature", "properties": { "name": "Athens St & Excelsior Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.427306, 37.723139 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Naples St" }, "geometry": { "type": "Point", "coordinates": [ -122.431383, 37.720865 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Naples St" }, "geometry": { "type": "Point", "coordinates": [ -122.431083, 37.720899 ] } } +, +{ "type": "Feature", "properties": { "name": "Naples St & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.430053, 37.722528 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Naples St" }, "geometry": { "type": "Point", "coordinates": [ -122.429924, 37.722392 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Athens St" }, "geometry": { "type": "Point", "coordinates": [ -122.429538, 37.720152 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Athens St" }, "geometry": { "type": "Point", "coordinates": [ -122.429495, 37.720118 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Moscow St" }, "geometry": { "type": "Point", "coordinates": [ -122.428980, 37.719711 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Athens St" }, "geometry": { "type": "Point", "coordinates": [ -122.428594, 37.721679 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Athens St" }, "geometry": { "type": "Point", "coordinates": [ -122.428293, 37.721646 ] } } +, +{ "type": "Feature", "properties": { "name": "Athens St & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.428465, 37.721578 ] } } +, +{ "type": "Feature", "properties": { "name": "Moscow St & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.427649, 37.721374 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Moscow St" }, "geometry": { "type": "Point", "coordinates": [ -122.427778, 37.721306 ] } } +, +{ "type": "Feature", "properties": { "name": "Moscow St & Excelsior Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.426491, 37.722901 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Moscow St" }, "geometry": { "type": "Point", "coordinates": [ -122.427521, 37.721238 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Munich St" }, "geometry": { "type": "Point", "coordinates": [ -122.427006, 37.720933 ] } } +, +{ "type": "Feature", "properties": { "name": "Moscow St & Persia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.428765, 37.719846 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Moscow St" }, "geometry": { "type": "Point", "coordinates": [ -122.428679, 37.719745 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Prague St" }, "geometry": { "type": "Point", "coordinates": [ -122.426190, 37.720525 ] } } +, +{ "type": "Feature", "properties": { "name": "Prague St & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.426190, 37.720423 ] } } +, +{ "type": "Feature", "properties": { "name": "Prague St & Persia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.427220, 37.719032 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Prague St" }, "geometry": { "type": "Point", "coordinates": [ -122.427349, 37.718964 ] } } +, +{ "type": "Feature", "properties": { "name": "Prague St & Persia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.427220, 37.718862 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Prague St" }, "geometry": { "type": "Point", "coordinates": [ -122.427092, 37.718964 ] } } +, +{ "type": "Feature", "properties": { "name": "Athens St & Avalon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.426105, 37.724667 ] } } +, +{ "type": "Feature", "properties": { "name": "Avalon Ave & La Grande Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424388, 37.724768 ] } } +, +{ "type": "Feature", "properties": { "name": "Avalon Ave & La Grande Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.424259, 37.724768 ] } } +, +{ "type": "Feature", "properties": { "name": "Avalon Ave & Peru Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.423444, 37.725108 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Peru Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.423272, 37.725210 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Madison St" }, "geometry": { "type": "Point", "coordinates": [ -122.422071, 37.725617 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Madison St" }, "geometry": { "type": "Point", "coordinates": [ -122.422113, 37.725447 ] } } +, +{ "type": "Feature", "properties": { "name": "Brazil Ave & Prague St" }, "geometry": { "type": "Point", "coordinates": [ -122.425890, 37.720525 ] } } +, +{ "type": "Feature", "properties": { "name": "Prague St & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.426062, 37.720423 ] } } +, +{ "type": "Feature", "properties": { "name": "DUBLIN ST & BRAZIL AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.425804, 37.719371 ] } } +, +{ "type": "Feature", "properties": { "name": "DUBLIN ST & BRAZIL AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.425804, 37.719371 ] } } +, +{ "type": "Feature", "properties": { "name": "DUBLIN ST & BRAZIL AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.425804, 37.719337 ] } } +, +{ "type": "Feature", "properties": { "name": "DUBLIN ST & LAGRANDE AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.425804, 37.719201 ] } } +, +{ "type": "Feature", "properties": { "name": "Richland Ave & Murray St" }, "geometry": { "type": "Point", "coordinates": [ -122.420096, 37.735800 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Murray St" }, "geometry": { "type": "Point", "coordinates": [ -122.420139, 37.735155 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Arnold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.419753, 37.734985 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Roscoe St" }, "geometry": { "type": "Point", "coordinates": [ -122.418637, 37.735087 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Porter St" }, "geometry": { "type": "Point", "coordinates": [ -122.418251, 37.734917 ] } } +, +{ "type": "Feature", "properties": { "name": "Alemany Blvd/St Mary's Park bridge" }, "geometry": { "type": "Point", "coordinates": [ -122.420611, 37.732304 ] } } +, +{ "type": "Feature", "properties": { "name": "989 Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.418938, 37.732643 ] } } +, +{ "type": "Feature", "properties": { "name": "Richland Ave & Andover St" }, "geometry": { "type": "Point", "coordinates": [ -122.417049, 37.735664 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Andover St" }, "geometry": { "type": "Point", "coordinates": [ -122.416749, 37.734985 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Andover St" }, "geometry": { "type": "Point", "coordinates": [ -122.416964, 37.734849 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Anderson St" }, "geometry": { "type": "Point", "coordinates": [ -122.415719, 37.734917 ] } } +, +{ "type": "Feature", "properties": { "name": "945 Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.417779, 37.732813 ] } } +, +{ "type": "Feature", "properties": { "name": "909 Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.416792, 37.732847 ] } } +, +{ "type": "Feature", "properties": { "name": "831 Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.415290, 37.733288 ] } } +, +{ "type": "Feature", "properties": { "name": "Alemany Blvd & Gates St" }, "geometry": { "type": "Point", "coordinates": [ -122.415762, 37.732541 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Cambridge St" }, "geometry": { "type": "Point", "coordinates": [ -122.419410, 37.729147 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Cambridge St" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.729045 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Princeton St" }, "geometry": { "type": "Point", "coordinates": [ -122.416148, 37.729045 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Princeton St" }, "geometry": { "type": "Point", "coordinates": [ -122.416277, 37.728842 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.415075, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "CRESCENT AVE & ELLSWORTH ST" }, "geometry": { "type": "Point", "coordinates": [ -122.415075, 37.734747 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Ellsworth St" }, "geometry": { "type": "Point", "coordinates": [ -122.414861, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "Ellsworth St & Crescent Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.414947, 37.734713 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413831, 37.734680 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Ogden St" }, "geometry": { "type": "Point", "coordinates": [ -122.413659, 37.735800 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Crescent Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.413659, 37.734951 ] } } +, +{ "type": "Feature", "properties": { "name": "Folsom St & Crescent Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.413745, 37.734849 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Folsom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413616, 37.734815 ] } } +, +{ "type": "Feature", "properties": { "name": "Alemany Blvd & Flosom St" }, "geometry": { "type": "Point", "coordinates": [ -122.413960, 37.733288 ] } } +, +{ "type": "Feature", "properties": { "name": "346 Alemany Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.413273, 37.733627 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Putnam St" }, "geometry": { "type": "Point", "coordinates": [ -122.411299, 37.734917 ] } } +, +{ "type": "Feature", "properties": { "name": "Crescent Ave & Putnam St" }, "geometry": { "type": "Point", "coordinates": [ -122.411170, 37.735019 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Dartmouth St" }, "geometry": { "type": "Point", "coordinates": [ -122.413616, 37.729860 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Dartmouth St" }, "geometry": { "type": "Point", "coordinates": [ -122.413015, 37.729962 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & University St" }, "geometry": { "type": "Point", "coordinates": [ -122.414603, 37.727416 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Felton St" }, "geometry": { "type": "Point", "coordinates": [ -122.414432, 37.727416 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Boylston St" }, "geometry": { "type": "Point", "coordinates": [ -122.410870, 37.730946 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Holyoke St" }, "geometry": { "type": "Point", "coordinates": [ -122.410226, 37.730980 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Harvard St" }, "geometry": { "type": "Point", "coordinates": [ -122.420483, 37.725889 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Harvard St" }, "geometry": { "type": "Point", "coordinates": [ -122.420311, 37.725990 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Cambridge St" }, "geometry": { "type": "Point", "coordinates": [ -122.418766, 37.726432 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Cambridge St" }, "geometry": { "type": "Point", "coordinates": [ -122.418551, 37.726398 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Amherst St" }, "geometry": { "type": "Point", "coordinates": [ -122.416363, 37.727043 ] } } +, +{ "type": "Feature", "properties": { "name": "Felton St & Amherst St" }, "geometry": { "type": "Point", "coordinates": [ -122.416534, 37.726907 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & John F Shelley Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.418809, 37.718930 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & John F Shelley Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.418637, 37.718726 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Burrows St" }, "geometry": { "type": "Point", "coordinates": [ -122.414174, 37.726601 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Burrows St" }, "geometry": { "type": "Point", "coordinates": [ -122.414045, 37.726500 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.413573, 37.725142 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.413402, 37.725006 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Wayland St" }, "geometry": { "type": "Point", "coordinates": [ -122.413101, 37.723954 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Wayland St" }, "geometry": { "type": "Point", "coordinates": [ -122.412930, 37.723818 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Colby St" }, "geometry": { "type": "Point", "coordinates": [ -122.411470, 37.722969 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Dartmouth St" }, "geometry": { "type": "Point", "coordinates": [ -122.410440, 37.723241 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Dartmouth St" }, "geometry": { "type": "Point", "coordinates": [ -122.410612, 37.723139 ] } } +, +{ "type": "Feature", "properties": { "name": "University St & Woolsey St" }, "geometry": { "type": "Point", "coordinates": [ -122.412543, 37.722732 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & University St" }, "geometry": { "type": "Point", "coordinates": [ -122.412415, 37.722732 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Colby St" }, "geometry": { "type": "Point", "coordinates": [ -122.411599, 37.722868 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & University St" }, "geometry": { "type": "Point", "coordinates": [ -122.411299, 37.718964 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Visitacion Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.411385, 37.718794 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.409282, 37.752869 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409110, 37.753073 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409196, 37.752530 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.408981, 37.752767 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.409110, 37.751308 ] } } +, +{ "type": "Feature", "properties": { "name": "Hampshire St & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.407222, 37.752835 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408895, 37.751138 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408938, 37.749713 ] } } +, +{ "type": "Feature", "properties": { "name": "Bryant St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.408767, 37.749544 ] } } +, +{ "type": "Feature", "properties": { "name": "24th St & Potrero Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.406707, 37.753005 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406278, 37.753276 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 24th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406449, 37.752699 ] } } +, +{ "type": "Feature", "properties": { "name": "24th Street & Potrero Avenue" }, "geometry": { "type": "Point", "coordinates": [ -122.406235, 37.753073 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Potrero Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.406707, 37.751410 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406363, 37.751274 ] } } +, +{ "type": "Feature", "properties": { "name": "Potrero Ave & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.406106, 37.751647 ] } } +, +{ "type": "Feature", "properties": { "name": "C. Chavez St&Florida St" }, "geometry": { "type": "Point", "coordinates": [ -122.409582, 37.748390 ] } } +, +{ "type": "Feature", "properties": { "name": "Cesar Chavez St & Bryant St" }, "geometry": { "type": "Point", "coordinates": [ -122.409110, 37.748458 ] } } +, +{ "type": "Feature", "properties": { "name": "228 Bay Shore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.404432, 37.744725 ] } } +, +{ "type": "Feature", "properties": { "name": "Kansas St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402244, 37.751919 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401471, 37.752122 ] } } +, +{ "type": "Feature", "properties": { "name": "Kansas St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.402158, 37.750867 ] } } +, +{ "type": "Feature", "properties": { "name": "Rhode Island St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.401342, 37.750731 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Rhode Island St" }, "geometry": { "type": "Point", "coordinates": [ -122.401128, 37.750731 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & De Haro St" }, "geometry": { "type": "Point", "coordinates": [ -122.400184, 37.750867 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & De Haro St" }, "geometry": { "type": "Point", "coordinates": [ -122.400055, 37.750765 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Jerrold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403531, 37.747134 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Jerrold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403703, 37.746422 ] } } +, +{ "type": "Feature", "properties": { "name": "Bradford St & Esmeralda Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.409325, 37.743062 ] } } +, +{ "type": "Feature", "properties": { "name": "Bradford St & Bernal Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.409410, 37.742892 ] } } +, +{ "type": "Feature", "properties": { "name": "Bradford St & Bernal Heights Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.409410, 37.742010 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405248, 37.743334 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405205, 37.742892 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Bayshore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.405076, 37.742859 ] } } +, +{ "type": "Feature", "properties": { "name": "380 Bay Shore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.406707, 37.741331 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Hilton St" }, "geometry": { "type": "Point", "coordinates": [ -122.407823, 37.739702 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.407136, 37.739702 ] } } +, +{ "type": "Feature", "properties": { "name": "Cortland Ave & Bayshore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.407222, 37.739567 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Alemany Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.407308, 37.738379 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Alemany Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.407007, 37.737734 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Cortland Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.406793, 37.739872 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Marengo St" }, "geometry": { "type": "Point", "coordinates": [ -122.406921, 37.738718 ] } } +, +{ "type": "Feature", "properties": { "name": "Industrial St & Bay Shore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.406578, 37.738175 ] } } +, +{ "type": "Feature", "properties": { "name": "Industrial St & Bay Shore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.406793, 37.737972 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Loomis St" }, "geometry": { "type": "Point", "coordinates": [ -122.404175, 37.742553 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Barneveld Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403359, 37.741908 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Barneveld Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403102, 37.741908 ] } } +, +{ "type": "Feature", "properties": { "name": "Toland St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401600, 37.741094 ] } } +, +{ "type": "Feature", "properties": { "name": "Toland St & Jerrold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.399025, 37.743944 ] } } +, +{ "type": "Feature", "properties": { "name": "Toland St & Jerrold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.398853, 37.743911 ] } } +, +{ "type": "Feature", "properties": { "name": "Toland St & Newcomb Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.400999, 37.741501 ] } } +, +{ "type": "Feature", "properties": { "name": "Toland St & Mckinnon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.400484, 37.742316 ] } } +, +{ "type": "Feature", "properties": { "name": "Industrial St & Elmira St" }, "geometry": { "type": "Point", "coordinates": [ -122.403746, 37.738820 ] } } +, +{ "type": "Feature", "properties": { "name": "Industrial St & Revere Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403059, 37.739159 ] } } +, +{ "type": "Feature", "properties": { "name": "Industrial St & Palou Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401042, 37.739567 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Industrial St" }, "geometry": { "type": "Point", "coordinates": [ -122.400570, 37.739533 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Revere Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.398896, 37.736376 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.398596, 37.752292 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.398424, 37.752394 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.398338, 37.752258 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.398295, 37.752190 ] } } +, +{ "type": "Feature", "properties": { "name": "Wisconsin St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.398295, 37.751308 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.396407, 37.752564 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Connecticut St" }, "geometry": { "type": "Point", "coordinates": [ -122.396364, 37.752360 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Connecticut St" }, "geometry": { "type": "Point", "coordinates": [ -122.396622, 37.752258 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.396536, 37.751274 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & 26th St" }, "geometry": { "type": "Point", "coordinates": [ -122.396364, 37.751444 ] } } +, +{ "type": "Feature", "properties": { "name": "26th St & Wisconsin St" }, "geometry": { "type": "Point", "coordinates": [ -122.398682, 37.751138 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.397094, 37.749035 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.396922, 37.749069 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.396407, 37.749883 ] } } +, +{ "type": "Feature", "properties": { "name": "Connecticut St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.396235, 37.750019 ] } } +, +{ "type": "Feature", "properties": { "name": "Dakota St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.394691, 37.752699 ] } } +, +{ "type": "Feature", "properties": { "name": "25th St & Dakota St" }, "geometry": { "type": "Point", "coordinates": [ -122.394862, 37.752530 ] } } +, +{ "type": "Feature", "properties": { "name": "25th Avenue & Dakota Street" }, "geometry": { "type": "Point", "coordinates": [ -122.394733, 37.752360 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Napoleon St" }, "geometry": { "type": "Point", "coordinates": [ -122.396278, 37.747372 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Napoleon St" }, "geometry": { "type": "Point", "coordinates": [ -122.395892, 37.747270 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Selby St" }, "geometry": { "type": "Point", "coordinates": [ -122.393961, 37.746184 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Selby St" }, "geometry": { "type": "Point", "coordinates": [ -122.393875, 37.745981 ] } } +, +{ "type": "Feature", "properties": { "name": "Pennsylvania Avenue & 25th Street" }, "geometry": { "type": "Point", "coordinates": [ -122.392759, 37.752631 ] } } +, +{ "type": "Feature", "properties": { "name": "Pennsylvania Avenue & 25th Street" }, "geometry": { "type": "Point", "coordinates": [ -122.392802, 37.752496 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.387867, 37.752564 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.387738, 37.750426 ] } } +, +{ "type": "Feature", "properties": { "name": "Jerrold Ave & Selby St" }, "geometry": { "type": "Point", "coordinates": [ -122.396793, 37.743334 ] } } +, +{ "type": "Feature", "properties": { "name": "Jerrold Ave & Selby St" }, "geometry": { "type": "Point", "coordinates": [ -122.396965, 37.742791 ] } } +, +{ "type": "Feature", "properties": { "name": "Jerrold Ave & Rankin St" }, "geometry": { "type": "Point", "coordinates": [ -122.394948, 37.742112 ] } } +, +{ "type": "Feature", "properties": { "name": "Jerrold Ave & Rankin St" }, "geometry": { "type": "Point", "coordinates": [ -122.394733, 37.741705 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Rankin St" }, "geometry": { "type": "Point", "coordinates": [ -122.398553, 37.738277 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Rankin St" }, "geometry": { "type": "Point", "coordinates": [ -122.398252, 37.738243 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Revere Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.398639, 37.736343 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Quint St" }, "geometry": { "type": "Point", "coordinates": [ -122.396750, 37.737225 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Palou Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.396665, 37.737123 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Quint St" }, "geometry": { "type": "Point", "coordinates": [ -122.396407, 37.737191 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Phelps St" }, "geometry": { "type": "Point", "coordinates": [ -122.394819, 37.736105 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Palou Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394691, 37.736241 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394133, 37.736852 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394090, 37.736648 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Phelps St" }, "geometry": { "type": "Point", "coordinates": [ -122.394562, 37.736105 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Quint St" }, "geometry": { "type": "Point", "coordinates": [ -122.390571, 37.744250 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Quint St" }, "geometry": { "type": "Point", "coordinates": [ -122.390485, 37.744046 ] } } +, +{ "type": "Feature", "properties": { "name": "Jerrold Ave & Quint St" }, "geometry": { "type": "Point", "coordinates": [ -122.392974, 37.740924 ] } } +, +{ "type": "Feature", "properties": { "name": "Jerrold Ave & Quint St" }, "geometry": { "type": "Point", "coordinates": [ -122.392931, 37.740721 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Phelps St" }, "geometry": { "type": "Point", "coordinates": [ -122.388597, 37.742994 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Phelps St" }, "geometry": { "type": "Point", "coordinates": [ -122.388339, 37.742994 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Evans Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.388039, 37.742757 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Evans Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.387953, 37.742757 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & EVANS AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.387953, 37.742723 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Evans Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.387910, 37.742689 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.387867, 37.742655 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & EVANS AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.387867, 37.742621 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Evans Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.388167, 37.742451 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Galvez Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.388725, 37.740890 ] } } +, +{ "type": "Feature", "properties": { "name": "Jerrold Ave & Phelps St" }, "geometry": { "type": "Point", "coordinates": [ -122.391429, 37.739872 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Jerrold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.391300, 37.739770 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Mckinnon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.393017, 37.738107 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Mckinnon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392974, 37.737870 ] } } +, +{ "type": "Feature", "properties": { "name": "Newhall St & La Salle Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390528, 37.737598 ] } } +, +{ "type": "Feature", "properties": { "name": "Newhall St & La Salle Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390528, 37.737530 ] } } +, +{ "type": "Feature", "properties": { "name": "Newhall St & Newcomb Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.391686, 37.736343 ] } } +, +{ "type": "Feature", "properties": { "name": "Newhall St & Newcomb Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.391644, 37.736275 ] } } +, +{ "type": "Feature", "properties": { "name": "Newcomb Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.391558, 37.736309 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Innes Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.389283, 37.739329 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Jerrold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.389154, 37.738922 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Jerrold Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.389154, 37.738922 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Hudson/Innes" }, "geometry": { "type": "Point", "coordinates": [ -122.388940, 37.739940 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Hudson/Innes" }, "geometry": { "type": "Point", "coordinates": [ -122.388897, 37.739940 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Hudson/Innes" }, "geometry": { "type": "Point", "coordinates": [ -122.388897, 37.739940 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.388725, 37.740313 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Hudson Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.388725, 37.740144 ] } } +, +{ "type": "Feature", "properties": { "name": "New Hall & Hudsons SW-FS/BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.388425, 37.739974 ] } } +, +{ "type": "Feature", "properties": { "name": "New Hall & Hudson SW-FS/BZ" }, "geometry": { "type": "Point", "coordinates": [ -122.388425, 37.739974 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & La Salle Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.389841, 37.737225 ] } } +, +{ "type": "Feature", "properties": { "name": "Kirkwood Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.389669, 37.737972 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Kirkwood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.389627, 37.737938 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Kirkwood/La Salle" }, "geometry": { "type": "Point", "coordinates": [ -122.389712, 37.737666 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Kirkwood/La Salle" }, "geometry": { "type": "Point", "coordinates": [ -122.389712, 37.737666 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Kirkwood/La Salle" }, "geometry": { "type": "Point", "coordinates": [ -122.389712, 37.737666 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Boutwell St" }, "geometry": { "type": "Point", "coordinates": [ -122.405891, 37.734883 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Augusta St" }, "geometry": { "type": "Point", "coordinates": [ -122.405591, 37.734272 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405977, 37.732439 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405720, 37.732372 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Silver Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405591, 37.732202 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Charter Oak Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.404304, 37.733288 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Silver Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.404733, 37.733220 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Silver Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.404819, 37.733016 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Silver Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.404819, 37.732983 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Bay Shore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.404389, 37.733084 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Silver Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.405376, 37.732066 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Merrill St" }, "geometry": { "type": "Point", "coordinates": [ -122.409024, 37.731353 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Merrill St" }, "geometry": { "type": "Point", "coordinates": [ -122.408853, 37.731523 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Felton St" }, "geometry": { "type": "Point", "coordinates": [ -122.404733, 37.730131 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Thornton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.404647, 37.730267 ] } } +, +{ "type": "Feature", "properties": { "name": "Burrows St & Girard St M.L. King School" }, "geometry": { "type": "Point", "coordinates": [ -122.405033, 37.728061 ] } } +, +{ "type": "Feature", "properties": { "name": "Girard ST & Burrows ST" }, "geometry": { "type": "Point", "coordinates": [ -122.404947, 37.728027 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & Girard St" }, "geometry": { "type": "Point", "coordinates": [ -122.404733, 37.727348 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & Girard St" }, "geometry": { "type": "Point", "coordinates": [ -122.404518, 37.727450 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Augusta St" }, "geometry": { "type": "Point", "coordinates": [ -122.402201, 37.734612 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Ledyard St" }, "geometry": { "type": "Point", "coordinates": [ -122.402587, 37.734170 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave&Santa Fe Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401600, 37.734781 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Topeka Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401085, 37.735290 ] } } +, +{ "type": "Feature", "properties": { "name": "Silver Ave & Topeka Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.400699, 37.735358 ] } } +, +{ "type": "Feature", "properties": { "name": "Bridge View Dr & Scotia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.399411, 37.731862 ] } } +, +{ "type": "Feature", "properties": { "name": "Thornton Dr&Scotia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.399497, 37.731693 ] } } +, +{ "type": "Feature", "properties": { "name": "Bridge View Dr & Scotia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.399282, 37.731930 ] } } +, +{ "type": "Feature", "properties": { "name": "Bay Shore Blvd & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403145, 37.730301 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.403703, 37.727993 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.403703, 37.727993 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.403660, 37.727552 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.403574, 37.727348 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403274, 37.727755 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.403274, 37.727654 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Donner Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401471, 37.728502 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Egbert Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401943, 37.728095 ] } } +, +{ "type": "Feature", "properties": { "name": "Vesta St & Phelps St" }, "geometry": { "type": "Point", "coordinates": [ -122.399926, 37.730403 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Williams Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.399883, 37.730199 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401042, 37.729147 ] } } +, +{ "type": "Feature", "properties": { "name": "Phelps St & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.400913, 37.729113 ] } } +, +{ "type": "Feature", "properties": { "name": "Holyoke St & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.408466, 37.726296 ] } } +, +{ "type": "Feature", "properties": { "name": "Holyoke St & Bacon St" }, "geometry": { "type": "Point", "coordinates": [ -122.408509, 37.726160 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & Somerset St" }, "geometry": { "type": "Point", "coordinates": [ -122.407694, 37.726567 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & Somerset St" }, "geometry": { "type": "Point", "coordinates": [ -122.407479, 37.726703 ] } } +, +{ "type": "Feature", "properties": { "name": "Holyoke St & Wayland St" }, "geometry": { "type": "Point", "coordinates": [ -122.408123, 37.725244 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Bowdoin St" }, "geometry": { "type": "Point", "coordinates": [ -122.409410, 37.723512 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Bowdoin St" }, "geometry": { "type": "Point", "coordinates": [ -122.409625, 37.723411 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Hamilton St" }, "geometry": { "type": "Point", "coordinates": [ -122.408681, 37.723648 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Hamilton St" }, "geometry": { "type": "Point", "coordinates": [ -122.408423, 37.723750 ] } } +, +{ "type": "Feature", "properties": { "name": "Holyoke St & Wayland St" }, "geometry": { "type": "Point", "coordinates": [ -122.407994, 37.725074 ] } } +, +{ "type": "Feature", "properties": { "name": "Holyoke St & Woolsey St" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.724022 ] } } +, +{ "type": "Feature", "properties": { "name": "Woolsey St & Holyoke St" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.723886 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & Goettingen St" }, "geometry": { "type": "Point", "coordinates": [ -122.406707, 37.726805 ] } } +, +{ "type": "Feature", "properties": { "name": "Bacon St & Goettingen St" }, "geometry": { "type": "Point", "coordinates": [ -122.406492, 37.726941 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Dartmouth St" }, "geometry": { "type": "Point", "coordinates": [ -122.409067, 37.719405 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Dartmouth St" }, "geometry": { "type": "Point", "coordinates": [ -122.408895, 37.719609 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Hamilton St" }, "geometry": { "type": "Point", "coordinates": [ -122.407093, 37.719914 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Goettingen St" }, "geometry": { "type": "Point", "coordinates": [ -122.404346, 37.720797 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Hamilton St" }, "geometry": { "type": "Point", "coordinates": [ -122.406921, 37.720118 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Somerset St" }, "geometry": { "type": "Point", "coordinates": [ -122.405334, 37.720525 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Somerset St" }, "geometry": { "type": "Point", "coordinates": [ -122.405119, 37.720423 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Wayland St" }, "geometry": { "type": "Point", "coordinates": [ -122.403016, 37.726398 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Woolsey St" }, "geometry": { "type": "Point", "coordinates": [ -122.402716, 37.725312 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Dwight St" }, "geometry": { "type": "Point", "coordinates": [ -122.402201, 37.724090 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Paul Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.402115, 37.724191 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Paul Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401900, 37.723648 ] } } +, +{ "type": "Feature", "properties": { "name": "Paul Ave & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401600, 37.723886 ] } } +, +{ "type": "Feature", "properties": { "name": "Bayshore St & Paul Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.400827, 37.723580 ] } } +, +{ "type": "Feature", "properties": { "name": "Paul Ave & Bay Shore Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.400613, 37.723648 ] } } +, +{ "type": "Feature", "properties": { "name": "Paul Ave & Wheat St" }, "geometry": { "type": "Point", "coordinates": [ -122.400227, 37.723411 ] } } +, +{ "type": "Feature", "properties": { "name": "Paul Ave & Crane St" }, "geometry": { "type": "Point", "coordinates": [ -122.399111, 37.723309 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Brussels St" }, "geometry": { "type": "Point", "coordinates": [ -122.403102, 37.721102 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Brussels St" }, "geometry": { "type": "Point", "coordinates": [ -122.403145, 37.720933 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & Goettingen St" }, "geometry": { "type": "Point", "coordinates": [ -122.404132, 37.720695 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Mansell St" }, "geometry": { "type": "Point", "coordinates": [ -122.401257, 37.721612 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401428, 37.721544 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & San Bruno Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.401171, 37.721476 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Mansell St" }, "geometry": { "type": "Point", "coordinates": [ -122.400956, 37.721510 ] } } +, +{ "type": "Feature", "properties": { "name": "Salinas Ave & Bayshore St" }, "geometry": { "type": "Point", "coordinates": [ -122.399840, 37.721544 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Ward St" }, "geometry": { "type": "Point", "coordinates": [ -122.400441, 37.719405 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Ward St" }, "geometry": { "type": "Point", "coordinates": [ -122.400527, 37.719066 ] } } +, +{ "type": "Feature", "properties": { "name": "Topeka Ave & Bridge View Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.397652, 37.733322 ] } } +, +{ "type": "Feature", "properties": { "name": "Bridge View Dr & Topeka Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.397695, 37.733220 ] } } +, +{ "type": "Feature", "properties": { "name": "Topeka Ave & Venus St" }, "geometry": { "type": "Point", "coordinates": [ -122.395935, 37.732032 ] } } +, +{ "type": "Feature", "properties": { "name": "Topeka Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.395592, 37.731829 ] } } +, +{ "type": "Feature", "properties": { "name": "Topeka Ave & Thornton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.395291, 37.731184 ] } } +, +{ "type": "Feature", "properties": { "name": "Reddy St & Thornton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.395077, 37.731014 ] } } +, +{ "type": "Feature", "properties": { "name": "Reddy St & Williams Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.395420, 37.729792 ] } } +, +{ "type": "Feature", "properties": { "name": "Williams Ave & Reddy St" }, "geometry": { "type": "Point", "coordinates": [ -122.395291, 37.729758 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Yosemite Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.393317, 37.727925 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave&Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.392888, 37.735189 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.392931, 37.735053 ] } } +, +{ "type": "Feature", "properties": { "name": "Newhall St & Palou Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392759, 37.735189 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.392673, 37.735053 ] } } +, +{ "type": "Feature", "properties": { "name": "Newhall St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392201, 37.735800 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.392373, 37.735698 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.392116, 37.735698 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390485, 37.735087 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Oakdale/Palou" }, "geometry": { "type": "Point", "coordinates": [ -122.390871, 37.734374 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Oakdale/Palou" }, "geometry": { "type": "Point", "coordinates": [ -122.390871, 37.734374 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Oakdale/Palou" }, "geometry": { "type": "Point", "coordinates": [ -122.390871, 37.734374 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390742, 37.734815 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Palou Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390957, 37.734103 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Palou Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390828, 37.734136 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.390828, 37.734035 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street at Palou Ave SE" }, "geometry": { "type": "Point", "coordinates": [ -122.390914, 37.733899 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.390871, 37.733865 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Bayview St" }, "geometry": { "type": "Point", "coordinates": [ -122.391601, 37.732304 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Revere/Shafter" }, "geometry": { "type": "Point", "coordinates": [ -122.391558, 37.732304 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Revere/Shafter" }, "geometry": { "type": "Point", "coordinates": [ -122.391515, 37.732270 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Revere/Shafter" }, "geometry": { "type": "Point", "coordinates": [ -122.391515, 37.732270 ] } } +, +{ "type": "Feature", "properties": { "name": "Revere Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.391386, 37.732439 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Revere Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.391472, 37.732270 ] } } +, +{ "type": "Feature", "properties": { "name": "Revere Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.391257, 37.732202 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Newcomb Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390356, 37.735426 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Mendell St" }, "geometry": { "type": "Point", "coordinates": [ -122.390313, 37.734510 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Lane St" }, "geometry": { "type": "Point", "coordinates": [ -122.389197, 37.732915 ] } } +, +{ "type": "Feature", "properties": { "name": "Revere Ave & Lane St" }, "geometry": { "type": "Point", "coordinates": [ -122.390313, 37.731693 ] } } +, +{ "type": "Feature", "properties": { "name": "Lane St & Revere Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390184, 37.731727 ] } } +, +{ "type": "Feature", "properties": { "name": "Revere Ave & Lane St" }, "geometry": { "type": "Point", "coordinates": [ -122.390056, 37.731659 ] } } +, +{ "type": "Feature", "properties": { "name": "Lane St & Palou Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.389069, 37.732915 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Lane St" }, "geometry": { "type": "Point", "coordinates": [ -122.388897, 37.732949 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Thomas Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392030, 37.730675 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Thornton Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392373, 37.730471 ] } } +, +{ "type": "Feature", "properties": { "name": "Williams Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.392974, 37.729385 ] } } +, +{ "type": "Feature", "properties": { "name": "Williams Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.392888, 37.729283 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & WILLIAMS ST" }, "geometry": { "type": "Point", "coordinates": [ -122.392759, 37.729249 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Williams Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392673, 37.729283 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Williams Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392631, 37.729317 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Van Dyke Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392631, 37.729249 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Williams Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.392802, 37.729181 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Dyke Ave & Lane St" }, "geometry": { "type": "Point", "coordinates": [ -122.392244, 37.729215 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Yosemite Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.393060, 37.727925 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Dyke Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.390442, 37.728095 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Dyke Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.390270, 37.727891 ] } } +, +{ "type": "Feature", "properties": { "name": "Paul Ave & Gould St" }, "geometry": { "type": "Point", "coordinates": [ -122.397952, 37.723037 ] } } +, +{ "type": "Feature", "properties": { "name": "Armstrong Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.393532, 37.726941 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394304, 37.725685 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394261, 37.725515 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394261, 37.725515 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394261, 37.725481 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Carroll Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394218, 37.725312 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Egbert Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394991, 37.724191 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Egbert Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.394905, 37.723818 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Fitzgerald Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.395248, 37.723139 ] } } +, +{ "type": "Feature", "properties": { "name": "Paul Ave & Gould St" }, "geometry": { "type": "Point", "coordinates": [ -122.397394, 37.722732 ] } } +, +{ "type": "Feature", "properties": { "name": "Salinas Ave & Gould St" }, "geometry": { "type": "Point", "coordinates": [ -122.398467, 37.721136 ] } } +, +{ "type": "Feature", "properties": { "name": "Paul Ave & Carr St" }, "geometry": { "type": "Point", "coordinates": [ -122.396364, 37.722494 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Salinas Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.396493, 37.720797 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Ingerson Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.396064, 37.721204 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Le Conte Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.397523, 37.718828 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Le Conte Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.397480, 37.718828 ] } } +, +{ "type": "Feature", "properties": { "name": "Third St & Le Conte Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.397480, 37.718828 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Le Conte Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.397480, 37.718828 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Key St" }, "geometry": { "type": "Point", "coordinates": [ -122.396750, 37.719778 ] } } +, +{ "type": "Feature", "properties": { "name": "PAUL AVE & CARR ST" }, "geometry": { "type": "Point", "coordinates": [ -122.395678, 37.722426 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Gilman/Paul" }, "geometry": { "type": "Point", "coordinates": [ -122.395678, 37.722426 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street/Gilman/Paul" }, "geometry": { "type": "Point", "coordinates": [ -122.395635, 37.722460 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Gilman Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.395420, 37.722664 ] } } +, +{ "type": "Feature", "properties": { "name": "Gilman Ave & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.395420, 37.722460 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Gilman Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.395635, 37.722392 ] } } +, +{ "type": "Feature", "properties": { "name": "Gilman St & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.395635, 37.722358 ] } } +, +{ "type": "Feature", "properties": { "name": "Fitzgerald Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.394862, 37.722901 ] } } +, +{ "type": "Feature", "properties": { "name": "Fitzgerald Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.393360, 37.722053 ] } } +, +{ "type": "Feature", "properties": { "name": "Gilman Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.393618, 37.721442 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Dyke Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.388854, 37.727077 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Dyke Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.388554, 37.727043 ] } } +, +{ "type": "Feature", "properties": { "name": "Fitzgerald Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.391472, 37.720967 ] } } +, +{ "type": "Feature", "properties": { "name": "Gilman Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.391729, 37.720356 ] } } +, +{ "type": "Feature", "properties": { "name": "Fitzgerald Ave & Hawes St" }, "geometry": { "type": "Point", "coordinates": [ -122.389627, 37.719948 ] } } +, +{ "type": "Feature", "properties": { "name": "Hawes St & Gilman Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.390013, 37.719201 ] } } +, +{ "type": "Feature", "properties": { "name": "Not a public stop" }, "geometry": { "type": "Point", "coordinates": [ -122.386923, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "Not a public stop" }, "geometry": { "type": "Point", "coordinates": [ -122.386880, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.386966, 37.755380 ] } } +, +{ "type": "Feature", "properties": { "name": "Not a public stop" }, "geometry": { "type": "Point", "coordinates": [ -122.386837, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.386794, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.386751, 37.755414 ] } } +, +{ "type": "Feature", "properties": { "name": "REFERENCE & REFERENCE" }, "geometry": { "type": "Point", "coordinates": [ -122.383060, 37.755651 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & 25th St" }, "geometry": { "type": "Point", "coordinates": [ -122.387695, 37.753140 ] } } +, +{ "type": "Feature", "properties": { "name": "Muni Metro East/Not a public stop" }, "geometry": { "type": "Point", "coordinates": [ -122.386837, 37.752835 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Cesar Chavez St" }, "geometry": { "type": "Point", "coordinates": [ -122.387524, 37.750358 ] } } +, +{ "type": "Feature", "properties": { "name": "Third St & Marin St" }, "geometry": { "type": "Point", "coordinates": [ -122.387609, 37.749102 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Marin St" }, "geometry": { "type": "Point", "coordinates": [ -122.387481, 37.749102 ] } } +, +{ "type": "Feature", "properties": { "name": "Third Street & Marin St" }, "geometry": { "type": "Point", "coordinates": [ -122.387481, 37.749001 ] } } +, +{ "type": "Feature", "properties": { "name": "Third St & Marin St" }, "geometry": { "type": "Point", "coordinates": [ -122.387438, 37.748967 ] } } +, +{ "type": "Feature", "properties": { "name": "3RD ST & ARTHUR AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.387309, 37.746048 ] } } +, +{ "type": "Feature", "properties": { "name": "3rd St & Cargo Way" }, "geometry": { "type": "Point", "coordinates": [ -122.387052, 37.745879 ] } } +, +{ "type": "Feature", "properties": { "name": "Cargo Way & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.386966, 37.746082 ] } } +, +{ "type": "Feature", "properties": { "name": "Cargo Way & 3rd St" }, "geometry": { "type": "Point", "coordinates": [ -122.386665, 37.745777 ] } } +, +{ "type": "Feature", "properties": { "name": "Newhall St & Fairfax Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.387180, 37.741433 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.386451, 37.741976 ] } } +, +{ "type": "Feature", "properties": { "name": "Mendell St & Evans Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.385163, 37.740551 ] } } +, +{ "type": "Feature", "properties": { "name": "Mendell St & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.383962, 37.742553 ] } } +, +{ "type": "Feature", "properties": { "name": "Mendell St & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.383704, 37.742553 ] } } +, +{ "type": "Feature", "properties": { "name": "Cargo Way & Mendell St" }, "geometry": { "type": "Point", "coordinates": [ -122.383404, 37.743911 ] } } +, +{ "type": "Feature", "properties": { "name": "Mendell St & Cargo Way" }, "geometry": { "type": "Point", "coordinates": [ -122.383318, 37.743809 ] } } +, +{ "type": "Feature", "properties": { "name": "Mendell St & Cargo Way" }, "geometry": { "type": "Point", "coordinates": [ -122.383189, 37.743707 ] } } +, +{ "type": "Feature", "properties": { "name": "MENDELL ST/Opposite US POST OFFICE" }, "geometry": { "type": "Point", "coordinates": [ -122.384648, 37.741162 ] } } +, +{ "type": "Feature", "properties": { "name": "MENDELL ST/US POST OFFICE" }, "geometry": { "type": "Point", "coordinates": [ -122.384477, 37.741094 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Mendell St" }, "geometry": { "type": "Point", "coordinates": [ -122.384605, 37.740924 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Mendell St" }, "geometry": { "type": "Point", "coordinates": [ -122.384520, 37.740721 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Mendell St" }, "geometry": { "type": "Point", "coordinates": [ -122.386580, 37.739024 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Mendell St" }, "geometry": { "type": "Point", "coordinates": [ -122.386322, 37.738990 ] } } +, +{ "type": "Feature", "properties": { "name": "Cashmere St & Whitney Young Cir" }, "geometry": { "type": "Point", "coordinates": [ -122.385893, 37.736614 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Newhall St" }, "geometry": { "type": "Point", "coordinates": [ -122.382975, 37.740008 ] } } +, +{ "type": "Feature", "properties": { "name": "EVANS AVE/US POST OFFICE" }, "geometry": { "type": "Point", "coordinates": [ -122.382674, 37.739872 ] } } +, +{ "type": "Feature", "properties": { "name": "EVANS AVE/US Post Office" }, "geometry": { "type": "Point", "coordinates": [ -122.382588, 37.739838 ] } } +, +{ "type": "Feature", "properties": { "name": "EVANS AVE/Opposite US Post Office" }, "geometry": { "type": "Point", "coordinates": [ -122.382846, 37.739736 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.384133, 37.737700 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.384176, 37.737598 ] } } +, +{ "type": "Feature", "properties": { "name": "Fairfax Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.381816, 37.738175 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.381086, 37.738786 ] } } +, +{ "type": "Feature", "properties": { "name": "Keith St & Evans Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.381043, 37.738650 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.380829, 37.738786 ] } } +, +{ "type": "Feature", "properties": { "name": "Middle Point & Acacia" }, "geometry": { "type": "Point", "coordinates": [ -122.379541, 37.737089 ] } } +, +{ "type": "Feature", "properties": { "name": "Middle Point Rd & West Point Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.379541, 37.736546 ] } } +, +{ "type": "Feature", "properties": { "name": "Evans Ave & Middle Point Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.379284, 37.737700 ] } } +, +{ "type": "Feature", "properties": { "name": "Middle Point Rd & West Point Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.379327, 37.737021 ] } } +, +{ "type": "Feature", "properties": { "name": "Cashmere St & La Salle Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.386966, 37.735867 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.387395, 37.732066 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.387352, 37.731862 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.387052, 37.731862 ] } } +, +{ "type": "Feature", "properties": { "name": "Keith St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.386665, 37.732609 ] } } +, +{ "type": "Feature", "properties": { "name": "Keith St & Oakdale Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.386622, 37.732372 ] } } +, +{ "type": "Feature", "properties": { "name": "Newcomb Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.386022, 37.733152 ] } } +, +{ "type": "Feature", "properties": { "name": "Newcomb Ave & Keith St" }, "geometry": { "type": "Point", "coordinates": [ -122.386065, 37.733016 ] } } +, +{ "type": "Feature", "properties": { "name": "Newcomb Ave & La Salle Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.385077, 37.733220 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Cashmere St" }, "geometry": { "type": "Point", "coordinates": [ -122.383533, 37.735969 ] } } +, +{ "type": "Feature", "properties": { "name": "Cashmere St & Hudson Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.383575, 37.735732 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Ardath Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.383060, 37.734713 ] } } +, +{ "type": "Feature", "properties": { "name": "Newcomb Ave & La Salle Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.384863, 37.733050 ] } } +, +{ "type": "Feature", "properties": { "name": "La Salle Ave & Newcomb Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.384820, 37.732983 ] } } +, +{ "type": "Feature", "properties": { "name": "Whitney Young Cir & Progress St" }, "geometry": { "type": "Point", "coordinates": [ -122.383361, 37.733356 ] } } +, +{ "type": "Feature", "properties": { "name": "Whitney Young Cir & Progress St" }, "geometry": { "type": "Point", "coordinates": [ -122.383103, 37.733254 ] } } +, +{ "type": "Feature", "properties": { "name": "Revere Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.386580, 37.729588 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.385421, 37.730844 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.385163, 37.730810 ] } } +, +{ "type": "Feature", "properties": { "name": "Revere Ave & Jennings St" }, "geometry": { "type": "Point", "coordinates": [ -122.386322, 37.729554 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Thomas Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.385635, 37.727382 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.383618, 37.729758 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.382717, 37.730165 ] } } +, +{ "type": "Feature", "properties": { "name": "Revere Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.384691, 37.728502 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Revere Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.384605, 37.728400 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.382760, 37.729453 ] } } +, +{ "type": "Feature", "properties": { "name": "Middle Point Rd & West Point Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.379498, 37.735053 ] } } +, +{ "type": "Feature", "properties": { "name": "Middle Point Rd & Innes Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.379541, 37.734204 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Innes Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.379541, 37.734035 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Whitney Young Cir" }, "geometry": { "type": "Point", "coordinates": [ -122.382159, 37.733356 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Whitney Young Cir" }, "geometry": { "type": "Point", "coordinates": [ -122.381859, 37.733322 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Harbor Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.380056, 37.733492 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Harbor Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.379842, 37.733322 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.379928, 37.732507 ] } } +, +{ "type": "Feature", "properties": { "name": "Hudson Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.379713, 37.732406 ] } } +, +{ "type": "Feature", "properties": { "name": "Middle Point Rd & West Point Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.379327, 37.735189 ] } } +, +{ "type": "Feature", "properties": { "name": "MIDDLE POINT RD & HARE ST" }, "geometry": { "type": "Point", "coordinates": [ -122.379370, 37.734408 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Middle Point Rd E" }, "geometry": { "type": "Point", "coordinates": [ -122.379370, 37.734103 ] } } +, +{ "type": "Feature", "properties": { "name": "Northridge Rd & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.378983, 37.731659 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Hunters Point Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.377267, 37.732949 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Hunters Point Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.377181, 37.732711 ] } } +, +{ "type": "Feature", "properties": { "name": "La Salle Ave & Osceola Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.381730, 37.731387 ] } } +, +{ "type": "Feature", "properties": { "name": "La Salle Ave & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.381430, 37.730776 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Beatrice Ln" }, "geometry": { "type": "Point", "coordinates": [ -122.380357, 37.730607 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Baldwin Ct" }, "geometry": { "type": "Point", "coordinates": [ -122.381387, 37.729385 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Hawes St" }, "geometry": { "type": "Point", "coordinates": [ -122.381430, 37.728706 ] } } +, +{ "type": "Feature", "properties": { "name": "Palou Ave & Crespi Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.380228, 37.727993 ] } } +, +{ "type": "Feature", "properties": { "name": "Kiska Rd & Ingalls St" }, "geometry": { "type": "Point", "coordinates": [ -122.379413, 37.731082 ] } } +, +{ "type": "Feature", "properties": { "name": "Northridge Rd & Harbor Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.377052, 37.730980 ] } } +, +{ "type": "Feature", "properties": { "name": "Kiska Rd & Reardon Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.377138, 37.730064 ] } } +, +{ "type": "Feature", "properties": { "name": "Oakdale Ave & Griffith St" }, "geometry": { "type": "Point", "coordinates": [ -122.379327, 37.728231 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Van Dyke Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.386794, 37.726126 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Van Dyke Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.386708, 37.726058 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingalls St & Thomas Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.385721, 37.727111 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Griffith St" }, "geometry": { "type": "Point", "coordinates": [ -122.375894, 37.731998 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Griffith St" }, "geometry": { "type": "Point", "coordinates": [ -122.375636, 37.732032 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Fitch St" }, "geometry": { "type": "Point", "coordinates": [ -122.374048, 37.730946 ] } } +, +{ "type": "Feature", "properties": { "name": "Kirkwood Ave & Dormitory Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.375293, 37.729894 ] } } +, +{ "type": "Feature", "properties": { "name": "Northridge Rd & Dormitory Rd" }, "geometry": { "type": "Point", "coordinates": [ -122.374520, 37.730267 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Fitch St" }, "geometry": { "type": "Point", "coordinates": [ -122.373791, 37.730946 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Earl St" }, "geometry": { "type": "Point", "coordinates": [ -122.372160, 37.729894 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes Ave & Earl St" }, "geometry": { "type": "Point", "coordinates": [ -122.371902, 37.729894 ] } } +, +{ "type": "Feature", "properties": { "name": "Earl St & Kirkwood Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.373147, 37.728808 ] } } +, +{ "type": "Feature", "properties": { "name": "Innes St & Donahue St" }, "geometry": { "type": "Point", "coordinates": [ -122.370229, 37.729147 ] } } +, +{ "type": "Feature", "properties": { "name": "Donahue St & Innes Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.369671, 37.729283 ] } } +, +{ "type": "Feature", "properties": { "name": "SPEAR ST & COCHRANE ST" }, "geometry": { "type": "Point", "coordinates": [ -122.368727, 37.725345 ] } } +, +{ "type": "Feature", "properties": { "name": "Spear Ave & Cochrane St" }, "geometry": { "type": "Point", "coordinates": [ -122.367954, 37.725345 ] } } +, +{ "type": "Feature", "properties": { "name": "ROBINSON ST/Bldg 152" }, "geometry": { "type": "Point", "coordinates": [ -122.365594, 37.728774 ] } } +, +{ "type": "Feature", "properties": { "name": "ROBINSON ST/Bldg 152" }, "geometry": { "type": "Point", "coordinates": [ -122.365208, 37.728604 ] } } +, +{ "type": "Feature", "properties": { "name": "Galvez Ave & Horne Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.365465, 37.727925 ] } } +, +{ "type": "Feature", "properties": { "name": "Lockwood St & Bldg 214" }, "geometry": { "type": "Point", "coordinates": [ -122.361002, 37.727382 ] } } +, +{ "type": "Feature", "properties": { "name": "655 John Muir Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.497773, 37.717029 ] } } +, +{ "type": "Feature", "properties": { "name": "655 John Muir Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.497687, 37.716791 ] } } +, +{ "type": "Feature", "properties": { "name": "555 John Muir Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.496572, 37.716553 ] } } +, +{ "type": "Feature", "properties": { "name": "555 John Muir Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.496529, 37.716452 ] } } +, +{ "type": "Feature", "properties": { "name": "515 John Muir Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.495370, 37.716248 ] } } +, +{ "type": "Feature", "properties": { "name": "515 John Muir Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.495413, 37.716078 ] } } +, +{ "type": "Feature", "properties": { "name": "Lake Merced Blvd & Higuera Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.485242, 37.718455 ] } } +, +{ "type": "Feature", "properties": { "name": "Arballo Dr & Gonzalez Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.483311, 37.717368 ] } } +, +{ "type": "Feature", "properties": { "name": "Arballo Dr & Garces Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.483354, 37.716350 ] } } +, +{ "type": "Feature", "properties": { "name": "Garces Dr & Bucareli Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.481508, 37.716010 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Juan Bautisa Cir." }, "geometry": { "type": "Point", "coordinates": [ -122.478719, 37.718488 ] } } +, +{ "type": "Feature", "properties": { "name": "Juan Bautista Cir & Bucareli Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.478762, 37.717979 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Juan Bautista Cir" }, "geometry": { "type": "Point", "coordinates": [ -122.477088, 37.717708 ] } } +, +{ "type": "Feature", "properties": { "name": "Juan Bautista Cir & Font Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.477474, 37.717504 ] } } +, +{ "type": "Feature", "properties": { "name": "FONT BLVD & GONZALEZ DR" }, "geometry": { "type": "Point", "coordinates": [ -122.476058, 37.716723 ] } } +, +{ "type": "Feature", "properties": { "name": "Gonzalez Dr & Font Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.475929, 37.716723 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Gonzalez Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.475801, 37.716791 ] } } +, +{ "type": "Feature", "properties": { "name": "Garces Dr & Gonzalez Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.478333, 37.715875 ] } } +, +{ "type": "Feature", "properties": { "name": "Gonzalez Dr & Josepha Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.477174, 37.716010 ] } } +, +{ "type": "Feature", "properties": { "name": "Cambon Dr & Castelo Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474470, 37.717266 ] } } +, +{ "type": "Feature", "properties": { "name": "Cambon Dr & Castelo Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.474298, 37.717470 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.473183, 37.718081 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.473011, 37.717334 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Cambon Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474599, 37.715908 ] } } +, +{ "type": "Feature", "properties": { "name": "Cambon Dr & Font Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.474470, 37.716044 ] } } +, +{ "type": "Feature", "properties": { "name": "Font Blvd & Cambon Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.474298, 37.715908 ] } } +, +{ "type": "Feature", "properties": { "name": "Junipero Serra Blvd & 19th Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.472410, 37.717776 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472839, 37.717402 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Junipero Serra Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.472281, 37.716893 ] } } +, +{ "type": "Feature", "properties": { "name": "19th Ave & Randolph St" }, "geometry": { "type": "Point", "coordinates": [ -122.471681, 37.716214 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Lakeview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456231, 37.718455 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Lakeview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.456102, 37.718183 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Thrift St" }, "geometry": { "type": "Point", "coordinates": [ -122.456102, 37.717742 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Thrift St" }, "geometry": { "type": "Point", "coordinates": [ -122.456145, 37.717572 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Montana St" }, "geometry": { "type": "Point", "coordinates": [ -122.456145, 37.716452 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Montana St" }, "geometry": { "type": "Point", "coordinates": [ -122.456059, 37.716553 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Minerva St" }, "geometry": { "type": "Point", "coordinates": [ -122.456059, 37.716010 ] } } +, +{ "type": "Feature", "properties": { "name": "Plymouth Ave & Minerva St" }, "geometry": { "type": "Point", "coordinates": [ -122.456145, 37.715875 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Mt Vernon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448678, 37.718522 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Mt Vernon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448678, 37.718488 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Mt Vernon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.448635, 37.718285 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Lakeview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.450395, 37.716316 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Lakeview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.450352, 37.716282 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Lakeview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.450438, 37.716112 ] } } +, +{ "type": "Feature", "properties": { "name": "San Jose Ave & Lakeview Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.450395, 37.716078 ] } } +, +{ "type": "Feature", "properties": { "name": "Niagra Ave & Alemany Blvd" }, "geometry": { "type": "Point", "coordinates": [ -122.443314, 37.716893 ] } } +, +{ "type": "Feature", "properties": { "name": "Alemany Blvd & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442412, 37.717674 ] } } +, +{ "type": "Feature", "properties": { "name": "Alemany Blvd & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.442412, 37.717674 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.441082, 37.716723 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.441211, 37.716520 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.441168, 37.716486 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440825, 37.716655 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.440910, 37.716486 ] } } +, +{ "type": "Feature", "properties": { "name": "Mission St & Amazon Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440438, 37.717165 ] } } +, +{ "type": "Feature", "properties": { "name": "Geneva Ave & Mission St" }, "geometry": { "type": "Point", "coordinates": [ -122.440953, 37.716350 ] } } +, +{ "type": "Feature", "properties": { "name": "GENEVA AVE & MISSION ST" }, "geometry": { "type": "Point", "coordinates": [ -122.440782, 37.716418 ] } } +, +{ "type": "Feature", "properties": { "name": "London St & Geneva Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.440224, 37.716180 ] } } +, +{ "type": "Feature", "properties": { "name": "Naples St & Italy Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.434773, 37.716112 ] } } +, +{ "type": "Feature", "properties": { "name": "Naples St & France Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.433572, 37.717674 ] } } +, +{ "type": "Feature", "properties": { "name": "Moscow St & France Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.431169, 37.716723 ] } } +, +{ "type": "Feature", "properties": { "name": "Russia Ave & Moscow St" }, "geometry": { "type": "Point", "coordinates": [ -122.430139, 37.718183 ] } } +, +{ "type": "Feature", "properties": { "name": "Russia Ave & Moscow St" }, "geometry": { "type": "Point", "coordinates": [ -122.429881, 37.718149 ] } } +, +{ "type": "Feature", "properties": { "name": "Prague St & Russia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.428207, 37.717572 ] } } +, +{ "type": "Feature", "properties": { "name": "Prague St & Russia Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.428379, 37.717504 ] } } +, +{ "type": "Feature", "properties": { "name": "MANSELL ST & PERSIA AVE" }, "geometry": { "type": "Point", "coordinates": [ -122.425718, 37.718319 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422800, 37.717810 ] } } +, +{ "type": "Feature", "properties": { "name": "Persia Ave & Brazil Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.422543, 37.717810 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & John F Shelley Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.414474, 37.718149 ] } } +, +{ "type": "Feature", "properties": { "name": "Mansell St & John F Shelley Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.414260, 37.718047 ] } } +, +{ "type": "Feature", "properties": { "name": "Visitacion Valley Middle School" }, "geometry": { "type": "Point", "coordinates": [ -122.413960, 37.716214 ] } } +, +{ "type": "Feature", "properties": { "name": "Delta St & Wilde Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.407479, 37.717776 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Delta St" }, "geometry": { "type": "Point", "coordinates": [ -122.407222, 37.717843 ] } } +, +{ "type": "Feature", "properties": { "name": "Delta St & Tioga Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.407737, 37.717300 ] } } +, +{ "type": "Feature", "properties": { "name": "Tioga Ave & Delta St" }, "geometry": { "type": "Point", "coordinates": [ -122.407651, 37.717165 ] } } +, +{ "type": "Feature", "properties": { "name": "Tioga Ave & Rutland St" }, "geometry": { "type": "Point", "coordinates": [ -122.405806, 37.716689 ] } } +, +{ "type": "Feature", "properties": { "name": "Tioga Ave & Rutland St" }, "geometry": { "type": "Point", "coordinates": [ -122.405763, 37.716621 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Rutland St" }, "geometry": { "type": "Point", "coordinates": [ -122.405248, 37.717368 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Rutland St" }, "geometry": { "type": "Point", "coordinates": [ -122.405462, 37.717232 ] } } +, +{ "type": "Feature", "properties": { "name": "356 Wilde Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.404389, 37.717063 ] } } +, +{ "type": "Feature", "properties": { "name": "367 Wilde Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.404132, 37.716893 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Goettingen St" }, "geometry": { "type": "Point", "coordinates": [ -122.402329, 37.716316 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Goettingen St" }, "geometry": { "type": "Point", "coordinates": [ -122.402201, 37.716112 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Girard St" }, "geometry": { "type": "Point", "coordinates": [ -122.400270, 37.716621 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Girard St" }, "geometry": { "type": "Point", "coordinates": [ -122.400227, 37.716486 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Wilde Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.399840, 37.717029 ] } } +, +{ "type": "Feature", "properties": { "name": "San Bruno Ave & Wilde Ave" }, "geometry": { "type": "Point", "coordinates": [ -122.399969, 37.716723 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Brussels St" }, "geometry": { "type": "Point", "coordinates": [ -122.401257, 37.716384 ] } } +, +{ "type": "Feature", "properties": { "name": "Wilde Ave & Brussels St" }, "geometry": { "type": "Point", "coordinates": [ -122.400999, 37.716282 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingerson Ave & Hawes St" }, "geometry": { "type": "Point", "coordinates": [ -122.391000, 37.718047 ] } } +, +{ "type": "Feature", "properties": { "name": "Ingerson Ave & Griffith St" }, "geometry": { "type": "Point", "coordinates": [ -122.389240, 37.717029 ] } } +, +{ "type": "Feature", "properties": { "name": "Gilman Ave & Griffith St" }, "geometry": { "type": "Point", "coordinates": [ -122.388296, 37.718251 ] } } +, +{ "type": "Feature", "properties": { "name": "Gilman Ave & Bill Walsh Way" }, "geometry": { "type": "Point", "coordinates": [ -122.387009, 37.717504 ] } } +, +{ "type": "Feature", "properties": { "name": "Gilman Ave & Giants Dr" }, "geometry": { "type": "Point", "coordinates": [ -122.387009, 37.717504 ] } } +] } +, +{ "type": "FeatureCollection", "properties": { "layer": "subway", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "name": "Metro Castro Station/Outbound" }, "geometry": { "type": "Point", "coordinates": [ -122.435331, 37.762708 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Castro Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.435246, 37.762641 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Forest Hill Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.458634, 37.748356 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Montgomery Station/Outbound" }, "geometry": { "type": "Point", "coordinates": [ -122.402158, 37.788794 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Montgomery Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.401943, 37.788726 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Embarcadero Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.396579, 37.793033 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Embarcadero Station" }, "geometry": { "type": "Point", "coordinates": [ -122.396450, 37.793168 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Embarcadero Station" }, "geometry": { "type": "Point", "coordinates": [ -122.396407, 37.793168 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Civic Center Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.412543, 37.780348 ] } } +, +{ "type": "Feature", "properties": { "name": "Van Ness Station Outbound" }, "geometry": { "type": "Point", "coordinates": [ -122.419367, 37.775260 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Van Ness Station/Outbound" }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.775159 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Van Ness Station" }, "geometry": { "type": "Point", "coordinates": [ -122.419195, 37.775091 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Van Ness Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.419281, 37.775057 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Civic Center Station/Outbd" }, "geometry": { "type": "Point", "coordinates": [ -122.415032, 37.778686 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Civic Center Station/Downtn" }, "geometry": { "type": "Point", "coordinates": [ -122.414818, 37.778551 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Church Station/Outbound" }, "geometry": { "type": "Point", "coordinates": [ -122.429323, 37.767356 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Church Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.429194, 37.767221 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Powell Station/Outbound" }, "geometry": { "type": "Point", "coordinates": [ -122.407823, 37.784317 ] } } +, +{ "type": "Feature", "properties": { "name": "Metro Powell Station/Downtown" }, "geometry": { "type": "Point", "coordinates": [ -122.407737, 37.784215 ] } } +] } +] } diff --git a/version.hpp b/version.hpp index 9953eea..244058c 100644 --- a/version.hpp +++ b/version.hpp @@ -1,6 +1,6 @@ #ifndef VERSION_HPP #define VERSION_HPP -#define VERSION "tippecanoe v1.27.10\n" +#define VERSION "tippecanoe v1.27.11\n" #endif From 35aa291aacdedf3905c4cb2d8feaded0caab0ffd Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Thu, 15 Mar 2018 12:35:38 -0700 Subject: [PATCH 02/11] Restore accidentally deleted test --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9e1bb64..237ad98 100644 --- a/Makefile +++ b/Makefile @@ -146,9 +146,10 @@ decode-test: ./tippecanoe-decode tests/muni/decode/multi.mbtiles 11 327 791 > tests/muni/decode/multi.mbtiles.onetile.json.check ./tippecanoe-decode --stats tests/muni/decode/multi.mbtiles > tests/muni/decode/multi.mbtiles.stats.json.check cmp tests/muni/decode/multi.mbtiles.json.check tests/muni/decode/multi.mbtiles.json + cmp tests/muni/decode/multi.mbtiles.pipeline.json.check tests/muni/decode/multi.mbtiles.pipeline.json cmp tests/muni/decode/multi.mbtiles.onetile.json.check tests/muni/decode/multi.mbtiles.onetile.json cmp tests/muni/decode/multi.mbtiles.stats.json.check tests/muni/decode/multi.mbtiles.stats.json - rm -f tests/muni/decode/multi.mbtiles.json.check tests/muni/decode/multi.mbtiles tests/muni/decode/multi.mbtiles.pipeline.json.check tests/muni/decode/multi.mbtiles.stats.json.check + rm -f tests/muni/decode/multi.mbtiles.json.check tests/muni/decode/multi.mbtiles tests/muni/decode/multi.mbtiles.pipeline.json.check tests/muni/decode/multi.mbtiles.stats.json.check tests/muni/decode/multi.mbtiles.onetile.json.check pbf-test: ./tippecanoe-decode tests/pbf/11-328-791.vector.pbf 11 328 791 > tests/pbf/11-328-791.vector.pbf.out From 605ccbe0776eec511e87e9cb8b4da17ba9671cd9 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Thu, 15 Mar 2018 14:42:53 -0700 Subject: [PATCH 03/11] Helper functions so I will stop writing JSON by hand --- write_json.cpp | 428 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 321 insertions(+), 107 deletions(-) diff --git a/write_json.cpp b/write_json.cpp index 74c5ed3..b8f6ddb 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -9,6 +9,168 @@ #include "write_json.hpp" #include "milo/dtoa_milo.h" +enum json_write_tok { + JSON_WRITE_HASH, + JSON_WRITE_HASH_KEY, + JSON_WRITE_HASH_VALUE, + JSON_WRITE_ARRAY, + JSON_WRITE_ARRAY_ELEMENT, + JSON_WRITE_TOP, +}; + +struct json_write_state { + std::vector state; + + ~json_write_state() { + if (state.size() > 0) { + if (state.size() != 1 || state[0] != JSON_WRITE_TOP) { + fprintf(stderr, "JSON not closed at end\n"); + exit(EXIT_FAILURE); + } + } + } +}; + +static void json_adjust(FILE *f, json_write_state &state) { + if (state.state.size() == 0) { + state.state.push_back(JSON_WRITE_TOP); + } else if (state.state[state.state.size() - 1] == JSON_WRITE_TOP) { + fprintf(f, "\n"); + state.state[state.state.size() - 1] = JSON_WRITE_TOP; + } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH) { + fprintf(f, " "); + state.state[state.state.size() - 1] = JSON_WRITE_HASH_KEY; + } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH_KEY) { + fprintf(f, ": "); + state.state[state.state.size() - 1] = JSON_WRITE_HASH_VALUE; + } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH_VALUE) { + fprintf(f, ", "); + state.state[state.state.size() - 1] = JSON_WRITE_HASH_KEY; + } else if (state.state[state.state.size() - 1] == JSON_WRITE_ARRAY) { + fprintf(f, " "); + state.state[state.state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; + } else if (state.state[state.state.size() - 1] == JSON_WRITE_ARRAY_ELEMENT) { + fprintf(f, ", "); + state.state[state.state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; + } else { + fprintf(stderr, "Impossible JSON state\n"); + exit(EXIT_FAILURE); + } +} + +void json_write_array(FILE *f, json_write_state &state) { + json_adjust(f, state); + fprintf(f, "["); + + state.state.push_back(JSON_WRITE_ARRAY); +} + +void json_end_array(FILE *f, json_write_state &state) { + if (state.state.size() == 0) { + fprintf(stderr, "End JSON array at top level\n"); + exit(EXIT_FAILURE); + } + + json_write_tok tok = state.state[state.state.size() - 1]; + state.state.pop_back(); + + if (tok == JSON_WRITE_ARRAY || tok == JSON_WRITE_ARRAY_ELEMENT) { + fprintf(f, " ]"); + } else { + fprintf(stderr, "End JSON array with unexpected state\n"); + exit(EXIT_FAILURE); + } +} + +void json_write_hash(FILE *f, json_write_state &state) { + json_adjust(f, state); + fprintf(f, "{"); + + state.state.push_back(JSON_WRITE_HASH); +} + +void json_end_hash(FILE *f, json_write_state &state) { + if (state.state.size() == 0) { + fprintf(stderr, "End JSON hash at top level\n"); + exit(EXIT_FAILURE); + } + + json_write_tok tok = state.state[state.state.size() - 1]; + state.state.pop_back(); + + if (tok == JSON_WRITE_HASH) { + fprintf(f, " }"); // Preserve accidental extra space from before + } else if (tok == JSON_WRITE_HASH_VALUE) { + fprintf(f, " }"); + } else { + fprintf(stderr, "End JSON hash with unexpected state\n"); + exit(EXIT_FAILURE); + } +} + +void json_write_string(FILE *f, std::string const &s, json_write_state &state) { + json_adjust(f, state); + + putc('"', f); + for (size_t i = 0; i < s.size(); i++) { + if (s[i] == '\\' || s[i] == '"') { + fprintf(f, "\\%c", s[i]); + } else if ((unsigned char) s[i] < ' ') { + fprintf(f, "\\u%04x", s[i]); + } else { + putc(s[i], f); + } + } + putc('"', f); +} + +void json_write_number(FILE *f, double d, json_write_state &state) { + json_adjust(f, state); + + fputs(milo::dtoa_milo(d).c_str(), f); +} + +// Just to avoid changing expected output format +void json_write_float(FILE *f, double d, json_write_state &state) { + json_adjust(f, state); + + fprintf(f, "%f", d); +} + +void json_write_unsigned(FILE *f, unsigned long long v, json_write_state &state) { + json_adjust(f, state); + + fprintf(f, "%llu", v); +} + +void json_write_signed(FILE *f, long long v, json_write_state &state) { + json_adjust(f, state); + + fprintf(f, "%lld", v); +} + +void json_write_stringified(FILE *f, std::string const &s, json_write_state &state) { + json_adjust(f, state); + + fputs(s.c_str(), f); +} + +void json_write_bool(FILE *f, bool b, json_write_state &state) { + json_adjust(f, state); + + if (b) { + fputs("true", f); + } else { + fputs("false", f); + } +} + +void json_write_null(FILE *f, json_write_state &state) { + json_adjust(f, state); + + fputs("null", f); +} + struct lonlat { int op; double lon; @@ -26,84 +188,68 @@ struct lonlat { }; void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain) { + json_write_state state; + for (size_t f = 0; f < layer.features.size(); f++) { mvt_feature const &feat = layer.features[f]; if (comma && f != 0) { - fprintf(fp, ",\n"); + fprintf(fp, ","); } - fprintf(fp, "{ \"type\": \"Feature\""); + json_write_hash(fp, state); + json_write_string(fp, "type", state); + json_write_string(fp, "Feature", state); if (feat.has_id) { - fprintf(fp, ", \"id\": %llu", feat.id); + json_write_string(fp, "id", state); + json_write_unsigned(fp, feat.id, state); } if (name || zoom || index != 0 || sequence != 0 || extent != 0) { - bool need_comma = false; - - fprintf(fp, ", \"tippecanoe\": { "); + json_write_string(fp, "tippecanoe", state); + json_write_hash(fp, state); if (name) { - if (need_comma) { - fprintf(fp, ", "); - } - fprintf(fp, "\"layer\": "); - fprintq(fp, layer.name.c_str()); - need_comma = true; + json_write_string(fp, "layer", state); + json_write_string(fp, layer.name, state); } if (zoom) { - if (need_comma) { - fprintf(fp, ", "); - } - fprintf(fp, "\"minzoom\": %u, ", z); - fprintf(fp, "\"maxzoom\": %u", z); - need_comma = true; + json_write_string(fp, "minzoom", state); + json_write_unsigned(fp, z, state); + + json_write_string(fp, "maxzoom", state); + json_write_unsigned(fp, z, state); } if (dropped) { - if (need_comma) { - fprintf(fp, ", "); - } - fprintf(fp, "\"dropped\": %s", feat.dropped ? "true" : "false"); - need_comma = true; + json_write_string(fp, "dropped", state); + json_write_bool(fp, feat.dropped, state); } if (index != 0) { - if (need_comma) { - fprintf(fp, ", "); - } - fprintf(fp, "\"index\": %llu", index); - need_comma = true; + json_write_string(fp, "index", state); + json_write_unsigned(fp, index, state); } if (sequence != 0) { - if (need_comma) { - fprintf(fp, ", "); - } - fprintf(fp, "\"sequence\": %lld", sequence); - need_comma = true; + json_write_string(fp, "sequence", state); + json_write_signed(fp, sequence, state); } if (extent != 0) { - if (need_comma) { - fprintf(fp, ", "); - } - fprintf(fp, "\"extent\": %lld", extent); - need_comma = true; + json_write_string(fp, "extent", state); + json_write_signed(fp, extent, state); } - fprintf(fp, " }"); + json_end_hash(fp, state); } - fprintf(fp, ", \"properties\": { "); + json_write_string(fp, "properties", state); + json_write_hash(fp, state); for (size_t t = 0; t + 1 < feat.tags.size(); t += 2) { - if (t != 0) { - fprintf(fp, ", "); - } - if (feat.tags[t] >= layer.keys.size()) { fprintf(stderr, "Error: out of bounds feature key (%u in %zu)\n", feat.tags[t], layer.keys.size()); exit(EXIT_FAILURE); @@ -117,33 +263,33 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, mvt_value const &val = layer.values[feat.tags[t + 1]]; if (val.type == mvt_string) { - fprintq(fp, key); - fprintf(fp, ": "); - fprintq(fp, val.string_value.c_str()); + json_write_string(fp, key, state); + json_write_string(fp, val.string_value, state); } else if (val.type == mvt_int) { - fprintq(fp, key); - fprintf(fp, ": %lld", val.numeric_value.int_value); + json_write_string(fp, key, state); + json_write_signed(fp, val.numeric_value.int_value, state); } else if (val.type == mvt_double) { - fprintq(fp, key); - double v = val.numeric_value.double_value; - fprintf(fp, ": %s", milo::dtoa_milo(v).c_str()); + json_write_string(fp, key, state); + json_write_number(fp, val.numeric_value.double_value, state); } else if (val.type == mvt_float) { - fprintq(fp, key); - double v = val.numeric_value.float_value; - fprintf(fp, ": %s", milo::dtoa_milo(v).c_str()); + json_write_string(fp, key, state); + json_write_number(fp, val.numeric_value.float_value, state); } else if (val.type == mvt_sint) { - fprintq(fp, key); - fprintf(fp, ": %lld", val.numeric_value.sint_value); + json_write_string(fp, key, state); + json_write_signed(fp, val.numeric_value.sint_value, state); } else if (val.type == mvt_uint) { - fprintq(fp, key); - fprintf(fp, ": %llu", val.numeric_value.uint_value); + json_write_string(fp, key, state); + json_write_unsigned(fp, val.numeric_value.uint_value, state); } else if (val.type == mvt_bool) { - fprintq(fp, key); - fprintf(fp, ": %s", val.numeric_value.bool_value ? "true" : "false"); + json_write_string(fp, key, state); + json_write_bool(fp, val.numeric_value.bool_value, state); } } - fprintf(fp, " }, \"geometry\": { "); + json_end_hash(fp, state); + + json_write_string(fp, "geometry", state); + json_write_hash(fp, state); std::vector ops; @@ -168,16 +314,30 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, if (feat.type == VT_POINT) { if (ops.size() == 1) { - fprintf(fp, "\"type\": \"Point\", \"coordinates\": [ %f, %f ]", ops[0].lon, ops[0].lat); + json_write_string(fp, "type", state); + json_write_string(fp, "Point", state); + + json_write_string(fp, "coordinates", state); + + json_write_array(fp, state); + json_write_float(fp, ops[0].lon, state); + json_write_float(fp, ops[0].lat, state); + json_end_array(fp, state); } else { - fprintf(fp, "\"type\": \"MultiPoint\", \"coordinates\": [ "); + json_write_string(fp, "type", state); + json_write_string(fp, "MultiPoint", state); + + json_write_string(fp, "coordinates", state); + json_write_array(fp, state); + for (size_t i = 0; i < ops.size(); i++) { - if (i != 0) { - fprintf(fp, ", "); - } - fprintf(fp, "[ %f, %f ]", ops[i].lon, ops[i].lat); + json_write_array(fp, state); + json_write_float(fp, ops[i].lon, state); + json_write_float(fp, ops[i].lat, state); + json_end_array(fp, state); } - fprintf(fp, " ]"); + + json_end_array(fp, state); } } else if (feat.type == VT_LINE) { int movetos = 0; @@ -188,32 +348,59 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, } if (movetos < 2) { - fprintf(fp, "\"type\": \"LineString\", \"coordinates\": [ "); + json_write_string(fp, "type", state); + json_write_string(fp, "LineString", state); + + json_write_string(fp, "coordinates", state); + json_write_array(fp, state); + for (size_t i = 0; i < ops.size(); i++) { - if (i != 0) { - fprintf(fp, ", "); - } - fprintf(fp, "[ %f, %f ]", ops[i].lon, ops[i].lat); + json_write_array(fp, state); + json_write_float(fp, ops[i].lon, state); + json_write_float(fp, ops[i].lat, state); + json_end_array(fp, state); } - fprintf(fp, " ]"); + + json_end_array(fp, state); } else { - fprintf(fp, "\"type\": \"MultiLineString\", \"coordinates\": [ [ "); - int state = 0; + json_write_string(fp, "type", state); + json_write_string(fp, "MultiLineString", state); + + json_write_string(fp, "coordinates", state); + json_write_array(fp, state); + json_write_array(fp, state); + + int sstate = 0; for (size_t i = 0; i < ops.size(); i++) { if (ops[i].op == VT_MOVETO) { - if (state == 0) { - fprintf(fp, "[ %f, %f ]", ops[i].lon, ops[i].lat); - state = 1; + if (sstate == 0) { + json_write_array(fp, state); + json_write_float(fp, ops[i].lon, state); + json_write_float(fp, ops[i].lat, state); + json_end_array(fp, state); + + sstate = 1; } else { - fprintf(fp, " ], [ "); - fprintf(fp, "[ %f, %f ]", ops[i].lon, ops[i].lat); - state = 1; + json_end_array(fp, state); + json_write_array(fp, state); + + json_write_array(fp, state); + json_write_float(fp, ops[i].lon, state); + json_write_float(fp, ops[i].lat, state); + json_end_array(fp, state); + + sstate = 1; } } else { - fprintf(fp, ", [ %f, %f ]", ops[i].lon, ops[i].lat); + json_write_array(fp, state); + json_write_float(fp, ops[i].lon, state); + json_write_float(fp, ops[i].lat, state); + json_end_array(fp, state); } } - fprintf(fp, " ] ]"); + + json_end_array(fp, state); + json_end_array(fp, state); } } else if (feat.type == VT_POLYGON) { std::vector > rings; @@ -271,12 +458,23 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, } if (outer > 1) { - fprintf(fp, "\"type\": \"MultiPolygon\", \"coordinates\": [ [ [ "); + json_write_string(fp, "type", state); + json_write_string(fp, "MultiPolygon", state); + + json_write_string(fp, "coordinates", state); + json_write_array(fp, state); + json_write_array(fp, state); + json_write_array(fp, state); } else { - fprintf(fp, "\"type\": \"Polygon\", \"coordinates\": [ [ "); + json_write_string(fp, "type", state); + json_write_string(fp, "Polygon", state); + + json_write_string(fp, "coordinates", state); + json_write_array(fp, state); + json_write_array(fp, state); } - int state = 0; + int sstate = 0; for (size_t i = 0; i < rings.size(); i++) { if (i == 0 && areas[i] < 0) { static bool warned = false; @@ -292,45 +490,61 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, } if (areas[i] >= 0) { - if (state != 0) { + if (sstate != 0) { // new multipolygon - fprintf(fp, " ] ], [ [ "); + json_end_array(fp, state); + json_end_array(fp, state); + + json_write_array(fp, state); + json_write_array(fp, state); } - state = 1; + sstate = 1; } - if (state == 2) { + if (sstate == 2) { // new ring in the same polygon - fprintf(fp, " ], [ "); + json_end_array(fp, state); + json_write_array(fp, state); } for (size_t j = 0; j < rings[i].size(); j++) { if (rings[i][j].op != VT_CLOSEPATH) { - if (j != 0) { - fprintf(fp, ", "); - } - - fprintf(fp, "[ %f, %f ]", rings[i][j].lon, rings[i][j].lat); + json_write_array(fp, state); + json_write_float(fp, rings[i][j].lon, state); + json_write_float(fp, rings[i][j].lat, state); + json_end_array(fp, state); } else { - if (j != 0) { - fprintf(fp, ", "); - } - - fprintf(fp, "[ %f, %f ]", rings[i][0].lon, rings[i][0].lat); + json_write_array(fp, state); + json_write_float(fp, rings[i][0].lon, state); + json_write_float(fp, rings[i][0].lat, state); + json_end_array(fp, state); } } - state = 2; + sstate = 2; } if (outer > 1) { - fprintf(fp, " ] ] ]"); + json_end_array(fp, state); + json_end_array(fp, state); + json_end_array(fp, state); } else { - fprintf(fp, " ] ]"); + json_end_array(fp, state); + json_end_array(fp, state); } } - fprintf(fp, " } }\n"); + json_end_hash(fp, state); + json_end_hash(fp, state); + + if (comma) { + fprintf(fp, "\n"); + } + } + + // XXX clean up newlines + if (!comma) { + fprintf(fp, "\n"); } } From ddf4a45b339fa62000a8de13373d25ce015f764e Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Thu, 15 Mar 2018 15:19:52 -0700 Subject: [PATCH 04/11] Use JSON writer functions for tile size stats --- decode.cpp | 51 +++++++++++++++++++++++++++++++++++++++++--------- write_json.cpp | 22 ---------------------- write_json.hpp | 44 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 31 deletions(-) diff --git a/decode.cpp b/decode.cpp index 8585afc..623f025 100644 --- a/decode.cpp +++ b/decode.cpp @@ -28,16 +28,32 @@ int maxzoom = 32; bool force = false; void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, unsigned y) { - printf("{ \"zoom\": %d, \"x\": %u, \"y\": %u, \"bytes\": %zu, \"compressed\": %s", z, x, y, size, compressed ? "true" : "false"); + json_write_state state; + + json_write_hash(stdout, state); + + json_write_string(stdout, "zoom", state); + json_write_signed(stdout, z, state); + + json_write_string(stdout, "x", state); + json_write_unsigned(stdout, x, state); + + json_write_string(stdout, "y", state); + json_write_unsigned(stdout, y, state); + + json_write_string(stdout, "bytes", state); + json_write_unsigned(stdout, size, state); + + json_write_string(stdout, "compressed", state); + json_write_bool(stdout, compressed, state); + + json_write_string(stdout, "layers", state); + json_write_hash(stdout, state); - printf(", \"layers\": { "); for (size_t i = 0; i < tile.layers.size(); i++) { - if (i != 0) { - printf(", "); - } - fprintq(stdout, tile.layers[i].name.c_str()); + json_write_string(stdout, tile.layers[i].name, state); - int points = 0, lines = 0, polygons = 0; + size_t points = 0, lines = 0, polygons = 0; for (size_t j = 0; j < tile.layers[i].features.size(); j++) { if (tile.layers[i].features[j].type == mvt_point) { points++; @@ -48,10 +64,27 @@ void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, u } } - printf(": { \"points\": %d, \"lines\": %d, \"polygons\": %d, \"extent\": %lld }", points, lines, polygons, tile.layers[i].extent); + json_write_hash(stdout, state); + + json_write_string(stdout, "points", state); + json_write_unsigned(stdout, points, state); + + json_write_string(stdout, "lines", state); + json_write_unsigned(stdout, lines, state); + + json_write_string(stdout, "polygons", state); + json_write_unsigned(stdout, polygons, state); + + json_write_string(stdout, "extent", state); + json_write_signed(stdout, tile.layers[i].extent, state); + + json_end_hash(stdout, state); } - printf(" } }\n"); + json_end_hash(stdout, state); + json_end_hash(stdout, state); + + printf("\n"); } void handle(std::string message, int z, unsigned x, unsigned y, std::set const &to_decode, bool pipeline, bool stats) { diff --git a/write_json.cpp b/write_json.cpp index b8f6ddb..fcd4167 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -9,28 +9,6 @@ #include "write_json.hpp" #include "milo/dtoa_milo.h" -enum json_write_tok { - JSON_WRITE_HASH, - JSON_WRITE_HASH_KEY, - JSON_WRITE_HASH_VALUE, - JSON_WRITE_ARRAY, - JSON_WRITE_ARRAY_ELEMENT, - JSON_WRITE_TOP, -}; - -struct json_write_state { - std::vector state; - - ~json_write_state() { - if (state.size() > 0) { - if (state.size() != 1 || state[0] != JSON_WRITE_TOP) { - fprintf(stderr, "JSON not closed at end\n"); - exit(EXIT_FAILURE); - } - } - } -}; - static void json_adjust(FILE *f, json_write_state &state) { if (state.state.size() == 0) { state.state.push_back(JSON_WRITE_TOP); diff --git a/write_json.hpp b/write_json.hpp index 4f0526a..8c13854 100644 --- a/write_json.hpp +++ b/write_json.hpp @@ -1,2 +1,46 @@ +#ifndef WRITE_JSON_HPP +#define WRITE_JSON_HPP + +#include +#include +#include + +enum json_write_tok { + JSON_WRITE_HASH, + JSON_WRITE_HASH_KEY, + JSON_WRITE_HASH_VALUE, + JSON_WRITE_ARRAY, + JSON_WRITE_ARRAY_ELEMENT, + JSON_WRITE_TOP, +}; + +struct json_write_state { + std::vector state; + + ~json_write_state() { + if (state.size() > 0) { + if (state.size() != 1 || state[0] != JSON_WRITE_TOP) { + fprintf(stderr, "JSON not closed at end\n"); + exit(EXIT_FAILURE); + } + } + } +}; + void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain); void fprintq(FILE *f, const char *s); + +void json_write_array(FILE *f, json_write_state &state); +void json_end_array(FILE *f, json_write_state &state); +void json_write_hash(FILE *f, json_write_state &state); +void json_end_hash(FILE *f, json_write_state &state); +void json_write_string(FILE *f, std::string const &s, json_write_state &state); +void json_write_number(FILE *f, double d, json_write_state &state); +void json_write_float(FILE *f, double d, json_write_state &state); +void json_write_unsigned(FILE *f, unsigned long long v, json_write_state &state); +void json_write_signed(FILE *f, long long v, json_write_state &state); +void json_write_stringified(FILE *f, std::string const &s, json_write_state &state); +void json_write_bool(FILE *f, bool b, json_write_state &state); +void json_write_null(FILE *f, json_write_state &state); + +#endif From 623e0c90fe29e3779541416fad533e55bfba7d01 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Thu, 15 Mar 2018 16:10:30 -0700 Subject: [PATCH 05/11] More regularization of JSON writing --- decode.cpp | 150 +++++++++++++++++++++++++++++++++++-------------- plugin.cpp | 3 +- tile.cpp | 3 +- write_json.cpp | 69 ++++++++++++++++------- write_json.hpp | 6 +- 5 files changed, 167 insertions(+), 64 deletions(-) diff --git a/decode.cpp b/decode.cpp index 623f025..a0b0f29 100644 --- a/decode.cpp +++ b/decode.cpp @@ -27,9 +27,7 @@ int minzoom = 0; int maxzoom = 32; bool force = false; -void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, unsigned y) { - json_write_state state; - +void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, unsigned y, json_write_state &state) { json_write_hash(stdout, state); json_write_string(stdout, "zoom", state); @@ -84,10 +82,10 @@ void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, u json_end_hash(stdout, state); json_end_hash(stdout, state); - printf("\n"); + json_write_newline(stdout, state); } -void handle(std::string message, int z, unsigned x, unsigned y, std::set const &to_decode, bool pipeline, bool stats) { +void handle(std::string message, int z, unsigned x, unsigned y, std::set const &to_decode, bool pipeline, bool stats, json_write_state &state) { mvt_tile tile; bool was_compressed; @@ -102,28 +100,57 @@ void handle(std::string message, int z, unsigned x, unsigned y, std::setalias); - printf(" } }"); + json_write_string(stdout, "crs", state); + json_write_hash(stdout, state); + + json_write_string(stdout, "type", state); + json_write_string(stdout, "name", state); + + json_write_string(stdout, "properties", state); + json_write_hash(stdout, state); + + json_write_string(stdout, "name", state); + json_write_string(stdout, projection->alias, state); + + json_end_hash(stdout, state); + json_end_hash(stdout, state); } } - printf(", \"features\": [\n"); + json_write_string(stdout, "features", state); + json_write_array(stdout, state); + json_write_newline(stdout, state); } bool first_layer = true; @@ -142,16 +169,32 @@ void handle(std::string message, int z, unsigned x, unsigned y, std::set co bool isdir = false; int oz = z; unsigned ox = x, oy = y; + json_write_state state; int fd = open(fname, O_RDONLY | O_CLOEXEC); if (fd >= 0) { @@ -192,7 +240,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co if (strcmp(map, "SQLite format 3") != 0) { if (z >= 0) { std::string s = std::string(map, st.st_size); - handle(s, z, x, y, to_decode, pipeline, stats); + handle(s, z, x, y, to_decode, pipeline, stats, state); munmap(map, st.st_size); return; } else { @@ -232,7 +280,14 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co int within = 0; if (!pipeline && !stats) { - printf("{ \"type\": \"FeatureCollection\", \"properties\": {\n"); + json_write_hash(stdout, state); + + json_write_string(stdout, "type", state); + json_write_string(stdout, "FeatureCollection", state); + + json_write_string(stdout, "properties", state); + json_write_hash(stdout, state); + json_write_newline(stdout, state); const char *sql2 = "SELECT name, value from metadata order by name;"; sqlite3_stmt *stmt2; @@ -243,7 +298,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co while (sqlite3_step(stmt2) == SQLITE_ROW) { if (within) { - printf(",\n"); + json_comma_newline(stdout, state); } within = 1; @@ -255,20 +310,27 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co exit(EXIT_FAILURE); } - fprintq(stdout, (char *) name); - printf(": "); - fprintq(stdout, (char *) value); + json_write_string(stdout, (char *) name, state); + json_write_string(stdout, (char *) value, state); } + json_write_newline(stdout, state); + state.wantnl = false; // XXX + sqlite3_finalize(stmt2); } if (stats) { - printf("[\n"); + json_write_array(stdout, state); + json_write_newline(stdout, state); } if (!pipeline && !stats) { - printf("\n}, \"features\": [\n"); + json_end_hash(stdout, state); + + json_write_string(stdout, "features", state); + json_write_array(stdout, state); + json_write_newline(stdout, state); } if (isdir) { @@ -276,13 +338,13 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co for (size_t i = 0; i < tiles.size(); i++) { if (!pipeline && !stats) { if (within) { - printf(",\n"); + json_comma_newline(stdout, state); } within = 1; } if (stats) { if (within) { - printf(",\n"); + json_comma_newline(stdout, state); } within = 1; } @@ -302,7 +364,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co } fclose(f); - handle(s, tiles[i].z, tiles[i].x, tiles[i].y, to_decode, pipeline, stats); + handle(s, tiles[i].z, tiles[i].x, tiles[i].y, to_decode, pipeline, stats, state); } } else { const char *sql = "SELECT tile_data, zoom_level, tile_column, tile_row from tiles where zoom_level between ? and ? order by zoom_level, tile_column, tile_row;"; @@ -319,13 +381,13 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co while (sqlite3_step(stmt) == SQLITE_ROW) { if (!pipeline && !stats) { if (within) { - printf(",\n"); + json_comma_newline(stdout, state); } within = 1; } if (stats) { if (within) { - printf(",\n"); + json_comma_newline(stdout, state); } within = 1; } @@ -343,17 +405,23 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co ty = (1LL << tz) - 1 - ty; const char *s = (const char *) sqlite3_column_blob(stmt, 0); - handle(std::string(s, len), tz, tx, ty, to_decode, pipeline, stats); + handle(std::string(s, len), tz, tx, ty, to_decode, pipeline, stats, state); } sqlite3_finalize(stmt); } if (!pipeline && !stats) { - printf("] }\n"); + json_end_array(stdout, state); + json_end_hash(stdout, state); + json_write_newline(stdout, state); } if (stats) { - printf("]\n"); + json_end_array(stdout, state); + json_write_newline(stdout, state); + } + if (pipeline) { + json_write_newline(stdout, state); } } else { int handled = 0; @@ -377,7 +445,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co fprintf(stderr, "%s: Warning: using tile %d/%u/%u instead of %d/%u/%u\n", fname, z, x, y, oz, ox, oy); } - handle(std::string(s, len), z, x, y, to_decode, pipeline, stats); + handle(std::string(s, len), z, x, y, to_decode, pipeline, stats, state); handled = 1; } diff --git a/plugin.cpp b/plugin.cpp index e5b91bf..af9c42b 100644 --- a/plugin.cpp +++ b/plugin.cpp @@ -51,8 +51,9 @@ void *run_writer(void *a) { exit(EXIT_FAILURE); } + json_write_state state; for (size_t i = 0; i < wa->layers->size(); i++) { - layer_to_geojson(fp, (*(wa->layers))[i], wa->z, wa->x, wa->y, false, true, false, true, 0, 0, 0, true); + layer_to_geojson(fp, (*(wa->layers))[i], wa->z, wa->x, wa->y, false, true, false, true, 0, 0, 0, true, state); } if (fclose(fp) != 0) { diff --git a/tile.cpp b/tile.cpp index 77ea11f..eb2041f 100644 --- a/tile.cpp +++ b/tile.cpp @@ -1376,6 +1376,7 @@ struct run_prefilter_args { void *run_prefilter(void *v) { run_prefilter_args *rpa = (run_prefilter_args *) v; + json_write_state state; while (1) { serial_feature sf = next_feature(rpa->geoms, rpa->geompos_in, rpa->metabase, rpa->meta_off, rpa->z, rpa->tx, rpa->ty, rpa->initial_x, rpa->initial_y, rpa->original_features, rpa->unclipped_features, rpa->nextzoom, rpa->maxzoom, rpa->minzoom, rpa->max_zoom_increment, rpa->pass, rpa->passes, rpa->along, rpa->alongminus, rpa->buffer, rpa->within, rpa->first_time, rpa->geomfile, rpa->geompos, rpa->oprogress, rpa->todo, rpa->fname, rpa->child_shards); @@ -1412,7 +1413,7 @@ void *run_prefilter(void *v) { decode_meta(sf.m, sf.keys, sf.values, rpa->stringpool + rpa->pool_off[sf.segment], tmp_layer, tmp_feature); tmp_layer.features.push_back(tmp_feature); - layer_to_geojson(rpa->prefilter_fp, tmp_layer, 0, 0, 0, false, true, false, true, sf.index, sf.seq, sf.extent, true); + layer_to_geojson(rpa->prefilter_fp, tmp_layer, 0, 0, 0, false, true, false, true, sf.index, sf.seq, sf.extent, true, state); } if (fclose(rpa->prefilter_fp) != 0) { diff --git a/write_json.cpp b/write_json.cpp index fcd4167..5b4845a 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -16,19 +16,37 @@ static void json_adjust(FILE *f, json_write_state &state) { fprintf(f, "\n"); state.state[state.state.size() - 1] = JSON_WRITE_TOP; } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH) { - fprintf(f, " "); + if (!state.nospace) { + fprintf(f, " "); + } + state.nospace = false; state.state[state.state.size() - 1] = JSON_WRITE_HASH_KEY; } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH_KEY) { fprintf(f, ": "); state.state[state.state.size() - 1] = JSON_WRITE_HASH_VALUE; } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH_VALUE) { - fprintf(f, ", "); + if (state.wantnl) { + fprintf(f, ",\n"); + state.nospace = false; + } else { + fprintf(f, ", "); + } + state.wantnl = false; state.state[state.state.size() - 1] = JSON_WRITE_HASH_KEY; } else if (state.state[state.state.size() - 1] == JSON_WRITE_ARRAY) { - fprintf(f, " "); + if (!state.nospace) { + fprintf(f, " "); + } + state.nospace = false; state.state[state.state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; } else if (state.state[state.state.size() - 1] == JSON_WRITE_ARRAY_ELEMENT) { - fprintf(f, ", "); + if (state.wantnl) { + fprintf(f, ",\n"); + state.nospace = false; + } else { + fprintf(f, ", "); + } + state.wantnl = false; state.state[state.state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; } else { fprintf(stderr, "Impossible JSON state\n"); @@ -53,7 +71,11 @@ void json_end_array(FILE *f, json_write_state &state) { state.state.pop_back(); if (tok == JSON_WRITE_ARRAY || tok == JSON_WRITE_ARRAY_ELEMENT) { - fprintf(f, " ]"); + if (!state.nospace) { + fprintf(f, " "); + } + state.nospace = false; + fprintf(f, "]"); } else { fprintf(stderr, "End JSON array with unexpected state\n"); exit(EXIT_FAILURE); @@ -77,9 +99,17 @@ void json_end_hash(FILE *f, json_write_state &state) { state.state.pop_back(); if (tok == JSON_WRITE_HASH) { - fprintf(f, " }"); // Preserve accidental extra space from before + if (!state.nospace) { + fprintf(f, " "); // Preserve accidental extra space from before + } + state.nospace = false; + fprintf(f, "}"); } else if (tok == JSON_WRITE_HASH_VALUE) { - fprintf(f, " }"); + if (!state.nospace) { + fprintf(f, " "); + } + state.nospace = false; + fprintf(f, "}"); } else { fprintf(stderr, "End JSON hash with unexpected state\n"); exit(EXIT_FAILURE); @@ -149,6 +179,15 @@ void json_write_null(FILE *f, json_write_state &state) { fputs("null", f); } +void json_write_newline(FILE *f, json_write_state &state) { + putc('\n', f); + state.nospace = true; +} + +void json_comma_newline(FILE *, json_write_state &state) { + state.wantnl = true; +} + struct lonlat { int op; double lon; @@ -165,16 +204,10 @@ struct lonlat { } }; -void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain) { - json_write_state state; - +void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain, json_write_state &state) { for (size_t f = 0; f < layer.features.size(); f++) { mvt_feature const &feat = layer.features[f]; - if (comma && f != 0) { - fprintf(fp, ","); - } - json_write_hash(fp, state); json_write_string(fp, "type", state); json_write_string(fp, "Feature", state); @@ -516,14 +549,10 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, json_end_hash(fp, state); if (comma) { - fprintf(fp, "\n"); + json_write_newline(fp, state); + json_comma_newline(fp, state); } } - - // XXX clean up newlines - if (!comma) { - fprintf(fp, "\n"); - } } void fprintq(FILE *fp, const char *s) { diff --git a/write_json.hpp b/write_json.hpp index 8c13854..b23f118 100644 --- a/write_json.hpp +++ b/write_json.hpp @@ -16,6 +16,8 @@ enum json_write_tok { struct json_write_state { std::vector state; + bool nospace = false; + bool wantnl = false; ~json_write_state() { if (state.size() > 0) { @@ -27,7 +29,7 @@ struct json_write_state { } }; -void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain); +void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain, json_write_state &state); void fprintq(FILE *f, const char *s); void json_write_array(FILE *f, json_write_state &state); @@ -42,5 +44,7 @@ void json_write_signed(FILE *f, long long v, json_write_state &state); void json_write_stringified(FILE *f, std::string const &s, json_write_state &state); void json_write_bool(FILE *f, bool b, json_write_state &state); void json_write_null(FILE *f, json_write_state &state); +void json_write_newline(FILE *f, json_write_state &state); +void json_comma_newline(FILE *f, json_write_state &state); #endif From 1c4aa57ffd854036f8d1416a77361bd58300ba01 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 16 Mar 2018 13:43:21 -0700 Subject: [PATCH 06/11] Change the JSON writing functions to object methods --- decode.cpp | 212 +++++++++++++-------------- plugin.cpp | 4 +- tile.cpp | 4 +- write_json.cpp | 378 ++++++++++++++++++++++++------------------------- write_json.hpp | 42 +++--- 5 files changed, 323 insertions(+), 317 deletions(-) diff --git a/decode.cpp b/decode.cpp index a0b0f29..acaf1e4 100644 --- a/decode.cpp +++ b/decode.cpp @@ -27,29 +27,29 @@ int minzoom = 0; int maxzoom = 32; bool force = false; -void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, unsigned y, json_write_state &state) { - json_write_hash(stdout, state); +void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, unsigned y, json_writer &state) { + state.json_write_hash(); - json_write_string(stdout, "zoom", state); - json_write_signed(stdout, z, state); + state.json_write_string("zoom"); + state.json_write_signed(z); - json_write_string(stdout, "x", state); - json_write_unsigned(stdout, x, state); + state.json_write_string("x"); + state.json_write_unsigned(x); - json_write_string(stdout, "y", state); - json_write_unsigned(stdout, y, state); + state.json_write_string("y"); + state.json_write_unsigned(y); - json_write_string(stdout, "bytes", state); - json_write_unsigned(stdout, size, state); + state.json_write_string("bytes"); + state.json_write_unsigned(size); - json_write_string(stdout, "compressed", state); - json_write_bool(stdout, compressed, state); + state.json_write_string("compressed"); + state.json_write_bool(compressed); - json_write_string(stdout, "layers", state); - json_write_hash(stdout, state); + state.json_write_string("layers"); + state.json_write_hash(); for (size_t i = 0; i < tile.layers.size(); i++) { - json_write_string(stdout, tile.layers[i].name, state); + state.json_write_string(tile.layers[i].name); size_t points = 0, lines = 0, polygons = 0; for (size_t j = 0; j < tile.layers[i].features.size(); j++) { @@ -62,30 +62,30 @@ void do_stats(mvt_tile &tile, size_t size, bool compressed, int z, unsigned x, u } } - json_write_hash(stdout, state); + state.json_write_hash(); - json_write_string(stdout, "points", state); - json_write_unsigned(stdout, points, state); + state.json_write_string("points"); + state.json_write_unsigned(points); - json_write_string(stdout, "lines", state); - json_write_unsigned(stdout, lines, state); + state.json_write_string("lines"); + state.json_write_unsigned(lines); - json_write_string(stdout, "polygons", state); - json_write_unsigned(stdout, polygons, state); + state.json_write_string("polygons"); + state.json_write_unsigned(polygons); - json_write_string(stdout, "extent", state); - json_write_signed(stdout, tile.layers[i].extent, state); + state.json_write_string("extent"); + state.json_write_signed(tile.layers[i].extent); - json_end_hash(stdout, state); + state.json_end_hash(); } - json_end_hash(stdout, state); - json_end_hash(stdout, state); + state.json_end_hash(); + state.json_end_hash(); - json_write_newline(stdout, state); + state.json_write_newline(); } -void handle(std::string message, int z, unsigned x, unsigned y, std::set const &to_decode, bool pipeline, bool stats, json_write_state &state) { +void handle(std::string message, int z, unsigned x, unsigned y, std::set const &to_decode, bool pipeline, bool stats, json_writer &state) { mvt_tile tile; bool was_compressed; @@ -105,52 +105,52 @@ void handle(std::string message, int z, unsigned x, unsigned y, std::setalias, state); + state.json_write_string("name"); + state.json_write_string(projection->alias); - json_end_hash(stdout, state); - json_end_hash(stdout, state); + state.json_end_hash(); + state.json_end_hash(); } } - json_write_string(stdout, "features", state); - json_write_array(stdout, state); - json_write_newline(stdout, state); + state.json_write_string("features"); + state.json_write_array(); + state.json_write_newline(); } bool first_layer = true; @@ -169,32 +169,32 @@ void handle(std::string message, int z, unsigned x, unsigned y, std::set co bool isdir = false; int oz = z; unsigned ox = x, oy = y; - json_write_state state; + json_writer state(stdout); int fd = open(fname, O_RDONLY | O_CLOEXEC); if (fd >= 0) { @@ -280,14 +280,14 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co int within = 0; if (!pipeline && !stats) { - json_write_hash(stdout, state); + state.json_write_hash(); - json_write_string(stdout, "type", state); - json_write_string(stdout, "FeatureCollection", state); + state.json_write_string("type"); + state.json_write_string("FeatureCollection"); - json_write_string(stdout, "properties", state); - json_write_hash(stdout, state); - json_write_newline(stdout, state); + state.json_write_string("properties"); + state.json_write_hash(); + state.json_write_newline(); const char *sql2 = "SELECT name, value from metadata order by name;"; sqlite3_stmt *stmt2; @@ -298,7 +298,7 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co while (sqlite3_step(stmt2) == SQLITE_ROW) { if (within) { - json_comma_newline(stdout, state); + state.json_comma_newline(); } within = 1; @@ -310,27 +310,27 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co exit(EXIT_FAILURE); } - json_write_string(stdout, (char *) name, state); - json_write_string(stdout, (char *) value, state); + state.json_write_string((char *) name); + state.json_write_string((char *) value); } - json_write_newline(stdout, state); + state.json_write_newline(); state.wantnl = false; // XXX sqlite3_finalize(stmt2); } if (stats) { - json_write_array(stdout, state); - json_write_newline(stdout, state); + state.json_write_array(); + state.json_write_newline(); } if (!pipeline && !stats) { - json_end_hash(stdout, state); + state.json_end_hash(); - json_write_string(stdout, "features", state); - json_write_array(stdout, state); - json_write_newline(stdout, state); + state.json_write_string("features"); + state.json_write_array(); + state.json_write_newline(); } if (isdir) { @@ -338,13 +338,13 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co for (size_t i = 0; i < tiles.size(); i++) { if (!pipeline && !stats) { if (within) { - json_comma_newline(stdout, state); + state.json_comma_newline(); } within = 1; } if (stats) { if (within) { - json_comma_newline(stdout, state); + state.json_comma_newline(); } within = 1; } @@ -381,13 +381,13 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co while (sqlite3_step(stmt) == SQLITE_ROW) { if (!pipeline && !stats) { if (within) { - json_comma_newline(stdout, state); + state.json_comma_newline(); } within = 1; } if (stats) { if (within) { - json_comma_newline(stdout, state); + state.json_comma_newline(); } within = 1; } @@ -412,16 +412,16 @@ void decode(char *fname, int z, unsigned x, unsigned y, std::set co } if (!pipeline && !stats) { - json_end_array(stdout, state); - json_end_hash(stdout, state); - json_write_newline(stdout, state); + state.json_end_array(); + state.json_end_hash(); + state.json_write_newline(); } if (stats) { - json_end_array(stdout, state); - json_write_newline(stdout, state); + state.json_end_array(); + state.json_write_newline(); } if (pipeline) { - json_write_newline(stdout, state); + state.json_write_newline(); } } else { int handled = 0; diff --git a/plugin.cpp b/plugin.cpp index af9c42b..a9a9f50 100644 --- a/plugin.cpp +++ b/plugin.cpp @@ -51,9 +51,9 @@ void *run_writer(void *a) { exit(EXIT_FAILURE); } - json_write_state state; + json_writer state(fp); for (size_t i = 0; i < wa->layers->size(); i++) { - layer_to_geojson(fp, (*(wa->layers))[i], wa->z, wa->x, wa->y, false, true, false, true, 0, 0, 0, true, state); + layer_to_geojson((*(wa->layers))[i], wa->z, wa->x, wa->y, false, true, false, true, 0, 0, 0, true, state); } if (fclose(fp) != 0) { diff --git a/tile.cpp b/tile.cpp index eb2041f..297ca8d 100644 --- a/tile.cpp +++ b/tile.cpp @@ -1376,7 +1376,7 @@ struct run_prefilter_args { void *run_prefilter(void *v) { run_prefilter_args *rpa = (run_prefilter_args *) v; - json_write_state state; + json_writer state(rpa->prefilter_fp); while (1) { serial_feature sf = next_feature(rpa->geoms, rpa->geompos_in, rpa->metabase, rpa->meta_off, rpa->z, rpa->tx, rpa->ty, rpa->initial_x, rpa->initial_y, rpa->original_features, rpa->unclipped_features, rpa->nextzoom, rpa->maxzoom, rpa->minzoom, rpa->max_zoom_increment, rpa->pass, rpa->passes, rpa->along, rpa->alongminus, rpa->buffer, rpa->within, rpa->first_time, rpa->geomfile, rpa->geompos, rpa->oprogress, rpa->todo, rpa->fname, rpa->child_shards); @@ -1413,7 +1413,7 @@ void *run_prefilter(void *v) { decode_meta(sf.m, sf.keys, sf.values, rpa->stringpool + rpa->pool_off[sf.segment], tmp_layer, tmp_feature); tmp_layer.features.push_back(tmp_feature); - layer_to_geojson(rpa->prefilter_fp, tmp_layer, 0, 0, 0, false, true, false, true, sf.index, sf.seq, sf.extent, true, state); + layer_to_geojson(tmp_layer, 0, 0, 0, false, true, false, true, sf.index, sf.seq, sf.extent, true, state); } if (fclose(rpa->prefilter_fp) != 0) { diff --git a/write_json.cpp b/write_json.cpp index 5b4845a..b8f12f6 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -9,72 +9,72 @@ #include "write_json.hpp" #include "milo/dtoa_milo.h" -static void json_adjust(FILE *f, json_write_state &state) { - if (state.state.size() == 0) { - state.state.push_back(JSON_WRITE_TOP); - } else if (state.state[state.state.size() - 1] == JSON_WRITE_TOP) { +void json_writer::json_adjust() { + if (state.size() == 0) { + state.push_back(JSON_WRITE_TOP); + } else if (state[state.size() - 1] == JSON_WRITE_TOP) { fprintf(f, "\n"); - state.state[state.state.size() - 1] = JSON_WRITE_TOP; - } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH) { - if (!state.nospace) { + state[state.size() - 1] = JSON_WRITE_TOP; + } else if (state[state.size() - 1] == JSON_WRITE_HASH) { + if (!nospace) { fprintf(f, " "); } - state.nospace = false; - state.state[state.state.size() - 1] = JSON_WRITE_HASH_KEY; - } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH_KEY) { + nospace = false; + state[state.size() - 1] = JSON_WRITE_HASH_KEY; + } else if (state[state.size() - 1] == JSON_WRITE_HASH_KEY) { fprintf(f, ": "); - state.state[state.state.size() - 1] = JSON_WRITE_HASH_VALUE; - } else if (state.state[state.state.size() - 1] == JSON_WRITE_HASH_VALUE) { - if (state.wantnl) { + state[state.size() - 1] = JSON_WRITE_HASH_VALUE; + } else if (state[state.size() - 1] == JSON_WRITE_HASH_VALUE) { + if (wantnl) { fprintf(f, ",\n"); - state.nospace = false; + nospace = false; } else { fprintf(f, ", "); } - state.wantnl = false; - state.state[state.state.size() - 1] = JSON_WRITE_HASH_KEY; - } else if (state.state[state.state.size() - 1] == JSON_WRITE_ARRAY) { - if (!state.nospace) { + wantnl = false; + state[state.size() - 1] = JSON_WRITE_HASH_KEY; + } else if (state[state.size() - 1] == JSON_WRITE_ARRAY) { + if (!nospace) { fprintf(f, " "); } - state.nospace = false; - state.state[state.state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; - } else if (state.state[state.state.size() - 1] == JSON_WRITE_ARRAY_ELEMENT) { - if (state.wantnl) { + nospace = false; + state[state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; + } else if (state[state.size() - 1] == JSON_WRITE_ARRAY_ELEMENT) { + if (wantnl) { fprintf(f, ",\n"); - state.nospace = false; + nospace = false; } else { fprintf(f, ", "); } - state.wantnl = false; - state.state[state.state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; + wantnl = false; + state[state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; } else { fprintf(stderr, "Impossible JSON state\n"); exit(EXIT_FAILURE); } } -void json_write_array(FILE *f, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_array() { + json_adjust(); fprintf(f, "["); - state.state.push_back(JSON_WRITE_ARRAY); + state.push_back(JSON_WRITE_ARRAY); } -void json_end_array(FILE *f, json_write_state &state) { - if (state.state.size() == 0) { +void json_writer::json_end_array() { + if (state.size() == 0) { fprintf(stderr, "End JSON array at top level\n"); exit(EXIT_FAILURE); } - json_write_tok tok = state.state[state.state.size() - 1]; - state.state.pop_back(); + json_write_tok tok = state[state.size() - 1]; + state.pop_back(); if (tok == JSON_WRITE_ARRAY || tok == JSON_WRITE_ARRAY_ELEMENT) { - if (!state.nospace) { + if (!nospace) { fprintf(f, " "); } - state.nospace = false; + nospace = false; fprintf(f, "]"); } else { fprintf(stderr, "End JSON array with unexpected state\n"); @@ -82,33 +82,33 @@ void json_end_array(FILE *f, json_write_state &state) { } } -void json_write_hash(FILE *f, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_hash() { + json_adjust(); fprintf(f, "{"); - state.state.push_back(JSON_WRITE_HASH); + state.push_back(JSON_WRITE_HASH); } -void json_end_hash(FILE *f, json_write_state &state) { - if (state.state.size() == 0) { +void json_writer::json_end_hash() { + if (state.size() == 0) { fprintf(stderr, "End JSON hash at top level\n"); exit(EXIT_FAILURE); } - json_write_tok tok = state.state[state.state.size() - 1]; - state.state.pop_back(); + json_write_tok tok = state[state.size() - 1]; + state.pop_back(); if (tok == JSON_WRITE_HASH) { - if (!state.nospace) { + if (!nospace) { fprintf(f, " "); // Preserve accidental extra space from before } - state.nospace = false; + nospace = false; fprintf(f, "}"); } else if (tok == JSON_WRITE_HASH_VALUE) { - if (!state.nospace) { + if (!nospace) { fprintf(f, " "); } - state.nospace = false; + nospace = false; fprintf(f, "}"); } else { fprintf(stderr, "End JSON hash with unexpected state\n"); @@ -116,8 +116,8 @@ void json_end_hash(FILE *f, json_write_state &state) { } } -void json_write_string(FILE *f, std::string const &s, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_string(std::string const &s) { + json_adjust(); putc('"', f); for (size_t i = 0; i < s.size(); i++) { @@ -132,39 +132,39 @@ void json_write_string(FILE *f, std::string const &s, json_write_state &state) { putc('"', f); } -void json_write_number(FILE *f, double d, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_number(double d) { + json_adjust(); fputs(milo::dtoa_milo(d).c_str(), f); } -// Just to avoid changing expected output format -void json_write_float(FILE *f, double d, json_write_state &state) { - json_adjust(f, state); +// Just to avoid json_writer:: changing expected output format +void json_writer::json_write_float(double d) { + json_adjust(); fprintf(f, "%f", d); } -void json_write_unsigned(FILE *f, unsigned long long v, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_unsigned(unsigned long long v) { + json_adjust(); fprintf(f, "%llu", v); } -void json_write_signed(FILE *f, long long v, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_signed(long long v) { + json_adjust(); fprintf(f, "%lld", v); } -void json_write_stringified(FILE *f, std::string const &s, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_stringified(std::string const &s) { + json_adjust(); fputs(s.c_str(), f); } -void json_write_bool(FILE *f, bool b, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_bool(bool b) { + json_adjust(); if (b) { fputs("true", f); @@ -173,19 +173,19 @@ void json_write_bool(FILE *f, bool b, json_write_state &state) { } } -void json_write_null(FILE *f, json_write_state &state) { - json_adjust(f, state); +void json_writer::json_write_null() { + json_adjust(); fputs("null", f); } -void json_write_newline(FILE *f, json_write_state &state) { +void json_writer::json_write_newline() { putc('\n', f); - state.nospace = true; + nospace = true; } -void json_comma_newline(FILE *, json_write_state &state) { - state.wantnl = true; +void json_writer::json_comma_newline() { + wantnl = true; } struct lonlat { @@ -204,61 +204,61 @@ struct lonlat { } }; -void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain, json_write_state &state) { +void layer_to_geojson(mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain, json_writer &state) { for (size_t f = 0; f < layer.features.size(); f++) { mvt_feature const &feat = layer.features[f]; - json_write_hash(fp, state); - json_write_string(fp, "type", state); - json_write_string(fp, "Feature", state); + state.json_write_hash(); + state.json_write_string("type"); + state.json_write_string("Feature"); if (feat.has_id) { - json_write_string(fp, "id", state); - json_write_unsigned(fp, feat.id, state); + state.json_write_string("id"); + state.json_write_unsigned(feat.id); } if (name || zoom || index != 0 || sequence != 0 || extent != 0) { - json_write_string(fp, "tippecanoe", state); - json_write_hash(fp, state); + state.json_write_string("tippecanoe"); + state.json_write_hash(); if (name) { - json_write_string(fp, "layer", state); - json_write_string(fp, layer.name, state); + state.json_write_string("layer"); + state.json_write_string(layer.name); } if (zoom) { - json_write_string(fp, "minzoom", state); - json_write_unsigned(fp, z, state); + state.json_write_string("minzoom"); + state.json_write_unsigned(z); - json_write_string(fp, "maxzoom", state); - json_write_unsigned(fp, z, state); + state.json_write_string("maxzoom"); + state.json_write_unsigned(z); } if (dropped) { - json_write_string(fp, "dropped", state); - json_write_bool(fp, feat.dropped, state); + state.json_write_string("dropped"); + state.json_write_bool(feat.dropped); } if (index != 0) { - json_write_string(fp, "index", state); - json_write_unsigned(fp, index, state); + state.json_write_string("index"); + state.json_write_unsigned(index); } if (sequence != 0) { - json_write_string(fp, "sequence", state); - json_write_signed(fp, sequence, state); + state.json_write_string("sequence"); + state.json_write_signed(sequence); } if (extent != 0) { - json_write_string(fp, "extent", state); - json_write_signed(fp, extent, state); + state.json_write_string("extent"); + state.json_write_signed(extent); } - json_end_hash(fp, state); + state.json_end_hash(); } - json_write_string(fp, "properties", state); - json_write_hash(fp, state); + state.json_write_string("properties"); + state.json_write_hash(); for (size_t t = 0; t + 1 < feat.tags.size(); t += 2) { if (feat.tags[t] >= layer.keys.size()) { @@ -274,33 +274,33 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, mvt_value const &val = layer.values[feat.tags[t + 1]]; if (val.type == mvt_string) { - json_write_string(fp, key, state); - json_write_string(fp, val.string_value, state); + state.json_write_string(key); + state.json_write_string(val.string_value); } else if (val.type == mvt_int) { - json_write_string(fp, key, state); - json_write_signed(fp, val.numeric_value.int_value, state); + state.json_write_string(key); + state.json_write_signed(val.numeric_value.int_value); } else if (val.type == mvt_double) { - json_write_string(fp, key, state); - json_write_number(fp, val.numeric_value.double_value, state); + state.json_write_string(key); + state.json_write_number(val.numeric_value.double_value); } else if (val.type == mvt_float) { - json_write_string(fp, key, state); - json_write_number(fp, val.numeric_value.float_value, state); + state.json_write_string(key); + state.json_write_number(val.numeric_value.float_value); } else if (val.type == mvt_sint) { - json_write_string(fp, key, state); - json_write_signed(fp, val.numeric_value.sint_value, state); + state.json_write_string(key); + state.json_write_signed(val.numeric_value.sint_value); } else if (val.type == mvt_uint) { - json_write_string(fp, key, state); - json_write_unsigned(fp, val.numeric_value.uint_value, state); + state.json_write_string(key); + state.json_write_unsigned(val.numeric_value.uint_value); } else if (val.type == mvt_bool) { - json_write_string(fp, key, state); - json_write_bool(fp, val.numeric_value.bool_value, state); + state.json_write_string(key); + state.json_write_bool(val.numeric_value.bool_value); } } - json_end_hash(fp, state); + state.json_end_hash(); - json_write_string(fp, "geometry", state); - json_write_hash(fp, state); + state.json_write_string("geometry"); + state.json_write_hash(); std::vector ops; @@ -325,30 +325,30 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, if (feat.type == VT_POINT) { if (ops.size() == 1) { - json_write_string(fp, "type", state); - json_write_string(fp, "Point", state); + state.json_write_string("type"); + state.json_write_string("Point"); - json_write_string(fp, "coordinates", state); + state.json_write_string("coordinates"); - json_write_array(fp, state); - json_write_float(fp, ops[0].lon, state); - json_write_float(fp, ops[0].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(ops[0].lon); + state.json_write_float(ops[0].lat); + state.json_end_array(); } else { - json_write_string(fp, "type", state); - json_write_string(fp, "MultiPoint", state); + state.json_write_string("type"); + state.json_write_string("MultiPoint"); - json_write_string(fp, "coordinates", state); - json_write_array(fp, state); + state.json_write_string("coordinates"); + state.json_write_array(); for (size_t i = 0; i < ops.size(); i++) { - json_write_array(fp, state); - json_write_float(fp, ops[i].lon, state); - json_write_float(fp, ops[i].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(ops[i].lon); + state.json_write_float(ops[i].lat); + state.json_end_array(); } - json_end_array(fp, state); + state.json_end_array(); } } else if (feat.type == VT_LINE) { int movetos = 0; @@ -359,59 +359,59 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, } if (movetos < 2) { - json_write_string(fp, "type", state); - json_write_string(fp, "LineString", state); + state.json_write_string("type"); + state.json_write_string("LineString"); - json_write_string(fp, "coordinates", state); - json_write_array(fp, state); + state.json_write_string("coordinates"); + state.json_write_array(); for (size_t i = 0; i < ops.size(); i++) { - json_write_array(fp, state); - json_write_float(fp, ops[i].lon, state); - json_write_float(fp, ops[i].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(ops[i].lon); + state.json_write_float(ops[i].lat); + state.json_end_array(); } - json_end_array(fp, state); + state.json_end_array(); } else { - json_write_string(fp, "type", state); - json_write_string(fp, "MultiLineString", state); + state.json_write_string("type"); + state.json_write_string("MultiLineString"); - json_write_string(fp, "coordinates", state); - json_write_array(fp, state); - json_write_array(fp, state); + state.json_write_string("coordinates"); + state.json_write_array(); + state.json_write_array(); int sstate = 0; for (size_t i = 0; i < ops.size(); i++) { if (ops[i].op == VT_MOVETO) { if (sstate == 0) { - json_write_array(fp, state); - json_write_float(fp, ops[i].lon, state); - json_write_float(fp, ops[i].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(ops[i].lon); + state.json_write_float(ops[i].lat); + state.json_end_array(); sstate = 1; } else { - json_end_array(fp, state); - json_write_array(fp, state); + state.json_end_array(); + state.json_write_array(); - json_write_array(fp, state); - json_write_float(fp, ops[i].lon, state); - json_write_float(fp, ops[i].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(ops[i].lon); + state.json_write_float(ops[i].lat); + state.json_end_array(); sstate = 1; } } else { - json_write_array(fp, state); - json_write_float(fp, ops[i].lon, state); - json_write_float(fp, ops[i].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(ops[i].lon); + state.json_write_float(ops[i].lat); + state.json_end_array(); } } - json_end_array(fp, state); - json_end_array(fp, state); + state.json_end_array(); + state.json_end_array(); } } else if (feat.type == VT_POLYGON) { std::vector > rings; @@ -465,24 +465,24 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, outer++; } - // fprintf(fp, "\"area\": %Lf,", area); + // fprintf("\"area\": %Lf,", area); } if (outer > 1) { - json_write_string(fp, "type", state); - json_write_string(fp, "MultiPolygon", state); + state.json_write_string("type"); + state.json_write_string("MultiPolygon"); - json_write_string(fp, "coordinates", state); - json_write_array(fp, state); - json_write_array(fp, state); - json_write_array(fp, state); + state.json_write_string("coordinates"); + state.json_write_array(); + state.json_write_array(); + state.json_write_array(); } else { - json_write_string(fp, "type", state); - json_write_string(fp, "Polygon", state); + state.json_write_string("type"); + state.json_write_string("Polygon"); - json_write_string(fp, "coordinates", state); - json_write_array(fp, state); - json_write_array(fp, state); + state.json_write_string("coordinates"); + state.json_write_array(); + state.json_write_array(); } int sstate = 0; @@ -503,32 +503,32 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, if (areas[i] >= 0) { if (sstate != 0) { // new multipolygon - json_end_array(fp, state); - json_end_array(fp, state); + state.json_end_array(); + state.json_end_array(); - json_write_array(fp, state); - json_write_array(fp, state); + state.json_write_array(); + state.json_write_array(); } sstate = 1; } if (sstate == 2) { // new ring in the same polygon - json_end_array(fp, state); - json_write_array(fp, state); + state.json_end_array(); + state.json_write_array(); } for (size_t j = 0; j < rings[i].size(); j++) { if (rings[i][j].op != VT_CLOSEPATH) { - json_write_array(fp, state); - json_write_float(fp, rings[i][j].lon, state); - json_write_float(fp, rings[i][j].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(rings[i][j].lon); + state.json_write_float(rings[i][j].lat); + state.json_end_array(); } else { - json_write_array(fp, state); - json_write_float(fp, rings[i][0].lon, state); - json_write_float(fp, rings[i][0].lat, state); - json_end_array(fp, state); + state.json_write_array(); + state.json_write_float(rings[i][0].lon); + state.json_write_float(rings[i][0].lat); + state.json_end_array(); } } @@ -536,21 +536,21 @@ void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, } if (outer > 1) { - json_end_array(fp, state); - json_end_array(fp, state); - json_end_array(fp, state); + state.json_end_array(); + state.json_end_array(); + state.json_end_array(); } else { - json_end_array(fp, state); - json_end_array(fp, state); + state.json_end_array(); + state.json_end_array(); } } - json_end_hash(fp, state); - json_end_hash(fp, state); + state.json_end_hash(); + state.json_end_hash(); if (comma) { - json_write_newline(fp, state); - json_comma_newline(fp, state); + state.json_write_newline(); + state.json_comma_newline(); } } } diff --git a/write_json.hpp b/write_json.hpp index b23f118..4a5c9d4 100644 --- a/write_json.hpp +++ b/write_json.hpp @@ -14,12 +14,13 @@ enum json_write_tok { JSON_WRITE_TOP, }; -struct json_write_state { +struct json_writer { std::vector state; bool nospace = false; bool wantnl = false; + FILE *f; - ~json_write_state() { + ~json_writer() { if (state.size() > 0) { if (state.size() != 1 || state[0] != JSON_WRITE_TOP) { fprintf(stderr, "JSON not closed at end\n"); @@ -27,24 +28,29 @@ struct json_write_state { } } } + + json_writer(FILE *fp) { + f = fp; + } + + void json_write_array(); + void json_end_array(); + void json_write_hash(); + void json_end_hash(); + void json_write_string(std::string const &s); + void json_write_number(double d); + void json_write_float(double d); + void json_write_unsigned(unsigned long long v); + void json_write_signed(long long v); + void json_write_stringified(std::string const &s); + void json_write_bool(bool b); + void json_write_null(); + void json_write_newline(); + void json_comma_newline(); + void json_adjust(); }; -void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain, json_write_state &state); +void layer_to_geojson(mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain, json_writer &state); void fprintq(FILE *f, const char *s); -void json_write_array(FILE *f, json_write_state &state); -void json_end_array(FILE *f, json_write_state &state); -void json_write_hash(FILE *f, json_write_state &state); -void json_end_hash(FILE *f, json_write_state &state); -void json_write_string(FILE *f, std::string const &s, json_write_state &state); -void json_write_number(FILE *f, double d, json_write_state &state); -void json_write_float(FILE *f, double d, json_write_state &state); -void json_write_unsigned(FILE *f, unsigned long long v, json_write_state &state); -void json_write_signed(FILE *f, long long v, json_write_state &state); -void json_write_stringified(FILE *f, std::string const &s, json_write_state &state); -void json_write_bool(FILE *f, bool b, json_write_state &state); -void json_write_null(FILE *f, json_write_state &state); -void json_write_newline(FILE *f, json_write_state &state); -void json_comma_newline(FILE *f, json_write_state &state); - #endif From 08fc2f281e51223418f97c0a83eaf8e1e11bad79 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 16 Mar 2018 14:20:52 -0700 Subject: [PATCH 07/11] JSON can be written to either a FILE or a string --- write_json.cpp | 91 +++++++++++++++++++++++++++++++++----------------- write_json.hpp | 12 ++++++- 2 files changed, 72 insertions(+), 31 deletions(-) diff --git a/write_json.cpp b/write_json.cpp index b8f12f6..3ebc4c6 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -13,38 +13,38 @@ void json_writer::json_adjust() { if (state.size() == 0) { state.push_back(JSON_WRITE_TOP); } else if (state[state.size() - 1] == JSON_WRITE_TOP) { - fprintf(f, "\n"); + addc('\n'); state[state.size() - 1] = JSON_WRITE_TOP; } else if (state[state.size() - 1] == JSON_WRITE_HASH) { if (!nospace) { - fprintf(f, " "); + addc(' '); } nospace = false; state[state.size() - 1] = JSON_WRITE_HASH_KEY; } else if (state[state.size() - 1] == JSON_WRITE_HASH_KEY) { - fprintf(f, ": "); + adds(": "); state[state.size() - 1] = JSON_WRITE_HASH_VALUE; } else if (state[state.size() - 1] == JSON_WRITE_HASH_VALUE) { if (wantnl) { - fprintf(f, ",\n"); + adds(",\n"); nospace = false; } else { - fprintf(f, ", "); + adds(", "); } wantnl = false; state[state.size() - 1] = JSON_WRITE_HASH_KEY; } else if (state[state.size() - 1] == JSON_WRITE_ARRAY) { if (!nospace) { - fprintf(f, " "); + addc(' '); } nospace = false; state[state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; } else if (state[state.size() - 1] == JSON_WRITE_ARRAY_ELEMENT) { if (wantnl) { - fprintf(f, ",\n"); + adds(",\n"); nospace = false; } else { - fprintf(f, ", "); + adds(", "); } wantnl = false; state[state.size() - 1] = JSON_WRITE_ARRAY_ELEMENT; @@ -56,7 +56,7 @@ void json_writer::json_adjust() { void json_writer::json_write_array() { json_adjust(); - fprintf(f, "["); + addc('['); state.push_back(JSON_WRITE_ARRAY); } @@ -72,10 +72,10 @@ void json_writer::json_end_array() { if (tok == JSON_WRITE_ARRAY || tok == JSON_WRITE_ARRAY_ELEMENT) { if (!nospace) { - fprintf(f, " "); + addc(' '); } nospace = false; - fprintf(f, "]"); + addc(']'); } else { fprintf(stderr, "End JSON array with unexpected state\n"); exit(EXIT_FAILURE); @@ -84,7 +84,7 @@ void json_writer::json_end_array() { void json_writer::json_write_hash() { json_adjust(); - fprintf(f, "{"); + addc('{'); state.push_back(JSON_WRITE_HASH); } @@ -100,16 +100,16 @@ void json_writer::json_end_hash() { if (tok == JSON_WRITE_HASH) { if (!nospace) { - fprintf(f, " "); // Preserve accidental extra space from before + adds(" "); // Preserve accidental extra space from before } nospace = false; - fprintf(f, "}"); + addc('}'); } else if (tok == JSON_WRITE_HASH_VALUE) { if (!nospace) { - fprintf(f, " "); + addc(' '); } nospace = false; - fprintf(f, "}"); + addc('}'); } else { fprintf(stderr, "End JSON hash with unexpected state\n"); exit(EXIT_FAILURE); @@ -119,68 +119,68 @@ void json_writer::json_end_hash() { void json_writer::json_write_string(std::string const &s) { json_adjust(); - putc('"', f); + addc('"'); for (size_t i = 0; i < s.size(); i++) { if (s[i] == '\\' || s[i] == '"') { - fprintf(f, "\\%c", s[i]); + aprintf("\\%c", s[i]); } else if ((unsigned char) s[i] < ' ') { - fprintf(f, "\\u%04x", s[i]); + aprintf("\\u%04x", s[i]); } else { - putc(s[i], f); + addc(s[i]); } } - putc('"', f); + addc('"'); } void json_writer::json_write_number(double d) { json_adjust(); - fputs(milo::dtoa_milo(d).c_str(), f); + adds(milo::dtoa_milo(d).c_str()); } // Just to avoid json_writer:: changing expected output format void json_writer::json_write_float(double d) { json_adjust(); - fprintf(f, "%f", d); + aprintf("%f", d); } void json_writer::json_write_unsigned(unsigned long long v) { json_adjust(); - fprintf(f, "%llu", v); + aprintf("%llu", v); } void json_writer::json_write_signed(long long v) { json_adjust(); - fprintf(f, "%lld", v); + aprintf("%lld", v); } void json_writer::json_write_stringified(std::string const &s) { json_adjust(); - fputs(s.c_str(), f); + adds(s); } void json_writer::json_write_bool(bool b) { json_adjust(); if (b) { - fputs("true", f); + adds("true"); } else { - fputs("false", f); + adds("false"); } } void json_writer::json_write_null() { json_adjust(); - fputs("null", f); + adds("null"); } void json_writer::json_write_newline() { - putc('\n', f); + addc('\n'); nospace = true; } @@ -188,6 +188,37 @@ void json_writer::json_comma_newline() { wantnl = true; } +void json_writer::aprintf(const char *format, ...) { + va_list ap; + char *tmp; + + va_start(ap, format); + if (vasprintf(&tmp, format, ap) < 0) { + fprintf(stderr, "memory allocation failure\n"); + exit(EXIT_FAILURE); + } + va_end(ap); + + adds(std::string(tmp, strlen(tmp))); + free(tmp); +} + +void json_writer::addc(char c) { + if (f != NULL) { + putc(c, f); + } else if (s != NULL) { + s->push_back(c); + } +} + +void json_writer::adds(std::string const &str) { + if (f != NULL) { + fputs(str.c_str(), f); + } else if (s != NULL) { + s->append(str); + } +} + struct lonlat { int op; double lon; diff --git a/write_json.hpp b/write_json.hpp index 4a5c9d4..6ddd4d4 100644 --- a/write_json.hpp +++ b/write_json.hpp @@ -18,7 +18,8 @@ struct json_writer { std::vector state; bool nospace = false; bool wantnl = false; - FILE *f; + FILE *f = NULL; + std::string *s = NULL; ~json_writer() { if (state.size() > 0) { @@ -33,6 +34,10 @@ struct json_writer { f = fp; } + json_writer(std::string *out) { + s = out; + } + void json_write_array(); void json_end_array(); void json_write_hash(); @@ -47,7 +52,12 @@ struct json_writer { void json_write_null(); void json_write_newline(); void json_comma_newline(); + +private: void json_adjust(); + void aprintf(const char *format, ...); + void addc(char c); + void adds(std::string const &s); }; void layer_to_geojson(mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name, bool zoom, bool dropped, unsigned long long index, long long sequence, long long extent, bool complain, json_writer &state); From ebb0334ef069c89caa838f9697415848872b9540 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 16 Mar 2018 15:19:23 -0700 Subject: [PATCH 08/11] Use the standard JSON writer for tilestats With a lot of weird special cases to keep the formatting exactly like it accidentally was before --- Makefile | 4 +- mbtiles.cpp | 196 +++++++++++++++++++++++++------------------------ write_json.cpp | 24 +++--- 3 files changed, 118 insertions(+), 106 deletions(-) diff --git a/Makefile b/Makefile index 237ad98..fa4ef5e 100644 --- a/Makefile +++ b/Makefile @@ -56,7 +56,7 @@ tippecanoe-enumerate: enumerate.o tippecanoe-decode: decode.o projection.o mvt.o write_json.o text.o jsonpull/jsonpull.o dirtiles.o $(CXX) $(PG) $(LIBS) $(FINAL_FLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) -lm -lz -lsqlite3 -tile-join: tile-join.o projection.o pool.o mbtiles.o mvt.o memfile.o dirtiles.o jsonpull/jsonpull.o text.o evaluator.o csv.o +tile-join: tile-join.o projection.o pool.o mbtiles.o mvt.o memfile.o dirtiles.o jsonpull/jsonpull.o text.o evaluator.o csv.o write_json.o $(CXX) $(PG) $(LIBS) $(FINAL_FLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) -lm -lz -lsqlite3 -lpthread tippecanoe-json-tool: jsontool.o jsonpull/jsonpull.o csv.o text.o @@ -165,7 +165,7 @@ enumerate-test: cmp tests/ne_110m_admin_0_countries/out/enum tests/ne_110m_admin_0_countries/out/enum.check rm tests/ne_110m_admin_0_countries/out/enum.mbtiles tests/ne_110m_admin_0_countries/out/enum.check -join-test: +join-test: tile-join ./tippecanoe -f -z12 -o tests/join-population/tabblock_06001420.mbtiles tests/join-population/tabblock_06001420.json ./tippecanoe -f -Z5 -z10 -o tests/join-population/macarthur.mbtiles -l macarthur tests/join-population/macarthur.json ./tile-join -f -Z6 -z9 -o tests/join-population/macarthur-6-9.mbtiles tests/join-population/macarthur.mbtiles diff --git a/mbtiles.cpp b/mbtiles.cpp index 3eb758f..b8c7684 100644 --- a/mbtiles.cpp +++ b/mbtiles.cpp @@ -16,6 +16,7 @@ #include "mbtiles.hpp" #include "text.hpp" #include "milo/dtoa_milo.h" +#include "write_json.hpp" sqlite3 *mbtiles_open(char *dbname, char **argv, int forcetable) { sqlite3 *outdb; @@ -139,36 +140,36 @@ bool type_and_string::operator!=(const type_and_string &o) const { return false; } -std::string tilestats(std::map const &layermap1, size_t elements) { +void tilestats(std::map const &layermap1, size_t elements, json_writer &state) { // Consolidate layers/attributes whose names are truncated std::vector> lmv; lmv.push_back(layermap1); std::map layermap = merge_layermaps(lmv, true); - std::string out = "{\n"; + state.json_write_hash(); - out.append("\t\"layerCount\": "); - out.append(std::to_string(layermap.size())); - out.append(",\n"); + state.nospace = true; + state.json_write_string("layerCount"); + state.json_write_unsigned(layermap.size()); - out.append("\t\"layers\": [\n"); + state.nospace = true; + state.json_write_string("layers"); + state.json_write_array(); bool first = true; for (auto layer : layermap) { - if (!first) { - out.append(",\n"); - } first = false; - out.append("\t\t{\n"); + state.nospace = true; + state.json_write_hash(); - out.append("\t\t\t\"layer\": \""); - quote(out, layer.first.c_str()); - out.append("\",\n"); + state.nospace = true; + state.json_write_string("layer"); + state.json_write_string(layer.first); - out.append("\t\t\t\"count\": "); - out.append(std::to_string(layer.second.points + layer.second.lines + layer.second.polygons)); - out.append(",\n"); + state.nospace = true; + state.json_write_string("count"); + state.json_write_unsigned(layer.second.points + layer.second.lines + layer.second.polygons); std::string geomtype = "Polygon"; if (layer.second.points >= layer.second.lines && layer.second.points >= layer.second.polygons) { @@ -177,45 +178,46 @@ std::string tilestats(std::map const &layermap1, si geomtype = "LineString"; } - out.append("\t\t\t\"geometry\": \""); - quote(out, geomtype.c_str()); - out.append("\",\n"); + state.nospace = true; + state.json_write_string("geometry"); + state.json_write_string(geomtype); size_t attrib_count = layer.second.file_keys.size(); if (attrib_count > 1000) { attrib_count = 1000; } - out.append("\t\t\t\"attributeCount\": "); - out.append(std::to_string(attrib_count)); - out.append(",\n"); + state.nospace = true; + state.json_write_string("attributeCount"); + state.json_write_unsigned(attrib_count); - out.append("\t\t\t\"attributes\": [\n"); + state.nospace = true; + state.json_write_string("attributes"); + state.nospace = true; + state.json_write_array(); size_t attrs = 0; for (auto attribute : layer.second.file_keys) { if (attrs == elements) { break; } - if (attrs != 0) { - out.append(",\n"); - } attrs++; - out.append("\t\t\t\t{\n"); + state.nospace = true; + state.json_write_hash(); - out.append("\t\t\t\t\t\"attribute\": \""); - quote(out, attribute.first.c_str()); - out.append("\",\n"); + state.nospace = true; + state.json_write_string("attribute"); + state.json_write_string(attribute.first); size_t val_count = attribute.second.sample_values.size(); if (val_count > 1000) { val_count = 1000; } - out.append("\t\t\t\t\t\"count\": "); - out.append(std::to_string(val_count)); - out.append(",\n"); + state.nospace = true; + state.json_write_string("count"); + state.json_write_unsigned(val_count); int type = 0; for (auto s : attribute.second.sample_values) { @@ -234,11 +236,13 @@ std::string tilestats(std::map const &layermap1, si type_str = "mixed"; } - out.append("\t\t\t\t\t\"type\": \""); - quote(out, type_str.c_str()); - out.append("\",\n"); + state.nospace = true; + state.json_write_string("type"); + state.json_write_string(type_str); - out.append("\t\t\t\t\t\"values\": [\n"); + state.nospace = true; + state.json_write_string("values"); + state.json_write_array(); size_t vals = 0; for (auto value : attribute.second.sample_values) { @@ -246,65 +250,50 @@ std::string tilestats(std::map const &layermap1, si break; } + state.nospace = true; + if (value.type == mvt_double || value.type == mvt_bool) { - if (vals != 0) { - out.append(",\n"); - } vals++; - out.append("\t\t\t\t\t\t"); - out.append(value.string); + state.json_write_stringified(value.string); } else { std::string trunc = truncate16(value.string, 256); if (trunc.size() == value.string.size()) { - if (vals != 0) { - out.append(",\n"); - } vals++; - out.append("\t\t\t\t\t\t\""); - quote(out, value.string.c_str()); - out.append("\""); + state.json_write_string(value.string); } } } - out.append("\n"); - out.append("\t\t\t\t\t]"); + state.nospace = true; + state.json_end_array(); if ((type & (1 << mvt_double)) != 0) { - out.append(",\n"); + state.nospace = true; + state.json_write_string("min"); + state.json_write_number(attribute.second.min); - out.append("\t\t\t\t\t\"min\": "); - out.append(milo::dtoa_milo(attribute.second.min)); - out.append(",\n"); - - out.append("\t\t\t\t\t\"max\": "); - out.append(milo::dtoa_milo(attribute.second.max)); + state.nospace = true; + state.json_write_string("max"); + state.json_write_number(attribute.second.max); } - out.append("\n"); - out.append("\t\t\t\t}"); + state.nospace = true; + state.json_end_hash(); } - out.append("\n\t\t\t]\n"); - out.append("\t\t}"); + state.nospace = true; + state.json_end_array(); + state.nospace = true; + state.json_end_hash(); } - out.append("\n"); - out.append("\t]\n"); - out.append("}"); - - std::string out2; - - for (size_t i = 0; i < out.size(); i++) { - if (out[i] != '\t' && out[i] != '\n') { - out2.push_back(out[i]); - } - } - - return out2; + state.nospace = true; + state.json_end_array(); + state.nospace = true; + state.json_end_hash(); } void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fname, int minzoom, int maxzoom, double minlat, double minlon, double maxlat, double maxlon, double midlat, double midlon, int forcetable, const char *attribution, std::map const &layermap, bool vector, const char *description, bool do_tilestats) { @@ -419,8 +408,13 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam std::string buf; { - buf = "{"; - aprintf(&buf, "\"vector_layers\": [ "); + json_writer state(&buf); + + state.json_write_hash(); + state.nospace = true; + + state.json_write_string("vector_layers"); + state.json_write_array(); std::vector lnames; for (auto ai = layermap.begin(); ai != layermap.end(); ++ai) { @@ -428,25 +422,32 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam } for (size_t i = 0; i < lnames.size(); i++) { - if (i != 0) { - aprintf(&buf, ", "); - } - auto fk = layermap.find(lnames[i]); - aprintf(&buf, "{ \"id\": \""); - quote(buf, lnames[i]); - aprintf(&buf, "\", \"description\": \"\", \"minzoom\": %d, \"maxzoom\": %d, \"fields\": {", fk->second.minzoom, fk->second.maxzoom); + state.json_write_hash(); + + state.json_write_string("id"); + state.json_write_string(lnames[i]); + + state.json_write_string("description"); + state.json_write_string(""); + + state.json_write_string("minzoom"); + state.json_write_signed(fk->second.minzoom); + + state.json_write_string("maxzoom"); + state.json_write_signed(fk->second.maxzoom); + + state.json_write_string("fields"); + state.json_write_hash(); + state.nospace = true; bool first = true; for (auto j = fk->second.file_keys.begin(); j != fk->second.file_keys.end(); ++j) { if (first) { first = false; - } else { - aprintf(&buf, ", "); } - aprintf(&buf, "\""); - quote(buf, j->first.c_str()); + state.json_write_string(j->first); int type = 0; for (auto s : j->second.sample_values) { @@ -454,26 +455,31 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam } if (type == (1 << mvt_double)) { - aprintf(&buf, "\": \"Number\""); + state.json_write_string("Number"); } else if (type == (1 << mvt_bool)) { - aprintf(&buf, "\": \"Boolean\""); + state.json_write_string("Boolean"); } else if (type == (1 << mvt_string)) { - aprintf(&buf, "\": \"String\""); + state.json_write_string("String"); } else { - aprintf(&buf, "\": \"Mixed\""); + state.json_write_string("Mixed"); } } - aprintf(&buf, "} }"); + state.nospace = true; + state.json_end_hash(); + state.json_end_hash(); } - aprintf(&buf, " ]"); + state.json_end_array(); if (do_tilestats && elements > 0) { - aprintf(&buf, ",\"tilestats\": %s", tilestats(layermap, elements).c_str()); + state.nospace = true; + state.json_write_string("tilestats"); + tilestats(layermap, elements, state); } - aprintf(&buf, "}"); + state.nospace = true; + state.json_end_hash(); } sql = sqlite3_mprintf("INSERT INTO metadata (name, value) VALUES ('json', %Q);", buf.c_str()); diff --git a/write_json.cpp b/write_json.cpp index 3ebc4c6..9ddcf60 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -28,6 +28,9 @@ void json_writer::json_adjust() { if (wantnl) { adds(",\n"); nospace = false; + } else if (nospace) { + addc(','); + nospace = false; } else { adds(", "); } @@ -43,6 +46,9 @@ void json_writer::json_adjust() { if (wantnl) { adds(",\n"); nospace = false; + } else if (nospace) { + addc(','); + nospace = false; } else { adds(", "); } @@ -116,17 +122,17 @@ void json_writer::json_end_hash() { } } -void json_writer::json_write_string(std::string const &s) { +void json_writer::json_write_string(std::string const &str) { json_adjust(); addc('"'); - for (size_t i = 0; i < s.size(); i++) { - if (s[i] == '\\' || s[i] == '"') { - aprintf("\\%c", s[i]); - } else if ((unsigned char) s[i] < ' ') { - aprintf("\\u%04x", s[i]); + for (size_t i = 0; i < str.size(); i++) { + if (str[i] == '\\' || str[i] == '"') { + aprintf("\\%c", str[i]); + } else if ((unsigned char) str[i] < ' ') { + aprintf("\\u%04x", str[i]); } else { - addc(s[i]); + addc(str[i]); } } addc('"'); @@ -157,10 +163,10 @@ void json_writer::json_write_signed(long long v) { aprintf("%lld", v); } -void json_writer::json_write_stringified(std::string const &s) { +void json_writer::json_write_stringified(std::string const &str) { json_adjust(); - adds(s); + adds(str); } void json_writer::json_write_bool(bool b) { From 3c827b1d6882c207a859fa9e273d6da5a31b766a Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 16 Mar 2018 15:35:26 -0700 Subject: [PATCH 09/11] Use the standard JSON writer when writing metadata.json --- mbtiles.cpp | 51 ++++++--------------------- mbtiles.hpp | 2 -- tests/raw-tiles/compare/metadata.json | 20 +++++------ tile-join.cpp | 15 ++++++++ write_json.cpp | 20 +++++------ write_json.hpp | 2 +- 6 files changed, 46 insertions(+), 64 deletions(-) diff --git a/mbtiles.cpp b/mbtiles.cpp index b8c7684..1c63752 100644 --- a/mbtiles.cpp +++ b/mbtiles.cpp @@ -88,38 +88,6 @@ void mbtiles_write_tile(sqlite3 *outdb, int z, int tx, int ty, const char *data, } } -static void quote(std::string &buf, std::string const &s) { - for (size_t i = 0; i < s.size(); i++) { - unsigned char ch = s[i]; - - if (ch == '\\' || ch == '\"') { - buf.push_back('\\'); - buf.push_back(ch); - } else if (ch < ' ') { - char tmp[7]; - sprintf(tmp, "\\u%04x", ch); - buf.append(std::string(tmp)); - } else { - buf.push_back(ch); - } - } -} - -void aprintf(std::string *buf, const char *format, ...) { - va_list ap; - char *tmp; - - va_start(ap, format); - if (vasprintf(&tmp, format, ap) < 0) { - fprintf(stderr, "memory allocation failure\n"); - exit(EXIT_FAILURE); - } - va_end(ap); - - buf->append(tmp, strlen(tmp)); - free(tmp); -} - bool type_and_string::operator<(const type_and_string &o) const { if (string < o.string) { return true; @@ -505,7 +473,10 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam exit(EXIT_FAILURE); } - fprintf(fp, "{\n"); + json_writer state(fp); + + state.json_write_hash(); + state.json_write_newline(); sqlite3_stmt *stmt; bool first = true; @@ -520,19 +491,17 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam exit(EXIT_FAILURE); } - quote(key, k); - quote(value, v); - - if (!first) { - fprintf(fp, ",\n"); - } - fprintf(fp, " \"%s\": \"%s\"", key.c_str(), value.c_str()); + state.json_comma_newline(); + state.json_write_string(k); + state.json_write_string(v); first = false; } sqlite3_finalize(stmt); } - fprintf(fp, "\n}\n"); + state.json_write_newline(); + state.json_end_hash(); + state.json_write_newline(); fclose(fp); } } diff --git a/mbtiles.hpp b/mbtiles.hpp index 1f085a8..fd39f7e 100644 --- a/mbtiles.hpp +++ b/mbtiles.hpp @@ -44,8 +44,6 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam void mbtiles_close(sqlite3 *outdb, const char *pgm); -void aprintf(std::string *buf, const char *format, ...); - std::map merge_layermaps(std::vector > const &maps); std::map merge_layermaps(std::vector > const &maps, bool trunc); diff --git a/tests/raw-tiles/compare/metadata.json b/tests/raw-tiles/compare/metadata.json index 14a62ae..01c91e7 100644 --- a/tests/raw-tiles/compare/metadata.json +++ b/tests/raw-tiles/compare/metadata.json @@ -1,12 +1,12 @@ { - "name": "tests/raw-tiles/raw-tiles", - "description": "tests/raw-tiles/raw-tiles", - "version": "2", - "minzoom": "0", - "maxzoom": "14", - "center": "-122.662354,45.514045,14", - "bounds": "-122.682427,45.512331,-122.654961,45.569975", - "type": "overlay", - "format": "pbf", - "json": "{\"vector_layers\": [ { \"id\": \"hackspots\", \"description\": \"\", \"minzoom\": 0, \"maxzoom\": 14, \"fields\": {\"Address\": \"String\", \"Name\": \"String\", \"Notes\": \"String\"} } ],\"tilestats\": {\"layerCount\": 1,\"layers\": [{\"layer\": \"hackspots\",\"count\": 4,\"geometry\": \"Point\",\"attributeCount\": 3,\"attributes\": [{\"attribute\": \"Address\",\"count\": 4,\"type\": \"string\",\"values\": [\"1507 N Rosa Parks Way Portland, OR 97217\",\"201 SE 12th Ave, Portland, OR 97214\",\"4637 N Albina Ave Portland, OR 97217\",\"915 SE Hawthorne Blvd. Portland, OR 97214\"]},{\"attribute\": \"Name\",\"count\": 4,\"type\": \"string\",\"values\": [\"Albina Press\",\"Arbor Lodge\",\"Lucky Labrador Brew Pub\",\"Three Friends Coffeehouse\"]},{\"attribute\": \"Notes\",\"count\": 3,\"type\": \"string\",\"values\": [\"\",\"Dog friendly\",\"usually busy, outlets on side wall only\"]}]}]}}" +"name": "tests/raw-tiles/raw-tiles", +"description": "tests/raw-tiles/raw-tiles", +"version": "2", +"minzoom": "0", +"maxzoom": "14", +"center": "-122.662354,45.514045,14", +"bounds": "-122.682427,45.512331,-122.654961,45.569975", +"type": "overlay", +"format": "pbf", +"json": "{\"vector_layers\": [ { \"id\": \"hackspots\", \"description\": \"\", \"minzoom\": 0, \"maxzoom\": 14, \"fields\": {\"Address\": \"String\", \"Name\": \"String\", \"Notes\": \"String\"} } ],\"tilestats\": {\"layerCount\": 1,\"layers\": [{\"layer\": \"hackspots\",\"count\": 4,\"geometry\": \"Point\",\"attributeCount\": 3,\"attributes\": [{\"attribute\": \"Address\",\"count\": 4,\"type\": \"string\",\"values\": [\"1507 N Rosa Parks Way Portland, OR 97217\",\"201 SE 12th Ave, Portland, OR 97214\",\"4637 N Albina Ave Portland, OR 97217\",\"915 SE Hawthorne Blvd. Portland, OR 97214\"]},{\"attribute\": \"Name\",\"count\": 4,\"type\": \"string\",\"values\": [\"Albina Press\",\"Arbor Lodge\",\"Lucky Labrador Brew Pub\",\"Three Friends Coffeehouse\"]},{\"attribute\": \"Notes\",\"count\": 3,\"type\": \"string\",\"values\": [\"\",\"Dog friendly\",\"usually busy, outlets on side wall only\"]}]}]}}" } diff --git a/tile-join.cpp b/tile-join.cpp index b38db8c..abe340e 100644 --- a/tile-join.cpp +++ b/tile-join.cpp @@ -47,6 +47,21 @@ struct stats { double minlat, minlon, maxlat, maxlon; }; +void aprintf(std::string *buf, const char *format, ...) { + va_list ap; + char *tmp; + + va_start(ap, format); + if (vasprintf(&tmp, format, ap) < 0) { + fprintf(stderr, "memory allocation failure\n"); + exit(EXIT_FAILURE); + } + va_end(ap); + + buf->append(tmp, strlen(tmp)); + free(tmp); +} + void handle(std::string message, int z, unsigned x, unsigned y, std::map &layermap, std::vector &header, std::map> &mapping, std::set &exclude, std::set &keep_layers, std::set &remove_layers, int ifmatched, mvt_tile &outtile, json_object *filter) { mvt_tile tile; int features_added = 0; diff --git a/write_json.cpp b/write_json.cpp index 9ddcf60..90a5184 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -195,18 +195,18 @@ void json_writer::json_comma_newline() { } void json_writer::aprintf(const char *format, ...) { - va_list ap; - char *tmp; + va_list ap; + char *tmp; - va_start(ap, format); - if (vasprintf(&tmp, format, ap) < 0) { - fprintf(stderr, "memory allocation failure\n"); - exit(EXIT_FAILURE); - } - va_end(ap); + va_start(ap, format); + if (vasprintf(&tmp, format, ap) < 0) { + fprintf(stderr, "memory allocation failure\n"); + exit(EXIT_FAILURE); + } + va_end(ap); - adds(std::string(tmp, strlen(tmp))); - free(tmp); + adds(std::string(tmp, strlen(tmp))); + free(tmp); } void json_writer::addc(char c) { diff --git a/write_json.hpp b/write_json.hpp index 6ddd4d4..d0b9d18 100644 --- a/write_json.hpp +++ b/write_json.hpp @@ -53,7 +53,7 @@ struct json_writer { void json_write_newline(); void json_comma_newline(); -private: + private: void json_adjust(); void aprintf(const char *format, ...); void addc(char c); From 3d1ebdb82f28aa632d67843377444768e310aab9 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 16 Mar 2018 16:25:21 -0700 Subject: [PATCH 10/11] Add missing #include --- CHANGELOG.md | 1 + write_json.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b9a86b..b2fbc03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## 1.27.11 * Always include tile and layer in tippecanoe-decode, fixing corrupt JSON. +* Clean up writing of JSON in general. ## 1.27.10 diff --git a/write_json.cpp b/write_json.cpp index 90a5184..8bb2684 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include From e21e4d3b88f0bf961424cd0361946184a1d38649 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 16 Mar 2018 17:06:54 -0700 Subject: [PATCH 11/11] Forgot the indentation change in this test --- .../raw-merged-folder-compare/metadata.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/join-population/raw-merged-folder-compare/metadata.json b/tests/join-population/raw-merged-folder-compare/metadata.json index 063c782..e940e08 100644 --- a/tests/join-population/raw-merged-folder-compare/metadata.json +++ b/tests/join-population/raw-merged-folder-compare/metadata.json @@ -1,12 +1,12 @@ { - "name": "tests/join-population/macarthur.mbtiles + tests/join-population/macarthur2.mbtiles + tests/join-population/tabblock_06001420.mbtiles", - "description": "tests/join-population/tabblock_06001420.mbtiles", - "version": "2", - "minzoom": "0", - "maxzoom": "12", - "center": "-122.299805,37.892187,12", - "bounds": "-122.343750,37.695438,-122.104097,37.926868", - "type": "overlay", - "format": "pbf", - "json": "{\"vector_layers\": [ { \"id\": \"macarthur\", \"description\": \"\", \"minzoom\": 5, \"maxzoom\": 11, \"fields\": {\"FULLNAME\": \"String\", \"LINEARID\": \"String\", \"MTFCC\": \"String\", \"RTTYP\": \"String\"} }, { \"id\": \"tabblock_06001420\", \"description\": \"\", \"minzoom\": 3, \"maxzoom\": 12, \"fields\": {\"ALAND10\": \"Number\", \"AWATER10\": \"Number\", \"BLOCKCE10\": \"String\", \"COUNTYFP10\": \"String\", \"FUNCSTAT10\": \"String\", \"GEOID10\": \"String\", \"INTPTLAT10\": \"String\", \"INTPTLON10\": \"String\", \"MTFCC10\": \"String\", \"NAME10\": \"String\", \"STATEFP10\": \"String\", \"TRACTCE10\": \"String\", \"UACE10\": \"String\", \"UATYP10\": \"String\", \"UR10\": \"String\"} } ],\"tilestats\": {\"layerCount\": 2,\"layers\": [{\"layer\": \"macarthur\",\"count\": 169,\"geometry\": \"LineString\",\"attributeCount\": 4,\"attributes\": [{\"attribute\": \"FULLNAME\",\"count\": 5,\"type\": \"string\",\"values\": [\"Macarthur\",\"Macarthur Blvd\",\"Macarthur Fwy\",\"W Macarthur\",\"W Macarthur Blvd\"]},{\"attribute\": \"LINEARID\",\"count\": 43,\"type\": \"string\",\"values\": [\"1102155930810\",\"1102156217102\",\"1102156241736\",\"1102156248968\",\"1102156510290\",\"1102157509691\",\"1102157651658\",\"1102406970092\",\"1102406970093\",\"1102406970094\",\"1102406970095\",\"1102407366406\",\"1102638069562\",\"1102638078801\",\"1102654601627\",\"1102654601663\",\"1102654602215\",\"1102954189105\",\"1102954918511\",\"1103690383700\",\"1103690474249\",\"1103690474250\",\"1103690483026\",\"1103690483032\",\"1103717593123\",\"1104469713187\",\"1104469713198\",\"1104474748623\",\"1104475134288\",\"1104475134436\",\"1104485605278\",\"1104485645649\",\"1104485773833\",\"1104486090991\",\"1104486392881\",\"1105089436004\",\"1105089465114\",\"1105089465116\",\"1105281275434\",\"1105281275687\",\"1105281275688\",\"1105281275689\",\"1105281275692\"]},{\"attribute\": \"MTFCC\",\"count\": 2,\"type\": \"string\",\"values\": [\"S1100\",\"S1400\"]},{\"attribute\": \"RTTYP\",\"count\": 1,\"type\": \"string\",\"values\": [\"M\"]}]},{\"layer\": \"tabblock_06001420\",\"count\": 1484,\"geometry\": \"Polygon\",\"attributeCount\": 15,\"attributes\": [{\"attribute\": \"ALAND10\",\"count\": 257,\"type\": \"number\",\"values\": [0,10019,10125,1018,1027,10320,10339,1037,1060,10769,10776,1094,10961,10975,11206,11282,11297,11306,11372,11825,11921,11928,11997,1201,12044,12062,1214,12213,1246,12579,1269,12945,13013,13106,1324,13452,13985,14000,14042,14044,14053,14087,14101,14158,14169,14185,14193,14219,14237,14270,14291,14449,14452,14453,14523,14539,14541,14557,14565,1457,14593,1461,14639,1466,14791,14799,14980,1509,15100,15240,15260,15494,15574,15665,15730,15921,15930,15974,16117,16120,16165,16183,16238,16246,16253,16332,16353,16431,16453,16535,16537,16605,16635,16691,16994,1704,17210,17230,17265,17308],\"min\": 0,\"max\": 542505},{\"attribute\": \"AWATER10\",\"count\": 4,\"type\": \"number\",\"values\": [0,1111196,1632801,24],\"min\": 0,\"max\": 1632801},{\"attribute\": \"BLOCKCE10\",\"count\": 82,\"type\": \"string\",\"values\": [\"1000\",\"1001\",\"1002\",\"1003\",\"1004\",\"1005\",\"1006\",\"1007\",\"1008\",\"1009\",\"1010\",\"1011\",\"1012\",\"1013\",\"1014\",\"1015\",\"1016\",\"1017\",\"1018\",\"1019\",\"1020\",\"1021\",\"1022\",\"1023\",\"1024\",\"1025\",\"1026\",\"1027\",\"1028\",\"1029\",\"1030\",\"1031\",\"2000\",\"2001\",\"2002\",\"2003\",\"2004\",\"2005\",\"2006\",\"2007\",\"2008\",\"2009\",\"2010\",\"2011\",\"2012\",\"2013\",\"2014\",\"2015\",\"2016\",\"2017\",\"3000\",\"3001\",\"3002\",\"3003\",\"3004\",\"3005\",\"3006\",\"3007\",\"3008\",\"3009\",\"3010\",\"3011\",\"3012\",\"3013\",\"3014\",\"3015\",\"3016\",\"3017\",\"3018\",\"3019\",\"3020\",\"3021\",\"3022\",\"3023\",\"3024\",\"3025\",\"3026\",\"3027\",\"3028\",\"3029\",\"3030\",\"3031\"]},{\"attribute\": \"COUNTYFP10\",\"count\": 1,\"type\": \"string\",\"values\": [\"001\"]},{\"attribute\": \"FUNCSTAT10\",\"count\": 1,\"type\": \"string\",\"values\": [\"S\"]},{\"attribute\": \"GEOID10\",\"count\": 260,\"type\": \"string\",\"values\": [\"060014201001000\",\"060014201001001\",\"060014201001002\",\"060014201001003\",\"060014201001004\",\"060014201001005\",\"060014201001006\",\"060014201001007\",\"060014201001008\",\"060014201001009\",\"060014201001010\",\"060014201001011\",\"060014201001012\",\"060014201001013\",\"060014201001014\",\"060014201001015\",\"060014201001016\",\"060014201001017\",\"060014201001018\",\"060014201001019\",\"060014201002000\",\"060014201002001\",\"060014201002002\",\"060014201002003\",\"060014201002004\",\"060014201002005\",\"060014201002006\",\"060014201002007\",\"060014201002008\",\"060014201002009\",\"060014201002010\",\"060014201002011\",\"060014201002012\",\"060014201002013\",\"060014201002014\",\"060014201002015\",\"060014201003000\",\"060014201003001\",\"060014201003002\",\"060014201003003\",\"060014201003004\",\"060014201003005\",\"060014201003006\",\"060014201003007\",\"060014201003008\",\"060014202001000\",\"060014202001001\",\"060014202001002\",\"060014202001003\",\"060014202001004\",\"060014202001005\",\"060014202001006\",\"060014202001007\",\"060014202001008\",\"060014202001009\",\"060014202001010\",\"060014202001011\",\"060014202001012\",\"060014202001013\",\"060014202001014\",\"060014202002000\",\"060014202002001\",\"060014202002002\",\"060014202002003\",\"060014202002004\",\"060014202002005\",\"060014202002006\",\"060014202002007\",\"060014202002008\",\"060014202002009\",\"060014202002010\",\"060014202002011\",\"060014202002012\",\"060014202003000\",\"060014202003001\",\"060014202003002\",\"060014202003003\",\"060014202003004\",\"060014202003005\",\"060014202003006\",\"060014202003007\",\"060014202003008\",\"060014202003009\",\"060014202003010\",\"060014202003011\",\"060014202003012\",\"060014203001000\",\"060014203001001\",\"060014203001002\",\"060014203001003\",\"060014203001004\",\"060014203001005\",\"060014203001006\",\"060014203001007\",\"060014203001008\",\"060014203001009\",\"060014203001010\",\"060014203001011\",\"060014203001012\",\"060014203001013\"]},{\"attribute\": \"INTPTLAT10\",\"count\": 257,\"type\": \"string\",\"values\": [\"+37.882724\",\"+37.882857\",\"+37.882965\",\"+37.883224\",\"+37.883323\",\"+37.883462\",\"+37.883465\",\"+37.883481\",\"+37.883493\",\"+37.883527\",\"+37.883536\",\"+37.883579\",\"+37.883655\",\"+37.883693\",\"+37.883707\",\"+37.883745\",\"+37.883836\",\"+37.883871\",\"+37.883875\",\"+37.883931\",\"+37.883973\",\"+37.883995\",\"+37.884009\",\"+37.884079\",\"+37.884198\",\"+37.884202\",\"+37.884338\",\"+37.884369\",\"+37.884436\",\"+37.884677\",\"+37.884743\",\"+37.884747\",\"+37.884757\",\"+37.884896\",\"+37.884902\",\"+37.884919\",\"+37.884942\",\"+37.885307\",\"+37.885308\",\"+37.885399\",\"+37.885448\",\"+37.885491\",\"+37.885644\",\"+37.885646\",\"+37.885673\",\"+37.885811\",\"+37.885827\",\"+37.885997\",\"+37.886159\",\"+37.886194\",\"+37.886197\",\"+37.886237\",\"+37.886278\",\"+37.886322\",\"+37.886339\",\"+37.886439\",\"+37.886460\",\"+37.886495\",\"+37.886587\",\"+37.886596\",\"+37.886608\",\"+37.886758\",\"+37.886830\",\"+37.886929\",\"+37.887099\",\"+37.887163\",\"+37.887238\",\"+37.887267\",\"+37.887324\",\"+37.887379\",\"+37.887412\",\"+37.887570\",\"+37.887764\",\"+37.887776\",\"+37.887789\",\"+37.887852\",\"+37.887885\",\"+37.887916\",\"+37.887945\",\"+37.888027\",\"+37.888122\",\"+37.888238\",\"+37.888325\",\"+37.888332\",\"+37.888340\",\"+37.888416\",\"+37.888418\",\"+37.888441\",\"+37.888458\",\"+37.888506\",\"+37.888511\",\"+37.888540\",\"+37.888616\",\"+37.888634\",\"+37.888734\",\"+37.888782\",\"+37.888823\",\"+37.888848\",\"+37.888859\",\"+37.888863\"]},{\"attribute\": \"INTPTLON10\",\"count\": 259,\"type\": \"string\",\"values\": [\"-122.282320\",\"-122.282371\",\"-122.282679\",\"-122.282689\",\"-122.282947\",\"-122.283067\",\"-122.283212\",\"-122.283424\",\"-122.283651\",\"-122.283723\",\"-122.283797\",\"-122.283828\",\"-122.283924\",\"-122.283973\",\"-122.284471\",\"-122.284571\",\"-122.284590\",\"-122.284831\",\"-122.285020\",\"-122.285076\",\"-122.285093\",\"-122.285175\",\"-122.285609\",\"-122.285651\",\"-122.285682\",\"-122.285901\",\"-122.285971\",\"-122.286179\",\"-122.286324\",\"-122.286349\",\"-122.286366\",\"-122.286615\",\"-122.286636\",\"-122.286818\",\"-122.286865\",\"-122.286913\",\"-122.287055\",\"-122.287082\",\"-122.287097\",\"-122.287125\",\"-122.287205\",\"-122.287275\",\"-122.287323\",\"-122.287379\",\"-122.287583\",\"-122.287591\",\"-122.287634\",\"-122.287747\",\"-122.287757\",\"-122.287836\",\"-122.287926\",\"-122.287969\",\"-122.288150\",\"-122.288221\",\"-122.288237\",\"-122.288313\",\"-122.288382\",\"-122.288473\",\"-122.288602\",\"-122.288628\",\"-122.288677\",\"-122.288696\",\"-122.288764\",\"-122.288787\",\"-122.288910\",\"-122.289020\",\"-122.289219\",\"-122.289471\",\"-122.289472\",\"-122.289530\",\"-122.289570\",\"-122.289573\",\"-122.289663\",\"-122.289764\",\"-122.289959\",\"-122.290117\",\"-122.290340\",\"-122.290441\",\"-122.290522\",\"-122.290573\",\"-122.290615\",\"-122.290964\",\"-122.290980\",\"-122.291137\",\"-122.291217\",\"-122.291315\",\"-122.291350\",\"-122.291391\",\"-122.291474\",\"-122.291484\",\"-122.291592\",\"-122.291817\",\"-122.291926\",\"-122.292014\",\"-122.292116\",\"-122.292153\",\"-122.292289\",\"-122.292309\",\"-122.292394\",\"-122.292415\"]},{\"attribute\": \"MTFCC10\",\"count\": 1,\"type\": \"string\",\"values\": [\"G5040\"]},{\"attribute\": \"NAME10\",\"count\": 82,\"type\": \"string\",\"values\": [\"Block 1000\",\"Block 1001\",\"Block 1002\",\"Block 1003\",\"Block 1004\",\"Block 1005\",\"Block 1006\",\"Block 1007\",\"Block 1008\",\"Block 1009\",\"Block 1010\",\"Block 1011\",\"Block 1012\",\"Block 1013\",\"Block 1014\",\"Block 1015\",\"Block 1016\",\"Block 1017\",\"Block 1018\",\"Block 1019\",\"Block 1020\",\"Block 1021\",\"Block 1022\",\"Block 1023\",\"Block 1024\",\"Block 1025\",\"Block 1026\",\"Block 1027\",\"Block 1028\",\"Block 1029\",\"Block 1030\",\"Block 1031\",\"Block 2000\",\"Block 2001\",\"Block 2002\",\"Block 2003\",\"Block 2004\",\"Block 2005\",\"Block 2006\",\"Block 2007\",\"Block 2008\",\"Block 2009\",\"Block 2010\",\"Block 2011\",\"Block 2012\",\"Block 2013\",\"Block 2014\",\"Block 2015\",\"Block 2016\",\"Block 2017\",\"Block 3000\",\"Block 3001\",\"Block 3002\",\"Block 3003\",\"Block 3004\",\"Block 3005\",\"Block 3006\",\"Block 3007\",\"Block 3008\",\"Block 3009\",\"Block 3010\",\"Block 3011\",\"Block 3012\",\"Block 3013\",\"Block 3014\",\"Block 3015\",\"Block 3016\",\"Block 3017\",\"Block 3018\",\"Block 3019\",\"Block 3020\",\"Block 3021\",\"Block 3022\",\"Block 3023\",\"Block 3024\",\"Block 3025\",\"Block 3026\",\"Block 3027\",\"Block 3028\",\"Block 3029\",\"Block 3030\",\"Block 3031\"]},{\"attribute\": \"STATEFP10\",\"count\": 1,\"type\": \"string\",\"values\": [\"06\"]},{\"attribute\": \"TRACTCE10\",\"count\": 6,\"type\": \"string\",\"values\": [\"420100\",\"420200\",\"420300\",\"420400\",\"420500\",\"420600\"]},{\"attribute\": \"UACE10\",\"count\": 1,\"type\": \"string\",\"values\": [\"78904\"]},{\"attribute\": \"UATYP10\",\"count\": 1,\"type\": \"string\",\"values\": [\"U\"]},{\"attribute\": \"UR10\",\"count\": 2,\"type\": \"string\",\"values\": [\"R\",\"U\"]}]}]}}" +"name": "tests/join-population/macarthur.mbtiles + tests/join-population/macarthur2.mbtiles + tests/join-population/tabblock_06001420.mbtiles", +"description": "tests/join-population/tabblock_06001420.mbtiles", +"version": "2", +"minzoom": "0", +"maxzoom": "12", +"center": "-122.299805,37.892187,12", +"bounds": "-122.343750,37.695438,-122.104097,37.926868", +"type": "overlay", +"format": "pbf", +"json": "{\"vector_layers\": [ { \"id\": \"macarthur\", \"description\": \"\", \"minzoom\": 5, \"maxzoom\": 11, \"fields\": {\"FULLNAME\": \"String\", \"LINEARID\": \"String\", \"MTFCC\": \"String\", \"RTTYP\": \"String\"} }, { \"id\": \"tabblock_06001420\", \"description\": \"\", \"minzoom\": 3, \"maxzoom\": 12, \"fields\": {\"ALAND10\": \"Number\", \"AWATER10\": \"Number\", \"BLOCKCE10\": \"String\", \"COUNTYFP10\": \"String\", \"FUNCSTAT10\": \"String\", \"GEOID10\": \"String\", \"INTPTLAT10\": \"String\", \"INTPTLON10\": \"String\", \"MTFCC10\": \"String\", \"NAME10\": \"String\", \"STATEFP10\": \"String\", \"TRACTCE10\": \"String\", \"UACE10\": \"String\", \"UATYP10\": \"String\", \"UR10\": \"String\"} } ],\"tilestats\": {\"layerCount\": 2,\"layers\": [{\"layer\": \"macarthur\",\"count\": 169,\"geometry\": \"LineString\",\"attributeCount\": 4,\"attributes\": [{\"attribute\": \"FULLNAME\",\"count\": 5,\"type\": \"string\",\"values\": [\"Macarthur\",\"Macarthur Blvd\",\"Macarthur Fwy\",\"W Macarthur\",\"W Macarthur Blvd\"]},{\"attribute\": \"LINEARID\",\"count\": 43,\"type\": \"string\",\"values\": [\"1102155930810\",\"1102156217102\",\"1102156241736\",\"1102156248968\",\"1102156510290\",\"1102157509691\",\"1102157651658\",\"1102406970092\",\"1102406970093\",\"1102406970094\",\"1102406970095\",\"1102407366406\",\"1102638069562\",\"1102638078801\",\"1102654601627\",\"1102654601663\",\"1102654602215\",\"1102954189105\",\"1102954918511\",\"1103690383700\",\"1103690474249\",\"1103690474250\",\"1103690483026\",\"1103690483032\",\"1103717593123\",\"1104469713187\",\"1104469713198\",\"1104474748623\",\"1104475134288\",\"1104475134436\",\"1104485605278\",\"1104485645649\",\"1104485773833\",\"1104486090991\",\"1104486392881\",\"1105089436004\",\"1105089465114\",\"1105089465116\",\"1105281275434\",\"1105281275687\",\"1105281275688\",\"1105281275689\",\"1105281275692\"]},{\"attribute\": \"MTFCC\",\"count\": 2,\"type\": \"string\",\"values\": [\"S1100\",\"S1400\"]},{\"attribute\": \"RTTYP\",\"count\": 1,\"type\": \"string\",\"values\": [\"M\"]}]},{\"layer\": \"tabblock_06001420\",\"count\": 1484,\"geometry\": \"Polygon\",\"attributeCount\": 15,\"attributes\": [{\"attribute\": \"ALAND10\",\"count\": 257,\"type\": \"number\",\"values\": [0,10019,10125,1018,1027,10320,10339,1037,1060,10769,10776,1094,10961,10975,11206,11282,11297,11306,11372,11825,11921,11928,11997,1201,12044,12062,1214,12213,1246,12579,1269,12945,13013,13106,1324,13452,13985,14000,14042,14044,14053,14087,14101,14158,14169,14185,14193,14219,14237,14270,14291,14449,14452,14453,14523,14539,14541,14557,14565,1457,14593,1461,14639,1466,14791,14799,14980,1509,15100,15240,15260,15494,15574,15665,15730,15921,15930,15974,16117,16120,16165,16183,16238,16246,16253,16332,16353,16431,16453,16535,16537,16605,16635,16691,16994,1704,17210,17230,17265,17308],\"min\": 0,\"max\": 542505},{\"attribute\": \"AWATER10\",\"count\": 4,\"type\": \"number\",\"values\": [0,1111196,1632801,24],\"min\": 0,\"max\": 1632801},{\"attribute\": \"BLOCKCE10\",\"count\": 82,\"type\": \"string\",\"values\": [\"1000\",\"1001\",\"1002\",\"1003\",\"1004\",\"1005\",\"1006\",\"1007\",\"1008\",\"1009\",\"1010\",\"1011\",\"1012\",\"1013\",\"1014\",\"1015\",\"1016\",\"1017\",\"1018\",\"1019\",\"1020\",\"1021\",\"1022\",\"1023\",\"1024\",\"1025\",\"1026\",\"1027\",\"1028\",\"1029\",\"1030\",\"1031\",\"2000\",\"2001\",\"2002\",\"2003\",\"2004\",\"2005\",\"2006\",\"2007\",\"2008\",\"2009\",\"2010\",\"2011\",\"2012\",\"2013\",\"2014\",\"2015\",\"2016\",\"2017\",\"3000\",\"3001\",\"3002\",\"3003\",\"3004\",\"3005\",\"3006\",\"3007\",\"3008\",\"3009\",\"3010\",\"3011\",\"3012\",\"3013\",\"3014\",\"3015\",\"3016\",\"3017\",\"3018\",\"3019\",\"3020\",\"3021\",\"3022\",\"3023\",\"3024\",\"3025\",\"3026\",\"3027\",\"3028\",\"3029\",\"3030\",\"3031\"]},{\"attribute\": \"COUNTYFP10\",\"count\": 1,\"type\": \"string\",\"values\": [\"001\"]},{\"attribute\": \"FUNCSTAT10\",\"count\": 1,\"type\": \"string\",\"values\": [\"S\"]},{\"attribute\": \"GEOID10\",\"count\": 260,\"type\": \"string\",\"values\": [\"060014201001000\",\"060014201001001\",\"060014201001002\",\"060014201001003\",\"060014201001004\",\"060014201001005\",\"060014201001006\",\"060014201001007\",\"060014201001008\",\"060014201001009\",\"060014201001010\",\"060014201001011\",\"060014201001012\",\"060014201001013\",\"060014201001014\",\"060014201001015\",\"060014201001016\",\"060014201001017\",\"060014201001018\",\"060014201001019\",\"060014201002000\",\"060014201002001\",\"060014201002002\",\"060014201002003\",\"060014201002004\",\"060014201002005\",\"060014201002006\",\"060014201002007\",\"060014201002008\",\"060014201002009\",\"060014201002010\",\"060014201002011\",\"060014201002012\",\"060014201002013\",\"060014201002014\",\"060014201002015\",\"060014201003000\",\"060014201003001\",\"060014201003002\",\"060014201003003\",\"060014201003004\",\"060014201003005\",\"060014201003006\",\"060014201003007\",\"060014201003008\",\"060014202001000\",\"060014202001001\",\"060014202001002\",\"060014202001003\",\"060014202001004\",\"060014202001005\",\"060014202001006\",\"060014202001007\",\"060014202001008\",\"060014202001009\",\"060014202001010\",\"060014202001011\",\"060014202001012\",\"060014202001013\",\"060014202001014\",\"060014202002000\",\"060014202002001\",\"060014202002002\",\"060014202002003\",\"060014202002004\",\"060014202002005\",\"060014202002006\",\"060014202002007\",\"060014202002008\",\"060014202002009\",\"060014202002010\",\"060014202002011\",\"060014202002012\",\"060014202003000\",\"060014202003001\",\"060014202003002\",\"060014202003003\",\"060014202003004\",\"060014202003005\",\"060014202003006\",\"060014202003007\",\"060014202003008\",\"060014202003009\",\"060014202003010\",\"060014202003011\",\"060014202003012\",\"060014203001000\",\"060014203001001\",\"060014203001002\",\"060014203001003\",\"060014203001004\",\"060014203001005\",\"060014203001006\",\"060014203001007\",\"060014203001008\",\"060014203001009\",\"060014203001010\",\"060014203001011\",\"060014203001012\",\"060014203001013\"]},{\"attribute\": \"INTPTLAT10\",\"count\": 257,\"type\": \"string\",\"values\": [\"+37.882724\",\"+37.882857\",\"+37.882965\",\"+37.883224\",\"+37.883323\",\"+37.883462\",\"+37.883465\",\"+37.883481\",\"+37.883493\",\"+37.883527\",\"+37.883536\",\"+37.883579\",\"+37.883655\",\"+37.883693\",\"+37.883707\",\"+37.883745\",\"+37.883836\",\"+37.883871\",\"+37.883875\",\"+37.883931\",\"+37.883973\",\"+37.883995\",\"+37.884009\",\"+37.884079\",\"+37.884198\",\"+37.884202\",\"+37.884338\",\"+37.884369\",\"+37.884436\",\"+37.884677\",\"+37.884743\",\"+37.884747\",\"+37.884757\",\"+37.884896\",\"+37.884902\",\"+37.884919\",\"+37.884942\",\"+37.885307\",\"+37.885308\",\"+37.885399\",\"+37.885448\",\"+37.885491\",\"+37.885644\",\"+37.885646\",\"+37.885673\",\"+37.885811\",\"+37.885827\",\"+37.885997\",\"+37.886159\",\"+37.886194\",\"+37.886197\",\"+37.886237\",\"+37.886278\",\"+37.886322\",\"+37.886339\",\"+37.886439\",\"+37.886460\",\"+37.886495\",\"+37.886587\",\"+37.886596\",\"+37.886608\",\"+37.886758\",\"+37.886830\",\"+37.886929\",\"+37.887099\",\"+37.887163\",\"+37.887238\",\"+37.887267\",\"+37.887324\",\"+37.887379\",\"+37.887412\",\"+37.887570\",\"+37.887764\",\"+37.887776\",\"+37.887789\",\"+37.887852\",\"+37.887885\",\"+37.887916\",\"+37.887945\",\"+37.888027\",\"+37.888122\",\"+37.888238\",\"+37.888325\",\"+37.888332\",\"+37.888340\",\"+37.888416\",\"+37.888418\",\"+37.888441\",\"+37.888458\",\"+37.888506\",\"+37.888511\",\"+37.888540\",\"+37.888616\",\"+37.888634\",\"+37.888734\",\"+37.888782\",\"+37.888823\",\"+37.888848\",\"+37.888859\",\"+37.888863\"]},{\"attribute\": \"INTPTLON10\",\"count\": 259,\"type\": \"string\",\"values\": [\"-122.282320\",\"-122.282371\",\"-122.282679\",\"-122.282689\",\"-122.282947\",\"-122.283067\",\"-122.283212\",\"-122.283424\",\"-122.283651\",\"-122.283723\",\"-122.283797\",\"-122.283828\",\"-122.283924\",\"-122.283973\",\"-122.284471\",\"-122.284571\",\"-122.284590\",\"-122.284831\",\"-122.285020\",\"-122.285076\",\"-122.285093\",\"-122.285175\",\"-122.285609\",\"-122.285651\",\"-122.285682\",\"-122.285901\",\"-122.285971\",\"-122.286179\",\"-122.286324\",\"-122.286349\",\"-122.286366\",\"-122.286615\",\"-122.286636\",\"-122.286818\",\"-122.286865\",\"-122.286913\",\"-122.287055\",\"-122.287082\",\"-122.287097\",\"-122.287125\",\"-122.287205\",\"-122.287275\",\"-122.287323\",\"-122.287379\",\"-122.287583\",\"-122.287591\",\"-122.287634\",\"-122.287747\",\"-122.287757\",\"-122.287836\",\"-122.287926\",\"-122.287969\",\"-122.288150\",\"-122.288221\",\"-122.288237\",\"-122.288313\",\"-122.288382\",\"-122.288473\",\"-122.288602\",\"-122.288628\",\"-122.288677\",\"-122.288696\",\"-122.288764\",\"-122.288787\",\"-122.288910\",\"-122.289020\",\"-122.289219\",\"-122.289471\",\"-122.289472\",\"-122.289530\",\"-122.289570\",\"-122.289573\",\"-122.289663\",\"-122.289764\",\"-122.289959\",\"-122.290117\",\"-122.290340\",\"-122.290441\",\"-122.290522\",\"-122.290573\",\"-122.290615\",\"-122.290964\",\"-122.290980\",\"-122.291137\",\"-122.291217\",\"-122.291315\",\"-122.291350\",\"-122.291391\",\"-122.291474\",\"-122.291484\",\"-122.291592\",\"-122.291817\",\"-122.291926\",\"-122.292014\",\"-122.292116\",\"-122.292153\",\"-122.292289\",\"-122.292309\",\"-122.292394\",\"-122.292415\"]},{\"attribute\": \"MTFCC10\",\"count\": 1,\"type\": \"string\",\"values\": [\"G5040\"]},{\"attribute\": \"NAME10\",\"count\": 82,\"type\": \"string\",\"values\": [\"Block 1000\",\"Block 1001\",\"Block 1002\",\"Block 1003\",\"Block 1004\",\"Block 1005\",\"Block 1006\",\"Block 1007\",\"Block 1008\",\"Block 1009\",\"Block 1010\",\"Block 1011\",\"Block 1012\",\"Block 1013\",\"Block 1014\",\"Block 1015\",\"Block 1016\",\"Block 1017\",\"Block 1018\",\"Block 1019\",\"Block 1020\",\"Block 1021\",\"Block 1022\",\"Block 1023\",\"Block 1024\",\"Block 1025\",\"Block 1026\",\"Block 1027\",\"Block 1028\",\"Block 1029\",\"Block 1030\",\"Block 1031\",\"Block 2000\",\"Block 2001\",\"Block 2002\",\"Block 2003\",\"Block 2004\",\"Block 2005\",\"Block 2006\",\"Block 2007\",\"Block 2008\",\"Block 2009\",\"Block 2010\",\"Block 2011\",\"Block 2012\",\"Block 2013\",\"Block 2014\",\"Block 2015\",\"Block 2016\",\"Block 2017\",\"Block 3000\",\"Block 3001\",\"Block 3002\",\"Block 3003\",\"Block 3004\",\"Block 3005\",\"Block 3006\",\"Block 3007\",\"Block 3008\",\"Block 3009\",\"Block 3010\",\"Block 3011\",\"Block 3012\",\"Block 3013\",\"Block 3014\",\"Block 3015\",\"Block 3016\",\"Block 3017\",\"Block 3018\",\"Block 3019\",\"Block 3020\",\"Block 3021\",\"Block 3022\",\"Block 3023\",\"Block 3024\",\"Block 3025\",\"Block 3026\",\"Block 3027\",\"Block 3028\",\"Block 3029\",\"Block 3030\",\"Block 3031\"]},{\"attribute\": \"STATEFP10\",\"count\": 1,\"type\": \"string\",\"values\": [\"06\"]},{\"attribute\": \"TRACTCE10\",\"count\": 6,\"type\": \"string\",\"values\": [\"420100\",\"420200\",\"420300\",\"420400\",\"420500\",\"420600\"]},{\"attribute\": \"UACE10\",\"count\": 1,\"type\": \"string\",\"values\": [\"78904\"]},{\"attribute\": \"UATYP10\",\"count\": 1,\"type\": \"string\",\"values\": [\"U\"]},{\"attribute\": \"UR10\",\"count\": 2,\"type\": \"string\",\"values\": [\"R\",\"U\"]}]}]}}" }