diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..94c56f8 --- /dev/null +++ b/.babelrc @@ -0,0 +1 @@ +{ "presets": ["@babel/preset-flow"] } \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..28a804d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index ff43f19..5109b78 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,6 +5,13 @@ + + + + + + + - { - "keyToString": { - "RunOnceActivity.OpenProjectViewOnStart": "true", - "RunOnceActivity.ShowReadmeOnStart": "true", - "WebServerToolWindowFactoryState": "false", - "git-widget-placeholder": "dev", - "last_opened_file_path": "/home/user/Documents/fd_data-structures/pj/frontend", - "node.js.detected.package.eslint": "true", - "node.js.detected.package.tslint": "true", - "node.js.selected.package.eslint": "(autodetect)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_interpreter_path": "/home/user/.nvm/versions/node/v20.10.0/bin/node", - "nodejs_package_manager_path": "npm", - "settings.editor.selected.configurable": "settings.nodejs", - "vue.rearranger.settings.migration": "true" + +}]]> @@ -81,6 +91,9 @@ + + + diff --git a/api/click.js b/api/click.js index 5481d89..7651363 100644 --- a/api/click.js +++ b/api/click.js @@ -1,19 +1,167 @@ -import {post} from "../src/Networking"; +import {MinPriorityQueue} from "@datastructures-js/priority-queue"; + +function haversine_distance(p1,p2) { + const toRadians = (degrees) => { + return degrees * Math.PI / 180; + }; + const [lat1, lon1] = p1; + const [lat2, lon2] = p2; + const R = 6371; + const dLat = toRadians(lat2 - lat1); + const dLon = toRadians(lon2 - lon1); + const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + + Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2)) * + Math.sin(dLon / 2) * Math.sin(dLon / 2); + const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + if (R * c < 0) console.log("WARNING!!!"); + return R * c; +} + +function find_nearest_node_id(nodes, point) { + const [lat, lon] = point; + let min_distance = 1e100; + let res = 0; + for (let node_id in nodes) { + const curr_distance = haversine_distance(nodes[node_id], point); + if (curr_distance < min_distance) { + min_distance = curr_distance; + res = node_id; + } + } + return res; +} + +function __spa(nodes, ch, u, p) { + console.log(`node count: ${Object.keys(nodes).length}`); + const weight_cache = {}; + try { + const get_weight = (n1, n2) => { + const tup = [n1, n2]; + if (weight_cache[tup]) { + return weight_cache[[n1, n2]]; + } + // console.log("21"); + // console.log(`${nodes[n1]} ${nodes[n2]}`); + weight_cache[tup] = haversine_distance(nodes[n1], nodes[n2]); + return weight_cache[tup]; + }; + const dis = {}; + const fa = {}; + const vis = new Set(); + const pq = new MinPriorityQueue(); + // console.log(`nodes: ${JSON.stringify(nodes)}`); + dis[u] = 0; + pq.push([0, u]); + while (!pq.isEmpty()) { + const [d, v] = pq.pop(); + if (vis.has(v) || !ch[v]) continue; + vis.add(v); + const t = ch[v].length; + for (let j = 0; j < t; ++j) { + const c = ch[v][j]; + if (!nodes[c]) continue; + const w = get_weight(v, c); + if (!dis[c] || d + w < dis[c]) { + dis[c] = d + w; + pq.push([dis[c], c]); + fa[c] = v; + } + } + } + // console.log(`fa = ${JSON.stringify(fa)}`); + let curr = p; + const res = [p]; + // console.log(JSON.stringify(p)); + vis.clear(); + while (fa[curr]) { + // console.log(JSON.stringify(curr)); + curr = fa[curr].toString(); + if(vis.has(curr)) { + console.log(`Cycle at ${curr}`); + break; + } + vis.add(curr); + res.push(curr); + } + console.log("finished __spa."); + // console.log(JSON.stringify(res)); + return res; + } catch (e) { + console.log(e); + } +} + +function shortest_path(nodes, ways, start_point, end_point){ + try { // console.log(`Calling shortest_path(${nodes},${ways},${start_point},${end_point})`); + const ch_dict = {}; + for (const way_id in ways) { + const l = ways[way_id]; + const n = l.length; + for (let i = 1; i < n; ++i) { + if (ch_dict[l[i]]) { + ch_dict[l[i]].push(l[i - 1]); + } else { + ch_dict[l[i]] = [l[i - 1]]; + } + if (ch_dict[l[i - 1]]) { + ch_dict[l[i - 1]].push(l[i]); + } else { + ch_dict[l[i - 1]] = [l[i]]; + } + } + } + // console.log(ch_dict); + const clean_nodes = {}; + Object.keys(nodes).forEach((node_id) => { + if (ch_dict[node_id]) clean_nodes[node_id] = nodes[node_id]; + }); + const actual_start_node_id = find_nearest_node_id(clean_nodes, start_point); + const actual_end_node_id = find_nearest_node_id(clean_nodes, end_point); + console.log("calling __spa..."); + const seq = __spa(clean_nodes, ch_dict, actual_start_node_id, actual_end_node_id); + const res = [end_point]; + seq.forEach((node_id) => { + if (clean_nodes[node_id]) res.push(clean_nodes[node_id]); + }); + res.push(start_point); + return res; + } catch (e) { + console.log(e); + } +} + export default function handler(req,res){ const pts=JSON.parse(req.body); const latRange=pts.map((row)=>row[0]), lonRange=pts.map((row)=>row[1]); - const minlon=Math.min(...lonRange),minlat=Math.min(...latRange), - maxlon=Math.max(...lonRange),maxlat=Math.max(...latRange); - const request_uri=`https://www.overpass-api.de/api/interpreter?data=[out:json];node[highway](${minlat},${minlon},${maxlat},${maxlon});out;`; + const minlon=Math.min(...lonRange) - 0.01,minlat=Math.min(...latRange) - 0.01, + maxlon=Math.max(...lonRange) + 0.01,maxlat=Math.max(...latRange) + 0.01; + // console.log(`1+1`); + const request_uri=`https://www.overpass-api.de/api/interpreter?data=[out:json];way[highway](${minlat},${minlon},${maxlat},${maxlon});(._;>;);out body;`; + console.log(`Requesting ${request_uri}`); const fetch_debug_response= fetch(request_uri).then((response)=>{ return response.json(); }); fetch_debug_response.then((debug_response)=>{ + console.log(debug_response); + let ps = {}; + let ws = {}; + debug_response.elements.forEach((it)=> { + if (it.type === "node") { + ps[it.id] = [it.lat,it.lon]; + } else if (it.type === "way") { + ws[it.id] = it.nodes; + } + }); + // console.log(`pts[0]: ${pts[0]}`); + const path_found = shortest_path(ps,ws,pts[0],pts[pts.length - 1]); + // const path_found = []; + // console.log(JSON.stringify(path_found)); res.status(200).json({ log: `Method: click\nArgs: ${pts}\nStatus: requested "${request_uri}", got response ${JSON.stringify(debug_response.elements)}`, - multipolyline: JSON.stringify(pts), + multipolyline: JSON.stringify(path_found), + // __debug_pts: ps }); }).catch(e=>{ res.status(500); diff --git a/api/handshake.js b/api/handshake.js index 5233195..2421e38 100644 --- a/api/handshake.js +++ b/api/handshake.js @@ -1,11 +1,8 @@ const __DEBUG__=1, - __APP_VERSION__='v0.1.2a', + __APP_VERSION__='v0.1.3a', __APP_INTRO__=` -Relocating Support -Can't find where you are from? We now memorize the last location you visited. Tap the "Relocate" button to find your way home.
-Nearby Search -You can first locate a general area and schedule detailed travel plan later. Tap the magnifier/gear icon to toggle between Nearby Search mode and Global Search mode. -This update also includes several stability and UI improvements. +Right way to follow.
+In this update you can find a shortest route for any given start and destination.
`; export default function handler(req,res){ diff --git a/example/interpreter.json b/example/interpreter.json new file mode 100644 index 0000000..3f01b02 --- /dev/null +++ b/example/interpreter.json @@ -0,0 +1,11667 @@ +{ + "version": 0.6, + "generator": "Overpass API 0.7.61.5 4133829e", + "osm3s": { + "timestamp_osm_base": "2023-12-24T13:13:51Z", + "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL." + }, + "elements": [ + +{ + "type": "node", + "id": 26149271, + "lat": 37.3277628, + "lon": -122.0142492 +}, +{ + "type": "node", + "id": 26149272, + "lat": 37.3248152, + "lon": -122.0172044 +}, +{ + "type": "node", + "id": 26149273, + "lat": 37.3263509, + "lon": -122.0172392 +}, +{ + "type": "node", + "id": 26149274, + "lat": 37.3266356, + "lon": -122.0162411 +}, +{ + "type": "node", + "id": 26149278, + "lat": 37.3287162, + "lon": -122.0162183 +}, +{ + "type": "node", + "id": 26149279, + "lat": 37.3288190, + "lon": -122.0157461 +}, +{ + "type": "node", + "id": 26149280, + "lat": 37.3288036, + "lon": -122.0153899 +}, +{ + "type": "node", + "id": 26149281, + "lat": 37.3287258, + "lon": -122.0152973 +}, +{ + "type": "node", + "id": 26149285, + "lat": 37.3286303, + "lon": -122.0135017 +}, +{ + "type": "node", + "id": 26149286, + "lat": 37.3286410, + "lon": -122.0123593 +}, +{ + "type": "node", + "id": 26149287, + "lat": 37.3279013, + "lon": -122.0135193 +}, +{ + "type": "node", + "id": 26149288, + "lat": 37.3276935, + "lon": -122.0139891 +}, +{ + "type": "node", + "id": 26497360, + "lat": 37.3285333, + "lon": -122.0142839 +}, +{ + "type": "node", + "id": 33440837, + "lat": 37.3310249, + "lon": -122.0142770 +}, +{ + "type": "node", + "id": 33440842, + "lat": 37.3301086, + "lon": -122.0142892 +}, +{ + "type": "node", + "id": 33440868, + "lat": 37.3278962, + "lon": -122.0153011 +}, +{ + "type": "node", + "id": 33440879, + "lat": 37.3301622, + "lon": -122.0143891 +}, +{ + "type": "node", + "id": 33440883, + "lat": 37.3310740, + "lon": -122.0143738 +}, +{ + "type": "node", + "id": 38457727, + "lat": 37.3298563, + "lon": -122.0122072 +}, +{ + "type": "node", + "id": 65402874, + "lat": 37.3319165, + "lon": -122.0139252 +}, +{ + "type": "node", + "id": 65402876, + "lat": 37.3314625, + "lon": -122.0132483 +}, +{ + "type": "node", + "id": 65406839, + "lat": 37.3307326, + "lon": -122.0139915 +}, +{ + "type": "node", + "id": 65406841, + "lat": 37.3306559, + "lon": -122.0137356 +}, +{ + "type": "node", + "id": 65406843, + "lat": 37.3307329, + "lon": -122.0134311 +}, +{ + "type": "node", + "id": 65406845, + "lat": 37.3309307, + "lon": -122.0132481 +}, +{ + "type": "node", + "id": 65406848, + "lat": 37.3311968, + "lon": -122.0132570 +}, +{ + "type": "node", + "id": 65406852, + "lat": 37.3313704, + "lon": -122.0140369 +}, +{ + "type": "node", + "id": 65406866, + "lat": 37.3292306, + "lon": -122.0144669, + "tags": { + "highway": "traffic_signals" + } +}, +{ + "type": "node", + "id": 65406868, + "lat": 37.3292891, + "lon": -122.0147369 +}, +{ + "type": "node", + "id": 65406871, + "lat": 37.3294558, + "lon": -122.0151246 +}, +{ + "type": "node", + "id": 65410690, + "lat": 37.3303552, + "lon": -122.0144837 +}, +{ + "type": "node", + "id": 65410695, + "lat": 37.3304448, + "lon": -122.0146761 +}, +{ + "type": "node", + "id": 65410697, + "lat": 37.3305064, + "lon": -122.0150751, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "ramp_meter" + } +}, +{ + "type": "node", + "id": 65410700, + "lat": 37.3303467, + "lon": -122.0153423 +}, +{ + "type": "node", + "id": 65410702, + "lat": 37.3300420, + "lon": -122.0154078 +}, +{ + "type": "node", + "id": 65410703, + "lat": 37.3297874, + "lon": -122.0151557 +}, +{ + "type": "node", + "id": 65410705, + "lat": 37.3297665, + "lon": -122.0148434 +}, +{ + "type": "node", + "id": 65410707, + "lat": 37.3298746, + "lon": -122.0144013 +}, +{ + "type": "node", + "id": 65584605, + "lat": 37.3255975, + "lon": -122.0144024, + "tags": { + "highway": "traffic_signals" + } +}, +{ + "type": "node", + "id": 78944514, + "lat": 37.3317038, + "lon": -122.0146426, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "ramp_meter" + } +}, +{ + "type": "node", + "id": 78944554, + "lat": 37.3303904, + "lon": -122.0127646 +}, +{ + "type": "node", + "id": 78944587, + "lat": 37.3306239, + "lon": -122.0157034 +}, +{ + "type": "node", + "id": 78944622, + "lat": 37.3295325, + "lon": -122.0140087 +}, +{ + "type": "node", + "id": 78944655, + "lat": 37.3277494, + "lon": -122.0136416 +}, +{ + "type": "node", + "id": 206691786, + "lat": 37.3319901, + "lon": -122.0172854, + "tags": { + "highway": "motorway_junction", + "ref": "10", + "source": "http://www.dot.ca.gov/hq/traffops/signtech/calnexus/pdf/twoeightynorth.pdf;http://www.dot.ca.gov/hq/traffops/signtech/calnexus/pdf/twoeightysouth.pdf" + } +}, +{ + "type": "node", + "id": 206691795, + "lat": 37.3289016, + "lon": -122.0113441 +}, +{ + "type": "node", + "id": 247385931, + "lat": 37.3326881, + "lon": -122.0143925 +}, +{ + "type": "node", + "id": 247385932, + "lat": 37.3314743, + "lon": -122.0148719 +}, +{ + "type": "node", + "id": 247385933, + "lat": 37.3314279, + "lon": -122.0151330 +}, +{ + "type": "node", + "id": 247385934, + "lat": 37.3309497, + "lon": -122.0158507 +}, +{ + "type": "node", + "id": 251390362, + "lat": 37.3301035, + "lon": -122.0156176 +}, +{ + "type": "node", + "id": 251390364, + "lat": 37.3290097, + "lon": -122.0144758 +}, +{ + "type": "node", + "id": 258965243, + "lat": 37.3319718, + "lon": -122.0142634, + "tags": { + "highway": "traffic_signals", + "source": "Bing" + } +}, +{ + "type": "node", + "id": 272145318, + "lat": 37.3298360, + "lon": -122.0155068 +}, +{ + "type": "node", + "id": 272145321, + "lat": 37.3317146, + "lon": -122.0170200, + "tags": { + "man_made": "monitoring_station", + "monitoring:traffic": "yes", + "recording:automated": "yes" + } +}, +{ + "type": "node", + "id": 289638185, + "lat": 37.3301908, + "lon": -122.0154212 +}, +{ + "type": "node", + "id": 289638273, + "lat": 37.3294595, + "lon": -122.0140349 +}, +{ + "type": "node", + "id": 289638274, + "lat": 37.3297381, + "lon": -122.0137568, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "ramp_meter" + } +}, +{ + "type": "node", + "id": 289638735, + "lat": 37.3290405, + "lon": -122.0110686, + "tags": { + "highway": "motorway_junction", + "ref": "10", + "source": "http://www.dot.ca.gov/hq/traffops/signtech/calnexus/pdf/twoeightynorth.pdf;http://www.dot.ca.gov/hq/traffops/signtech/calnexus/pdf/twoeightysouth.pdf" + } +}, +{ + "type": "node", + "id": 289638737, + "lat": 37.3317163, + "lon": -122.0135327 +}, +{ + "type": "node", + "id": 289638875, + "lat": 37.3312564, + "lon": -122.0141666, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 289638876, + "lat": 37.3314384, + "lon": -122.0138596 +}, +{ + "type": "node", + "id": 289638877, + "lat": 37.3314484, + "lon": -122.0136659 +}, +{ + "type": "node", + "id": 289638878, + "lat": 37.3314039, + "lon": -122.0134882 +}, +{ + "type": "node", + "id": 289638879, + "lat": 37.3313171, + "lon": -122.0133464 +}, +{ + "type": "node", + "id": 289638880, + "lat": 37.3310638, + "lon": -122.0132248 +}, +{ + "type": "node", + "id": 289638881, + "lat": 37.3308207, + "lon": -122.0133212 +}, +{ + "type": "node", + "id": 289638882, + "lat": 37.3306754, + "lon": -122.0135765 +}, +{ + "type": "node", + "id": 289638883, + "lat": 37.3306913, + "lon": -122.0139022 +}, +{ + "type": "node", + "id": 289638989, + "lat": 37.3298382, + "lon": -122.0146610 +}, +{ + "type": "node", + "id": 289638990, + "lat": 37.3297627, + "lon": -122.0150554 +}, +{ + "type": "node", + "id": 289638991, + "lat": 37.3298378, + "lon": -122.0152417 +}, +{ + "type": "node", + "id": 289638992, + "lat": 37.3304581, + "lon": -122.0152130 +}, +{ + "type": "node", + "id": 289638993, + "lat": 37.3305073, + "lon": -122.0148838 +}, +{ + "type": "node", + "id": 289652355, + "lat": 37.3256054, + "lon": -122.0142131, + "tags": { + "highway": "traffic_signals" + } +}, +{ + "type": "node", + "id": 306087470, + "lat": 37.3319609, + "lon": -122.0143810, + "tags": { + "highway": "traffic_signals", + "source": "Bing" + } +}, +{ + "type": "node", + "id": 349271220, + "lat": 37.3286037, + "lon": -122.0140833 +}, +{ + "type": "node", + "id": 519460942, + "lat": 37.3285944, + "lon": -122.0146285 +}, +{ + "type": "node", + "id": 519461578, + "lat": 37.3280106, + "lon": -122.0144911 +}, +{ + "type": "node", + "id": 519461599, + "lat": 37.3278018, + "lon": -122.0146400, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 665704186, + "lat": 37.3327390, + "lon": -122.0142379 +}, +{ + "type": "node", + "id": 1067707159, + "lat": 37.3304074, + "lon": -122.0137020 +}, +{ + "type": "node", + "id": 1067712932, + "lat": 37.3322531, + "lon": -122.0172581 +}, +{ + "type": "node", + "id": 1293729054, + "lat": 37.3237114, + "lon": -122.0172728 +}, +{ + "type": "node", + "id": 1297872057, + "lat": 37.3319792, + "lon": -122.0164415 +}, +{ + "type": "node", + "id": 1297872063, + "lat": 37.3302991, + "lon": -122.0127202 +}, +{ + "type": "node", + "id": 1297872071, + "lat": 37.3325585, + "lon": -122.0144646 +}, +{ + "type": "node", + "id": 1297872075, + "lat": 37.3313667, + "lon": -122.0134143 +}, +{ + "type": "node", + "id": 1297872078, + "lat": 37.3311437, + "lon": -122.0160814 +}, +{ + "type": "node", + "id": 1297872081, + "lat": 37.3293414, + "lon": -122.0148700 +}, +{ + "type": "node", + "id": 1297872084, + "lat": 37.3314363, + "lon": -122.0152232 +}, +{ + "type": "node", + "id": 1297872085, + "lat": 37.3300941, + "lon": -122.0125531 +}, +{ + "type": "node", + "id": 1297872087, + "lat": 37.3312958, + "lon": -122.0131367 +}, +{ + "type": "node", + "id": 1297872089, + "lat": 37.3299644, + "lon": -122.0153674 +}, +{ + "type": "node", + "id": 1297872092, + "lat": 37.3304163, + "lon": -122.0152736 +}, +{ + "type": "node", + "id": 1297872094, + "lat": 37.3314481, + "lon": -122.0137570 +}, +{ + "type": "node", + "id": 1297872096, + "lat": 37.3302060, + "lon": -122.0126576 +}, +{ + "type": "node", + "id": 1297872105, + "lat": 37.3314330, + "lon": -122.0135741 +}, +{ + "type": "node", + "id": 1297872106, + "lat": 37.3298960, + "lon": -122.0153144 +}, +{ + "type": "node", + "id": 1297872108, + "lat": 37.3310618, + "lon": -122.0130217 +}, +{ + "type": "node", + "id": 1297872109, + "lat": 37.3292369, + "lon": -122.0145892, + "tags": { + "crossing": "traffic_signals", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 1297872110, + "lat": 37.3312146, + "lon": -122.0161898 +}, +{ + "type": "node", + "id": 1297872111, + "lat": 37.3296521, + "lon": -122.0139150 +}, +{ + "type": "node", + "id": 1297872113, + "lat": 37.3314611, + "lon": -122.0153177 +}, +{ + "type": "node", + "id": 1297872125, + "lat": 37.3293209, + "lon": -122.0142913, + "tags": { + "highway": "traffic_signals" + } +}, +{ + "type": "node", + "id": 1297872127, + "lat": 37.3318809, + "lon": -122.0138344 +}, +{ + "type": "node", + "id": 1297872129, + "lat": 37.3319718, + "lon": -122.0141505, + "tags": { + "crossing": "traffic_signals", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 1297872131, + "lat": 37.3298990, + "lon": -122.0145823 +}, +{ + "type": "node", + "id": 1297872132, + "lat": 37.3307696, + "lon": -122.0133719 +}, +{ + "type": "node", + "id": 1297872134, + "lat": 37.3311351, + "lon": -122.0132354 +}, +{ + "type": "node", + "id": 1297872136, + "lat": 37.3312574, + "lon": -122.0132949 +}, +{ + "type": "node", + "id": 1297872145, + "lat": 37.3309984, + "lon": -122.0132279 +}, +{ + "type": "node", + "id": 1297872147, + "lat": 37.3306594, + "lon": -122.0136524 +}, +{ + "type": "node", + "id": 1297872148, + "lat": 37.3314487, + "lon": -122.0149482 +}, +{ + "type": "node", + "id": 1297872150, + "lat": 37.3315170, + "lon": -122.0147977 +}, +{ + "type": "node", + "id": 1297872152, + "lat": 37.3297673, + "lon": -122.0135564 +}, +{ + "type": "node", + "id": 1297872155, + "lat": 37.3306649, + "lon": -122.0138134 +}, +{ + "type": "node", + "id": 1297872157, + "lat": 37.3299964, + "lon": -122.0143954 +}, +{ + "type": "node", + "id": 1297872160, + "lat": 37.3311901, + "lon": -122.0142081 +}, +{ + "type": "node", + "id": 1297872175, + "lat": 37.3301522, + "lon": -122.0126110 +}, +{ + "type": "node", + "id": 1297872177, + "lat": 37.3299449, + "lon": -122.0145398 +}, +{ + "type": "node", + "id": 1297872181, + "lat": 37.3310210, + "lon": -122.0159160 +}, +{ + "type": "node", + "id": 1297872183, + "lat": 37.3308771, + "lon": -122.0132783 +}, +{ + "type": "node", + "id": 1297872185, + "lat": 37.3297612, + "lon": -122.0136462 +}, +{ + "type": "node", + "id": 1297872187, + "lat": 37.3289453, + "lon": -122.0141500, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 1297872196, + "lat": 37.3292631, + "lon": -122.0146698 +}, +{ + "type": "node", + "id": 1297872199, + "lat": 37.3299975, + "lon": -122.0144868 +}, +{ + "type": "node", + "id": 1297872202, + "lat": 37.3316514, + "lon": -122.0134444 +}, +{ + "type": "node", + "id": 1297872204, + "lat": 37.3300287, + "lon": -122.0124671 +}, +{ + "type": "node", + "id": 1297872207, + "lat": 37.3307981, + "lon": -122.0157572 +}, +{ + "type": "node", + "id": 1297872208, + "lat": 37.3297007, + "lon": -122.0138416 +}, +{ + "type": "node", + "id": 1297872211, + "lat": 37.3322414, + "lon": -122.0145337, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 1297872213, + "lat": 37.3299954, + "lon": -122.0155887 +}, +{ + "type": "node", + "id": 1297872220, + "lat": 37.3293983, + "lon": -122.0150110 +}, +{ + "type": "node", + "id": 1297872221, + "lat": 37.3317845, + "lon": -122.0146201 +}, +{ + "type": "node", + "id": 1297872223, + "lat": 37.3314787, + "lon": -122.0154363 +}, +{ + "type": "node", + "id": 1297872224, + "lat": 37.3315729, + "lon": -122.0147290 +}, +{ + "type": "node", + "id": 1297872226, + "lat": 37.3304794, + "lon": -122.0147830 +}, +{ + "type": "node", + "id": 1297872229, + "lat": 37.3301124, + "lon": -122.0154278 +}, +{ + "type": "node", + "id": 1297872232, + "lat": 37.3289235, + "lon": -122.0116075 +}, +{ + "type": "node", + "id": 1297872245, + "lat": 37.3299489, + "lon": -122.0123476 +}, +{ + "type": "node", + "id": 1297872247, + "lat": 37.3302652, + "lon": -122.0153923 +}, +{ + "type": "node", + "id": 1297872249, + "lat": 37.3314293, + "lon": -122.0150430 +}, +{ + "type": "node", + "id": 1297872251, + "lat": 37.3297943, + "lon": -122.0147393 +}, +{ + "type": "node", + "id": 1297872253, + "lat": 37.3297384, + "lon": -122.0154428 +}, +{ + "type": "node", + "id": 1297872256, + "lat": 37.3312054, + "lon": -122.0130887 +}, +{ + "type": "node", + "id": 1297872262, + "lat": 37.3324554, + "lon": -122.0144788 +}, +{ + "type": "node", + "id": 1297872264, + "lat": 37.3295922, + "lon": -122.0139745 +}, +{ + "type": "node", + "id": 1297872267, + "lat": 37.3297576, + "lon": -122.0134638 +}, +{ + "type": "node", + "id": 1297872270, + "lat": 37.3297230, + "lon": -122.0132717 +}, +{ + "type": "node", + "id": 1297872275, + "lat": 37.3297573, + "lon": -122.0149474 +}, +{ + "type": "node", + "id": 1297872278, + "lat": 37.3315928, + "lon": -122.0133714 +}, +{ + "type": "node", + "id": 1297872279, + "lat": 37.3318393, + "lon": -122.0172361 +}, +{ + "type": "node", + "id": 1297872280, + "lat": 37.3306979, + "lon": -122.0134993 +}, +{ + "type": "node", + "id": 1297872282, + "lat": 37.3292020, + "lon": -122.0111716, + "tags": { + "man_made": "monitoring_station", + "monitoring:traffic": "yes", + "recording:automated": "yes" + } +}, +{ + "type": "node", + "id": 1297872285, + "lat": 37.3313176, + "lon": -122.0141060 +}, +{ + "type": "node", + "id": 1297872287, + "lat": 37.3315322, + "lon": -122.0133089 +}, +{ + "type": "node", + "id": 1297872289, + "lat": 37.3311975, + "lon": -122.0148825, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "ramp_meter" + } +}, +{ + "type": "node", + "id": 1297872296, + "lat": 37.3308777, + "lon": -122.0157998 +}, +{ + "type": "node", + "id": 1297872297, + "lat": 37.3318294, + "lon": -122.0137241 +}, +{ + "type": "node", + "id": 1297872298, + "lat": 37.3307114, + "lon": -122.0157220 +}, +{ + "type": "node", + "id": 1297872299, + "lat": 37.3319489, + "lon": -122.0140339 +}, +{ + "type": "node", + "id": 1297872300, + "lat": 37.3317769, + "lon": -122.0136282 +}, +{ + "type": "node", + "id": 1297872301, + "lat": 37.3313851, + "lon": -122.0131921 +}, +{ + "type": "node", + "id": 1297872303, + "lat": 37.3316351, + "lon": -122.0146774 +}, +{ + "type": "node", + "id": 1297872312, + "lat": 37.3314115, + "lon": -122.0139494 +}, +{ + "type": "node", + "id": 1297872313, + "lat": 37.3297325, + "lon": -122.0133748 +}, +{ + "type": "node", + "id": 1297872314, + "lat": 37.3300801, + "lon": -122.0139407 +}, +{ + "type": "node", + "id": 1297872315, + "lat": 37.3310880, + "lon": -122.0159971 +}, +{ + "type": "node", + "id": 1297872316, + "lat": 37.3305150, + "lon": -122.0149851 +}, +{ + "type": "node", + "id": 1786819265, + "lat": 37.3311110, + "lon": -122.0127571 +}, +{ + "type": "node", + "id": 1786819266, + "lat": 37.3313393, + "lon": -122.0128524 +}, +{ + "type": "node", + "id": 1786819267, + "lat": 37.3314457, + "lon": -122.0122906 +}, +{ + "type": "node", + "id": 1786819268, + "lat": 37.3316079, + "lon": -122.0130497 +}, +{ + "type": "node", + "id": 1786819269, + "lat": 37.3317300, + "lon": -122.0119751 +}, +{ + "type": "node", + "id": 1786819270, + "lat": 37.3318312, + "lon": -122.0121435 +}, +{ + "type": "node", + "id": 1786819271, + "lat": 37.3319429, + "lon": -122.0117389 +}, +{ + "type": "node", + "id": 1786819272, + "lat": 37.3320599, + "lon": -122.0119128 +}, +{ + "type": "node", + "id": 1786819274, + "lat": 37.3321636, + "lon": -122.0136817 +}, +{ + "type": "node", + "id": 1786819276, + "lat": 37.3323151, + "lon": -122.0138555 +}, +{ + "type": "node", + "id": 1786819280, + "lat": 37.3327379, + "lon": -122.0139993 +}, +{ + "type": "node", + "id": 1786819281, + "lat": 37.3329165, + "lon": -122.0139258 +}, +{ + "type": "node", + "id": 1786819284, + "lat": 37.3334052, + "lon": -122.0130129 +}, +{ + "type": "node", + "id": 1786819285, + "lat": 37.3333929, + "lon": -122.0139318, + "tags": { + "traffic_calming": "bump" + } +}, +{ + "type": "node", + "id": 1786819286, + "lat": 37.3334610, + "lon": -122.0138388 +}, +{ + "type": "node", + "id": 1786819287, + "lat": 37.3334717, + "lon": -122.0135446 +}, +{ + "type": "node", + "id": 1786819288, + "lat": 37.3335116, + "lon": -122.0134576 +}, +{ + "type": "node", + "id": 1786819289, + "lat": 37.3335142, + "lon": -122.0132403, + "tags": { + "traffic_calming": "bump" + } +}, +{ + "type": "node", + "id": 1787675479, + "lat": 37.3334544, + "lon": -122.0138774 +}, +{ + "type": "node", + "id": 1787676988, + "lat": 37.3321954, + "lon": -122.0126041 +}, +{ + "type": "node", + "id": 1787676994, + "lat": 37.3324232, + "lon": -122.0133929 +}, +{ + "type": "node", + "id": 1787677010, + "lat": 37.3329945, + "lon": -122.0139192 +}, +{ + "type": "node", + "id": 1787684621, + "lat": 37.3314738, + "lon": -122.0129512 +}, +{ + "type": "node", + "id": 1787684624, + "lat": 37.3315076, + "lon": -122.0128463 +}, +{ + "type": "node", + "id": 1787684631, + "lat": 37.3315279, + "lon": -122.0126901 +}, +{ + "type": "node", + "id": 1787684638, + "lat": 37.3315877, + "lon": -122.0125693 +}, +{ + "type": "node", + "id": 1787684640, + "lat": 37.3315963, + "lon": -122.0125693 +}, +{ + "type": "node", + "id": 1787684642, + "lat": 37.3316160, + "lon": -122.0127309 +}, +{ + "type": "node", + "id": 1787684644, + "lat": 37.3316271, + "lon": -122.0125887 +}, +{ + "type": "node", + "id": 1787684647, + "lat": 37.3316442, + "lon": -122.0126189 +}, +{ + "type": "node", + "id": 1787684648, + "lat": 37.3316469, + "lon": -122.0126456 +}, +{ + "type": "node", + "id": 1787684650, + "lat": 37.3316494, + "lon": -122.0126706 +}, +{ + "type": "node", + "id": 1787684651, + "lat": 37.3316665, + "lon": -122.0126479 +}, +{ + "type": "node", + "id": 1787684653, + "lat": 37.3316939, + "lon": -122.0126382 +}, +{ + "type": "node", + "id": 1787684654, + "lat": 37.3316976, + "lon": -122.0131510 +}, +{ + "type": "node", + "id": 1787684656, + "lat": 37.3317239, + "lon": -122.0126167 +}, +{ + "type": "node", + "id": 1787684657, + "lat": 37.3317796, + "lon": -122.0129615 +}, +{ + "type": "node", + "id": 1787684658, + "lat": 37.3317987, + "lon": -122.0129950 +}, +{ + "type": "node", + "id": 1787684659, + "lat": 37.3319513, + "lon": -122.0128245 +}, +{ + "type": "node", + "id": 1787684664, + "lat": 37.3320007, + "lon": -122.0127771 +}, +{ + "type": "node", + "id": 1787684666, + "lat": 37.3320299, + "lon": -122.0127135 +}, +{ + "type": "node", + "id": 1787684668, + "lat": 37.3320668, + "lon": -122.0126686 +}, +{ + "type": "node", + "id": 1787684672, + "lat": 37.3321166, + "lon": -122.0126289 +}, +{ + "type": "node", + "id": 1787684673, + "lat": 37.3321659, + "lon": -122.0126102 +}, +{ + "type": "node", + "id": 1787684676, + "lat": 37.3322550, + "lon": -122.0125305 +}, +{ + "type": "node", + "id": 1787691933, + "lat": 37.3319118, + "lon": -122.0123360 +}, +{ + "type": "node", + "id": 1787693139, + "lat": 37.3311492, + "lon": -122.0126836 +}, +{ + "type": "node", + "id": 1787693141, + "lat": 37.3313009, + "lon": -122.0127523 +}, +{ + "type": "node", + "id": 1787693142, + "lat": 37.3313557, + "lon": -122.0126905 +}, +{ + "type": "node", + "id": 1787693143, + "lat": 37.3314457, + "lon": -122.0126808 +}, +{ + "type": "node", + "id": 1924643409, + "lat": 37.3281840, + "lon": -122.0139227 +}, +{ + "type": "node", + "id": 1924643420, + "lat": 37.3284400, + "lon": -122.0137403 +}, +{ + "type": "node", + "id": 1924643423, + "lat": 37.3284400, + "lon": -122.0139240 +}, +{ + "type": "node", + "id": 1924643425, + "lat": 37.3282064, + "lon": -122.0137349 +}, +{ + "type": "node", + "id": 1924643444, + "lat": 37.3282105, + "lon": -122.0134739 +}, +{ + "type": "node", + "id": 1973880653, + "lat": 37.3329931, + "lon": -122.0155221 +}, +{ + "type": "node", + "id": 1976656880, + "lat": 37.3327823, + "lon": -122.0148487 +}, +{ + "type": "node", + "id": 1976656887, + "lat": 37.3325712, + "lon": -122.0146905 +}, +{ + "type": "node", + "id": 1976656905, + "lat": 37.3327440, + "lon": -122.0147361 +}, +{ + "type": "node", + "id": 1976656915, + "lat": 37.3318503, + "lon": -122.0157714 +}, +{ + "type": "node", + "id": 1976656930, + "lat": 37.3328357, + "lon": -122.0153182 +}, +{ + "type": "node", + "id": 1976656933, + "lat": 37.3317053, + "lon": -122.0149024 +}, +{ + "type": "node", + "id": 1976656947, + "lat": 37.3328676, + "lon": -122.0155542 +}, +{ + "type": "node", + "id": 2718225777, + "lat": 37.3264842, + "lon": -122.0165177 +}, +{ + "type": "node", + "id": 2718225778, + "lat": 37.3286317, + "lon": -122.0153188, + "tags": { + "direction": "forward", + "highway": "stop" + } +}, +{ + "type": "node", + "id": 2986977756, + "lat": 37.3256291, + "lon": -122.0117206, + "tags": { + "highway": "traffic_signals" + } +}, +{ + "type": "node", + "id": 2986977757, + "lat": 37.3283669, + "lon": -122.0117705 +}, +{ + "type": "node", + "id": 2986977758, + "lat": 37.3285258, + "lon": -122.0118322 +}, +{ + "type": "node", + "id": 2986977759, + "lat": 37.3286212, + "lon": -122.0119770 +}, +{ + "type": "node", + "id": 3532489536, + "lat": 37.3287919, + "lon": -122.0161338 +}, +{ + "type": "node", + "id": 3532489537, + "lat": 37.3271230, + "lon": -122.0162358 +}, +{ + "type": "node", + "id": 3532489538, + "lat": 37.3265247, + "lon": -122.0163581 +}, +{ + "type": "node", + "id": 3532489539, + "lat": 37.3264724, + "lon": -122.0170689 +}, +{ + "type": "node", + "id": 3532489550, + "lat": 37.3243438, + "lon": -122.0172197 +}, +{ + "type": "node", + "id": 3532489553, + "lat": 37.3245005, + "lon": -122.0172146 +}, +{ + "type": "node", + "id": 3532489554, + "lat": 37.3264266, + "lon": -122.0171749 +}, +{ + "type": "node", + "id": 3532489557, + "lat": 37.3281851, + "lon": -122.0137631 +}, +{ + "type": "node", + "id": 3532489558, + "lat": 37.3275251, + "lon": -122.0142390 +}, +{ + "type": "node", + "id": 3532489559, + "lat": 37.3276141, + "lon": -122.0144886 +}, +{ + "type": "node", + "id": 3532489560, + "lat": 37.3285940, + "lon": -122.0148550 +}, +{ + "type": "node", + "id": 3532489561, + "lat": 37.3286645, + "lon": -122.0151515 +}, +{ + "type": "node", + "id": 3532489562, + "lat": 37.3284395, + "lon": -122.0153131 +}, +{ + "type": "node", + "id": 3532489563, + "lat": 37.3285962, + "lon": -122.0151998 +}, +{ + "type": "node", + "id": 3532489564, + "lat": 37.3286328, + "lon": -122.0150307 +}, +{ + "type": "node", + "id": 3532489565, + "lat": 37.3286271, + "lon": -122.0151300 +}, +{ + "type": "node", + "id": 3532489566, + "lat": 37.3286028, + "lon": -122.0136306, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 3532489567, + "lat": 37.3286676, + "lon": -122.0136271, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 3532489568, + "lat": 37.3286574, + "lon": -122.0140853 +}, +{ + "type": "node", + "id": 3532489569, + "lat": 37.3286469, + "lon": -122.0146256 +}, +{ + "type": "node", + "id": 3532489570, + "lat": 37.3286455, + "lon": -122.0147751 +}, +{ + "type": "node", + "id": 3532489571, + "lat": 37.3286659, + "lon": -122.0148628 +}, +{ + "type": "node", + "id": 3532489572, + "lat": 37.3287018, + "lon": -122.0149879 +}, +{ + "type": "node", + "id": 3532489573, + "lat": 37.3287210, + "lon": -122.0151394 +}, +{ + "type": "node", + "id": 3532489574, + "lat": 37.3255282, + "lon": -122.0117210, + "tags": { + "highway": "traffic_signals" + } +}, +{ + "type": "node", + "id": 3532489582, + "lat": 37.3266820, + "lon": -122.0142264 +}, +{ + "type": "node", + "id": 3532489583, + "lat": 37.3267735, + "lon": -122.0139499, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 3532489586, + "lat": 37.3284832, + "lon": -122.0123486 +}, +{ + "type": "node", + "id": 3532489587, + "lat": 37.3286383, + "lon": -122.0120750 +}, +{ + "type": "node", + "id": 3532489589, + "lat": 37.3286328, + "lon": -122.0129718 +}, +{ + "type": "node", + "id": 3532489590, + "lat": 37.3284528, + "lon": -122.0129638 +}, +{ + "type": "node", + "id": 3532489999, + "lat": 37.3284432, + "lon": -122.0133366 +}, +{ + "type": "node", + "id": 3532490000, + "lat": 37.3284901, + "lon": -122.0119727 +}, +{ + "type": "node", + "id": 3532490001, + "lat": 37.3276146, + "lon": -122.0133246 +}, +{ + "type": "node", + "id": 3532490002, + "lat": 37.3274941, + "lon": -122.0131328 +}, +{ + "type": "node", + "id": 3532490003, + "lat": 37.3284461, + "lon": -122.0131435 +}, +{ + "type": "node", + "id": 3532490004, + "lat": 37.3275037, + "lon": -122.0129329 +}, +{ + "type": "node", + "id": 3532490005, + "lat": 37.3275271, + "lon": -122.0127465 +}, +{ + "type": "node", + "id": 3532490006, + "lat": 37.3284625, + "lon": -122.0127667 +}, +{ + "type": "node", + "id": 3532490007, + "lat": 37.3275261, + "lon": -122.0125199 +}, +{ + "type": "node", + "id": 3532490008, + "lat": 37.3284739, + "lon": -122.0125371 +}, +{ + "type": "node", + "id": 3532490009, + "lat": 37.3275325, + "lon": -122.0123268 +}, +{ + "type": "node", + "id": 3532490010, + "lat": 37.3275047, + "lon": -122.0121484 +}, +{ + "type": "node", + "id": 3532490011, + "lat": 37.3284865, + "lon": -122.0121671 +}, +{ + "type": "node", + "id": 3532490012, + "lat": 37.3275069, + "lon": -122.0119580 +}, +{ + "type": "node", + "id": 3532490013, + "lat": 37.3274930, + "lon": -122.0120183 +}, +{ + "type": "node", + "id": 3532490014, + "lat": 37.3275325, + "lon": -122.0122825 +}, +{ + "type": "node", + "id": 3532490015, + "lat": 37.3275229, + "lon": -122.0128444 +}, +{ + "type": "node", + "id": 3532490016, + "lat": 37.3274877, + "lon": -122.0130389 +}, +{ + "type": "node", + "id": 3532490018, + "lat": 37.3274809, + "lon": -122.0126325 +}, +{ + "type": "node", + "id": 3532490019, + "lat": 37.3275266, + "lon": -122.0126339 +}, +{ + "type": "node", + "id": 3532490020, + "lat": 37.3284682, + "lon": -122.0126524 +}, +{ + "type": "node", + "id": 3532490021, + "lat": 37.3286370, + "lon": -122.0126620 +}, +{ + "type": "node", + "id": 3532490023, + "lat": 37.3267828, + "lon": -122.0117418 +}, +{ + "type": "node", + "id": 3532490024, + "lat": 37.3267785, + "lon": -122.0120693 +}, +{ + "type": "node", + "id": 3532490025, + "lat": 37.3273266, + "lon": -122.0120787 +}, +{ + "type": "node", + "id": 3532490026, + "lat": 37.3273277, + "lon": -122.0118963 +}, +{ + "type": "node", + "id": 3532490027, + "lat": 37.3267809, + "lon": -122.0118896 +}, +{ + "type": "node", + "id": 3532490028, + "lat": 37.3273288, + "lon": -122.0117517 +}, +{ + "type": "node", + "id": 3532490029, + "lat": 37.3261579, + "lon": -122.0117305 +}, +{ + "type": "node", + "id": 3532490031, + "lat": 37.3261402, + "lon": -122.0130818 +}, +{ + "type": "node", + "id": 3532490033, + "lat": 37.3263146, + "lon": -122.0120344 +}, +{ + "type": "node", + "id": 3532490034, + "lat": 37.3261539, + "lon": -122.0120316 +}, +{ + "type": "node", + "id": 3532490035, + "lat": 37.3261065, + "lon": -122.0120317, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 3532490042, + "lat": 37.3289305, + "lon": -122.0152923 +}, +{ + "type": "node", + "id": 3532490044, + "lat": 37.3289295, + "lon": -122.0161761 +}, +{ + "type": "node", + "id": 3532490045, + "lat": 37.3282001, + "lon": -122.0153078 +}, +{ + "type": "node", + "id": 3532490046, + "lat": 37.3282043, + "lon": -122.0148020 +}, +{ + "type": "node", + "id": 3532490047, + "lat": 37.3284336, + "lon": -122.0148175 +}, +{ + "type": "node", + "id": 3532490048, + "lat": 37.3284293, + "lon": -122.0150469 +}, +{ + "type": "node", + "id": 3532490049, + "lat": 37.3282023, + "lon": -122.0150455 +}, +{ + "type": "node", + "id": 3532490058, + "lat": 37.3277820, + "lon": -122.0162286 +}, +{ + "type": "node", + "id": 3532490059, + "lat": 37.3277758, + "lon": -122.0152453 +}, +{ + "type": "node", + "id": 3788073251, + "lat": 37.3253519, + "lon": -122.0093780 +}, +{ + "type": "node", + "id": 3788073252, + "lat": 37.3253553, + "lon": -122.0094586 +}, +{ + "type": "node", + "id": 3788073253, + "lat": 37.3253605, + "lon": -122.0092996 +}, +{ + "type": "node", + "id": 3788073254, + "lat": 37.3253887, + "lon": -122.0095281 +}, +{ + "type": "node", + "id": 3788073255, + "lat": 37.3254021, + "lon": -122.0092494 +}, +{ + "type": "node", + "id": 3788073256, + "lat": 37.3254484, + "lon": -122.0096526 +}, +{ + "type": "node", + "id": 3788073557, + "lat": 37.3254825, + "lon": -122.0097084 +}, +{ + "type": "node", + "id": 3788073558, + "lat": 37.3256329, + "lon": -122.0114841 +}, +{ + "type": "node", + "id": 3788073559, + "lat": 37.3256991, + "lon": -122.0101329 +}, +{ + "type": "node", + "id": 3788073560, + "lat": 37.3258755, + "lon": -122.0109165 +}, +{ + "type": "node", + "id": 3788073561, + "lat": 37.3258889, + "lon": -122.0114910 +}, +{ + "type": "node", + "id": 3788073562, + "lat": 37.3259586, + "lon": -122.0115412 +}, +{ + "type": "node", + "id": 3788073563, + "lat": 37.3260387, + "lon": -122.0113949 +}, +{ + "type": "node", + "id": 3788073564, + "lat": 37.3260636, + "lon": -122.0115676 +}, +{ + "type": "node", + "id": 3788073565, + "lat": 37.3262470, + "lon": -122.0085668 +}, +{ + "type": "node", + "id": 3788073566, + "lat": 37.3262991, + "lon": -122.0115488 +}, +{ + "type": "node", + "id": 3788073567, + "lat": 37.3263021, + "lon": -122.0113964 +}, +{ + "type": "node", + "id": 3788073568, + "lat": 37.3263361, + "lon": -122.0087450 +}, +{ + "type": "node", + "id": 3788073569, + "lat": 37.3263534, + "lon": -122.0084809 +}, +{ + "type": "node", + "id": 3788073571, + "lat": 37.3264482, + "lon": -122.0115369 +}, +{ + "type": "node", + "id": 3788073572, + "lat": 37.3264897, + "lon": -122.0083707 +}, +{ + "type": "node", + "id": 3788073573, + "lat": 37.3266205, + "lon": -122.0082651 +}, +{ + "type": "node", + "id": 3788073574, + "lat": 37.3266245, + "lon": -122.0115591 +}, +{ + "type": "node", + "id": 3788073575, + "lat": 37.3266268, + "lon": -122.0114118 +}, +{ + "type": "node", + "id": 3788073576, + "lat": 37.3267155, + "lon": -122.0081883 +}, +{ + "type": "node", + "id": 3788073579, + "lat": 37.3267688, + "lon": -122.0095577 +}, +{ + "type": "node", + "id": 3788073580, + "lat": 37.3267753, + "lon": -122.0092941 +}, +{ + "type": "node", + "id": 3788073581, + "lat": 37.3267857, + "lon": -122.0095894 +}, +{ + "type": "node", + "id": 3788073582, + "lat": 37.3268388, + "lon": -122.0114126 +}, +{ + "type": "node", + "id": 3788073584, + "lat": 37.3268647, + "lon": -122.0115813 +}, +{ + "type": "node", + "id": 3788073585, + "lat": 37.3268706, + "lon": -122.0094744 +}, +{ + "type": "node", + "id": 3788073586, + "lat": 37.3269113, + "lon": -122.0098595 +}, +{ + "type": "node", + "id": 3788073587, + "lat": 37.3269598, + "lon": -122.0099848 +}, +{ + "type": "node", + "id": 3788073588, + "lat": 37.3269789, + "lon": -122.0089433 +}, +{ + "type": "node", + "id": 3788073589, + "lat": 37.3269875, + "lon": -122.0096841 +}, +{ + "type": "node", + "id": 3788073591, + "lat": 37.3270081, + "lon": -122.0093618 +}, +{ + "type": "node", + "id": 3788073592, + "lat": 37.3270092, + "lon": -122.0101820 +}, +{ + "type": "node", + "id": 3788073593, + "lat": 37.3270268, + "lon": -122.0115390 +}, +{ + "type": "node", + "id": 3788073594, + "lat": 37.3270387, + "lon": -122.0104653 +}, +{ + "type": "node", + "id": 3788073595, + "lat": 37.3270387, + "lon": -122.0107148 +}, +{ + "type": "node", + "id": 3788073596, + "lat": 37.3270679, + "lon": -122.0115306 +}, +{ + "type": "node", + "id": 3788073598, + "lat": 37.3270768, + "lon": -122.0099031 +}, +{ + "type": "node", + "id": 3788073600, + "lat": 37.3270984, + "lon": -122.0104522 +}, +{ + "type": "node", + "id": 3788073602, + "lat": 37.3271395, + "lon": -122.0092542 +}, +{ + "type": "node", + "id": 3788073603, + "lat": 37.3271504, + "lon": -122.0101940 +}, +{ + "type": "node", + "id": 3788073604, + "lat": 37.3271686, + "lon": -122.0104536 +}, +{ + "type": "node", + "id": 3788073605, + "lat": 37.3271686, + "lon": -122.0115333 +}, +{ + "type": "node", + "id": 3788073606, + "lat": 37.3271703, + "lon": -122.0103498 +}, +{ + "type": "node", + "id": 3788073607, + "lat": 37.3271764, + "lon": -122.0110307 +}, +{ + "type": "node", + "id": 3788073608, + "lat": 37.3271781, + "lon": -122.0096939 +}, +{ + "type": "node", + "id": 3788073609, + "lat": 37.3272231, + "lon": -122.0091813 +}, +{ + "type": "node", + "id": 3788073610, + "lat": 37.3272604, + "lon": -122.0099521 +}, +{ + "type": "node", + "id": 3788073611, + "lat": 37.3272778, + "lon": -122.0095218 +}, +{ + "type": "node", + "id": 3788073612, + "lat": 37.3273245, + "lon": -122.0102681 +}, +{ + "type": "node", + "id": 3788073613, + "lat": 37.3273289, + "lon": -122.0115376 +}, +{ + "type": "node", + "id": 3788073614, + "lat": 37.3273488, + "lon": -122.0104573 +}, +{ + "type": "node", + "id": 3788073615, + "lat": 37.3273843, + "lon": -122.0097789 +}, +{ + "type": "node", + "id": 3788073616, + "lat": 37.3274580, + "lon": -122.0101036 +}, +{ + "type": "node", + "id": 3788073617, + "lat": 37.3274883, + "lon": -122.0102932 +}, +{ + "type": "node", + "id": 3788073618, + "lat": 37.3274883, + "lon": -122.0115419 +}, +{ + "type": "node", + "id": 3788073619, + "lat": 37.3274996, + "lon": -122.0104603 +}, +{ + "type": "node", + "id": 3788073620, + "lat": 37.3276373, + "lon": -122.0115459 +}, +{ + "type": "node", + "id": 3788073621, + "lat": 37.3276494, + "lon": -122.0104633 +}, +{ + "type": "node", + "id": 3788073622, + "lat": 37.3277846, + "lon": -122.0115499 +}, +{ + "type": "node", + "id": 3788073623, + "lat": 37.3278019, + "lon": -122.0104664 +}, +{ + "type": "node", + "id": 3788073624, + "lat": 37.3278553, + "lon": -122.0104180 +}, +{ + "type": "node", + "id": 3788073625, + "lat": 37.3279318, + "lon": -122.0115538 +}, +{ + "type": "node", + "id": 3788073626, + "lat": 37.3279448, + "lon": -122.0107191 +}, +{ + "type": "node", + "id": 3788073627, + "lat": 37.3279871, + "lon": -122.0106758 +}, +{ + "type": "node", + "id": 3788073628, + "lat": 37.3281190, + "lon": -122.0115589 +}, +{ + "type": "node", + "id": 3788073629, + "lat": 37.3281250, + "lon": -122.0110569 +}, +{ + "type": "node", + "id": 3788073630, + "lat": 37.3281633, + "lon": -122.0110205 +}, +{ + "type": "node", + "id": 3788073631, + "lat": 37.3283719, + "lon": -122.0115657 +}, +{ + "type": "node", + "id": 3788073632, + "lat": 37.3284153, + "lon": -122.0115134 +}, +{ + "type": "node", + "id": 3833356720, + "lat": 37.3333788, + "lon": -122.0129942, + "tags": { + "barrier": "gate" + } +}, +{ + "type": "node", + "id": 3954310876, + "lat": 37.3263532, + "lon": -122.0130877 +}, +{ + "type": "node", + "id": 3966835394, + "lat": 37.3263676, + "lon": -122.0144527 +}, +{ + "type": "node", + "id": 3966835398, + "lat": 37.3295826, + "lon": -122.0144573 +}, +{ + "type": "node", + "id": 4089778744, + "lat": 37.3295621, + "lon": -122.0152657 +}, +{ + "type": "node", + "id": 4089778745, + "lat": 37.3296485, + "lon": -122.0153621 +}, +{ + "type": "node", + "id": 4176741311, + "lat": 37.3305357, + "lon": -122.0128212 +}, +{ + "type": "node", + "id": 4465627979, + "lat": 37.3270240, + "lon": -122.0117462 +}, +{ + "type": "node", + "id": 4465627980, + "lat": 37.3262248, + "lon": -122.0117317 +}, +{ + "type": "node", + "id": 4465627981, + "lat": 37.3263847, + "lon": -122.0115420 +}, +{ + "type": "node", + "id": 4728204684, + "lat": 37.3301991, + "lon": -122.0138443 +}, +{ + "type": "node", + "id": 4817634940, + "lat": 37.3270460, + "lon": -122.0144761 +}, +{ + "type": "node", + "id": 4817634942, + "lat": 37.3270563, + "lon": -122.0142280 +}, +{ + "type": "node", + "id": 4949175387, + "lat": 37.3293749, + "lon": -122.0154103 +}, +{ + "type": "node", + "id": 4949175388, + "lat": 37.3289304, + "lon": -122.0154020 +}, +{ + "type": "node", + "id": 4949175389, + "lat": 37.3289302, + "lon": -122.0155871 +}, +{ + "type": "node", + "id": 4949175390, + "lat": 37.3295373, + "lon": -122.0155837 +}, +{ + "type": "node", + "id": 4949175391, + "lat": 37.3289299, + "lon": -122.0157976 +}, +{ + "type": "node", + "id": 4949175392, + "lat": 37.3296007, + "lon": -122.0158074 +}, +{ + "type": "node", + "id": 4949175393, + "lat": 37.3295942, + "lon": -122.0159975 +}, +{ + "type": "node", + "id": 4949175394, + "lat": 37.3289297, + "lon": -122.0159921 +}, +{ + "type": "node", + "id": 4949175395, + "lat": 37.3295876, + "lon": -122.0161933 +}, +{ + "type": "node", + "id": 4949175396, + "lat": 37.3296057, + "lon": -122.0156568 +}, +{ + "type": "node", + "id": 4949175397, + "lat": 37.3292314, + "lon": -122.0152572 +}, +{ + "type": "node", + "id": 4988459387, + "lat": 37.3321149, + "lon": -122.0110947 +}, +{ + "type": "node", + "id": 4988459388, + "lat": 37.3319422, + "lon": -122.0114573 +}, +{ + "type": "node", + "id": 4988459391, + "lat": 37.3312828, + "lon": -122.0120362 +}, +{ + "type": "node", + "id": 4988459392, + "lat": 37.3311664, + "lon": -122.0120626 +}, +{ + "type": "node", + "id": 4988459393, + "lat": 37.3310578, + "lon": -122.0120455 +}, +{ + "type": "node", + "id": 5054147383, + "lat": 37.3303379, + "lon": -122.0122872 +}, +{ + "type": "node", + "id": 5054173649, + "lat": 37.3292606, + "lon": -122.0076173 +}, +{ + "type": "node", + "id": 5054173663, + "lat": 37.3317276, + "lon": -122.0117005 +}, +{ + "type": "node", + "id": 5054173664, + "lat": 37.3279843, + "lon": -122.0084155 +}, +{ + "type": "node", + "id": 5054173665, + "lat": 37.3279573, + "lon": -122.0083376 +}, +{ + "type": "node", + "id": 5054173666, + "lat": 37.3279321, + "lon": -122.0082197 +}, +{ + "type": "node", + "id": 5054173667, + "lat": 37.3279364, + "lon": -122.0080977 +}, +{ + "type": "node", + "id": 5054173668, + "lat": 37.3282149, + "lon": -122.0077652 +}, +{ + "type": "node", + "id": 5054173669, + "lat": 37.3283204, + "lon": -122.0077744 +}, +{ + "type": "node", + "id": 5054173670, + "lat": 37.3284136, + "lon": -122.0078070 +}, +{ + "type": "node", + "id": 5054173672, + "lat": 37.3279699, + "lon": -122.0079830 +}, +{ + "type": "node", + "id": 5054173673, + "lat": 37.3280422, + "lon": -122.0078704 +}, +{ + "type": "node", + "id": 5054173674, + "lat": 37.3281220, + "lon": -122.0078009 +}, +{ + "type": "node", + "id": 5054173675, + "lat": 37.3309095, + "lon": -122.0119457 +}, +{ + "type": "node", + "id": 5054173676, + "lat": 37.3307401, + "lon": -122.0122700, + "tags": { + "crossing": "marked", + "crossing:markings": "zebra", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 5054173677, + "lat": 37.3306349, + "lon": -122.0124307 +}, +{ + "type": "node", + "id": 5054173678, + "lat": 37.3305724, + "lon": -122.0125040 +}, +{ + "type": "node", + "id": 5054173679, + "lat": 37.3304135, + "lon": -122.0124442 +}, +{ + "type": "node", + "id": 5054173680, + "lat": 37.3303107, + "lon": -122.0123783 +}, +{ + "type": "node", + "id": 5054173681, + "lat": 37.3302258, + "lon": -122.0122927 +}, +{ + "type": "node", + "id": 5054173682, + "lat": 37.3288134, + "lon": -122.0083192 +}, +{ + "type": "node", + "id": 5054547512, + "lat": 37.3322036, + "lon": -122.0112039 +}, +{ + "type": "node", + "id": 5054547513, + "lat": 37.3320880, + "lon": -122.0112999 +}, +{ + "type": "node", + "id": 5054547514, + "lat": 37.3320084, + "lon": -122.0111911 +}, +{ + "type": "node", + "id": 5054579471, + "lat": 37.3314066, + "lon": -122.0119637 +}, +{ + "type": "node", + "id": 5054579472, + "lat": 37.3323107, + "lon": -122.0109610 +}, +{ + "type": "node", + "id": 5054579473, + "lat": 37.3320595, + "lon": -122.0111421 +}, +{ + "type": "node", + "id": 5054579474, + "lat": 37.3319653, + "lon": -122.0112334 +}, +{ + "type": "node", + "id": 5054579475, + "lat": 37.3319298, + "lon": -122.0112734 +}, +{ + "type": "node", + "id": 5054707737, + "lat": 37.3336550, + "lon": -122.0117407 +}, +{ + "type": "node", + "id": 5054961332, + "lat": 37.3338230, + "lon": -122.0062245 +}, +{ + "type": "node", + "id": 5054961333, + "lat": 37.3326332, + "lon": -122.0090006 +}, +{ + "type": "node", + "id": 5054961334, + "lat": 37.3324585, + "lon": -122.0089851 +}, +{ + "type": "node", + "id": 5054961335, + "lat": 37.3309687, + "lon": -122.0084579 +}, +{ + "type": "node", + "id": 5054961336, + "lat": 37.3329039, + "lon": -122.0103361 +}, +{ + "type": "node", + "id": 5054961337, + "lat": 37.3326687, + "lon": -122.0104172 +}, +{ + "type": "node", + "id": 5054961341, + "lat": 37.3310978, + "lon": -122.0105407 +}, +{ + "type": "node", + "id": 5054961343, + "lat": 37.3304928, + "lon": -122.0095102 +}, +{ + "type": "node", + "id": 5054961344, + "lat": 37.3314748, + "lon": -122.0114482 +}, +{ + "type": "node", + "id": 5054961345, + "lat": 37.3318912, + "lon": -122.0110389 +}, +{ + "type": "node", + "id": 5054961347, + "lat": 37.3321453, + "lon": -122.0108258 +}, +{ + "type": "node", + "id": 5054961348, + "lat": 37.3322764, + "lon": -122.0107861 +}, +{ + "type": "node", + "id": 5054961349, + "lat": 37.3324147, + "lon": -122.0109041 +}, +{ + "type": "node", + "id": 5054961350, + "lat": 37.3324642, + "lon": -122.0110341 +}, +{ + "type": "node", + "id": 5054961351, + "lat": 37.3325066, + "lon": -122.0111876 +}, +{ + "type": "node", + "id": 5054961352, + "lat": 37.3326051, + "lon": -122.0113293 +}, +{ + "type": "node", + "id": 5054961353, + "lat": 37.3327513, + "lon": -122.0113646 +}, +{ + "type": "node", + "id": 5054961354, + "lat": 37.3328301, + "lon": -122.0113490 +}, +{ + "type": "node", + "id": 5054961355, + "lat": 37.3328987, + "lon": -122.0113381 +}, +{ + "type": "node", + "id": 5054961356, + "lat": 37.3330923, + "lon": -122.0115157 +}, +{ + "type": "node", + "id": 5054961357, + "lat": 37.3331342, + "lon": -122.0115948 +}, +{ + "type": "node", + "id": 5054961358, + "lat": 37.3331878, + "lon": -122.0116575 +}, +{ + "type": "node", + "id": 5054961359, + "lat": 37.3333232, + "lon": -122.0117495 +}, +{ + "type": "node", + "id": 5054961361, + "lat": 37.3335429, + "lon": -122.0117600, + "tags": { + "access": "private", + "barrier": "gate", + "private": "employees" + } +}, +{ + "type": "node", + "id": 5054961362, + "lat": 37.3326834, + "lon": -122.0113650 +}, +{ + "type": "node", + "id": 5054961363, + "lat": 37.3325525, + "lon": -122.0112673 +}, +{ + "type": "node", + "id": 5054961364, + "lat": 37.3323347, + "lon": -122.0108172 +}, +{ + "type": "node", + "id": 5054961365, + "lat": 37.3322112, + "lon": -122.0107927 +}, +{ + "type": "node", + "id": 5054961366, + "lat": 37.3332526, + "lon": -122.0117075 +}, +{ + "type": "node", + "id": 5054961367, + "lat": 37.3329698, + "lon": -122.0113621 +}, +{ + "type": "node", + "id": 5054961370, + "lat": 37.3335418, + "lon": -122.0113974 +}, +{ + "type": "node", + "id": 5054961371, + "lat": 37.3334328, + "lon": -122.0113698 +}, +{ + "type": "node", + "id": 5054961372, + "lat": 37.3333001, + "lon": -122.0113080 +}, +{ + "type": "node", + "id": 5054961374, + "lat": 37.3332233, + "lon": -122.0112600 +}, +{ + "type": "node", + "id": 5054961375, + "lat": 37.3331670, + "lon": -122.0112005 +}, +{ + "type": "node", + "id": 5054961376, + "lat": 37.3331288, + "lon": -122.0111493 +}, +{ + "type": "node", + "id": 5054961377, + "lat": 37.3330090, + "lon": -122.0110060 +}, +{ + "type": "node", + "id": 5054961378, + "lat": 37.3330680, + "lon": -122.0110952 +}, +{ + "type": "node", + "id": 5054961379, + "lat": 37.3329656, + "lon": -122.0109392 +}, +{ + "type": "node", + "id": 5054961380, + "lat": 37.3322430, + "lon": -122.0106081 +}, +{ + "type": "node", + "id": 5054961381, + "lat": 37.3321491, + "lon": -122.0105493 +}, +{ + "type": "node", + "id": 5054961382, + "lat": 37.3320643, + "lon": -122.0105137 +}, +{ + "type": "node", + "id": 5054961383, + "lat": 37.3317627, + "lon": -122.0107043 +}, +{ + "type": "node", + "id": 5054961384, + "lat": 37.3316415, + "lon": -122.0110602 +}, +{ + "type": "node", + "id": 5054961385, + "lat": 37.3315226, + "lon": -122.0110600 +}, +{ + "type": "node", + "id": 5054961386, + "lat": 37.3314279, + "lon": -122.0108948 +}, +{ + "type": "node", + "id": 5054961387, + "lat": 37.3312936, + "lon": -122.0107042 +}, +{ + "type": "node", + "id": 5054961388, + "lat": 37.3320023, + "lon": -122.0105003 +}, +{ + "type": "node", + "id": 5054961389, + "lat": 37.3318646, + "lon": -122.0105246 +}, +{ + "type": "node", + "id": 5054961390, + "lat": 37.3318112, + "lon": -122.0105839 +}, +{ + "type": "node", + "id": 5054961391, + "lat": 37.3315811, + "lon": -122.0110833 +}, +{ + "type": "node", + "id": 5054961392, + "lat": 37.3317147, + "lon": -122.0109746 +}, +{ + "type": "node", + "id": 5054961393, + "lat": 37.3317540, + "lon": -122.0108417 +}, +{ + "type": "node", + "id": 5054961394, + "lat": 37.3314644, + "lon": -122.0109676 +}, +{ + "type": "node", + "id": 5054961396, + "lat": 37.3322745, + "lon": -122.0100050 +}, +{ + "type": "node", + "id": 5054961397, + "lat": 37.3319438, + "lon": -122.0102002 +}, +{ + "type": "node", + "id": 5054961398, + "lat": 37.3320265, + "lon": -122.0109063 +}, +{ + "type": "node", + "id": 5054961399, + "lat": 37.3320464, + "lon": -122.0107355 +}, +{ + "type": "node", + "id": 5054961400, + "lat": 37.3320441, + "lon": -122.0108096 +}, +{ + "type": "node", + "id": 5054961401, + "lat": 37.3327667, + "lon": -122.0104084 +}, +{ + "type": "node", + "id": 5054961402, + "lat": 37.3325577, + "lon": -122.0103734 +}, +{ + "type": "node", + "id": 5054961404, + "lat": 37.3323794, + "lon": -122.0102219 +}, +{ + "type": "node", + "id": 5054961405, + "lat": 37.3324665, + "lon": -122.0103158 +}, +{ + "type": "node", + "id": 5054961406, + "lat": 37.3323090, + "lon": -122.0101110 +}, +{ + "type": "node", + "id": 5054961408, + "lat": 37.3321384, + "lon": -122.0099070 +}, +{ + "type": "node", + "id": 5054961409, + "lat": 37.3320257, + "lon": -122.0099733 +}, +{ + "type": "node", + "id": 5054961410, + "lat": 37.3319622, + "lon": -122.0101191 +}, +{ + "type": "node", + "id": 5054961411, + "lat": 37.3320264, + "lon": -122.0106584 +}, +{ + "type": "node", + "id": 5054961412, + "lat": 37.3319921, + "lon": -122.0105801 +}, +{ + "type": "node", + "id": 5054961413, + "lat": 37.3319364, + "lon": -122.0103299 +}, +{ + "type": "node", + "id": 5054961414, + "lat": 37.3321715, + "lon": -122.0097163 +}, +{ + "type": "node", + "id": 5054961415, + "lat": 37.3316233, + "lon": -122.0093272 +}, +{ + "type": "node", + "id": 5054961416, + "lat": 37.3312653, + "lon": -122.0102130 +}, +{ + "type": "node", + "id": 5054961417, + "lat": 37.3311743, + "lon": -122.0104564 +}, +{ + "type": "node", + "id": 5054961418, + "lat": 37.3312277, + "lon": -122.0103441 +}, +{ + "type": "node", + "id": 5054961419, + "lat": 37.3319936, + "lon": -122.0100387 +}, +{ + "type": "node", + "id": 5054961420, + "lat": 37.3320676, + "lon": -122.0099269 +}, +{ + "type": "node", + "id": 5054961421, + "lat": 37.3322631, + "lon": -122.0099670 +}, +{ + "type": "node", + "id": 5054961422, + "lat": 37.3312655, + "lon": -122.0095787 +}, +{ + "type": "node", + "id": 5054961423, + "lat": 37.3322469, + "lon": -122.0089244 +}, +{ + "type": "node", + "id": 5054961424, + "lat": 37.3320402, + "lon": -122.0088271 +}, +{ + "type": "node", + "id": 5054961425, + "lat": 37.3319111, + "lon": -122.0088404 +}, +{ + "type": "node", + "id": 5054961426, + "lat": 37.3316840, + "lon": -122.0089064 +}, +{ + "type": "node", + "id": 5054961428, + "lat": 37.3313379, + "lon": -122.0093082 +}, +{ + "type": "node", + "id": 5054961429, + "lat": 37.3314267, + "lon": -122.0091461 +}, +{ + "type": "node", + "id": 5054961430, + "lat": 37.3315198, + "lon": -122.0090255 +}, +{ + "type": "node", + "id": 5054961431, + "lat": 37.3317773, + "lon": -122.0088748 +}, +{ + "type": "node", + "id": 5054961432, + "lat": 37.3312824, + "lon": -122.0094600 +}, +{ + "type": "node", + "id": 5054961433, + "lat": 37.3316030, + "lon": -122.0089600 +}, +{ + "type": "node", + "id": 5054961434, + "lat": 37.3320640, + "lon": -122.0095458 +}, +{ + "type": "node", + "id": 5054961435, + "lat": 37.3314122, + "lon": -122.0094213 +}, +{ + "type": "node", + "id": 5054961436, + "lat": 37.3312585, + "lon": -122.0097042 +}, +{ + "type": "node", + "id": 5054961437, + "lat": 37.3315265, + "lon": -122.0093430 +}, +{ + "type": "node", + "id": 5054961438, + "lat": 37.3317237, + "lon": -122.0093341 +}, +{ + "type": "node", + "id": 5054961439, + "lat": 37.3319057, + "lon": -122.0094030 +}, +{ + "type": "node", + "id": 5054961440, + "lat": 37.3312574, + "lon": -122.0106531 +}, +{ + "type": "node", + "id": 5054961441, + "lat": 37.3312443, + "lon": -122.0105906 +}, +{ + "type": "node", + "id": 5054961442, + "lat": 37.3312485, + "lon": -122.0105002 +}, +{ + "type": "node", + "id": 5054961443, + "lat": 37.3312757, + "lon": -122.0104234 +}, +{ + "type": "node", + "id": 5054961444, + "lat": 37.3312927, + "lon": -122.0103773 +}, +{ + "type": "node", + "id": 5054961445, + "lat": 37.3313175, + "lon": -122.0103166 +}, +{ + "type": "node", + "id": 5054961446, + "lat": 37.3313252, + "lon": -122.0102493 +}, +{ + "type": "node", + "id": 5054961447, + "lat": 37.3312767, + "lon": -122.0101116 +}, +{ + "type": "node", + "id": 5054961448, + "lat": 37.3312407, + "lon": -122.0100568 +}, +{ + "type": "node", + "id": 5054961449, + "lat": 37.3319566, + "lon": -122.0104974 +}, +{ + "type": "node", + "id": 5054961465, + "lat": 37.3305035, + "lon": -122.0071288 +}, +{ + "type": "node", + "id": 5054961466, + "lat": 37.3311727, + "lon": -122.0065916 +}, +{ + "type": "node", + "id": 5054961467, + "lat": 37.3313102, + "lon": -122.0068898 +}, +{ + "type": "node", + "id": 5054961468, + "lat": 37.3317281, + "lon": -122.0070562 +}, +{ + "type": "node", + "id": 5054961469, + "lat": 37.3323341, + "lon": -122.0070986 +}, +{ + "type": "node", + "id": 5054961470, + "lat": 37.3327315, + "lon": -122.0069229 +}, +{ + "type": "node", + "id": 5054961471, + "lat": 37.3334821, + "lon": -122.0064327 +}, +{ + "type": "node", + "id": 5054961481, + "lat": 37.3311227, + "lon": -122.0085232 +}, +{ + "type": "node", + "id": 5054961482, + "lat": 37.3310697, + "lon": -122.0084963 +}, +{ + "type": "node", + "id": 5054961483, + "lat": 37.3309271, + "lon": -122.0082761 +}, +{ + "type": "node", + "id": 5054961484, + "lat": 37.3309391, + "lon": -122.0084062 +}, +{ + "type": "node", + "id": 5054961485, + "lat": 37.3310654, + "lon": -122.0094874 +}, +{ + "type": "node", + "id": 5054961486, + "lat": 37.3311603, + "lon": -122.0098853 +}, +{ + "type": "node", + "id": 5054961487, + "lat": 37.3310928, + "lon": -122.0096854 +}, +{ + "type": "node", + "id": 5054961488, + "lat": 37.3311597, + "lon": -122.0085872 +}, +{ + "type": "node", + "id": 5054961489, + "lat": 37.3311053, + "lon": -122.0088951 +}, +{ + "type": "node", + "id": 5054961490, + "lat": 37.3310546, + "lon": -122.0092856 +}, +{ + "type": "node", + "id": 5054961491, + "lat": 37.3310631, + "lon": -122.0091072 +}, +{ + "type": "node", + "id": 5054961492, + "lat": 37.3311726, + "lon": -122.0086480 +}, +{ + "type": "node", + "id": 5054961493, + "lat": 37.3311631, + "lon": -122.0087203 +}, +{ + "type": "node", + "id": 5054961494, + "lat": 37.3311379, + "lon": -122.0087769 +}, +{ + "type": "node", + "id": 5054961495, + "lat": 37.3308182, + "lon": -122.0081551 +}, +{ + "type": "node", + "id": 5054961497, + "lat": 37.3308801, + "lon": -122.0081917 +}, +{ + "type": "node", + "id": 5054961498, + "lat": 37.3307682, + "lon": -122.0081595 +}, +{ + "type": "node", + "id": 5054961499, + "lat": 37.3304227, + "lon": -122.0081485 +}, +{ + "type": "node", + "id": 5054961500, + "lat": 37.3303400, + "lon": -122.0074597 +}, +{ + "type": "node", + "id": 5054961501, + "lat": 37.3303676, + "lon": -122.0081029 +}, +{ + "type": "node", + "id": 5054961502, + "lat": 37.3303052, + "lon": -122.0080145 +}, +{ + "type": "node", + "id": 5054961503, + "lat": 37.3302619, + "lon": -122.0079001 +}, +{ + "type": "node", + "id": 5054961504, + "lat": 37.3302447, + "lon": -122.0077370 +}, +{ + "type": "node", + "id": 5054961505, + "lat": 37.3314790, + "lon": -122.0070340 +}, +{ + "type": "node", + "id": 5054961506, + "lat": 37.3312577, + "lon": -122.0068126 +}, +{ + "type": "node", + "id": 5054961507, + "lat": 37.3310953, + "lon": -122.0065015 +}, +{ + "type": "node", + "id": 5054961508, + "lat": 37.3309628, + "lon": -122.0064544 +}, +{ + "type": "node", + "id": 5054961518, + "lat": 37.3329169, + "lon": -122.0067398 +}, +{ + "type": "node", + "id": 5054961529, + "lat": 37.3316099, + "lon": -122.0070647 +}, +{ + "type": "node", + "id": 5054961530, + "lat": 37.3321503, + "lon": -122.0071032 +}, +{ + "type": "node", + "id": 5054961531, + "lat": 37.3325561, + "lon": -122.0070303 +}, +{ + "type": "node", + "id": 5054961532, + "lat": 37.3330731, + "lon": -122.0065962 +}, +{ + "type": "node", + "id": 5054961533, + "lat": 37.3332578, + "lon": -122.0065028 +}, +{ + "type": "node", + "id": 5054961534, + "lat": 37.3337047, + "lon": -122.0062817 +}, +{ + "type": "node", + "id": 5054961535, + "lat": 37.3339794, + "lon": -122.0062503 +}, +{ + "type": "node", + "id": 5054961596, + "lat": 37.3314026, + "lon": -122.0069848 +}, +{ + "type": "node", + "id": 5054961597, + "lat": 37.3307711, + "lon": -122.0065169 +}, +{ + "type": "node", + "id": 5054961598, + "lat": 37.3312182, + "lon": -122.0067091 +}, +{ + "type": "node", + "id": 5056020446, + "lat": 37.3326720, + "lon": -122.0090000, + "tags": { + "entrance": "yes", + "name": "Entrance 4", + "ref": "4" + } +}, +{ + "type": "node", + "id": 5062548313, + "lat": 37.3321758, + "lon": -122.0110447 +}, +{ + "type": "node", + "id": 5062598032, + "lat": 37.3288113, + "lon": -122.0079848 +}, +{ + "type": "node", + "id": 5062598033, + "lat": 37.3285070, + "lon": -122.0078440, + "tags": { + "crossing": "marked", + "crossing:markings": "zebra", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 5062598034, + "lat": 37.3287124, + "lon": -122.0079360, + "tags": { + "crossing": "marked", + "crossing:markings": "zebra", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 5062598035, + "lat": 37.3303296, + "lon": -122.0112473, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062598036, + "lat": 37.3297326, + "lon": -122.0102135 +}, +{ + "type": "node", + "id": 5062598038, + "lat": 37.3305331, + "lon": -122.0110623, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062598039, + "lat": 37.3309458, + "lon": -122.0106992 +}, +{ + "type": "node", + "id": 5062598040, + "lat": 37.3299404, + "lon": -122.0100271 +}, +{ + "type": "node", + "id": 5062598041, + "lat": 37.3303452, + "lon": -122.0096566 +}, +{ + "type": "node", + "id": 5062598044, + "lat": 37.3308323, + "lon": -122.0118416, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 5062645225, + "lat": 37.3307000, + "lon": -122.0113528, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645228, + "lat": 37.3303160, + "lon": -122.0106775, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645229, + "lat": 37.3300482, + "lon": -122.0102181, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645230, + "lat": 37.3298279, + "lon": -122.0098323, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645231, + "lat": 37.3295537, + "lon": -122.0093573, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645232, + "lat": 37.3293460, + "lon": -122.0095443, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645233, + "lat": 37.3304952, + "lon": -122.0115340, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645234, + "lat": 37.3301080, + "lon": -122.0108636, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645235, + "lat": 37.3298436, + "lon": -122.0104057, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645236, + "lat": 37.3296208, + "lon": -122.0100200, + "tags": { + "amenity": "parking_entrance" + } +}, +{ + "type": "node", + "id": 5062645237, + "lat": 37.3302112, + "lon": -122.0107710, + "tags": { + "highway": "priority" + } +}, +{ + "type": "node", + "id": 5062645238, + "lat": 37.3299485, + "lon": -122.0103090, + "tags": { + "highway": "priority" + } +}, +{ + "type": "node", + "id": 5062645239, + "lat": 37.3294524, + "lon": -122.0094480, + "tags": { + "highway": "priority" + } +}, +{ + "type": "node", + "id": 5062645240, + "lat": 37.3297286, + "lon": -122.0099220, + "tags": { + "highway": "priority" + } +}, +{ + "type": "node", + "id": 5066566616, + "lat": 37.3306386, + "lon": -122.0113598 +}, +{ + "type": "node", + "id": 5066566618, + "lat": 37.3307584, + "lon": -122.0117305, + "tags": { + "direction": "forward", + "traffic_calming": "hump" + } +}, +{ + "type": "node", + "id": 5066566619, + "lat": 37.3305710, + "lon": -122.0115594 +}, +{ + "type": "node", + "id": 5066566620, + "lat": 37.3288168, + "lon": -122.0084768 +}, +{ + "type": "node", + "id": 5066567228, + "lat": 37.3306867, + "lon": -122.0117027 +}, +{ + "type": "node", + "id": 5066567229, + "lat": 37.3306260, + "lon": -122.0116420 +}, +{ + "type": "node", + "id": 5066567230, + "lat": 37.3305355, + "lon": -122.0113415 +}, +{ + "type": "node", + "id": 5066567231, + "lat": 37.3291002, + "lon": -122.0088442 +}, +{ + "type": "node", + "id": 5066636409, + "lat": 37.3307184, + "lon": -122.0117192 +}, +{ + "type": "node", + "id": 5066636410, + "lat": 37.3306543, + "lon": -122.0116736 +}, +{ + "type": "node", + "id": 5066636411, + "lat": 37.3306604, + "lon": -122.0115594 +}, +{ + "type": "node", + "id": 5066636414, + "lat": 37.3305975, + "lon": -122.0116046 +}, +{ + "type": "node", + "id": 5083475858, + "lat": 37.3306893, + "lon": -122.0081943 +}, +{ + "type": "node", + "id": 5083475859, + "lat": 37.3304828, + "lon": -122.0081844 +}, +{ + "type": "node", + "id": 5083475860, + "lat": 37.3305732, + "lon": -122.0082075 +}, +{ + "type": "node", + "id": 5448692259, + "lat": 37.3302806, + "lon": -122.0075815 +}, +{ + "type": "node", + "id": 5448692260, + "lat": 37.3341056, + "lon": -122.0063655 +}, +{ + "type": "node", + "id": 5448692261, + "lat": 37.3339068, + "lon": -122.0062255 +}, +{ + "type": "node", + "id": 5448692262, + "lat": 37.3340347, + "lon": -122.0062865 +}, +{ + "type": "node", + "id": 5448692263, + "lat": 37.3319277, + "lon": -122.0070641 +}, +{ + "type": "node", + "id": 5448692264, + "lat": 37.3305731, + "lon": -122.0069232 +}, +{ + "type": "node", + "id": 5448692265, + "lat": 37.3306314, + "lon": -122.0067129 +}, +{ + "type": "node", + "id": 5448692266, + "lat": 37.3307129, + "lon": -122.0065744 +}, +{ + "type": "node", + "id": 5448692267, + "lat": 37.3310320, + "lon": -122.0064653 +}, +{ + "type": "node", + "id": 5448692268, + "lat": 37.3306697, + "lon": -122.0066321 +}, +{ + "type": "node", + "id": 5448692269, + "lat": 37.3313550, + "lon": -122.0069315 +}, +{ + "type": "node", + "id": 5451414542, + "lat": 37.3330477, + "lon": -122.0114301 +}, +{ + "type": "node", + "id": 5451414543, + "lat": 37.3323736, + "lon": -122.0108549 +}, +{ + "type": "node", + "id": 5884290175, + "lat": 37.3326561, + "lon": -122.0146865, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 6038239310, + "lat": 37.3279302, + "lon": -122.0162270 +}, +{ + "type": "node", + "id": 6461394529, + "lat": 37.3323648, + "lon": -122.0106648 +}, +{ + "type": "node", + "id": 6461394530, + "lat": 37.3326012, + "lon": -122.0106912 +}, +{ + "type": "node", + "id": 6461394531, + "lat": 37.3328091, + "lon": -122.0107927 +}, +{ + "type": "node", + "id": 6461394532, + "lat": 37.3327234, + "lon": -122.0107336 +}, +{ + "type": "node", + "id": 6461394537, + "lat": 37.3336946, + "lon": -122.0113832 +}, +{ + "type": "node", + "id": 6737741105, + "lat": 37.3268168, + "lon": -122.0144682, + "tags": { + "bus": "yes", + "name": "Vallco Mall", + "network": "VTA", + "public_transport": "stop_position" + } +}, +{ + "type": "node", + "id": 6737741107, + "lat": 37.3272575, + "lon": -122.0142346, + "tags": { + "bus": "yes", + "name": "Vallco Mall", + "network": "VTA", + "public_transport": "stop_position" + } +}, +{ + "type": "node", + "id": 6887499018, + "lat": 37.3286070, + "lon": -122.0142175 +}, +{ + "type": "node", + "id": 6887499019, + "lat": 37.3286694, + "lon": -122.0142009 +}, +{ + "type": "node", + "id": 6887499020, + "lat": 37.3288067, + "lon": -122.0141828 +}, +{ + "type": "node", + "id": 7062661347, + "lat": 37.3288272, + "lon": -122.0135228 +}, +{ + "type": "node", + "id": 7062661348, + "lat": 37.3289477, + "lon": -122.0138112 +}, +{ + "type": "node", + "id": 7062661349, + "lat": 37.3292538, + "lon": -122.0137615 +}, +{ + "type": "node", + "id": 7062661350, + "lat": 37.3293348, + "lon": -122.0136838 +}, +{ + "type": "node", + "id": 7062661351, + "lat": 37.3293551, + "lon": -122.0136180 +}, +{ + "type": "node", + "id": 7062661352, + "lat": 37.3287931, + "lon": -122.0123641 +}, +{ + "type": "node", + "id": 7062661353, + "lat": 37.3288901, + "lon": -122.0138594 +}, +{ + "type": "node", + "id": 7062661354, + "lat": 37.3288357, + "lon": -122.0138648 +}, +{ + "type": "node", + "id": 7062661355, + "lat": 37.3287995, + "lon": -122.0138353 +}, +{ + "type": "node", + "id": 7062661356, + "lat": 37.3287909, + "lon": -122.0137615 +}, +{ + "type": "node", + "id": 7062661357, + "lat": 37.3288155, + "lon": -122.0137092 +}, +{ + "type": "node", + "id": 7062661358, + "lat": 37.3288787, + "lon": -122.0136460 +}, +{ + "type": "node", + "id": 7278975772, + "lat": 37.3334279, + "lon": -122.0139086 +}, +{ + "type": "node", + "id": 7278975773, + "lat": 37.3334994, + "lon": -122.0134842, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278975774, + "lat": 37.3321390, + "lon": -122.0136537, + "tags": { + "traffic_calming": "bump" + } +}, +{ + "type": "node", + "id": 7278975775, + "lat": 37.3314520, + "lon": -122.0123804, + "tags": { + "traffic_calming": "bump" + } +}, +{ + "type": "node", + "id": 7278977595, + "lat": 37.3301889, + "lon": -122.0122280, + "tags": { + "crossing": "marked", + "crossing:markings": "zebra", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977596, + "lat": 37.3307537, + "lon": -122.0126058 +}, +{ + "type": "node", + "id": 7278977597, + "lat": 37.3310362, + "lon": -122.0127279 +}, +{ + "type": "node", + "id": 7278977598, + "lat": 37.3309039, + "lon": -122.0126700, + "tags": { + "crossing": "marked", + "crossing:markings": "zebra", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977599, + "lat": 37.3310184, + "lon": -122.0120327, + "tags": { + "direction": "backward", + "traffic_calming": "hump" + } +}, +{ + "type": "node", + "id": 7278977600, + "lat": 37.3311100, + "lon": -122.0120568, + "tags": { + "traffic_calming": "rumble_strip" + } +}, +{ + "type": "node", + "id": 7278977601, + "lat": 37.3312246, + "lon": -122.0120575 +}, +{ + "type": "node", + "id": 7278977602, + "lat": 37.3316515, + "lon": -122.0142680 +}, +{ + "type": "node", + "id": 7278977603, + "lat": 37.3307830, + "lon": -122.0140878 +}, +{ + "type": "node", + "id": 7278977654, + "lat": 37.3340367, + "lon": -122.0139708 +}, +{ + "type": "node", + "id": 7278977655, + "lat": 37.3340804, + "lon": -122.0139748 +}, +{ + "type": "node", + "id": 7278977656, + "lat": 37.3337925, + "lon": -122.0139801 +}, +{ + "type": "node", + "id": 7278977657, + "lat": 37.3337275, + "lon": -122.0139909 +}, +{ + "type": "node", + "id": 7278977658, + "lat": 37.3334246, + "lon": -122.0140941 +}, +{ + "type": "node", + "id": 7278977659, + "lat": 37.3334022, + "lon": -122.0141156 +}, +{ + "type": "node", + "id": 7278977660, + "lat": 37.3333660, + "lon": -122.0141263 +}, +{ + "type": "node", + "id": 7278977661, + "lat": 37.3328893, + "lon": -122.0141303 +}, +{ + "type": "node", + "id": 7278977662, + "lat": 37.3328478, + "lon": -122.0141424 +}, +{ + "type": "node", + "id": 7278977663, + "lat": 37.3328222, + "lon": -122.0141438 +}, +{ + "type": "node", + "id": 7278977664, + "lat": 37.3327827, + "lon": -122.0141330 +}, +{ + "type": "node", + "id": 7278977665, + "lat": 37.3327528, + "lon": -122.0141330 +}, +{ + "type": "node", + "id": 7278977666, + "lat": 37.3320501, + "lon": -122.0141518 +}, +{ + "type": "node", + "id": 7278977667, + "lat": 37.3318923, + "lon": -122.0141491 +}, +{ + "type": "node", + "id": 7278977668, + "lat": 37.3318251, + "lon": -122.0141558 +}, +{ + "type": "node", + "id": 7278977669, + "lat": 37.3317761, + "lon": -122.0141639 +}, +{ + "type": "node", + "id": 7278977670, + "lat": 37.3315990, + "lon": -122.0141692 +}, +{ + "type": "node", + "id": 7278977671, + "lat": 37.3313293, + "lon": -122.0142068 +}, +{ + "type": "node", + "id": 7278977672, + "lat": 37.3312887, + "lon": -122.0142041 +}, +{ + "type": "node", + "id": 7278977673, + "lat": 37.3312749, + "lon": -122.0141867 +}, +{ + "type": "node", + "id": 7278977674, + "lat": 37.3312280, + "lon": -122.0141357 +}, +{ + "type": "node", + "id": 7278977704, + "lat": 37.3322357, + "lon": -122.0145085 +}, +{ + "type": "node", + "id": 7278977705, + "lat": 37.3322111, + "lon": -122.0144764 +}, +{ + "type": "node", + "id": 7278977706, + "lat": 37.3321376, + "lon": -122.0144656 +}, +{ + "type": "node", + "id": 7278977707, + "lat": 37.3320267, + "lon": -122.0144562 +}, +{ + "type": "node", + "id": 7278977708, + "lat": 37.3318155, + "lon": -122.0144576 +}, +{ + "type": "node", + "id": 7278977709, + "lat": 37.3311225, + "lon": -122.0144628 +}, +{ + "type": "node", + "id": 7278977710, + "lat": 37.3311928, + "lon": -122.0141585 +}, +{ + "type": "node", + "id": 7278977711, + "lat": 37.3311416, + "lon": -122.0141719 +}, +{ + "type": "node", + "id": 7278977712, + "lat": 37.3310253, + "lon": -122.0142001 +}, +{ + "type": "node", + "id": 7278977802, + "lat": 37.3309888, + "lon": -122.0142071 +}, +{ + "type": "node", + "id": 7278977803, + "lat": 37.3309249, + "lon": -122.0142172 +}, +{ + "type": "node", + "id": 7278977804, + "lat": 37.3308738, + "lon": -122.0142226 +}, +{ + "type": "node", + "id": 7278977805, + "lat": 37.3300707, + "lon": -122.0142194 +}, +{ + "type": "node", + "id": 7278977806, + "lat": 37.3292998, + "lon": -122.0142239 +}, +{ + "type": "node", + "id": 7278977807, + "lat": 37.3291963, + "lon": -122.0142252 +}, +{ + "type": "node", + "id": 7278977808, + "lat": 37.3290236, + "lon": -122.0142118 +}, +{ + "type": "node", + "id": 7278977809, + "lat": 37.3289852, + "lon": -122.0142038 +}, +{ + "type": "node", + "id": 7278977810, + "lat": 37.3289543, + "lon": -122.0141756 +}, +{ + "type": "node", + "id": 7278977811, + "lat": 37.3289340, + "lon": -122.0141193 +}, +{ + "type": "node", + "id": 7278977812, + "lat": 37.3289307, + "lon": -122.0141085 +}, +{ + "type": "node", + "id": 7278977813, + "lat": 37.3288391, + "lon": -122.0141276 +}, +{ + "type": "node", + "id": 7278977815, + "lat": 37.3288342, + "lon": -122.0140998 +}, +{ + "type": "node", + "id": 7278977816, + "lat": 37.3288572, + "lon": -122.0140657 +}, +{ + "type": "node", + "id": 7278977817, + "lat": 37.3288903, + "lon": -122.0140201 +}, +{ + "type": "node", + "id": 7278977818, + "lat": 37.3288977, + "lon": -122.0139892 +}, +{ + "type": "node", + "id": 7278977819, + "lat": 37.3288977, + "lon": -122.0139624 +}, +{ + "type": "node", + "id": 7278977820, + "lat": 37.3290086, + "lon": -122.0138010, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977821, + "lat": 37.3302510, + "lon": -122.0144680 +}, +{ + "type": "node", + "id": 7278977822, + "lat": 37.3302077, + "lon": -122.0144737 +}, +{ + "type": "node", + "id": 7278977823, + "lat": 37.3301422, + "lon": -122.0144854 +}, +{ + "type": "node", + "id": 7278977824, + "lat": 37.3300996, + "lon": -122.0144975 +}, +{ + "type": "node", + "id": 7278977825, + "lat": 37.3300558, + "lon": -122.0145136 +}, +{ + "type": "node", + "id": 7278977826, + "lat": 37.3300143, + "lon": -122.0145364 +}, +{ + "type": "node", + "id": 7278977827, + "lat": 37.3299897, + "lon": -122.0145592 +}, +{ + "type": "node", + "id": 7278977828, + "lat": 37.3299321, + "lon": -122.0144868 +}, +{ + "type": "node", + "id": 7278977829, + "lat": 37.3299612, + "lon": -122.0145233, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977830, + "lat": 37.3290076, + "lon": -122.0141366 +}, +{ + "type": "node", + "id": 7278977831, + "lat": 37.3294190, + "lon": -122.0126750 +}, +{ + "type": "node", + "id": 7278977832, + "lat": 37.3296335, + "lon": -122.0130961 +}, +{ + "type": "node", + "id": 7278977835, + "lat": 37.3322310, + "lon": -122.0111858 +}, +{ + "type": "node", + "id": 7278977837, + "lat": 37.3315058, + "lon": -122.0114950, + "tags": { + "crossing": "marked", + "crossing:markings": "zebra", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977838, + "lat": 37.3318729, + "lon": -122.0113379 +}, +{ + "type": "node", + "id": 7278977839, + "lat": 37.3315816, + "lon": -122.0117681 +}, +{ + "type": "node", + "id": 7278977840, + "lat": 37.3303492, + "lon": -122.0095053, + "tags": { + "traffic_calming": "hump" + } +}, +{ + "type": "node", + "id": 7278977841, + "lat": 37.3309535, + "lon": -122.0105624, + "tags": { + "traffic_calming": "hump" + } +}, +{ + "type": "node", + "id": 7278977842, + "lat": 37.3297572, + "lon": -122.0084697, + "tags": { + "traffic_calming": "hump" + } +}, +{ + "type": "node", + "id": 7278977843, + "lat": 37.3293312, + "lon": -122.0077300, + "tags": { + "crossing": "marked", + "crossing:markings": "zebra", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977844, + "lat": 37.3316272, + "lon": -122.0115990 +}, +{ + "type": "node", + "id": 7278977845, + "lat": 37.3318799, + "lon": -122.0115279 +}, +{ + "type": "node", + "id": 7278977846, + "lat": 37.3313393, + "lon": -122.0120093 +}, +{ + "type": "node", + "id": 7278977847, + "lat": 37.3321479, + "lon": -122.0112452 +}, +{ + "type": "node", + "id": 7278977848, + "lat": 37.3300921, + "lon": -122.0106574, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977849, + "lat": 37.3301740, + "lon": -122.0105848, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977850, + "lat": 37.3301251, + "lon": -122.0107167 +}, +{ + "type": "node", + "id": 7278977851, + "lat": 37.3302040, + "lon": -122.0106475 +}, +{ + "type": "node", + "id": 7278977852, + "lat": 37.3302649, + "lon": -122.0105954, + "tags": { + "amenity": "parking_entrance", + "maxheight": "8'2\"" + } +}, +{ + "type": "node", + "id": 7278977853, + "lat": 37.3302353, + "lon": -122.0106204, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977854, + "lat": 37.3300578, + "lon": -122.0107767, + "tags": { + "amenity": "parking_entrance", + "maxheight": "8'2\"" + } +}, +{ + "type": "node", + "id": 7278977855, + "lat": 37.3299451, + "lon": -122.0101854 +}, +{ + "type": "node", + "id": 7278977856, + "lat": 37.3302947, + "lon": -122.0110716 +}, +{ + "type": "node", + "id": 7278977857, + "lat": 37.3295033, + "lon": -122.0096160, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977858, + "lat": 37.3295761, + "lon": -122.0095480, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977863, + "lat": 37.3293923, + "lon": -122.0096245, + "tags": { + "amenity": "parking_entrance", + "level": "1" + } +}, +{ + "type": "node", + "id": 7278977864, + "lat": 37.3294671, + "lon": -122.0095510 +}, +{ + "type": "node", + "id": 7278977865, + "lat": 37.3295344, + "lon": -122.0094840 +}, +{ + "type": "node", + "id": 7278977866, + "lat": 37.3295934, + "lon": -122.0094261, + "tags": { + "amenity": "parking_entrance", + "level": "1" + } +}, +{ + "type": "node", + "id": 7278977867, + "lat": 37.3295623, + "lon": -122.0094560, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7278977868, + "lat": 37.3292480, + "lon": -122.0092530 +}, +{ + "type": "node", + "id": 7278977869, + "lat": 37.3297281, + "lon": -122.0100096 +}, +{ + "type": "node", + "id": 7278977874, + "lat": 37.3305199, + "lon": -122.0115768, + "tags": { + "amenity": "parking_entrance", + "level": "0" + } +}, +{ + "type": "node", + "id": 7280634111, + "lat": 37.3317371, + "lon": -122.0114830, + "tags": { + "traffic_calming": "rumble_strip" + } +}, +{ + "type": "node", + "id": 7280634112, + "lat": 37.3318181, + "lon": -122.0115980, + "tags": { + "traffic_calming": "rumble_strip" + } +}, +{ + "type": "node", + "id": 7280634114, + "lat": 37.3288401, + "lon": -122.0085192, + "tags": { + "traffic_calming": "rumble_strip" + } +}, +{ + "type": "node", + "id": 7280634117, + "lat": 37.3303079, + "lon": -122.0111008, + "tags": { + "traffic_calming": "rumble_strip" + } +}, +{ + "type": "node", + "id": 7283637811, + "lat": 37.3294067, + "lon": -122.0076929 +}, +{ + "type": "node", + "id": 7283637868, + "lat": 37.3294308, + "lon": -122.0095870, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283637873, + "lat": 37.3296017, + "lon": -122.0095247 +}, +{ + "type": "node", + "id": 7283637874, + "lat": 37.3294663, + "lon": -122.0096508 +}, +{ + "type": "node", + "id": 7283637875, + "lat": 37.3293991, + "lon": -122.0095301 +}, +{ + "type": "node", + "id": 7283637877, + "lat": 37.3288922, + "lon": -122.0086128 +}, +{ + "type": "node", + "id": 7283637880, + "lat": 37.3288957, + "lon": -122.0087127 +}, +{ + "type": "node", + "id": 7283637882, + "lat": 37.3292941, + "lon": -122.0093074 +}, +{ + "type": "node", + "id": 7283637883, + "lat": 37.3293460, + "lon": -122.0093638 +}, +{ + "type": "node", + "id": 7283637884, + "lat": 37.3293785, + "lon": -122.0094101 +}, +{ + "type": "node", + "id": 7283637885, + "lat": 37.3292177, + "lon": -122.0092943 +}, +{ + "type": "node", + "id": 7283637886, + "lat": 37.3292507, + "lon": -122.0093426 +}, +{ + "type": "node", + "id": 7283637887, + "lat": 37.3292870, + "lon": -122.0093801 +}, +{ + "type": "node", + "id": 7283637888, + "lat": 37.3293200, + "lon": -122.0094083 +}, +{ + "type": "node", + "id": 7283637889, + "lat": 37.3293478, + "lon": -122.0094445 +}, +{ + "type": "node", + "id": 7283637890, + "lat": 37.3297863, + "lon": -122.0101435 +}, +{ + "type": "node", + "id": 7283637891, + "lat": 37.3296623, + "lon": -122.0100614 +}, +{ + "type": "node", + "id": 7283637892, + "lat": 37.3297402, + "lon": -122.0101741 +}, +{ + "type": "node", + "id": 7283637893, + "lat": 37.3300519, + "lon": -122.0106855 +}, +{ + "type": "node", + "id": 7283637894, + "lat": 37.3296144, + "lon": -122.0095585 +}, +{ + "type": "node", + "id": 7283637895, + "lat": 37.3296303, + "lon": -122.0095961 +}, +{ + "type": "node", + "id": 7283637896, + "lat": 37.3296527, + "lon": -122.0096215 +}, +{ + "type": "node", + "id": 7283637897, + "lat": 37.3297103, + "lon": -122.0096698 +}, +{ + "type": "node", + "id": 7283637898, + "lat": 37.3297359, + "lon": -122.0097047 +}, +{ + "type": "node", + "id": 7283637899, + "lat": 37.3301166, + "lon": -122.0103565 +}, +{ + "type": "node", + "id": 7283637900, + "lat": 37.3301294, + "lon": -122.0103913 +}, +{ + "type": "node", + "id": 7283637901, + "lat": 37.3301347, + "lon": -122.0104396 +}, +{ + "type": "node", + "id": 7283637902, + "lat": 37.3301454, + "lon": -122.0104798 +}, +{ + "type": "node", + "id": 7283637903, + "lat": 37.3301614, + "lon": -122.0105134 +}, +{ + "type": "node", + "id": 7283637904, + "lat": 37.3301753, + "lon": -122.0105346 +}, +{ + "type": "node", + "id": 7283637905, + "lat": 37.3301897, + "lon": -122.0105465 +}, +{ + "type": "node", + "id": 7283637906, + "lat": 37.3302019, + "lon": -122.0105603 +}, +{ + "type": "node", + "id": 7283637907, + "lat": 37.3294815, + "lon": -122.0097246 +}, +{ + "type": "node", + "id": 7283637908, + "lat": 37.3294803, + "lon": -122.0096924 +}, +{ + "type": "node", + "id": 7283637909, + "lat": 37.3294942, + "lon": -122.0097619 +}, +{ + "type": "node", + "id": 7283637910, + "lat": 37.3294764, + "lon": -122.0096724 +}, +{ + "type": "node", + "id": 7283637911, + "lat": 37.3302629, + "lon": -122.0106642 +}, +{ + "type": "node", + "id": 7283637912, + "lat": 37.3301299, + "lon": -122.0107973 +}, +{ + "type": "node", + "id": 7283637913, + "lat": 37.3300969, + "lon": -122.0107424, + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283637914, + "lat": 37.3305196, + "lon": -122.0115365 +}, +{ + "type": "node", + "id": 7283637915, + "lat": 37.3302690, + "lon": -122.0106863 +}, +{ + "type": "node", + "id": 7283637916, + "lat": 37.3303000, + "lon": -122.0107547 +}, +{ + "type": "node", + "id": 7283637917, + "lat": 37.3303373, + "lon": -122.0108150 +}, +{ + "type": "node", + "id": 7283637918, + "lat": 37.3303714, + "lon": -122.0108579 +}, +{ + "type": "node", + "id": 7283637919, + "lat": 37.3304130, + "lon": -122.0109008 +}, +{ + "type": "node", + "id": 7283637920, + "lat": 37.3304439, + "lon": -122.0109464 +}, +{ + "type": "node", + "id": 7283637921, + "lat": 37.3304770, + "lon": -122.0109987 +}, +{ + "type": "node", + "id": 7283637922, + "lat": 37.3309238, + "lon": -122.0117605 +}, +{ + "type": "node", + "id": 7283637923, + "lat": 37.3302308, + "lon": -122.0105361 +}, +{ + "type": "node", + "id": 7283637924, + "lat": 37.3302916, + "lon": -122.0106352 +}, +{ + "type": "node", + "id": 7283637925, + "lat": 37.3300841, + "lon": -122.0108222 +}, +{ + "type": "node", + "id": 7283637926, + "lat": 37.3300280, + "lon": -122.0107252 +}, +{ + "type": "node", + "id": 7283637928, + "lat": 37.3294268, + "lon": -122.0096843 +}, +{ + "type": "node", + "id": 7283637929, + "lat": 37.3293606, + "lon": -122.0095696 +}, +{ + "type": "node", + "id": 7283637930, + "lat": 37.3306742, + "lon": -122.0113080, + "tags": { + "amenity": "parking_entrance", + "level": "0" + } +}, +{ + "type": "node", + "id": 7283637931, + "lat": 37.3306539, + "lon": -122.0113004 +}, +{ + "type": "node", + "id": 7283637932, + "lat": 37.3306860, + "lon": -122.0113550 +}, +{ + "type": "node", + "id": 7283637933, + "lat": 37.3306657, + "lon": -122.0113204, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283637934, + "lat": 37.3305766, + "lon": -122.0116436 +}, +{ + "type": "node", + "id": 7283637935, + "lat": 37.3305460, + "lon": -122.0115862, + "tags": { + "crossing": "marked", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283637936, + "lat": 37.3307472, + "lon": -122.0119172 +}, +{ + "type": "node", + "id": 7283637937, + "lat": 37.3307632, + "lon": -122.0119588 +}, +{ + "type": "node", + "id": 7283637938, + "lat": 37.3307696, + "lon": -122.0120003 +}, +{ + "type": "node", + "id": 7283637939, + "lat": 37.3307674, + "lon": -122.0120661 +}, +{ + "type": "node", + "id": 7283637940, + "lat": 37.3307536, + "lon": -122.0121345 +}, +{ + "type": "node", + "id": 7283637941, + "lat": 37.3307386, + "lon": -122.0121908 +}, +{ + "type": "node", + "id": 7283637942, + "lat": 37.3307088, + "lon": -122.0122417 +}, +{ + "type": "node", + "id": 7283637943, + "lat": 37.3306704, + "lon": -122.0122940 +}, +{ + "type": "node", + "id": 7283637944, + "lat": 37.3306256, + "lon": -122.0123329 +}, +{ + "type": "node", + "id": 7283637945, + "lat": 37.3305691, + "lon": -122.0123665 +}, +{ + "type": "node", + "id": 7283637946, + "lat": 37.3305243, + "lon": -122.0123826 +}, +{ + "type": "node", + "id": 7283637947, + "lat": 37.3304742, + "lon": -122.0123893 +}, +{ + "type": "node", + "id": 7283637948, + "lat": 37.3304198, + "lon": -122.0123866 +}, +{ + "type": "node", + "id": 7283637949, + "lat": 37.3303718, + "lon": -122.0123691 +}, +{ + "type": "node", + "id": 7283637950, + "lat": 37.3303356, + "lon": -122.0123477 +}, +{ + "type": "node", + "id": 7283637951, + "lat": 37.3303302, + "lon": -122.0123289 +}, +{ + "type": "node", + "id": 7283637952, + "lat": 37.3303249, + "lon": -122.0123075 +}, +{ + "type": "node", + "id": 7283637953, + "lat": 37.3303121, + "lon": -122.0122887 +}, +{ + "type": "node", + "id": 7283637954, + "lat": 37.3302748, + "lon": -122.0122431 +}, +{ + "type": "node", + "id": 7283637955, + "lat": 37.3305548, + "lon": -122.0123057 +}, +{ + "type": "node", + "id": 7283637956, + "lat": 37.3307600, + "lon": -122.0122887 +}, +{ + "type": "node", + "id": 7283637957, + "lat": 37.3302545, + "lon": -122.0122189 +}, +{ + "type": "node", + "id": 7283637958, + "lat": 37.3301084, + "lon": -122.0119722 +}, +{ + "type": "node", + "id": 7283637959, + "lat": 37.3302346, + "lon": -122.0121854 +}, +{ + "type": "node", + "id": 7283637960, + "lat": 37.3301596, + "lon": -122.0122565 +}, +{ + "type": "node", + "id": 7283637961, + "lat": 37.3307696, + "lon": -122.0122954 +}, +{ + "type": "node", + "id": 7283637962, + "lat": 37.3308016, + "lon": -122.0122377 +}, +{ + "type": "node", + "id": 7283637963, + "lat": 37.3308240, + "lon": -122.0122243 +}, +{ + "type": "node", + "id": 7283637964, + "lat": 37.3308421, + "lon": -122.0122243 +}, +{ + "type": "node", + "id": 7283637965, + "lat": 37.3308613, + "lon": -122.0122257 +}, +{ + "type": "node", + "id": 7283637966, + "lat": 37.3309647, + "lon": -122.0122766 +}, +{ + "type": "node", + "id": 7283637967, + "lat": 37.3309423, + "lon": -122.0123598 +}, +{ + "type": "node", + "id": 7283637968, + "lat": 37.3310682, + "lon": -122.0126816 +}, +{ + "type": "node", + "id": 7283637969, + "lat": 37.3311567, + "lon": -122.0123839 +}, +{ + "type": "node", + "id": 7283637970, + "lat": 37.3310298, + "lon": -122.0123276 +}, +{ + "type": "node", + "id": 7283637971, + "lat": 37.3308890, + "lon": -122.0127219 +}, +{ + "type": "node", + "id": 7283637972, + "lat": 37.3309199, + "lon": -122.0126159 +}, +{ + "type": "node", + "id": 7283637973, + "lat": 37.3309946, + "lon": -122.0127661 +}, +{ + "type": "node", + "id": 7283637974, + "lat": 37.3309541, + "lon": -122.0118112 +}, +{ + "type": "node", + "id": 7283637975, + "lat": 37.3309839, + "lon": -122.0118488 +}, +{ + "type": "node", + "id": 7283637976, + "lat": 37.3310159, + "lon": -122.0118783 +}, +{ + "type": "node", + "id": 7283637977, + "lat": 37.3310468, + "lon": -122.0118957 +}, +{ + "type": "node", + "id": 7283637978, + "lat": 37.3310735, + "lon": -122.0119105 +}, +{ + "type": "node", + "id": 7283637979, + "lat": 37.3310969, + "lon": -122.0119159 +}, +{ + "type": "node", + "id": 7283637980, + "lat": 37.3311204, + "lon": -122.0119212 +}, +{ + "type": "node", + "id": 7283637981, + "lat": 37.3311471, + "lon": -122.0119252 +}, +{ + "type": "node", + "id": 7283637982, + "lat": 37.3311801, + "lon": -122.0119266 +}, +{ + "type": "node", + "id": 7283637983, + "lat": 37.3312174, + "lon": -122.0119212 +}, +{ + "type": "node", + "id": 7283637984, + "lat": 37.3312484, + "lon": -122.0119091 +}, +{ + "type": "node", + "id": 7283637985, + "lat": 37.3312825, + "lon": -122.0118877 +}, +{ + "type": "node", + "id": 7283637986, + "lat": 37.3313156, + "lon": -122.0118609 +}, +{ + "type": "node", + "id": 7283637987, + "lat": 37.3314627, + "lon": -122.0116999 +}, +{ + "type": "node", + "id": 7283637988, + "lat": 37.3314776, + "lon": -122.0116718 +}, +{ + "type": "node", + "id": 7283637989, + "lat": 37.3314862, + "lon": -122.0116396 +}, +{ + "type": "node", + "id": 7283637990, + "lat": 37.3314904, + "lon": -122.0116047 +}, +{ + "type": "node", + "id": 7283637991, + "lat": 37.3314883, + "lon": -122.0115685 +}, +{ + "type": "node", + "id": 7283637992, + "lat": 37.3314819, + "lon": -122.0115457 +}, +{ + "type": "node", + "id": 7283637993, + "lat": 37.3314744, + "lon": -122.0115269 +}, +{ + "type": "node", + "id": 7283637994, + "lat": 37.3315352, + "lon": -122.0114652 +}, +{ + "type": "node", + "id": 7283637995, + "lat": 37.3315042, + "lon": -122.0114176 +}, +{ + "type": "node", + "id": 7283637996, + "lat": 37.3314414, + "lon": -122.0113204 +}, +{ + "type": "node", + "id": 7283637997, + "lat": 37.3294345, + "lon": -122.0078536 +}, +{ + "type": "node", + "id": 7283637998, + "lat": 37.3294078, + "lon": -122.0078121 +}, +{ + "type": "node", + "id": 7283637999, + "lat": 37.3293971, + "lon": -122.0077812 +}, +{ + "type": "node", + "id": 7283638000, + "lat": 37.3293929, + "lon": -122.0077490 +}, +{ + "type": "node", + "id": 7283638001, + "lat": 37.3293961, + "lon": -122.0077182 +}, +{ + "type": "node", + "id": 7283754306, + "lat": 37.3256930, + "lon": -122.0142100, + "tags": { + "crossing": "traffic_signals", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283754307, + "lat": 37.3256771, + "lon": -122.0144061, + "tags": { + "crossing": "traffic_signals", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283754313, + "lat": 37.3257150, + "lon": -122.0117221, + "tags": { + "crossing": "traffic_signals", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283754316, + "lat": 37.3264770, + "lon": -122.0142232 +}, +{ + "type": "node", + "id": 7283754317, + "lat": 37.3279208, + "lon": -122.0142608 +}, +{ + "type": "node", + "id": 7283754318, + "lat": 37.3283965, + "lon": -122.0142852 +}, +{ + "type": "node", + "id": 7283754320, + "lat": 37.3282336, + "lon": -122.0153080, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7283754321, + "lat": 37.3283857, + "lon": -122.0144993 +}, +{ + "type": "node", + "id": 7283754322, + "lat": 37.3286977, + "lon": -122.0144849 +}, +{ + "type": "node", + "id": 7283754488, + "lat": 37.3287151, + "lon": -122.0135166, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 7284202703, + "lat": 37.3309608, + "lon": -122.0119932 +}, +{ + "type": "node", + "id": 7339551655, + "lat": 37.3306583, + "lon": -122.0114367 +}, +{ + "type": "node", + "id": 7339551658, + "lat": 37.3306606, + "lon": -122.0115150 +}, +{ + "type": "node", + "id": 7339551663, + "lat": 37.3315938, + "lon": -122.0116638 +}, +{ + "type": "node", + "id": 7339551666, + "lat": 37.3315817, + "lon": -122.0117140, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "forward" + } +}, +{ + "type": "node", + "id": 7339551671, + "lat": 37.3316430, + "lon": -122.0117562 +}, +{ + "type": "node", + "id": 7339551676, + "lat": 37.3288037, + "lon": -122.0084057 +}, +{ + "type": "node", + "id": 7339551679, + "lat": 37.3316909, + "lon": -122.0117307 +}, +{ + "type": "node", + "id": 7339551683, + "lat": 37.3288083, + "lon": -122.0083576 +}, +{ + "type": "node", + "id": 7350745317, + "lat": 37.3240129, + "lon": -122.0172359 +}, +{ + "type": "node", + "id": 7350884432, + "lat": 37.3310828, + "lon": -122.0127460, + "tags": { + "access": "private", + "barrier": "gate" + } +}, +{ + "type": "node", + "id": 7412824253, + "lat": 37.3267727, + "lon": -122.0140894 +}, +{ + "type": "node", + "id": 8178639948, + "lat": 37.3299319, + "lon": -122.0155636 +}, +{ + "type": "node", + "id": 8240683322, + "lat": 37.3287068, + "lon": -122.0126688 +}, +{ + "type": "node", + "id": 8240683323, + "lat": 37.3285873, + "lon": -122.0118253 +}, +{ + "type": "node", + "id": 8240683324, + "lat": 37.3286332, + "lon": -122.0118789 +}, +{ + "type": "node", + "id": 8240683325, + "lat": 37.3286545, + "lon": -122.0119138 +}, +{ + "type": "node", + "id": 8240683326, + "lat": 37.3286780, + "lon": -122.0119755 +}, +{ + "type": "node", + "id": 8240683327, + "lat": 37.3286876, + "lon": -122.0120211 +}, +{ + "type": "node", + "id": 8240683328, + "lat": 37.3286940, + "lon": -122.0120600 +}, +{ + "type": "node", + "id": 8240683329, + "lat": 37.3286982, + "lon": -122.0121002 +}, +{ + "type": "node", + "id": 8240683330, + "lat": 37.3287014, + "lon": -122.0121968 +}, +{ + "type": "node", + "id": 8240683331, + "lat": 37.3287038, + "lon": -122.0123610, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 8240683332, + "lat": 37.3287014, + "lon": -122.0125414 +}, +{ + "type": "node", + "id": 8240683333, + "lat": 37.3287142, + "lon": -122.0127882 +}, +{ + "type": "node", + "id": 8240683334, + "lat": 37.3287206, + "lon": -122.0129760 +}, +{ + "type": "node", + "id": 8240683335, + "lat": 37.3286978, + "lon": -122.0140852 +}, +{ + "type": "node", + "id": 8240683336, + "lat": 37.3287491, + "lon": -122.0136333 +}, +{ + "type": "node", + "id": 8240683337, + "lat": 37.3287505, + "lon": -122.0138222 +}, +{ + "type": "node", + "id": 8240683338, + "lat": 37.3287548, + "lon": -122.0138799 +}, +{ + "type": "node", + "id": 8240683339, + "lat": 37.3287708, + "lon": -122.0139174 +}, +{ + "type": "node", + "id": 8240683340, + "lat": 37.3288027, + "lon": -122.0139456 +}, +{ + "type": "node", + "id": 8240683341, + "lat": 37.3288326, + "lon": -122.0139630 +}, +{ + "type": "node", + "id": 8240683342, + "lat": 37.3288657, + "lon": -122.0139670 +}, +{ + "type": "node", + "id": 8240683343, + "lat": 37.3295471, + "lon": -122.0137565 +}, +{ + "type": "node", + "id": 8240683344, + "lat": 37.3295290, + "lon": -122.0137873 +}, +{ + "type": "node", + "id": 8240683345, + "lat": 37.3294863, + "lon": -122.0138235 +}, +{ + "type": "node", + "id": 8240683346, + "lat": 37.3294469, + "lon": -122.0138437 +}, +{ + "type": "node", + "id": 8240683347, + "lat": 37.3294021, + "lon": -122.0138584 +}, +{ + "type": "node", + "id": 8421850445, + "lat": 37.3319450, + "lon": -122.0128318 +}, +{ + "type": "node", + "id": 8421865652, + "lat": 37.3323719, + "lon": -122.0133317 +}, +{ + "type": "node", + "id": 8421865653, + "lat": 37.3321979, + "lon": -122.0135669 +}, +{ + "type": "node", + "id": 8421865654, + "lat": 37.3321091, + "lon": -122.0134754 +}, +{ + "type": "node", + "id": 8421865655, + "lat": 37.3321183, + "lon": -122.0134600 +}, +{ + "type": "node", + "id": 8421865656, + "lat": 37.3319820, + "lon": -122.0133002 +}, +{ + "type": "node", + "id": 8421865657, + "lat": 37.3322130, + "lon": -122.0135494 +}, +{ + "type": "node", + "id": 8421865669, + "lat": 37.3319095, + "lon": -122.0124161 +}, +{ + "type": "node", + "id": 8421865670, + "lat": 37.3319403, + "lon": -122.0123759 +}, +{ + "type": "node", + "id": 8421865671, + "lat": 37.3319596, + "lon": -122.0122821 +}, +{ + "type": "node", + "id": 8421865672, + "lat": 37.3319253, + "lon": -122.0122222 +}, +{ + "type": "node", + "id": 8736730332, + "lat": 37.3299235, + "lon": -122.0144748 +}, +{ + "type": "node", + "id": 8736730333, + "lat": 37.3299109, + "lon": -122.0144691 +}, +{ + "type": "node", + "id": 8736730334, + "lat": 37.3298947, + "lon": -122.0144719 +}, +{ + "type": "node", + "id": 8736730335, + "lat": 37.3295988, + "lon": -122.0145685 +}, +{ + "type": "node", + "id": 8736730336, + "lat": 37.3293528, + "lon": -122.0145707 +}, +{ + "type": "node", + "id": 8736730337, + "lat": 37.3293209, + "lon": -122.0145866 +}, +{ + "type": "node", + "id": 8736730338, + "lat": 37.3291413, + "lon": -122.0145922 +}, +{ + "type": "node", + "id": 8736730339, + "lat": 37.3291295, + "lon": -122.0146121 +}, +{ + "type": "node", + "id": 8736730340, + "lat": 37.3291040, + "lon": -122.0145913 +}, +{ + "type": "node", + "id": 8736730341, + "lat": 37.3287023, + "lon": -122.0146040 +}, +{ + "type": "node", + "id": 8736730342, + "lat": 37.3284869, + "lon": -122.0146109 +}, +{ + "type": "node", + "id": 8736730343, + "lat": 37.3284595, + "lon": -122.0146213 +}, +{ + "type": "node", + "id": 8736730344, + "lat": 37.3284161, + "lon": -122.0146468 +}, +{ + "type": "node", + "id": 8736730345, + "lat": 37.3283848, + "lon": -122.0146522 +}, +{ + "type": "node", + "id": 8736730346, + "lat": 37.3278879, + "lon": -122.0146587 +}, +{ + "type": "node", + "id": 8736730347, + "lat": 37.3278681, + "lon": -122.0146627 +}, +{ + "type": "node", + "id": 8736730348, + "lat": 37.3278521, + "lon": -122.0146731 +}, +{ + "type": "node", + "id": 8736730349, + "lat": 37.3277266, + "lon": -122.0152297 +}, +{ + "type": "node", + "id": 8736730350, + "lat": 37.3276871, + "lon": -122.0151824 +}, +{ + "type": "node", + "id": 8736730351, + "lat": 37.3276509, + "lon": -122.0151084 +}, +{ + "type": "node", + "id": 8736730352, + "lat": 37.3276297, + "lon": -122.0150334 +}, +{ + "type": "node", + "id": 8736730353, + "lat": 37.3276195, + "lon": -122.0149578 +}, +{ + "type": "node", + "id": 8736730354, + "lat": 37.3276168, + "lon": -122.0148761 +}, +{ + "type": "node", + "id": 8736730355, + "lat": 37.3276161, + "lon": -122.0146937 +}, +{ + "type": "node", + "id": 8736730356, + "lat": 37.3277372, + "lon": -122.0147080 +}, +{ + "type": "node", + "id": 8736730357, + "lat": 37.3276985, + "lon": -122.0147876 +}, +{ + "type": "node", + "id": 8736730358, + "lat": 37.3276784, + "lon": -122.0149051 +}, +{ + "type": "node", + "id": 8736730359, + "lat": 37.3276845, + "lon": -122.0150114 +}, +{ + "type": "node", + "id": 8736730360, + "lat": 37.3277150, + "lon": -122.0151024 +}, +{ + "type": "node", + "id": 8736730361, + "lat": 37.3277516, + "lon": -122.0151682 +}, +{ + "type": "node", + "id": 8736730362, + "lat": 37.3277669, + "lon": -122.0146177 +}, +{ + "type": "node", + "id": 8736730363, + "lat": 37.3287130, + "lon": -122.0136318 +}, +{ + "type": "node", + "id": 8736730364, + "lat": 37.3287028, + "lon": -122.0124442 +}, +{ + "type": "node", + "id": 8736730365, + "lat": 37.3287048, + "lon": -122.0122879 +}, +{ + "type": "node", + "id": 8736730366, + "lat": 37.3287150, + "lon": -122.0135758 +}, +{ + "type": "node", + "id": 8736730367, + "lat": 37.3287158, + "lon": -122.0134585 +}, +{ + "type": "node", + "id": 8736759860, + "lat": 37.3257297, + "lon": -122.0114860, + "tags": { + "crossing": "unmarked", + "crossing:markings": "no", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 8736759869, + "lat": 37.3256941, + "lon": -122.0130533 +}, +{ + "type": "node", + "id": 8736759870, + "lat": 37.3256961, + "lon": -122.0133288 +}, +{ + "type": "node", + "id": 8736759871, + "lat": 37.3256908, + "lon": -122.0139902 +}, +{ + "type": "node", + "id": 8736759872, + "lat": 37.3257056, + "lon": -122.0140250 +}, +{ + "type": "node", + "id": 8736759873, + "lat": 37.3257203, + "lon": -122.0140361 +}, +{ + "type": "node", + "id": 8736759874, + "lat": 37.3257363, + "lon": -122.0140419 +}, +{ + "type": "node", + "id": 8736759875, + "lat": 37.3257564, + "lon": -122.0140435 +}, +{ + "type": "node", + "id": 8736759876, + "lat": 37.3256964, + "lon": -122.0140115 +}, +{ + "type": "node", + "id": 8736759880, + "lat": 37.3256656, + "lon": -122.0145470 +}, +{ + "type": "node", + "id": 8736759888, + "lat": 37.3276338, + "lon": -122.0140776 +}, +{ + "type": "node", + "id": 8736759889, + "lat": 37.3267729, + "lon": -122.0140620, + "tags": { + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 8736759890, + "lat": 37.3276497, + "lon": -122.0146141 +}, +{ + "type": "node", + "id": 8736759891, + "lat": 37.3275523, + "lon": -122.0146578 +}, +{ + "type": "node", + "id": 8736759892, + "lat": 37.3276155, + "lon": -122.0146290, + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "highway": "crossing" + } +}, +{ + "type": "node", + "id": 8736759893, + "lat": 37.3275244, + "lon": -122.0146415 +}, +{ + "type": "node", + "id": 8736759894, + "lat": 37.3274890, + "lon": -122.0146347 +}, +{ + "type": "node", + "id": 8736759895, + "lat": 37.3266438, + "lon": -122.0146278 +}, +{ + "type": "node", + "id": 8736759896, + "lat": 37.3265274, + "lon": -122.0146201 +}, +{ + "type": "node", + "id": 8736759897, + "lat": 37.3257152, + "lon": -122.0145894 +}, +{ + "type": "node", + "id": 8949912880, + "lat": 37.3287851, + "lon": -122.0105787 +}, +{ + "type": "node", + "id": 8949912881, + "lat": 37.3295297, + "lon": -122.0125566, + "tags": { + "man_made": "monitoring_station", + "monitoring:traffic": "yes", + "recording:automated": "yes" + } +}, +{ + "type": "node", + "id": 8949912894, + "lat": 37.3269778, + "lon": -122.0076609 +}, +{ + "type": "node", + "id": 8949912896, + "lat": 37.3272033, + "lon": -122.0075428 +}, +{ + "type": "node", + "id": 8949912901, + "lat": 37.3304865, + "lon": -122.0151447 +}, +{ + "type": "node", + "id": 8949912903, + "lat": 37.3322797, + "lon": -122.0170918 +}, +{ + "type": "node", + "id": 8949912906, + "lat": 37.3316051, + "lon": -122.0160096, + "tags": { + "man_made": "monitoring_station", + "monitoring:traffic": "yes", + "recording:automated": "yes" + } +}, +{ + "type": "node", + "id": 8949912907, + "lat": 37.3313721, + "lon": -122.0160942, + "tags": { + "man_made": "monitoring_station", + "monitoring:traffic": "yes", + "recording:automated": "yes" + } +}, +{ + "type": "node", + "id": 8949912908, + "lat": 37.3312114, + "lon": -122.0157722 +}, +{ + "type": "node", + "id": 10989789987, + "lat": 37.3285175, + "lon": -122.0134780, + "tags": { + "direction": "backward", + "highway": "stop" + } +}, +{ + "type": "node", + "id": 10989789988, + "lat": 37.3278179, + "lon": -122.0135676 +}, +{ + "type": "node", + "id": 10989789989, + "lat": 37.3277056, + "lon": -122.0137926 +}, +{ + "type": "node", + "id": 10989789990, + "lat": 37.3286672, + "lon": -122.0136481, + "tags": { + "barrier": "jersey_barrier" + } +}, +{ + "type": "node", + "id": 10989789991, + "lat": 37.3286027, + "lon": -122.0136446, + "tags": { + "barrier": "jersey_barrier" + } +}, +{ + "type": "node", + "id": 10989789992, + "lat": 37.3286909, + "lon": -122.0146133 +}, +{ + "type": "node", + "id": 10989789993, + "lat": 37.3286878, + "lon": -122.0147471 +}, +{ + "type": "node", + "id": 10989789994, + "lat": 37.3287403, + "lon": -122.0149932 +}, +{ + "type": "node", + "id": 10989789995, + "lat": 37.3287525, + "lon": -122.0151106 +}, +{ + "type": "node", + "id": 10989789996, + "lat": 37.3287909, + "lon": -122.0152056 +}, +{ + "type": "node", + "id": 10989789997, + "lat": 37.3288446, + "lon": -122.0152377 +}, +{ + "type": "node", + "id": 10989789998, + "lat": 37.3288873, + "lon": -122.0152432 +}, +{ + "type": "node", + "id": 10989789999, + "lat": 37.3288866, + "lon": -122.0152931 +}, +{ + "type": "node", + "id": 10989790000, + "lat": 37.3277818, + "lon": -122.0146611, + "tags": { + "barrier": "jersey_barrier" + } +}, +{ + "type": "node", + "id": 10989790001, + "lat": 37.3276156, + "lon": -122.0146369, + "tags": { + "barrier": "jersey_barrier" + } +}, +{ + "type": "node", + "id": 10989790002, + "lat": 37.3241206, + "lon": -122.0172222, + "tags": { + "barrier": "gate" + } +}, +{ + "type": "node", + "id": 11014111297, + "lat": 37.3286194, + "lon": -122.0135525, + "tags": { + "direction": "forward", + "highway": "stop" + } +}, +{ + "type": "node", + "id": 11014111298, + "lat": 37.3287404, + "lon": -122.0135204, + "tags": { + "direction": "backward", + "highway": "stop" + } +}, +{ + "type": "node", + "id": 11014111299, + "lat": 37.3286307, + "lon": -122.0134111, + "tags": { + "direction": "backward", + "highway": "stop" + } +}, +{ + "type": "node", + "id": 11050446672, + "lat": 37.3311213, + "lon": -122.0127258 +}, +{ + "type": "node", + "id": 11121664985, + "lat": 37.3294915, + "lon": -122.0094129, + "tags": { + "direction": "forward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121664986, + "lat": 37.3294133, + "lon": -122.0094833, + "tags": { + "direction": "backward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121664987, + "lat": 37.3299087, + "lon": -122.0103454, + "tags": { + "direction": "backward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121664988, + "lat": 37.3299881, + "lon": -122.0102728, + "tags": { + "direction": "forward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121664989, + "lat": 37.3301758, + "lon": -122.0108025, + "tags": { + "direction": "backward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121664990, + "lat": 37.3302544, + "lon": -122.0107322, + "tags": { + "direction": "forward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121664991, + "lat": 37.3302096, + "lon": -122.0108650 +}, +{ + "type": "node", + "id": 11121664992, + "lat": 37.3301661, + "lon": -122.0107878 +}, +{ + "type": "node", + "id": 11121664993, + "lat": 37.3302564, + "lon": -122.0109717 +}, +{ + "type": "node", + "id": 11121664994, + "lat": 37.3302325, + "lon": -122.0109130 +}, +{ + "type": "node", + "id": 11121664995, + "lat": 37.3300182, + "lon": -122.0105386 +}, +{ + "type": "node", + "id": 11121664996, + "lat": 37.3299230, + "lon": -122.0105016 +}, +{ + "type": "node", + "id": 11121664997, + "lat": 37.3299665, + "lon": -122.0105520 +}, +{ + "type": "node", + "id": 11121664998, + "lat": 37.3300095, + "lon": -122.0105866 +}, +{ + "type": "node", + "id": 11121664999, + "lat": 37.3300444, + "lon": -122.0106381 +}, +{ + "type": "node", + "id": 11121665000, + "lat": 37.3301160, + "lon": -122.0107976 +}, +{ + "type": "node", + "id": 11121665001, + "lat": 37.3301017, + "lon": -122.0108051 +}, +{ + "type": "node", + "id": 11121665002, + "lat": 37.3300411, + "lon": -122.0107123 +}, +{ + "type": "node", + "id": 11121665003, + "lat": 37.3300494, + "lon": -122.0106992 +}, +{ + "type": "node", + "id": 11121665004, + "lat": 37.3301745, + "lon": -122.0108494 +}, +{ + "type": "node", + "id": 11121665805, + "lat": 37.3301431, + "lon": -122.0108059 +}, +{ + "type": "node", + "id": 11121665806, + "lat": 37.3301599, + "lon": -122.0108236 +}, +{ + "type": "node", + "id": 11121665807, + "lat": 37.3302504, + "lon": -122.0110190 +}, +{ + "type": "node", + "id": 11121665808, + "lat": 37.3302210, + "lon": -122.0109449 +}, +{ + "type": "node", + "id": 11121665809, + "lat": 37.3303005, + "lon": -122.0111508 +}, +{ + "type": "node", + "id": 11121665810, + "lat": 37.3302771, + "lon": -122.0110970 +}, +{ + "type": "node", + "id": 11121665811, + "lat": 37.3303001, + "lon": -122.0108201 +}, +{ + "type": "node", + "id": 11121665812, + "lat": 37.3304046, + "lon": -122.0109562 +}, +{ + "type": "node", + "id": 11121665813, + "lat": 37.3303248, + "lon": -122.0108593 +}, +{ + "type": "node", + "id": 11121665814, + "lat": 37.3303839, + "lon": -122.0109290 +}, +{ + "type": "node", + "id": 11121665815, + "lat": 37.3304287, + "lon": -122.0109914 +}, +{ + "type": "node", + "id": 11121665816, + "lat": 37.3300627, + "lon": -122.0106835 +}, +{ + "type": "node", + "id": 11121665817, + "lat": 37.3300514, + "lon": -122.0106632 +}, +{ + "type": "node", + "id": 11121665818, + "lat": 37.3302035, + "lon": -122.0105511 +}, +{ + "type": "node", + "id": 11121665819, + "lat": 37.3302176, + "lon": -122.0105484 +}, +{ + "type": "node", + "id": 11121665820, + "lat": 37.3301196, + "lon": -122.0107816 +}, +{ + "type": "node", + "id": 11121665821, + "lat": 37.3302548, + "lon": -122.0106558 +}, +{ + "type": "node", + "id": 11121665822, + "lat": 37.3302708, + "lon": -122.0106536 +}, +{ + "type": "node", + "id": 11121665823, + "lat": 37.3314251, + "lon": -122.0113635, + "tags": { + "direction": "forward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121665825, + "lat": 37.3295239, + "lon": -122.0096521, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "forward" + } +}, +{ + "type": "node", + "id": 11121665826, + "lat": 37.3294116, + "lon": -122.0096055, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "forward" + } +}, +{ + "type": "node", + "id": 11121665827, + "lat": 37.3295779, + "lon": -122.0094410, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "backward" + } +}, +{ + "type": "node", + "id": 11121665828, + "lat": 37.3297650, + "lon": -122.0098890, + "tags": { + "direction": "forward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121665829, + "lat": 37.3296861, + "lon": -122.0099606, + "tags": { + "direction": "backward", + "highway": "stop", + "stop": "minor" + } +}, +{ + "type": "node", + "id": 11121665830, + "lat": 37.3301879, + "lon": -122.0108264, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "forward" + } +}, +{ + "type": "node", + "id": 11121665831, + "lat": 37.3301524, + "lon": -122.0105472, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "forward" + } +}, +{ + "type": "node", + "id": 11121665832, + "lat": 37.3300773, + "lon": -122.0107592, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "forward" + } +}, +{ + "type": "node", + "id": 11121665833, + "lat": 37.3302501, + "lon": -122.0106077, + "tags": { + "highway": "traffic_signals", + "traffic_signals": "signal", + "traffic_signals:direction": "backward" + } +}, +{ + "type": "node", + "id": 11292594835, + "lat": 37.3327739, + "lon": -122.0139872 +}, +{ + "type": "node", + "id": 11334962642, + "lat": 37.3322296, + "lon": -122.0098488 +}, +{ + "type": "node", + "id": 11334962643, + "lat": 37.3322000, + "lon": -122.0099118 +}, +{ + "type": "node", + "id": 11334962648, + "lat": 37.3313073, + "lon": -122.0101552 +}, +{ + "type": "node", + "id": 11334962652, + "lat": 37.3310189, + "lon": -122.0084879 +}, +{ + "type": "node", + "id": 11334962653, + "lat": 37.3309330, + "lon": -122.0083540 +}, +{ + "type": "node", + "id": 11335140689, + "lat": 37.3336002, + "lon": -122.0063635 +}, +{ + "type": "node", + "id": 11335140691, + "lat": 37.3324632, + "lon": -122.0070637 +}, +{ + "type": "node", + "id": 11335140697, + "lat": 37.3336494, + "lon": -122.0114024 +}, +{ + "type": "node", + "id": 11374859302, + "lat": 37.3308622, + "lon": -122.0064668 +}, +{ + "type": "node", + "id": 11374859303, + "lat": 37.3304351, + "lon": -122.0072855 +}, +{ + "type": "node", + "id": 11374859306, + "lat": 37.3302450, + "lon": -122.0078103 +}, +{ + "type": "node", + "id": 11374859307, + "lat": 37.3306317, + "lon": -122.0082061 +}, +{ + "type": "node", + "id": 11374859308, + "lat": 37.3308529, + "lon": -122.0081694 +}, +{ + "type": "node", + "id": 11374859309, + "lat": 37.3309055, + "lon": -122.0082292 +}, +{ + "type": "node", + "id": 11377118487, + "lat": 37.3312009, + "lon": -122.0066458 +}, +{ + "type": "way", + "id": 5005996, + "nodes": [ + 33440837, + 7278977602 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway:right": "lane", + "highway": "secondary", + "lanes": "2", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 5018736, + "nodes": [ + 33440842, + 33440837 + ], + "tags": { + "alt_name": "North Wolfe Road", + "bridge": "yes", + "cycleway:right": "lane", + "highway": "secondary", + "lanes": "2", + "layer": "1", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "turn:lanes": "none|through;right" + } +}, +{ + "type": "way", + "id": 5018739, + "nodes": [ + 4817634942, + 6737741107, + 3532489558, + 26149271, + 7283754317 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "destination:lanes": "||I 280 South", + "highway": "secondary", + "lanes": "3", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 5018740, + "nodes": [ + 26149285, + 10989789987, + 1924643444, + 26149287, + 10989789988, + 78944655, + 10989789989, + 26149288 + ], + "tags": { + "highway": "service", + "name": "Perimeter Road" + } +}, +{ + "type": "way", + "id": 5018743, + "nodes": [ + 33440883, + 33440879 + ], + "tags": { + "alt_name": "North Wolfe Road", + "bridge": "yes", + "cycleway:right": "lane", + "highway": "secondary", + "lanes": "2", + "layer": "1", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "turn:lanes": "none|through;right" + } +}, +{ + "type": "way", + "id": 5018744, + "nodes": [ + 519461578, + 519461599, + 10989790000, + 8736730356, + 8736730357, + 8736730358, + 8736730359, + 8736730360, + 8736730361, + 3532490059 + ], + "tags": { + "access": "no", + "highway": "service", + "maxspeed": "15 mph", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 8926071, + "nodes": [ + 247385931, + 1297872071, + 1297872262, + 1297872211, + 1297872221, + 78944514, + 1297872303, + 1297872224, + 1297872150, + 247385932, + 1297872148, + 1297872249, + 247385933, + 1297872084, + 1297872113, + 1297872223 + ], + "tags": { + "destination:ref": "I 280 North", + "highway": "motorway_link", + "lanes": "1", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 8926914, + "nodes": [ + 1297872177, + 1297872131, + 289638989, + 1297872251, + 65410705, + 1297872275, + 289638990, + 65410703, + 289638991, + 1297872106, + 1297872089, + 65410702, + 1297872229, + 289638185, + 1297872247, + 65410700, + 1297872092, + 289638992, + 8949912901, + 65410697 + ], + "tags": { + "change": "no", + "destination": "San Jose", + "destination:ref": "I 280 South", + "highway": "motorway_link", + "hov:lanes": "designated|yes", + "hov:minimum": "2", + "lanes": "2", + "motor_vehicle:lanes": "no|", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 8959423, + "nodes": [ + 33440879, + 1297872157, + 65410707, + 3966835398 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "2", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "tiger:cfcc": "A41", + "tiger:county": "Santa Clara, CA", + "tiger:name_base": "Wolfe", + "tiger:name_direction_prefix": "N", + "tiger:name_type": "Rd" + } +}, +{ + "type": "way", + "id": 9847242, + "nodes": [ + 33440837, + 1297872160, + 289638875, + 1297872285, + 65406852, + 1297872312, + 289638876, + 1297872094, + 289638877, + 1297872105, + 289638878, + 1297872075, + 289638879, + 1297872136, + 65406848, + 1297872134, + 289638880, + 1297872145, + 65406845, + 1297872183, + 289638881, + 1297872132, + 65406843, + 1297872280, + 289638882, + 1297872147, + 65406841, + 1297872155, + 289638883, + 65406839, + 7278977603 + ], + "tags": { + "destination": "San Francisco", + "destination:ref": "I 280 North", + "highway": "motorway_link", + "lanes": "1", + "oneway": "yes", + "sidewalk": "no", + "surface": "paved", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 9847247, + "nodes": [ + 1297872282, + 38457727, + 1297872245, + 1297872204, + 1297872085, + 1297872175, + 1297872096, + 1297872063, + 78944554, + 4176741311 + ], + "tags": { + "highway": "motorway_link", + "lanes": "2", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 9847250, + "nodes": [ + 1297872279, + 272145321, + 1297872110, + 1297872078, + 1297872315, + 1297872181, + 247385934, + 1297872296, + 1297872207, + 1297872298, + 78944587, + 251390362 + ], + "tags": { + "highway": "motorway_link", + "lanes": "2", + "maxspeed:advisory": "35 mph", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 9847254, + "nodes": [ + 26497360, + 6887499018, + 6887499019, + 6887499020, + 1297872187, + 7278977830 + ], + "tags": { + "destination": "San Jose", + "destination:ref": "I 280 South", + "highway": "motorway_link", + "lanes": "1", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "tiger:reviewed": "no" + } +}, +{ + "type": "way", + "id": 41934169, + "nodes": [ + 349271220, + 10989789991, + 3532489566, + 11014111297, + 26149285 + ], + "tags": { + "access": "no", + "highway": "service", + "name": "Perimeter Road", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 41934170, + "nodes": [ + 519460942, + 349271220 + ], + "tags": { + "access": "no", + "highway": "service", + "layer": "-1", + "name": "Perimeter Road", + "oneway": "yes", + "tunnel": "yes" + } +}, +{ + "type": "way", + "id": 63523014, + "nodes": [ + 258965243, + 665704186 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "3", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 63523015, + "nodes": [ + 247385931, + 306087470 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway:right": "lane", + "highway": "secondary", + "lanes": "2", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 167275717, + "nodes": [ + 1787684631, + 7278975775, + 1786819267, + 1786819269, + 1786819271, + 1786819272, + 1786819270, + 1786819269 + ], + "tags": { + "access": "private", + "highway": "service", + "source": "Bing" + } +}, +{ + "type": "way", + "id": 167369643, + "nodes": [ + 1787684654, + 1787684658, + 8421850445, + 1787684659, + 1787684664, + 1787684666, + 1787684668, + 1787684672, + 1787684673, + 1787676988, + 1787684676 + ], + "tags": { + "access": "private", + "bicycle": "no", + "highway": "path", + "source": "Bing" + } +}, +{ + "type": "way", + "id": 167369644, + "nodes": [ + 1297872108, + 1297872256, + 1297872087, + 1297872301, + 65402876, + 1297872287, + 1297872278, + 1297872202, + 289638737, + 1297872300, + 1297872297, + 1297872127, + 65402874, + 1297872299, + 1297872129, + 258965243 + ], + "tags": { + "change:lanes": "yes|not_right|not_left|yes", + "highway": "motorway_link", + "lanes": "4", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "turn:lanes": "left|left|right|right" + } +}, +{ + "type": "way", + "id": 167369646, + "nodes": [ + 1787684621, + 1787684624, + 1787684631 + ], + "tags": { + "access": "private", + "highway": "service", + "source": "Bing" + } +}, +{ + "type": "way", + "id": 167369647, + "nodes": [ + 1787684648, + 1787684651, + 1787684653, + 1787684656 + ], + "tags": { + "access": "private", + "bicycle": "no", + "highway": "path", + "source": "Bing" + } +}, +{ + "type": "way", + "id": 167369648, + "nodes": [ + 1787684658, + 1787684657, + 1787684642, + 1787684650, + 1787684648, + 1787684647, + 1787684644, + 1787684640, + 1787684638 + ], + "tags": { + "access": "private", + "bicycle": "no", + "highway": "path", + "source": "Bing" + } +}, +{ + "type": "way", + "id": 167370144, + "nodes": [ + 1786819265, + 11050446672, + 1787693139, + 1787693141, + 1787693142, + 1787693143, + 1787684631 + ], + "tags": { + "foot": "private", + "highway": "footway", + "source": "Bing" + } +}, +{ + "type": "way", + "id": 182112282, + "nodes": [ + 1924643444, + 1924643425 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 186912971, + "nodes": [ + 1973880653, + 1976656947, + 1976656930, + 1976656880, + 1976656905, + 5884290175, + 1976656887, + 1976656933, + 1976656915, + 1976656947 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 227832749, + "nodes": [ + 519461578, + 3532489559, + 4817634940 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "4", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "tiger:cfcc": "A41", + "tiger:county": "Santa Clara, CA", + "tiger:name_base": "Wolfe", + "tiger:name_direction_prefix": "N", + "tiger:name_type": "Rd" + } +}, +{ + "type": "way", + "id": 227832750, + "nodes": [ + 65406866, + 1297872125 + ], + "tags": { + "change": "yes", + "highway": "motorway_link", + "lanes": "2", + "maxspeed:advisory": "35 mph", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "turn:lanes": "left|left" + } +}, +{ + "type": "way", + "id": 265080021, + "nodes": [ + 306087470, + 33440883 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway:right": "lane", + "highway": "secondary", + "lanes": "2", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 266251097, + "nodes": [ + 26149281, + 3532489561, + 3532489564, + 3532489560, + 519460942 + ], + "tags": { + "access": "no", + "highway": "service", + "name": "Perimeter Road", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 335305215, + "nodes": [ + 1293729054, + 7350745317, + 10989790002, + 3532489550, + 3532489553, + 26149272, + 26149273, + 3532489554, + 3532489539, + 2718225777, + 3532489538, + 26149274, + 3532489537, + 3532490058, + 6038239310, + 26149278, + 3532489536, + 26149279, + 26149280, + 26149281 + ], + "tags": { + "access": "no", + "highway": "service", + "lanes": "2", + "maxspeed": "15 mph", + "name": "Perimeter Road", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 346727338, + "nodes": [ + 1924643425, + 1924643420, + 1924643423, + 1924643409, + 3532489557, + 1924643425 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727342, + "nodes": [ + 26149288, + 26149271 + ], + "tags": { + "highway": "service", + "name": "Perimeter Road", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 346727345, + "nodes": [ + 3532489558, + 8736759888, + 26149288 + ], + "tags": { + "highway": "service", + "name": "Perimeter Road", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 346727348, + "nodes": [ + 3532490059, + 33440868, + 3532490045, + 7283754320, + 3532489562, + 2718225778, + 26149281, + 10989789999, + 3532490042 + ], + "tags": { + "access": "no", + "highway": "service", + "maxspeed": "15 mph" + } +}, +{ + "type": "way", + "id": 346727352, + "nodes": [ + 3532490059, + 8736730349, + 8736730350, + 8736730351, + 8736730352, + 8736730353, + 8736730354, + 8736730355, + 10989790001, + 8736759892, + 3532489559 + ], + "tags": { + "access": "no", + "highway": "service", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 346727355, + "nodes": [ + 26149285, + 11014111299, + 3532489589, + 3532490021, + 26149286, + 3532489587, + 2986977759, + 2986977758, + 2986977757, + 3532490028, + 4465627979, + 3532490023, + 4465627980, + 3532490029, + 7283754313, + 2986977756, + 3532489574 + ], + "tags": { + "highway": "service", + "name": "Perimeter Road" + } +}, +{ + "type": "way", + "id": 346727358, + "nodes": [ + 3532489562, + 3532489563, + 3532489565, + 3532489564 + ], + "tags": { + "access": "no", + "highway": "service", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 346727361, + "nodes": [ + 26149285, + 3532489567, + 10989789990, + 3532489568 + ], + "tags": { + "access": "no", + "highway": "service", + "name": "Perimeter Road", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 346727363, + "nodes": [ + 3532489569, + 3532489570, + 3532489571, + 3532489572, + 3532489573, + 26149281 + ], + "tags": { + "access": "no", + "highway": "service", + "name": "Perimeter Road", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 346727366, + "nodes": [ + 3532489568, + 3532489569 + ], + "tags": { + "access": "no", + "highway": "service", + "layer": "-1", + "name": "Perimeter Road", + "oneway": "yes", + "tunnel": "yes" + } +}, +{ + "type": "way", + "id": 346727373, + "nodes": [ + 3532489582, + 7412824253, + 8736759889, + 3532489583 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "driveway" + } +}, +{ + "type": "way", + "id": 346727376, + "nodes": [ + 26149286, + 3532489586 + ], + "tags": { + "highway": "service", + "service": "driveway" + } +}, +{ + "type": "way", + "id": 346727381, + "nodes": [ + 3532489589, + 3532489590 + ], + "tags": { + "highway": "service", + "service": "driveway" + } +}, +{ + "type": "way", + "id": 346727396, + "nodes": [ + 3532489999, + 3532490003, + 3532489590, + 3532490006, + 3532490020, + 3532490008, + 3532489586, + 3532490011, + 3532490000 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727400, + "nodes": [ + 3532489999, + 3532490001, + 3532490002 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727403, + "nodes": [ + 3532490002, + 3532490003 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727408, + "nodes": [ + 3532489590, + 3532490004 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727412, + "nodes": [ + 3532490005, + 3532490006 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727416, + "nodes": [ + 3532490007, + 3532490008 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727419, + "nodes": [ + 3532489586, + 3532490009 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727423, + "nodes": [ + 3532490010, + 3532490011 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727427, + "nodes": [ + 3532490000, + 3532490012, + 3532490013, + 3532490010 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727431, + "nodes": [ + 3532490010, + 3532490014, + 3532490009, + 3532490007, + 3532490019, + 3532490005, + 3532490015, + 3532490004, + 3532490016, + 3532490002 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727435, + "nodes": [ + 3532490018, + 3532490019, + 3532490020, + 3532490021 + ], + "tags": { + "highway": "footway" + } +}, +{ + "type": "way", + "id": 346727442, + "nodes": [ + 3532490023, + 3532490027, + 3532490024 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 346727445, + "nodes": [ + 3532490024, + 3532490025, + 3532490026, + 3532490028 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727450, + "nodes": [ + 3532490026, + 3532490027 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 346727462, + "nodes": [ + 3532490031, + 3954310876 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 346727465, + "nodes": [ + 3532490033, + 3532490034, + 3532490035 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 346727470, + "nodes": [ + 3532490045, + 3532490049, + 3532490046, + 3532490047, + 3532490048, + 3532490049 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442167, + "nodes": [ + 3788073565, + 3788073568, + 3788073579, + 3788073581, + 3788073586, + 3788073587, + 3788073592, + 3788073594, + 3788073595, + 3788073593, + 4465627979 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 375442168, + "nodes": [ + 3788073607, + 3788073605 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442169, + "nodes": [ + 3788073623, + 3788073622 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442171, + "nodes": [ + 3788073621, + 3788073620 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442173, + "nodes": [ + 3788073625, + 3788073626, + 3788073627 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442174, + "nodes": [ + 3788073628, + 3788073629, + 3788073630 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442175, + "nodes": [ + 3788073566, + 3788073567, + 3788073563 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442176, + "nodes": [ + 3788073574, + 3788073575, + 3788073582 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442177, + "nodes": [ + 3788073558, + 8736759860, + 3788073561, + 3788073562, + 3788073564, + 3788073566, + 4465627981, + 3788073571, + 3788073574, + 3788073584, + 3788073593, + 3788073596, + 3788073605, + 3788073613, + 3788073618, + 3788073620, + 3788073622, + 3788073625, + 3788073628, + 3788073631, + 3788073632, + 3788073630, + 3788073627, + 3788073624, + 3788073609, + 3788073576, + 3788073573, + 3788073572, + 3788073569, + 3788073565, + 3788073255, + 3788073253, + 3788073251, + 3788073252, + 3788073254, + 3788073256, + 3788073557, + 3788073559, + 3788073560, + 3788073561 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 375442178, + "nodes": [ + 3788073609, + 3788073602, + 3788073591, + 3788073585, + 3788073579 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 375442180, + "nodes": [ + 3788073572, + 3788073591, + 3788073608, + 3788073610, + 3788073612, + 3788073614, + 3788073613 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442181, + "nodes": [ + 3788073580, + 3788073585, + 3788073589, + 3788073598, + 3788073603, + 3788073606, + 3788073604 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 375442182, + "nodes": [ + 3788073594, + 3788073600, + 3788073604, + 3788073614, + 3788073619, + 3788073621, + 3788073623, + 3788073624 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 375442183, + "nodes": [ + 3788073618, + 3788073619, + 3788073617, + 3788073616, + 3788073615, + 3788073611, + 3788073602, + 3788073588, + 3788073573 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 379987000, + "nodes": [ + 3833356720, + 1786819284, + 1786819289, + 1786819288, + 7278975773, + 1786819287, + 1786819286, + 1787675479, + 7278975772, + 1786819285, + 1787677010, + 1786819281, + 11292594835, + 1786819280, + 1786819276, + 1786819274, + 7278975774, + 1787684654, + 1786819268, + 1787684621, + 1786819266, + 1786819265, + 7350884432, + 7278977597 + ], + "tags": { + "access": "private", + "highway": "service", + "source": "Bing" + } +}, +{ + "type": "way", + "id": 393494143, + "nodes": [ + 4817634940, + 6737741105, + 3966835394 + ], + "tags": { + "alt_name": "North Wolfe Road", + "change:lanes": "no|no|not_left|yes|yes", + "cycleway": "shared_lane", + "highway": "secondary", + "lanes": "5", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "tiger:cfcc": "A41", + "tiger:county": "Santa Clara, CA", + "tiger:name_base": "Wolfe", + "tiger:name_direction_prefix": "N", + "tiger:name_type": "Rd", + "turn:lanes": "reverse;left|left|||" + } +}, +{ + "type": "way", + "id": 393494146, + "nodes": [ + 3966835398, + 65406866 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "4", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "tiger:cfcc": "A41", + "tiger:county": "Santa Clara, CA", + "tiger:name_base": "Wolfe", + "tiger:name_direction_prefix": "N", + "tiger:name_type": "Rd", + "turn:lanes": "through|||" + } +}, +{ + "type": "way", + "id": 393494147, + "nodes": [ + 3966835394, + 7283754307, + 65584605 + ], + "tags": { + "alt_name": "North Wolfe Road", + "bicycle:lanes": "no|yes|no|no|no|designated", + "change:lanes": "no|no|not_left|yes|not_right", + "cycleway": "lane", + "highway": "secondary", + "lanes": "5", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "tiger:cfcc": "A41", + "tiger:county": "Santa Clara, CA", + "tiger:name_base": "Wolfe", + "tiger:name_direction_prefix": "N", + "tiger:name_type": "Rd", + "turn:lanes": "reverse;left|left||||", + "vehicle:lanes": "yes|yes|yes|yes|yes|no" + } +}, +{ + "type": "way", + "id": 393494152, + "nodes": [ + 8178639948, + 272145318, + 1297872253, + 4089778745, + 4089778744, + 65406871, + 1297872220, + 1297872081, + 65406868, + 1297872196, + 1297872109, + 65406866 + ], + "tags": { + "change:lanes": "yes|not_right|not_left|yes", + "highway": "motorway_link", + "lanes": "4", + "maxspeed:advisory": "35 mph", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "turn:lanes": "left|left|right|right" + } +}, +{ + "type": "way", + "id": 394425826, + "nodes": [ + 65406866, + 251390364, + 7283754322, + 7283754321, + 519461578 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "4", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "tiger:cfcc": "A41", + "tiger:county": "Santa Clara, CA", + "tiger:name_base": "Wolfe", + "tiger:name_direction_prefix": "N", + "tiger:name_type": "Rd" + } +}, +{ + "type": "way", + "id": 409489291, + "nodes": [ + 251390362, + 1297872213, + 8178639948 + ], + "tags": { + "destination": "Wolfe Road", + "highway": "motorway_link", + "lanes": "2", + "maxspeed:advisory": "35 mph", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "turn:lanes": "left|right" + } +}, +{ + "type": "way", + "id": 417040113, + "nodes": [ + 4176741311, + 1297872108 + ], + "tags": { + "change:lanes": "yes|not_right|not_left|yes", + "highway": "motorway_link", + "lanes": "4", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "turn:lanes": "left|left|right|right" + } +}, +{ + "type": "way", + "id": 449616004, + "nodes": [ + 4465627980, + 4465627981 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 489525595, + "nodes": [ + 289652355, + 7283754306, + 7283754316 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "4", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "turn:lanes": "||merge_to_left|" + } +}, +{ + "type": "way", + "id": 504807791, + "nodes": [ + 4949175388, + 4949175387 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 504807792, + "nodes": [ + 4949175390, + 4949175389 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 504807793, + "nodes": [ + 4949175392, + 4949175391 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 504807795, + "nodes": [ + 3532490044, + 4949175394, + 4949175391, + 4949175389, + 4949175388, + 3532490042 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 504807796, + "nodes": [ + 3532490042, + 4949175397, + 4949175387, + 4949175390, + 4949175396, + 4949175392, + 4949175393, + 4949175395, + 3532490044 + ], + "tags": { + "highway": "service", + "service": "parking_aisle" + } +}, +{ + "type": "way", + "id": 509655430, + "nodes": [ + 4988459388, + 7278977845 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "unclassified", + "lanes": "3", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 509655431, + "nodes": [ + 7278977838, + 5054579475, + 5054579474, + 5054547514, + 5054579473, + 4988459387, + 5062548313, + 5054579472 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "cutting": "yes", + "highway": "unclassified", + "lanes": "3", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 518032650, + "nodes": [ + 5054173675, + 5054173676, + 5054173677, + 5054173678 + ], + "tags": { + "access": "private", + "access:employee": "no", + "access:service": "designated", + "highway": "service", + "maxspeed": "15 mph" + } +}, +{ + "type": "way", + "id": 518135909, + "nodes": [ + 5056020446, + 5054961333, + 5054961334, + 5054961423, + 5054961424, + 5054961425, + 5054961431, + 5054961426, + 5054961433, + 5054961430, + 5054961429, + 5054961428, + 5054961432, + 5054961422 + ], + "tags": { + "access": "private", + "bicycle": "designated", + "foot": "designated", + "highway": "cycleway", + "segregated": "no" + } +}, +{ + "type": "way", + "id": 518135911, + "nodes": [ + 5054961336, + 5054961401, + 5054961337, + 5054961402, + 5054961405, + 5054961404, + 5054961406, + 5054961396, + 5054961421, + 11334962643, + 5054961408, + 5054961420, + 5054961409, + 5054961419, + 5054961410, + 5054961397, + 5054961413, + 5054961449, + 5054961412, + 5054961411, + 5054961399, + 5054961400, + 5054961398 + ], + "tags": { + "access": "private", + "highway": "service" + } +}, +{ + "type": "way", + "id": 518135913, + "nodes": [ + 5062598035, + 5062598038 + ], + "tags": { + "access": "private", + "bridge": "yes", + "highway": "path", + "layer": "2" + } +}, +{ + "type": "way", + "id": 518135914, + "nodes": [ + 5062598036, + 5062598040 + ], + "tags": { + "access": "private", + "bridge": "yes", + "highway": "path", + "layer": "2" + } +}, +{ + "type": "way", + "id": 518135915, + "nodes": [ + 5054961344, + 7283637995, + 5054961345, + 5054961398, + 5054961347, + 5054961365, + 5054961348, + 5054961364, + 5451414543, + 5054961349, + 5054961350, + 5054961351, + 5054961363, + 5054961352, + 5054961362, + 5054961353, + 5054961354, + 5054961355, + 5054961367, + 5451414542, + 5054961356, + 5054961357, + 5054961358, + 5054961366, + 5054961359, + 5054961361, + 5054707737 + ], + "tags": { + "access": "no", + "bicycle": "private", + "foot": "private", + "highway": "service" + } +}, +{ + "type": "way", + "id": 518135916, + "nodes": [ + 6461394537, + 11335140697, + 5054961370, + 5054961371, + 5054961372, + 5054961374, + 5054961375, + 5054961376, + 5054961378, + 5054961377, + 5054961379, + 6461394531, + 6461394532, + 6461394530, + 6461394529, + 5054961380, + 5054961381, + 5054961382, + 5054961388, + 5054961449, + 5054961389, + 5054961390, + 5054961383, + 5054961393, + 5054961392, + 5054961384, + 5054961391, + 5054961385, + 5054961394, + 5054961386, + 5054961387, + 5054961440, + 5054961441, + 5054961442, + 5054961443, + 5054961444, + 5054961445, + 5054961446, + 11334962648, + 5054961447, + 5054961448, + 5054961486, + 5054961487, + 5054961485, + 5054961490, + 5054961491, + 5054961489, + 5054961494, + 5054961493, + 5054961492, + 5054961488, + 5054961481, + 5054961482, + 11334962652, + 5054961335, + 5054961484, + 11334962653, + 5054961483, + 11374859309, + 5054961497, + 11374859308, + 5054961495, + 5054961498, + 5083475858, + 11374859307, + 5083475860, + 5083475859, + 5054961499, + 5054961501, + 5054961502, + 5054961503, + 11374859306, + 5054961504, + 5448692259, + 5054961500, + 11374859303, + 5054961465, + 5448692264, + 5448692265, + 5448692268, + 5448692266, + 5054961597, + 11374859302, + 5054961508, + 5448692267, + 5054961507, + 5054961466, + 11377118487, + 5054961598, + 5054961506, + 5054961467, + 5448692269, + 5054961596, + 5054961505, + 5054961529, + 5054961468, + 5448692263, + 5054961530, + 5054961469, + 11335140691, + 5054961531, + 5054961470, + 5054961518, + 5054961532, + 5054961533, + 5054961471, + 11335140689, + 5054961534, + 5054961332, + 5448692261, + 5054961535, + 5448692262, + 5448692260 + ], + "tags": { + "access": "private", + "bicycle": "private", + "foot": "private", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 518135917, + "nodes": [ + 5054961421, + 11334962642, + 5054961414, + 5054961434, + 5054961439, + 5054961438, + 5054961415, + 5054961437, + 5054961435, + 5054961422, + 5054961436, + 5054961447, + 5054961416, + 5054961418, + 5054961417, + 5054961341 + ], + "tags": { + "access": "private", + "bicycle": "designated", + "foot": "designated", + "highway": "cycleway", + "segregated": "no" + } +}, +{ + "type": "way", + "id": 519130602, + "nodes": [ + 5062598039, + 5054961341 + ], + "tags": { + "access": "private", + "bridge": "yes", + "highway": "path", + "layer": "1" + } +}, +{ + "type": "way", + "id": 519130603, + "nodes": [ + 5062598041, + 5054961343 + ], + "tags": { + "access": "private", + "bridge": "yes", + "highway": "path", + "layer": "1" + } +}, +{ + "type": "way", + "id": 519133926, + "nodes": [ + 5062645225, + 5062645233 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "bridge": "yes", + "highway": "service", + "layer": "2", + "private": "employees" + } +}, +{ + "type": "way", + "id": 519133928, + "nodes": [ + 5062645228, + 11121664990, + 5062645237, + 11121664989, + 5062645234 + ], + "tags": { + "bridge": "yes", + "highway": "service", + "layer": "1", + "maxspeed": "15 mph", + "private": "employees" + } +}, +{ + "type": "way", + "id": 519133929, + "nodes": [ + 5062645229, + 11121664988, + 5062645238, + 11121664987, + 5062645235 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "bridge": "yes", + "highway": "service", + "layer": "1", + "maxspeed": "15 mph", + "private": "employees" + } +}, +{ + "type": "way", + "id": 519133930, + "nodes": [ + 5062645230, + 11121665828, + 5062645240, + 11121665829, + 5062645236 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "bridge": "yes", + "highway": "service", + "layer": "1", + "maxspeed": "15 mph", + "private": "employees" + } +}, +{ + "type": "way", + "id": 519133931, + "nodes": [ + 5062645231, + 11121664985, + 5062645239, + 11121664986, + 5062645232 + ], + "tags": { + "access": "private", + "bridge": "yes", + "highway": "service", + "layer": "1", + "maxspeed": "15 mph", + "private": "employees" + } +}, +{ + "type": "way", + "id": 519644190, + "nodes": [ + 5062645240, + 5062645239, + 5066567231 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "bridge": "yes", + "highway": "service", + "layer": "1", + "maxspeed": "15 mph", + "private": "employees" + } +}, +{ + "type": "way", + "id": 519644193, + "nodes": [ + 5066566618, + 5066636409, + 5066567228, + 5066636410, + 5066567229, + 5066636414 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "destination": "Level 1;Level 2", + "highway": "unclassified", + "lanes": "2", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 519644199, + "nodes": [ + 5066567230, + 5062645237, + 5062645238 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "bridge": "yes", + "highway": "service", + "layer": "1", + "maxspeed": "15 mph", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 534669688, + "nodes": [ + 258965243, + 306087470 + ], + "tags": { + "change": "no", + "highway": "motorway_link", + "lanes": "2", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "turn:lanes": "left|left" + } +}, +{ + "type": "way", + "id": 617235612, + "nodes": [ + 206691786, + 8949912907, + 8949912908, + 4728204684, + 8949912881, + 206691795 + ], + "tags": { + "bicycle": "no", + "foot": "no", + "hgv": "designated", + "highway": "motorway", + "horse": "no", + "hov:lanes": "designated|yes|yes|yes", + "lanes": "4", + "maxspeed": "65 mph", + "maxspeed:hgv": "55 mph", + "maxspeed:trailer": "55 mph", + "name": "Junipero Serra Freeway", + "oneway": "yes", + "ref": "I 280", + "source:maxspeed": "sign" + } +}, +{ + "type": "way", + "id": 756171388, + "nodes": [ + 26149285, + 7283754488, + 11014111298, + 7062661347, + 7062661358, + 7062661348, + 7278977820, + 7062661349, + 7062661350, + 7062661351, + 7062661352, + 8240683331, + 26149286 + ], + "tags": { + "highway": "service" + } +}, +{ + "type": "way", + "id": 756171389, + "nodes": [ + 7062661348, + 7062661353, + 7062661354, + 7062661355, + 7062661356, + 7062661357, + 7062661358 + ], + "tags": { + "highway": "service", + "oneway": "yes", + "service": "driveway" + } +}, +{ + "type": "way", + "id": 779496550, + "nodes": [ + 7278977597, + 7278977598, + 7278977596, + 5054173678, + 5054173679, + 5054173680, + 5054173681, + 7278977595, + 5054173664, + 5054173665, + 5054173666, + 5054173667, + 5054173672, + 5054173673, + 5054173674, + 5054173668, + 5054173669, + 5054173670, + 5062598033, + 5062598034, + 5062598032 + ], + "tags": { + "access": "private", + "access:employee": "no", + "access:service": "designated", + "highway": "service", + "maxspeed": "15 mph" + } +}, +{ + "type": "way", + "id": 779496551, + "nodes": [ + 7278977602, + 258965243 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway:right": "lane", + "highway": "secondary", + "lanes": "3", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 779496552, + "nodes": [ + 7278977603, + 1297872289 + ], + "tags": { + "change": "no", + "highway": "motorway_link", + "hov:lanes": "yes|designated", + "lanes": "2", + "motor_vehicle:lanes": "|no", + "oneway": "yes", + "sidewalk": "no", + "surface": "paved", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 779496553, + "nodes": [ + 1297872289, + 1297872223, + 1297872057, + 8949912903, + 1067712932 + ], + "tags": { + "highway": "motorway_link", + "lanes": "1", + "oneway": "yes", + "sidewalk": "no", + "surface": "paved", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 779496562, + "nodes": [ + 7278977655, + 7278977654, + 7278977656, + 7278977657, + 7278977658, + 7278977659, + 7278977660, + 7278977661, + 7278977662, + 7278977663, + 7278977664, + 7278977665, + 7278977666 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496563, + "nodes": [ + 7278977666, + 1297872129, + 7278977667 + ], + "tags": { + "crossing": "traffic_signals", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496564, + "nodes": [ + 7278977667, + 7278977668, + 7278977669, + 7278977670, + 7278977671, + 7278977672, + 7278977673 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496565, + "nodes": [ + 7278977673, + 289638875, + 7278977674 + ], + "tags": { + "crossing": "marked", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496574, + "nodes": [ + 7278977704, + 7278977705, + 7278977706, + 7278977707, + 7278977708, + 7278977709 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496575, + "nodes": [ + 7278977674, + 7278977710, + 7278977711, + 7278977712, + 7278977802 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496602, + "nodes": [ + 7278977810, + 1297872187, + 7278977811 + ], + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496603, + "nodes": [ + 7278977813, + 7278977815, + 7278977816, + 7278977817, + 7278977818, + 7278977819, + 7062661353 + ], + "tags": { + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496604, + "nodes": [ + 7278977805, + 7278977806, + 7278977807, + 7278977808, + 7278977809, + 7278977810 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496605, + "nodes": [ + 7278977802, + 7278977803, + 7278977804, + 7278977805 + ], + "tags": { + "bridge": "yes", + "footway": "sidewalk", + "highway": "footway", + "layer": "1" + } +}, +{ + "type": "way", + "id": 779496606, + "nodes": [ + 7278977822, + 7278977823, + 7278977824, + 7278977825, + 7278977826, + 7278977827 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496607, + "nodes": [ + 7278977709, + 7278977821, + 7278977822 + ], + "tags": { + "bridge": "yes", + "footway": "sidewalk", + "highway": "footway", + "layer": "1" + } +}, +{ + "type": "way", + "id": 779496608, + "nodes": [ + 7278977827, + 7278977829, + 7278977828 + ], + "tags": { + "crossing": "marked", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 779496609, + "nodes": [ + 65410697, + 1297872316, + 289638993, + 1297872226, + 65410695, + 65410690, + 1297872314, + 1297872270 + ], + "tags": { + "highway": "motorway_link", + "lanes": "1", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 779496610, + "nodes": [ + 289638274, + 1297872185, + 1297872152, + 1297872267, + 1297872313, + 1297872270 + ], + "tags": { + "highway": "motorway_link", + "lanes": "1", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "tiger:reviewed": "no" + } +}, +{ + "type": "way", + "id": 779496611, + "nodes": [ + 7278977830, + 289638273, + 78944622, + 1297872264, + 1297872111, + 1297872208, + 289638274 + ], + "tags": { + "change": "no", + "highway": "motorway_link", + "hov:lanes": "designated|yes", + "lanes": "2", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA", + "tiger:reviewed": "no" + } +}, +{ + "type": "way", + "id": 779496612, + "nodes": [ + 7278977832, + 7278977831, + 1297872232, + 206691795 + ], + "tags": { + "highway": "motorway_link", + "lanes": "1", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 779496613, + "nodes": [ + 1297872270, + 7278977832 + ], + "tags": { + "highway": "motorway_link", + "lanes": "2", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 779496620, + "nodes": [ + 7278977835, + 5054547512, + 7278977847, + 5054547513, + 4988459388 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "cutting": "yes", + "highway": "unclassified", + "lanes": "3", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496622, + "nodes": [ + 7278977839, + 7339551666, + 7339551663, + 7278977844, + 7280634111, + 7278977838 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "unclassified", + "lanes": "3", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 779496623, + "nodes": [ + 5054173663, + 7339551679, + 7339551671, + 7278977839 + ], + "tags": { + "access": "private", + "destination:lanes": "Level 3;Level 4||Level 1;Level 2", + "highway": "unclassified", + "lanes": "3", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 779496624, + "nodes": [ + 7278977845, + 7280634112, + 5054173663 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "change:lanes": "no|not_left|yes|yes", + "destination:lanes": "|Level 3;Level 4||Level 1;Level 2", + "highway": "unclassified", + "lanes": "4", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "surface": "asphalt", + "turn:lanes": "left|||" + } +}, +{ + "type": "way", + "id": 779496625, + "nodes": [ + 5054173649, + 7278977843, + 7278977842, + 7278977840, + 7278977841, + 11121665823, + 5054961344 + ], + "tags": { + "access": "private", + "access:employee": "no", + "coach": "designated", + "destination:forward": "Emergency Vehicle Access", + "emergency": "designated", + "highway": "service", + "maxspeed": "15 mph", + "motorcar": "no", + "oneway": "yes" + } +}, +{ + "type": "way", + "id": 779496626, + "nodes": [ + 5066567230, + 5066636411 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "service", + "lanes": "6", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 779496627, + "nodes": [ + 5062598044, + 5054173675, + 7284202703, + 7278977599, + 4988459393, + 7278977600, + 4988459392, + 7278977601, + 4988459391, + 7278977846, + 5054579471, + 7278977839 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "destination:lanes:backward": "||Level 1;Level 2", + "highway": "unclassified", + "lanes": "6", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 779496628, + "nodes": [ + 5066636411, + 5066566618 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "change:lanes:forward": "no|not_left|yes", + "destination:backward": "Level 3;Level 4", + "highway": "unclassified", + "lanes": "6", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 779496629, + "nodes": [ + 7278977854, + 11121665832, + 7283637913, + 7278977850 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "service", + "maxheight": "8'2\"", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496630, + "nodes": [ + 7278977855, + 11121665831, + 7278977849, + 7278977851 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "change": "no", + "highway": "unclassified", + "lanes": "2", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "turn:lanes": "left|through;right" + } +}, +{ + "type": "way", + "id": 779496631, + "nodes": [ + 7278977851, + 11121665811, + 11121665813, + 11121665814, + 11121665812, + 11121665815, + 5066566616, + 7339551655, + 7339551658, + 5066636411 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "destination": "Wolfe Road", + "highway": "unclassified", + "lanes": "2", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496632, + "nodes": [ + 7278977856, + 11121664993, + 11121664994, + 11121664991, + 11121665830, + 11121664992, + 7278977850 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "change": "no", + "highway": "unclassified", + "lanes": "2", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "turn:lanes": "left|" + } +}, +{ + "type": "way", + "id": 779496633, + "nodes": [ + 7278977850, + 7278977848, + 11121664995, + 7283637890, + 7278977869 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "destination": "Tantau Avenue", + "highway": "unclassified", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496634, + "nodes": [ + 7278977863, + 11121665826, + 7283637868, + 7278977864, + 7278977865, + 7278977867, + 11121665827, + 7278977866 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "service", + "maxspeed": "15 mph", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496636, + "nodes": [ + 7278977869, + 11121665825, + 7278977857, + 7278977864 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "change": "no", + "highway": "unclassified", + "lanes": "2", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees", + "turn:lanes": "left;through|through;right" + } +}, +{ + "type": "way", + "id": 779496637, + "nodes": [ + 7278977864, + 7283637884, + 7283637883, + 7283637882, + 7278977868, + 7283637877, + 7280634114, + 5066566620, + 7339551676, + 7339551683, + 5054173682 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "destination": "Tantau Avenue", + "highway": "unclassified", + "lanes": "2", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496639, + "nodes": [ + 7278977865, + 7278977858, + 7278977855 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "destination": "Wolfe Road", + "highway": "unclassified", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496643, + "nodes": [ + 5066636414, + 7283637935, + 7278977874 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "service", + "maxspeed": "15 mph", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496644, + "nodes": [ + 5066636414, + 5066566619, + 7280634117, + 7278977856 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "unclassified", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 779496645, + "nodes": [ + 5066566618, + 5062598044 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "change:lanes:forward": "no|not_left|yes", + "destination:lanes:backward": "||Level 1;Level 2", + "highway": "unclassified", + "lanes": "6", + "maxspeed": "15 mph", + "name": "Apple Park Way", + "private": "employees", + "surface": "asphalt" + } +}, +{ + "type": "way", + "id": 780046338, + "nodes": [ + 7283637873, + 7278977858, + 7278977857, + 7283637874 + ], + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046339, + "nodes": [ + 7283637874, + 7283637868, + 7283637875 + ], + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046342, + "nodes": [ + 7283637880, + 7283637885, + 7283637886, + 7283637887, + 7283637888, + 7283637889, + 7283637875 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046343, + "nodes": [ + 7283637874, + 7283637910, + 7283637908, + 7283637907, + 7283637909, + 7283637891, + 7283637892, + 11121664996, + 11121664997, + 11121664998, + 11121664999, + 11121665817, + 7283637893 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046344, + "nodes": [ + 7283637873, + 7283637894, + 7283637895, + 7283637896, + 7283637897, + 7283637898, + 7283637899, + 7283637900, + 7283637901, + 7283637902, + 7283637903, + 7283637904, + 7283637905, + 11121665818 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046345, + "nodes": [ + 7283637906, + 7278977849, + 7278977848, + 11121665816 + ], + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046346, + "nodes": [ + 7278977850, + 7278977851 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "service", + "private": "employees" + } +}, +{ + "type": "way", + "id": 780046347, + "nodes": [ + 7283637906, + 7278977853, + 11121665821 + ], + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046348, + "nodes": [ + 7278977851, + 7278977853, + 11121665833, + 7278977852 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "service", + "maxheight": "8'2\"", + "private": "employees" + } +}, +{ + "type": "way", + "id": 780046349, + "nodes": [ + 11121665816, + 7283637913, + 11121665820 + ], + "tags": { + "crossing": "traffic_signals", + "crossing:markings": "lines", + "crossing:signals": "separate", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046350, + "nodes": [ + 7283637912, + 11121665805, + 11121665806, + 11121665004, + 11121665808, + 11121665807, + 11121665810, + 11121665809, + 7283637914 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046351, + "nodes": [ + 7283637911, + 7283637915, + 7283637916, + 7283637917, + 7283637918, + 7283637919, + 7283637920, + 7283637921, + 7283637931 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046352, + "nodes": [ + 11121665818, + 11121665819, + 7283637923 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046353, + "nodes": [ + 7283637911, + 11121665822, + 7283637924 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046354, + "nodes": [ + 7283637912, + 11121665000, + 11121665001, + 7283637925 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046355, + "nodes": [ + 7283637893, + 11121665003, + 11121665002, + 7283637926 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046357, + "nodes": [ + 7283637874, + 7283637928 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046358, + "nodes": [ + 7283637875, + 7283637929 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046359, + "nodes": [ + 7283637930, + 7283637933, + 5066566616 + ], + "tags": { + "access": "private", + "access:employee": "designated", + "highway": "service", + "oneway": "yes", + "private": "employees" + } +}, +{ + "type": "way", + "id": 780046360, + "nodes": [ + 7283637932, + 7283637922, + 7283637974, + 7283637975, + 7283637976, + 7283637977, + 7283637978, + 7283637979, + 7283637980, + 7283637981, + 7283637982, + 7283637983, + 7283637984, + 7283637985, + 7283637986, + 7283637987, + 7283637988, + 7283637989, + 7283637990, + 7283637991, + 7283637992, + 7283637993 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046361, + "nodes": [ + 7283637931, + 7283637933, + 7283637932 + ], + "tags": { + "access": "private", + "crossing": "marked", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046362, + "nodes": [ + 7283637914, + 7283637935, + 7283637934 + ], + "tags": { + "access": "private", + "crossing": "marked", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046363, + "nodes": [ + 7283637934, + 7283637936 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046364, + "nodes": [ + 7283637922, + 5062598044, + 7283637936 + ], + "tags": { + "access": "private", + "crossing": "marked", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046365, + "nodes": [ + 7283637936, + 7283637937, + 7283637938, + 7283637939, + 7283637940, + 7283637941, + 7283637942, + 7283637943, + 7283637944, + 7283637945, + 7283637946, + 7283637947, + 7283637948, + 7283637949, + 7283637950, + 7283637951, + 7283637952, + 7283637953, + 7283637954, + 7283637957, + 7283637959, + 7283637958 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046366, + "nodes": [ + 7283637945, + 7283637955 + ], + "tags": { + "access": "private", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046367, + "nodes": [ + 7283637942, + 5054173676, + 7283637956 + ], + "tags": { + "access": "private", + "crossing": "marked", + "crossing:markings": "zebra", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046368, + "nodes": [ + 7283637952, + 5054147383 + ], + "tags": { + "access": "private", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046369, + "nodes": [ + 7283637959, + 7278977595, + 7283637960 + ], + "tags": { + "access": "private", + "crossing": "marked", + "crossing:markings": "zebra", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046370, + "nodes": [ + 7283637956, + 7283637961, + 7283637962, + 7283637963, + 7283637964, + 7283637965, + 7283637966, + 7283637967 + ], + "tags": { + "access": "private", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046371, + "nodes": [ + 7278977597, + 7283637968, + 7283637969, + 7283637970 + ], + "tags": { + "access": "private", + "highway": "service", + "service": "driveway" + } +}, +{ + "type": "way", + "id": 780046372, + "nodes": [ + 7283637971, + 7278977598, + 7283637972 + ], + "tags": { + "access": "private", + "crossing": "marked", + "crossing:markings": "zebra", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046373, + "nodes": [ + 7283637971, + 7283637973 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046374, + "nodes": [ + 7283637993, + 7278977837, + 7283637994 + ], + "tags": { + "access": "private", + "crossing": "marked", + "crossing:markings": "zebra", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780046375, + "nodes": [ + 7283637994, + 7283637995, + 7283637996, + 7283637997, + 7283637998, + 7283637999, + 7283638000, + 7283638001, + 7283637811 + ], + "tags": { + "access": "private", + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 780060104, + "nodes": [ + 3532489582, + 4817634942 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "destination:ref:lanes": "|||I 280 South", + "highway": "secondary", + "lanes": "4", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "note:turn:lanes": "Weird but true", + "oneway": "yes", + "sidewalk": "right", + "turn:lanes": "||merge_to_left|" + } +}, +{ + "type": "way", + "id": 780060105, + "nodes": [ + 7283754317, + 7283754318 + ], + "tags": { + "alt_name": "North Wolfe Road", + "change:lanes": "yes|not_right|no", + "cycleway": "lane", + "destination:lanes": "||I 280 South", + "highway": "secondary", + "lanes": "3", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "turn:lanes": "||right" + } +}, +{ + "type": "way", + "id": 780060106, + "nodes": [ + 26497360, + 1297872125 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "2", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 780060107, + "nodes": [ + 7283754318, + 26497360 + ], + "tags": { + "bicycle:lanes": "no|no|designated|no", + "change:lanes": "yes|not_right|no|no", + "cycleway": "lane", + "destination:lanes": "||I 280 South", + "highway": "secondary", + "lanes": "3", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right", + "turn:lanes": "||right", + "vehicle:lanes": "yes|yes|no|yes" + } +}, +{ + "type": "way", + "id": 850097347, + "nodes": [ + 206691795, + 8949912894 + ], + "tags": { + "bicycle": "no", + "change": "yes", + "destination:lanes": "none|none|none|Saratoga Avenue|Stevens Creek Boulevard;Lawrence Expressway", + "foot": "no", + "hgv": "designated", + "highway": "motorway", + "horse": "no", + "hov:lanes": "designated|yes|yes|yes|yes", + "lanes": "5", + "maxspeed": "65 mph", + "maxspeed:hgv": "55 mph", + "maxspeed:trailer": "55 mph", + "name": "Junipero Serra Freeway", + "oneway": "yes", + "ref": "I 280", + "source:maxspeed": "sign", + "turn:lanes": "none|none|none|none|slight_right" + } +}, +{ + "type": "way", + "id": 850098170, + "nodes": [ + 289638735, + 1067707159, + 8949912906, + 1067712932 + ], + "tags": { + "bicycle": "no", + "foot": "no", + "hgv": "designated", + "highway": "motorway", + "horse": "no", + "hov:lanes": "designated|yes|yes|yes", + "lanes": "4", + "maxspeed": "65 mph", + "maxspeed:hgv": "55 mph", + "maxspeed:trailer": "55 mph", + "name": "Junipero Serra Freeway", + "oneway": "yes", + "ref": "I 280", + "source:maxspeed": "sign" + } +}, +{ + "type": "way", + "id": 886228900, + "nodes": [ + 8736730364, + 8240683332, + 8240683322, + 8240683333, + 8240683334, + 8736730367 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 906960842, + "nodes": [ + 1787676994, + 8421865652, + 8421850445 + ], + "tags": { + "bicycle": "no", + "foot": "yes", + "highway": "path", + "horse": "no", + "incline": "0%", + "motor_vehicle": "no", + "surface": "concrete" + } +}, +{ + "type": "way", + "id": 906961960, + "nodes": [ + 8421865652, + 8421865657, + 8421865653, + 8421865654, + 8421865655, + 8421865656 + ], + "tags": { + "bicycle": "no", + "highway": "path" + } +}, +{ + "type": "way", + "id": 906961962, + "nodes": [ + 1787684668, + 8421865669, + 8421865670, + 1787691933, + 8421865671, + 8421865672 + ], + "tags": { + "bicycle": "no", + "highway": "path", + "surface": "concrete" + } +}, +{ + "type": "way", + "id": 943596192, + "nodes": [ + 7278977828, + 8736730332, + 8736730333, + 8736730334, + 8736730335, + 8736730336, + 8736730337 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596193, + "nodes": [ + 8736730337, + 1297872109, + 8736730338 + ], + "tags": { + "crossing": "traffic_signals", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596194, + "nodes": [ + 8736730338, + 8736730339, + 8736730340, + 8736730341, + 8736730342, + 8736730343, + 8736730344, + 8736730345, + 8736730346, + 8736730347, + 8736730348 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596195, + "nodes": [ + 8736730348, + 519461599, + 8736730362 + ], + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596196, + "nodes": [ + 8736730363, + 8240683336, + 8240683337, + 8240683338, + 8240683339, + 8240683340, + 8240683341, + 8240683342, + 7278977819, + 8240683347, + 8240683346, + 8240683345, + 8240683344, + 8240683343 + ], + "tags": { + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596197, + "nodes": [ + 2986977758, + 8240683323, + 8240683324, + 8240683325, + 8240683326, + 8240683327, + 8240683328, + 8240683329, + 8240683330, + 8736730365 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596198, + "nodes": [ + 8736730365, + 8240683331, + 8736730364 + ], + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596199, + "nodes": [ + 8736730366, + 8736730363, + 8240683335 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596200, + "nodes": [ + 8736730367, + 7283754488, + 8736730366 + ], + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596224, + "nodes": [ + 8736759869, + 8736759870, + 8736759871, + 8736759876, + 8736759872, + 8736759873, + 8736759874, + 8736759875, + 8736759889, + 8736759888 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596231, + "nodes": [ + 7278977811, + 7278977812, + 7278977813 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596232, + "nodes": [ + 8736730362, + 8736759890 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596233, + "nodes": [ + 8736759890, + 8736759892, + 8736759891 + ], + "tags": { + "crossing": "marked", + "crossing:markings": "yes", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 943596234, + "nodes": [ + 8736759891, + 8736759893, + 8736759894, + 8736759895, + 8736759896, + 8736759897, + 8736759880 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 967415392, + "nodes": [ + 289638735, + 1297872282 + ], + "tags": { + "change": "no", + "destination": "Wolfe Road", + "highway": "motorway_link", + "junction:ref": "10", + "lanes": "2", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 967415393, + "nodes": [ + 8949912880, + 289638735 + ], + "tags": { + "bicycle": "no", + "change:lanes": "yes|yes|yes|not_right|no", + "destination:lanes": "none|none|none|none;Wolfe Road|Wolfe Road", + "foot": "no", + "hgv": "designated", + "highway": "motorway", + "horse": "no", + "hov:lanes": "designated|yes|yes|yes|yes", + "lanes": "5", + "maxspeed": "65 mph", + "maxspeed:hgv": "55 mph", + "maxspeed:trailer": "55 mph", + "name": "Junipero Serra Freeway", + "oneway": "yes", + "ref": "I 280", + "source:maxspeed": "sign", + "turn:lanes": "none|none|none|through;slight_right|slight_right" + } +}, +{ + "type": "way", + "id": 967415396, + "nodes": [ + 8949912896, + 8949912880 + ], + "tags": { + "bicycle": "no", + "change": "yes", + "destination:lanes": "none|none|none|none;Wolfe Road|Wolfe Road", + "foot": "no", + "hgv": "designated", + "highway": "motorway", + "horse": "no", + "hov:lanes": "designated|yes|yes|yes|yes", + "lanes": "5", + "maxspeed": "65 mph", + "maxspeed:hgv": "55 mph", + "maxspeed:trailer": "55 mph", + "name": "Junipero Serra Freeway", + "oneway": "yes", + "ref": "I 280", + "source:maxspeed": "sign", + "turn:lanes": "none|none|none|through;slight_right|slight_right" + } +}, +{ + "type": "way", + "id": 967415400, + "nodes": [ + 1297872125, + 33440842 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "highway": "secondary", + "lanes": "2", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "oneway": "yes", + "sidewalk": "right" + } +}, +{ + "type": "way", + "id": 967415401, + "nodes": [ + 7283754316, + 3532489582 + ], + "tags": { + "alt_name": "North Wolfe Road", + "cycleway": "lane", + "destination:ref:lanes": "|||I 280 South", + "highway": "secondary", + "lanes": "4", + "maxspeed": "35 mph", + "name": "Wolfe Road", + "note:turn:lanes": "Weird but true", + "oneway": "yes", + "sidewalk": "right", + "turn:lanes": "||merge_to_left|" + } +}, +{ + "type": "way", + "id": 1053506128, + "nodes": [ + 7278977844, + 7278977837, + 5054961344 + ], + "tags": { + "access": "private", + "access:employee": "no", + "coach": "designated", + "destination:backward": "Emergency Vehicle Access", + "emergency": "designated", + "highway": "service", + "maxspeed": "15 mph", + "motorcar": "no" + } +}, +{ + "type": "way", + "id": 1100851033, + "nodes": [ + 33440879, + 1297872199, + 7278977829, + 1297872177 + ], + "tags": { + "change": "no", + "destination": "San Jose", + "destination:ref": "I 280 South", + "highway": "motorway_link", + "lanes": "2", + "oneway": "yes", + "sidewalk": "no", + "tiger:cfcc": "A63", + "tiger:county": "Santa Clara, CA" + } +}, +{ + "type": "way", + "id": 1183437939, + "nodes": [ + 8240683335, + 10989789992 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway", + "layer": "-1", + "tunnel": "yes" + } +}, +{ + "type": "way", + "id": 1183437940, + "nodes": [ + 10989789992, + 10989789993, + 10989789994, + 10989789995, + 10989789996, + 10989789997, + 10989789998 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 1183437941, + "nodes": [ + 10989789998, + 10989789999 + ], + "tags": { + "crossing": "unmarked", + "crossing:markings": "no", + "footway": "crossing", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 1198908008, + "nodes": [ + 7283637893, + 11121665816 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 1198908009, + "nodes": [ + 11121665818, + 7283637906 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 1198908010, + "nodes": [ + 11121665820, + 7283637912 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +}, +{ + "type": "way", + "id": 1198908011, + "nodes": [ + 11121665821, + 7283637911 + ], + "tags": { + "footway": "sidewalk", + "highway": "footway" + } +} + + ] +} diff --git a/package-lock.json b/package-lock.json index 5463b6b..05b638b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,14 @@ { "name": "nanomap", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "nanomap", - "version": "0.1.0", + "version": "0.1.1", "dependencies": { + "@datastructures-js/priority-queue": "^6.3.0", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.14.18", @@ -20,7 +21,10 @@ "react-scripts": "5.0.1" }, "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "latest" + "@babel/cli": "^7.23.4", + "@babel/core": "^7.23.5", + "@babel/plugin-proposal-private-property-in-object": "latest", + "@babel/preset-flow": "^7.23.3" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -54,12 +58,90 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@babel/cli": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz", + "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==", + "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/cli/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@babel/cli/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/cli/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/cli/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/cli/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -75,20 +157,20 @@ } }, "node_modules/@babel/core": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", - "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", + "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.3", + "@babel/helpers": "^7.23.5", + "@babel/parser": "^7.23.5", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.3", - "@babel/types": "^7.23.3", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -145,11 +227,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", - "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", "dependencies": { - "@babel/types": "^7.23.3", + "@babel/types": "^7.23.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -428,9 +510,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } @@ -465,22 +547,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", + "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -491,9 +573,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", - "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1899,6 +1981,23 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/preset-flow": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz", + "integrity": "sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", @@ -1979,18 +2078,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", - "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.3", - "@babel/types": "^7.23.3", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1999,11 +2098,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", - "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -2286,6 +2385,19 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@datastructures-js/heap": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@datastructures-js/heap/-/heap-4.3.2.tgz", + "integrity": "sha512-7/9QSsIZ+wMG3C9++mz9iOjdtTp9C036PISHvNjG3eyFO8nXOBJQFKgeV7M6/+EPl+oXXFRGBb8Ue60LsqTqGw==" + }, + "node_modules/@datastructures-js/priority-queue": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@datastructures-js/priority-queue/-/priority-queue-6.3.0.tgz", + "integrity": "sha512-bJkryPys8zVYMCSjyBPYzJlw5V2kMeOYzGHRBXiGkwqTv8vZ/Ux5RO736T8Y6l3cH+ocbQV9UxlsFwA9qI4VhA==", + "dependencies": { + "@datastructures-js/heap": "^4.3.1" + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.11.0", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", @@ -3620,6 +3732,13 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -8480,6 +8599,12 @@ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", diff --git a/package.json b/package.json index e4abd68..fb6fca9 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.1.1", "private": true, "dependencies": { + "@datastructures-js/priority-queue": "^6.3.0", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.14.18", @@ -15,7 +16,10 @@ "react-scripts": "5.0.1" }, "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "latest" + "@babel/cli": "^7.23.4", + "@babel/core": "^7.23.5", + "@babel/plugin-proposal-private-property-in-object": "latest", + "@babel/preset-flow": "^7.23.3" }, "scripts": { "start": "react-scripts start", diff --git a/src/UMap.js b/src/UMap.js index 583f3bf..42f484e 100644 --- a/src/UMap.js +++ b/src/UMap.js @@ -109,13 +109,18 @@ function MapClickHandler({mks,focusUpdater,locator,locker}) { post('POST', 'click', mks.current.state.markers).then((response) => { // TODO: real functionality const pl = JSON.parse(response.multipolyline); - mks.current.flushPolylines(pl); + // DEBUG + // response.__debug_pts.forEach(({lat,lon})=>{ + // mks.current.addCandMarker(lat,lon); + // }); + console.log(`pl = ${JSON.stringify(pl)}`); + if (pl.length > 1) mks.current.flushPolylines(pl); focusUpdater([lat,lng]); locator([lat,lng]); locker(true); }).catch((e) => { console.error(e); - location.reload(); + // location.reload(); }); }, // TODO diff --git a/test/test_nearest.js b/test/test_nearest.js new file mode 100644 index 0000000..0d5c4f9 --- /dev/null +++ b/test/test_nearest.js @@ -0,0 +1,2 @@ +import shortestPath from "../comp/ShortestPath.js"; +console.log('Hello!'); \ No newline at end of file