diff --git a/CHANGELOG.md b/CHANGELOG.md index 16e243e..d6857b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.12.7 + +* Support the "id" field of GeoJSON objects and vector tile features + ## 1.12.6 * Fix error reports when reading from an empty file with parallel input diff --git a/decode.cpp b/decode.cpp index 3b90100..8a9bbc2 100644 --- a/decode.cpp +++ b/decode.cpp @@ -102,6 +102,11 @@ void handle(std::string message, int z, unsigned x, unsigned y, int describe) { within = 1; printf("{ \"type\": \"Feature\""); + + if (feat.has_id) { + printf(", \"id\": %llu", feat.id); + } + printf(", \"properties\": { "); for (size_t t = 0; t + 1 < feat.tags.size(); t += 2) { diff --git a/geojson.cpp b/geojson.cpp index e880abb..33a4548 100644 --- a/geojson.cpp +++ b/geojson.cpp @@ -157,7 +157,7 @@ long long parse_geometry(int t, json_object *j, long long *bbox, long long *fpos return g; } -int serialize_geometry(json_object *geometry, json_object *properties, const char *reading, int line, volatile long long *layer_seq, volatile long long *progress_seq, long long *metapos, long long *geompos, long long *indexpos, std::set *exclude, std::set *include, int exclude_all, FILE *metafile, FILE *geomfile, FILE *indexfile, struct memfile *poolfile, struct memfile *treefile, const char *fname, int basezoom, int layer, double droprate, long long *file_bbox, json_object *tippecanoe, int segment, int *initialized, unsigned *initial_x, unsigned *initial_y, struct reader *readers, std::set *file_keys, int maxzoom) { +int serialize_geometry(json_object *geometry, json_object *properties, json_object *id, const char *reading, int line, volatile long long *layer_seq, volatile long long *progress_seq, long long *metapos, long long *geompos, long long *indexpos, std::set *exclude, std::set *include, int exclude_all, FILE *metafile, FILE *geomfile, FILE *indexfile, struct memfile *poolfile, struct memfile *treefile, const char *fname, int basezoom, int layer, double droprate, long long *file_bbox, json_object *tippecanoe, int segment, int *initialized, unsigned *initial_x, unsigned *initial_y, struct reader *readers, std::set *file_keys, int maxzoom) { json_object *geometry_type = json_hash_get(geometry, "type"); if (geometry_type == NULL) { static int warned = 0; @@ -212,6 +212,29 @@ int serialize_geometry(json_object *geometry, json_object *properties, const cha } } + bool has_id = false; + unsigned long long id_value; + if (id != NULL) { + if (id->type == JSON_NUMBER) { + if (id->number >= 0) { + char *err = NULL; + id_value = strtoull(id->string, &err, 10); + + if (err != NULL && *err != '\0') { + fprintf(stderr, "Warning: Can't represent non-integer feature ID %s\n", id->string); + } else { + has_id = true; + } + } else { + fprintf(stderr, "Warning: Can't represent negative feature ID %s\n", id->string); + } + } else { + char *s = json_stringify(id); + fprintf(stderr, "Warning: Can't represent non-numeric feature ID %s\n", s); + free(s); + } + } + long long bbox[] = {LLONG_MAX, LLONG_MAX, LLONG_MIN, LLONG_MIN}; int nprop = 0; @@ -278,13 +301,16 @@ int serialize_geometry(json_object *geometry, json_object *properties, const cha serialize_byte(geomfile, mb_geometry[t], geompos, fname); serialize_long_long(geomfile, *layer_seq, geompos, fname); - serialize_long_long(geomfile, (layer << 2) | ((tippecanoe_minzoom != -1) << 1) | (tippecanoe_maxzoom != -1), geompos, fname); + serialize_long_long(geomfile, (layer << 3) | ((has_id << 2) | (tippecanoe_minzoom != -1) << 1) | (tippecanoe_maxzoom != -1), geompos, fname); if (tippecanoe_minzoom != -1) { serialize_int(geomfile, tippecanoe_minzoom, geompos, fname); } if (tippecanoe_maxzoom != -1) { serialize_int(geomfile, tippecanoe_maxzoom, geompos, fname); } + if (has_id) { + serialize_ulong_long(geomfile, id_value, geompos, fname); + } serialize_int(geomfile, segment, geompos, fname); long long wx = *initial_x, wy = *initial_y; @@ -485,7 +511,7 @@ void parse_json(json_pull *jp, const char *reading, volatile long long *layer_se } found_geometries++; - serialize_geometry(j, NULL, reading, jp->line, layer_seq, progress_seq, metapos, geompos, indexpos, exclude, include, exclude_all, metafile, geomfile, indexfile, poolfile, treefile, fname, basezoom, layer, droprate, file_bbox, NULL, segment, initialized, initial_x, initial_y, readers, file_keys, maxzoom); + serialize_geometry(j, NULL, NULL, reading, jp->line, layer_seq, progress_seq, metapos, geompos, indexpos, exclude, include, exclude_all, metafile, geomfile, indexfile, poolfile, treefile, fname, basezoom, layer, droprate, file_bbox, NULL, segment, initialized, initial_x, initial_y, readers, file_keys, maxzoom); json_free(j); continue; } @@ -519,15 +545,16 @@ void parse_json(json_pull *jp, const char *reading, volatile long long *layer_se } json_object *tippecanoe = json_hash_get(j, "tippecanoe"); + json_object *id = json_hash_get(j, "id"); json_object *geometries = json_hash_get(geometry, "geometries"); if (geometries != NULL) { size_t g; for (g = 0; g < geometries->length; g++) { - serialize_geometry(geometries->array[g], properties, reading, jp->line, layer_seq, progress_seq, metapos, geompos, indexpos, exclude, include, exclude_all, metafile, geomfile, indexfile, poolfile, treefile, fname, basezoom, layer, droprate, file_bbox, tippecanoe, segment, initialized, initial_x, initial_y, readers, file_keys, maxzoom); + serialize_geometry(geometries->array[g], properties, id, reading, jp->line, layer_seq, progress_seq, metapos, geompos, indexpos, exclude, include, exclude_all, metafile, geomfile, indexfile, poolfile, treefile, fname, basezoom, layer, droprate, file_bbox, tippecanoe, segment, initialized, initial_x, initial_y, readers, file_keys, maxzoom); } } else { - serialize_geometry(geometry, properties, reading, jp->line, layer_seq, progress_seq, metapos, geompos, indexpos, exclude, include, exclude_all, metafile, geomfile, indexfile, poolfile, treefile, fname, basezoom, layer, droprate, file_bbox, tippecanoe, segment, initialized, initial_x, initial_y, readers, file_keys, maxzoom); + serialize_geometry(geometry, properties, id, reading, jp->line, layer_seq, progress_seq, metapos, geompos, indexpos, exclude, include, exclude_all, metafile, geomfile, indexfile, poolfile, treefile, fname, basezoom, layer, droprate, file_bbox, tippecanoe, segment, initialized, initial_x, initial_y, readers, file_keys, maxzoom); } json_free(j); diff --git a/mvt.cpp b/mvt.cpp index 669a58d..f11164b 100644 --- a/mvt.cpp +++ b/mvt.cpp @@ -178,6 +178,11 @@ bool mvt_tile::decode(std::string &message) { while (feature_reader.next()) { switch (feature_reader.tag()) { + case 1: /* id */ + feature.id = feature_reader.get_uint64(); + feature.has_id = true; + break; + case 2: /* tag */ { auto pi = feature_reader.get_packed_uint32(); @@ -303,6 +308,10 @@ std::string mvt_tile::encode() { feature_writer.add_enum(3, layers[i].features[f].type); feature_writer.add_packed_uint32(2, std::begin(layers[i].features[f].tags), std::end(layers[i].features[f].tags)); + if (layers[i].features[f].has_id) { + feature_writer.add_uint64(1, layers[i].features[f].id); + } + std::vector geometry; int px = 0, py = 0; diff --git a/mvt.hpp b/mvt.hpp index 386fae1..ff07467 100644 --- a/mvt.hpp +++ b/mvt.hpp @@ -25,6 +25,13 @@ struct mvt_feature { std::vector tags; std::vector geometry; int /* mvt_geometry_type */ type; + unsigned long long id; + bool has_id; + + mvt_feature() { + has_id = false; + id = 0; + } }; enum mvt_value_type { diff --git a/serial.cpp b/serial.cpp index d0cb4b4..dc9d6c5 100644 --- a/serial.cpp +++ b/serial.cpp @@ -21,6 +21,10 @@ void serialize_int(FILE *out, int n, long long *fpos, const char *fname) { void serialize_long_long(FILE *out, long long n, long long *fpos, const char *fname) { unsigned long long zigzag = protozero::encode_zigzag32(n); + serialize_ulong_long(out, zigzag, fpos, fname); +} + +void serialize_ulong_long(FILE *out, unsigned long long zigzag, long long *fpos, const char *fname) { while (1) { unsigned char b = zigzag & 0x7F; if ((zigzag >> 7) != 0) { @@ -60,22 +64,26 @@ void deserialize_int(char **f, int *n) { void deserialize_long_long(char **f, long long *n) { unsigned long long zigzag = 0; + deserialize_ulong_long(f, &zigzag); + *n = protozero::decode_zigzag32(zigzag); +} + +void deserialize_ulong_long(char **f, unsigned long long *zigzag) { + *zigzag = 0; int shift = 0; while (1) { if ((**f & 0x80) == 0) { - zigzag |= ((unsigned long long) **f) << shift; + *zigzag |= ((unsigned long long) **f) << shift; *f += 1; shift += 7; break; } else { - zigzag |= ((unsigned long long) (**f & 0x7F)) << shift; + *zigzag |= ((unsigned long long) (**f & 0x7F)) << shift; *f += 1; shift += 7; } } - - *n = protozero::decode_zigzag32(zigzag); } void deserialize_uint(char **f, unsigned *n) { @@ -90,6 +98,13 @@ void deserialize_byte(char **f, signed char *n) { int deserialize_long_long_io(FILE *f, long long *n, long long *geompos) { unsigned long long zigzag = 0; + int ret = deserialize_ulong_long_io(f, &zigzag, geompos); + *n = protozero::decode_zigzag32(zigzag); + return ret; +} + +int deserialize_ulong_long_io(FILE *f, unsigned long long *zigzag, long long *geompos) { + *zigzag = 0; int shift = 0; while (1) { @@ -100,16 +115,15 @@ int deserialize_long_long_io(FILE *f, long long *n, long long *geompos) { (*geompos)++; if ((c & 0x80) == 0) { - zigzag |= ((unsigned long long) c) << shift; + *zigzag |= ((unsigned long long) c) << shift; shift += 7; break; } else { - zigzag |= ((unsigned long long) (c & 0x7F)) << shift; + *zigzag |= ((unsigned long long) (c & 0x7F)) << shift; shift += 7; } } - *n = protozero::decode_zigzag32(zigzag); return 1; } diff --git a/serial.hpp b/serial.hpp index 6113cb7..f1256a8 100644 --- a/serial.hpp +++ b/serial.hpp @@ -2,16 +2,19 @@ size_t fwrite_check(const void *ptr, size_t size, size_t nitems, FILE *stream, c void serialize_int(FILE *out, int n, long long *fpos, const char *fname); void serialize_long_long(FILE *out, long long n, long long *fpos, const char *fname); +void serialize_ulong_long(FILE *out, unsigned long long n, long long *fpos, const char *fname); void serialize_byte(FILE *out, signed char n, long long *fpos, const char *fname); void serialize_uint(FILE *out, unsigned n, long long *fpos, const char *fname); void serialize_string(FILE *out, const char *s, long long *fpos, const char *fname); void deserialize_int(char **f, int *n); void deserialize_long_long(char **f, long long *n); +void deserialize_ulong_long(char **f, unsigned long long *n); void deserialize_uint(char **f, unsigned *n); void deserialize_byte(char **f, signed char *n); int deserialize_int_io(FILE *f, int *n, long long *geompos); int deserialize_long_long_io(FILE *f, long long *n, long long *geompos); +int deserialize_ulong_long_io(FILE *f, unsigned long long *n, long long *geompos); int deserialize_uint_io(FILE *f, unsigned *n, long long *geompos); int deserialize_byte_io(FILE *f, signed char *n, long long *geompos); diff --git a/tests/id/in.json b/tests/id/in.json new file mode 100644 index 0000000..4ad9161 --- /dev/null +++ b/tests/id/in.json @@ -0,0 +1,8 @@ +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.172, 37.769173 ], [ -122.171928, 37.769132 ], [ -122.171258, 37.768667 ], [ -122.170791, 37.768351 ], [ -122.170597, 37.768221 ], [ -122.16993, 37.767759 ], [ -122.169701, 37.767615 ], [ -122.169089, 37.767176 ], [ -122.168263, 37.766593 ], [ -122.168227, 37.766568 ], [ -122.168021, 37.766396 ], [ -122.167691, 37.766044 ], [ -122.167172, 37.765421 ], [ -122.166502, 37.764686 ], [ -122.165941, 37.764002 ], [ -122.165687, 37.763723 ], [ -122.164864, 37.762746 ], [ -122.164812, 37.762684 ], [ -122.164331, 37.762124 ], [ -122.163827, 37.76156 ], [ -122.163363, 37.761032 ], [ -122.16324, 37.760864 ], [ -122.163148, 37.760685 ], [ -122.163103, 37.760572 ], [ -122.161913, 37.757249 ], [ -122.161629, 37.756474 ] ] } }, +{ "type": "Feature", "id": 0, "properties": { "LINEARID": "1102406970092", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.181167, 37.774877 ], [ -122.180664, 37.774576 ], [ -122.18036, 37.774387 ], [ -122.180165, 37.774257 ], [ -122.179729, 37.773893 ], [ -122.179651, 37.773837 ], [ -122.17942, 37.773669 ], [ -122.179344, 37.773613 ], [ -122.179207, 37.773505 ], [ -122.178796, 37.773182 ], [ -122.178659, 37.773075 ], [ -122.178518, 37.772972 ], [ -122.178097, 37.772665 ], [ -122.177957, 37.772563 ], [ -122.177671, 37.772263 ], [ -122.177345, 37.771919 ], [ -122.176949, 37.77153 ], [ -122.176807, 37.77141 ], [ -122.176786, 37.771393 ], [ -122.17671, 37.771333 ], [ -122.1766, 37.771262 ], [ -122.176438, 37.771173 ], [ -122.176241, 37.771083 ], [ -122.175654, 37.770816 ], [ -122.175458, 37.770727 ], [ -122.173238, 37.769659 ], [ -122.173135, 37.769667 ], [ -122.172807, 37.769528 ], [ -122.172384, 37.769347 ], [ -122.172, 37.769173 ] ] } }, +{ "type": "Feature", "id": -1, "properties": { "LINEARID": "1104469713187", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.24151, 37.807276 ], [ -122.241474, 37.80724 ], [ -122.241437, 37.807195 ], [ -122.241405, 37.807159 ] ] } }, +{ "type": "Feature", "id": 123.456, "properties": { "LINEARID": "1104469713198", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.24151, 37.807276 ], [ -122.241663, 37.807503 ] ] } }, +{ "type": "Feature", "id": -123, "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.294563, 37.83301 ], [ -122.294296, 37.832505 ], [ -122.294241, 37.832353 ], [ -122.294136, 37.832091 ], [ -122.294066, 37.831848 ], [ -122.294027, 37.831676 ], [ -122.293942, 37.831206 ], [ -122.293887, 37.830899 ], [ -122.293849, 37.830663 ], [ -122.293846, 37.830636 ], [ -122.293824, 37.830395 ], [ -122.293836, 37.830063 ], [ -122.293849, 37.829898 ], [ -122.293874, 37.829399 ], [ -122.293797, 37.829007 ], [ -122.293723, 37.828816 ], [ -122.293591, 37.828564 ], [ -122.293378, 37.828305 ], [ -122.293335, 37.828254 ], [ -122.293235, 37.828154 ], [ -122.293193, 37.828119 ], [ -122.293143, 37.828077 ], [ -122.293019, 37.827983 ], [ -122.292964, 37.827941 ], [ -122.292871, 37.827877 ], [ -122.292745, 37.827798 ], [ -122.29263, 37.827734 ], [ -122.292495, 37.827659 ], [ -122.292267, 37.82754 ], [ -122.291583, 37.827184 ], [ -122.291356, 37.827066 ], [ -122.291304, 37.827039 ], [ -122.291152, 37.826958 ], [ -122.291102, 37.826931 ], [ -122.291041, 37.826902 ], [ -122.29082, 37.826794 ], [ -122.290548, 37.826662 ], [ -122.290341, 37.826575 ], [ -122.289943, 37.826457 ], [ -122.289884, 37.826446 ], [ -122.289842, 37.826437 ], [ -122.289701, 37.826407 ], [ -122.289545, 37.826381 ], [ -122.289245, 37.826352 ], [ -122.289044, 37.826342 ], [ -122.2886, 37.826328 ], [ -122.288229, 37.826342 ], [ -122.287999, 37.826356 ], [ -122.287751, 37.826387 ], [ -122.287717, 37.826391 ], [ -122.287492, 37.82643 ], [ -122.286819, 37.826559 ], [ -122.285786, 37.826742 ], [ -122.285593, 37.826778 ], [ -122.284472, 37.826986 ], [ -122.283572, 37.827157 ], [ -122.283456, 37.82718 ], [ -122.283169, 37.827235 ], [ -122.282906, 37.827267 ], [ -122.282697, 37.827282 ], [ -122.282486, 37.827285 ], [ -122.282329, 37.827288 ], [ -122.281753, 37.82728 ], [ -122.281513, 37.827261 ], [ -122.281306, 37.827232 ], [ -122.281246, 37.827223 ], [ -122.281024, 37.827188 ], [ -122.280802, 37.827144 ], [ -122.280554, 37.827088 ], [ -122.27992, 37.826936 ], [ -122.279889, 37.826931 ], [ -122.279854, 37.826917 ], [ -122.278526, 37.826602 ], [ -122.278398, 37.826565 ], [ -122.275225, 37.825768 ], [ -122.275143, 37.825749 ], [ -122.27506, 37.825733 ], [ -122.274657, 37.825654 ], [ -122.274596, 37.825641 ], [ -122.274123, 37.825545 ], [ -122.272643, 37.825211 ], [ -122.270409, 37.824707 ], [ -122.26973, 37.824505 ], [ -122.269624, 37.824479 ], [ -122.268963, 37.824314 ], [ -122.268634, 37.82422 ], [ -122.268448, 37.824177 ], [ -122.268322, 37.824149 ], [ -122.26809, 37.824104 ], [ -122.267969, 37.824081 ], [ -122.267348, 37.823961 ], [ -122.266047, 37.823628 ], [ -122.26593, 37.823599 ], [ -122.264853, 37.823391 ], [ -122.264577, 37.823328 ], [ -122.263527, 37.823133 ], [ -122.262326, 37.822875 ], [ -122.261919, 37.822771 ], [ -122.260997, 37.822433 ], [ -122.26015, 37.822203 ], [ -122.260045, 37.822166 ], [ -122.259161, 37.821845 ], [ -122.259072, 37.821809 ], [ -122.257655, 37.821136 ], [ -122.257305, 37.820957 ], [ -122.257194, 37.820883 ], [ -122.256655, 37.820626 ], [ -122.255924, 37.820234 ], [ -122.255332, 37.819878 ], [ -122.254684, 37.819441 ], [ -122.254542, 37.819354 ], [ -122.254263, 37.819183 ], [ -122.254163, 37.819107 ], [ -122.254091, 37.819052 ], [ -122.254072, 37.819037 ], [ -122.254061, 37.819029 ], [ -122.253887, 37.818896 ], [ -122.253851, 37.818869 ], [ -122.253658, 37.818724 ], [ -122.25338, 37.818497 ], [ -122.253045, 37.818179 ], [ -122.252794, 37.817898 ], [ -122.252458, 37.81749 ], [ -122.252311, 37.817273 ], [ -122.252112, 37.816963 ], [ -122.251768, 37.816316 ], [ -122.251743, 37.81626 ], [ -122.251716, 37.816203 ], [ -122.251691, 37.816147 ], [ -122.251504, 37.815646 ], [ -122.251325, 37.815081 ], [ -122.25129, 37.81495 ], [ -122.250711, 37.812783 ], [ -122.250584, 37.812332 ], [ -122.250495, 37.812099 ], [ -122.250415, 37.811923 ], [ -122.250368, 37.811833 ], [ -122.250293, 37.811704 ], [ -122.250142, 37.811475 ], [ -122.249975, 37.811274 ], [ -122.249798, 37.811085 ], [ -122.249611, 37.810908 ], [ -122.249478, 37.810799 ], [ -122.249197, 37.810599 ], [ -122.249035, 37.810499 ], [ -122.248707, 37.810335 ], [ -122.24857, 37.810275 ], [ -122.248474, 37.810234 ], [ -122.246722, 37.809707 ], [ -122.246702, 37.809703 ], [ -122.246556, 37.80967 ], [ -122.245933, 37.809445 ], [ -122.245301, 37.809288 ], [ -122.244457, 37.809046 ], [ -122.24356, 37.808786 ], [ -122.242474, 37.808463 ], [ -122.241854, 37.808264 ], [ -122.241295, 37.808068 ], [ -122.240496, 37.807732 ], [ -122.239626, 37.807355 ], [ -122.238644, 37.806906 ], [ -122.23806, 37.806601 ], [ -122.23744, 37.806349 ], [ -122.23687, 37.806079 ], [ -122.235991, 37.805688 ], [ -122.235429, 37.805386 ], [ -122.234849, 37.805053 ], [ -122.234337, 37.804744 ], [ -122.233566, 37.804241 ], [ -122.233472, 37.804171 ], [ -122.233224, 37.803989 ], [ -122.23268, 37.803562 ], [ -122.232337, 37.803278 ], [ -122.231552, 37.802644 ], [ -122.231331, 37.802478 ], [ -122.230782, 37.802044 ], [ -122.23063, 37.801926 ], [ -122.23037, 37.801733 ], [ -122.229993, 37.801483 ], [ -122.22987, 37.801408 ], [ -122.229689, 37.801305 ], [ -122.229385, 37.80115 ], [ -122.229276, 37.801097 ], [ -122.229133, 37.801026 ], [ -122.228932, 37.800944 ], [ -122.228803, 37.800894 ], [ -122.228497, 37.800777 ], [ -122.22812, 37.800663 ], [ -122.227722, 37.800569 ], [ -122.227414, 37.800506 ], [ -122.227319, 37.800487 ], [ -122.226979, 37.800431 ], [ -122.226886, 37.80041 ], [ -122.225236, 37.800044 ], [ -122.224881, 37.799966 ], [ -122.224821, 37.799953 ], [ -122.22435, 37.799846 ], [ -122.224262, 37.799825 ], [ -122.222641, 37.799485 ], [ -122.221036, 37.799164 ], [ -122.220798, 37.79911 ], [ -122.220591, 37.799064 ], [ -122.218744, 37.79863 ], [ -122.217222, 37.79826 ], [ -122.217126, 37.798234 ], [ -122.217039, 37.798213 ], [ -122.216482, 37.798093 ], [ -122.216342, 37.798042 ], [ -122.21576, 37.797835 ], [ -122.213697, 37.797376 ], [ -122.213045, 37.797211 ], [ -122.212385, 37.797031 ], [ -122.212158, 37.796975 ], [ -122.211943, 37.796913 ], [ -122.211669, 37.796826 ], [ -122.211139, 37.796646 ], [ -122.210772, 37.796504 ], [ -122.210465, 37.796372 ], [ -122.210058, 37.796189 ], [ -122.209343, 37.795841 ], [ -122.208952, 37.795654 ], [ -122.208644, 37.795507 ], [ -122.208591, 37.795482 ], [ -122.207429, 37.794939 ], [ -122.20651, 37.794504 ], [ -122.205884, 37.794178 ], [ -122.205785, 37.794116 ], [ -122.205698, 37.794061 ], [ -122.205563, 37.793977 ], [ -122.205205, 37.793743 ], [ -122.204911, 37.79352 ], [ -122.204475, 37.793159 ], [ -122.204425, 37.793109 ], [ -122.204369, 37.793054 ], [ -122.204187, 37.792889 ], [ -122.203915, 37.792619 ], [ -122.203643, 37.792317 ], [ -122.20349, 37.792156 ], [ -122.203405, 37.792077 ], [ -122.202148, 37.790716 ], [ -122.201528, 37.790034 ], [ -122.201353, 37.789853 ], [ -122.200992, 37.789521 ], [ -122.200666, 37.789227 ], [ -122.200618, 37.789184 ], [ -122.200512, 37.789135 ], [ -122.200239, 37.788928 ], [ -122.199798, 37.788641 ], [ -122.199539, 37.788481 ], [ -122.199331, 37.788363 ], [ -122.199076, 37.788228 ], [ -122.198483, 37.787942 ], [ -122.19783, 37.787618 ], [ -122.197771, 37.787588 ], [ -122.197085, 37.787247 ], [ -122.196935, 37.787172 ], [ -122.196514, 37.786966 ], [ -122.196072, 37.78675 ], [ -122.196002, 37.786706 ], [ -122.194486, 37.785955 ], [ -122.193984, 37.785733 ], [ -122.193748, 37.785632 ], [ -122.193111, 37.785387 ], [ -122.192513, 37.785164 ], [ -122.192115, 37.785033 ], [ -122.191731, 37.784917 ], [ -122.191378, 37.784816 ], [ -122.191256, 37.784781 ], [ -122.190335, 37.784555 ], [ -122.190312, 37.784549 ], [ -122.19017, 37.78452 ], [ -122.189739, 37.784433 ], [ -122.188956, 37.784306 ], [ -122.188595, 37.784255 ], [ -122.188477, 37.784239 ], [ -122.187908, 37.784194 ], [ -122.187364, 37.784147 ], [ -122.186739, 37.784115 ], [ -122.185609, 37.784045 ], [ -122.184695, 37.784002 ], [ -122.183009, 37.78395 ], [ -122.180834, 37.78389 ], [ -122.180702, 37.783887 ], [ -122.18064, 37.783885 ], [ -122.179839, 37.783864 ], [ -122.179546, 37.783847 ], [ -122.179265, 37.783808 ], [ -122.179035, 37.783772 ], [ -122.17875, 37.783713 ], [ -122.178489, 37.783641 ], [ -122.178251, 37.783575 ], [ -122.173988, 37.78114 ], [ -122.173689, 37.780972 ], [ -122.173655, 37.780953 ], [ -122.173246, 37.780745 ], [ -122.170651, 37.779364 ], [ -122.170395, 37.779228 ], [ -122.170007, 37.779022 ], [ -122.169688, 37.778852 ], [ -122.169557, 37.77879 ], [ -122.169397, 37.778699 ], [ -122.168574, 37.778298 ], [ -122.168368, 37.778198 ], [ -122.167696, 37.77786 ], [ -122.167342, 37.777707 ], [ -122.167047, 37.777574 ], [ -122.166342, 37.777275 ], [ -122.165943, 37.777105 ], [ -122.165683, 37.776994 ], [ -122.165093, 37.776715 ], [ -122.164177, 37.77629 ], [ -122.16412, 37.776262 ], [ -122.16328, 37.775864 ], [ -122.162456, 37.775437 ], [ -122.162271, 37.775341 ], [ -122.161502, 37.774961 ], [ -122.160416, 37.77439 ], [ -122.160085, 37.77423 ], [ -122.159245, 37.773819 ], [ -122.159133, 37.773758 ], [ -122.158508, 37.773415 ], [ -122.158456, 37.773383 ], [ -122.158098, 37.773164 ], [ -122.157817, 37.772973 ], [ -122.157536, 37.772775 ], [ -122.157026, 37.772392 ], [ -122.15685, 37.772233 ], [ -122.156435, 37.771872 ], [ -122.156263, 37.771715 ], [ -122.156033, 37.771495 ], [ -122.15571, 37.771132 ], [ -122.155205, 37.77059 ], [ -122.154859, 37.770115 ], [ -122.15474, 37.769949 ], [ -122.154512, 37.769598 ], [ -122.153896, 37.7686 ], [ -122.152561, 37.766438 ], [ -122.152351, 37.766097 ], [ -122.152188, 37.765868 ], [ -122.151876, 37.765467 ], [ -122.150812, 37.764207 ], [ -122.1505, 37.763801 ], [ -122.149787, 37.76275 ], [ -122.149187, 37.761852 ], [ -122.148934, 37.761464 ], [ -122.148724, 37.761125 ], [ -122.148297, 37.760322 ], [ -122.148204, 37.760076 ], [ -122.148073, 37.759755 ], [ -122.148007, 37.759486 ], [ -122.147978, 37.759306 ], [ -122.147921, 37.758722 ], [ -122.147921, 37.758548 ], [ -122.147948, 37.758226 ], [ -122.147989, 37.757972 ], [ -122.14804, 37.757765 ], [ -122.148098, 37.75759 ], [ -122.148191, 37.75736 ], [ -122.148276, 37.757176 ], [ -122.148458, 37.756862 ], [ -122.148581, 37.756683 ], [ -122.148708, 37.756508 ], [ -122.148909, 37.756264 ], [ -122.149134, 37.756038 ], [ -122.14941, 37.755778 ], [ -122.149748, 37.755483 ], [ -122.150156, 37.755117 ], [ -122.150298, 37.754985 ], [ -122.150479, 37.754814 ], [ -122.150541, 37.754757 ], [ -122.150706, 37.754596 ], [ -122.150928, 37.754363 ], [ -122.151004, 37.754277 ], [ -122.151088, 37.754173 ], [ -122.151353, 37.753807 ], [ -122.151412, 37.75372 ], [ -122.151496, 37.753574 ], [ -122.151569, 37.753426 ], [ -122.15165, 37.753248 ], [ -122.151721, 37.753073 ], [ -122.15179, 37.752866 ], [ -122.151816, 37.75277 ], [ -122.151887, 37.75245 ], [ -122.151909, 37.752306 ], [ -122.15193, 37.752036 ], [ -122.151931, 37.751937 ], [ -122.151941, 37.751761 ], [ -122.151924, 37.751394 ], [ -122.151913, 37.751254 ], [ -122.151897, 37.751146 ], [ -122.151857, 37.750974 ], [ -122.151779, 37.750683 ], [ -122.151621, 37.750249 ], [ -122.151427, 37.749817 ], [ -122.15128, 37.749523 ], [ -122.151121, 37.74922 ], [ -122.150899, 37.748768 ], [ -122.150772, 37.748472 ], [ -122.15059, 37.748092 ], [ -122.150366, 37.747658 ], [ -122.149795, 37.74648 ], [ -122.149678, 37.746224 ], [ -122.149528, 37.745953 ], [ -122.149226, 37.745509 ], [ -122.148909, 37.745103 ], [ -122.148834, 37.74501 ], [ -122.148642, 37.744793 ], [ -122.148481, 37.744629 ], [ -122.148147, 37.744339 ], [ -122.147826, 37.744084 ], [ -122.147205, 37.743654 ], [ -122.146557, 37.743216 ], [ -122.146134, 37.74288 ], [ -122.146051, 37.742802 ], [ -122.145806, 37.742569 ], [ -122.145718, 37.74248 ], [ -122.145594, 37.742339 ], [ -122.145104, 37.741682 ], [ -122.144044, 37.740307 ], [ -122.143947, 37.740209 ], [ -122.143598, 37.739885 ], [ -122.143025, 37.739387 ], [ -122.142365, 37.738866 ], [ -122.141518, 37.738166 ], [ -122.141412, 37.738075 ], [ -122.141333, 37.737998 ], [ -122.141189, 37.737835 ], [ -122.141134, 37.737767 ], [ -122.141059, 37.737672 ], [ -122.140772, 37.737282 ], [ -122.14071, 37.737182 ], [ -122.140612, 37.737004 ], [ -122.140468, 37.736703 ], [ -122.140371, 37.736461 ], [ -122.140289, 37.736237 ], [ -122.140243, 37.736051 ], [ -122.140208, 37.735905 ], [ -122.140094, 37.735429 ], [ -122.139891, 37.734492 ], [ -122.139886, 37.73447 ], [ -122.139878, 37.734436 ], [ -122.139752, 37.73391 ], [ -122.139679, 37.733597 ], [ -122.139608, 37.733308 ], [ -122.139501, 37.732854 ], [ -122.139168, 37.731594 ], [ -122.139088, 37.731312 ], [ -122.139065, 37.731243 ], [ -122.139043, 37.731179 ], [ -122.138977, 37.730932 ], [ -122.138853, 37.730501 ], [ -122.138645, 37.729764 ], [ -122.138623, 37.729693 ], [ -122.138594, 37.729591 ], [ -122.138567, 37.729494 ], [ -122.138439, 37.729045 ], [ -122.138339, 37.728654 ], [ -122.138336, 37.728638 ], [ -122.138171, 37.727621 ], [ -122.137973, 37.72627 ], [ -122.137919, 37.725963 ], [ -122.13787, 37.725744 ], [ -122.137761, 37.725351 ], [ -122.137664, 37.725051 ], [ -122.137579, 37.724836 ], [ -122.137525, 37.724721 ], [ -122.137409, 37.724461 ], [ -122.137245, 37.724165 ], [ -122.137129, 37.72398 ], [ -122.13705, 37.723852 ], [ -122.136927, 37.723664 ], [ -122.136523, 37.723121 ], [ -122.136112, 37.722604 ], [ -122.13588, 37.722302 ], [ -122.135839, 37.722246 ], [ -122.135312, 37.721571 ], [ -122.134647, 37.72068 ], [ -122.134364, 37.720252 ], [ -122.134034, 37.719743 ], [ -122.133799, 37.719342 ], [ -122.133565, 37.718924 ], [ -122.133385, 37.718616 ], [ -122.13303, 37.717915 ], [ -122.132929, 37.717686 ], [ -122.132403, 37.716565 ], [ -122.132085, 37.715858 ], [ -122.131908, 37.715464 ], [ -122.131784, 37.715233 ], [ -122.131695, 37.715082 ], [ -122.131654, 37.715014 ], [ -122.131243, 37.714375 ], [ -122.131067, 37.714144 ], [ -122.130799, 37.713809 ], [ -122.130654, 37.713643 ], [ -122.130373, 37.713353 ], [ -122.130094, 37.71308 ], [ -122.129719, 37.712746 ], [ -122.129216, 37.712362 ], [ -122.128871, 37.712138 ], [ -122.128272, 37.711746 ], [ -122.127956, 37.711566 ], [ -122.127699, 37.71143 ], [ -122.127098, 37.711162 ], [ -122.126416, 37.710856 ], [ -122.126251, 37.710782 ], [ -122.126124, 37.710717 ], [ -122.12567, 37.710483 ], [ -122.125298, 37.710265 ], [ -122.124622, 37.709829 ], [ -122.124405, 37.70969 ], [ -122.124308, 37.709621 ], [ -122.123713, 37.709164 ], [ -122.123133, 37.708696 ], [ -122.122759, 37.708416 ], [ -122.122622, 37.708302 ], [ -122.122531, 37.708228 ], [ -122.122374, 37.7081 ], [ -122.121821, 37.707665 ], [ -122.121578, 37.707485 ], [ -122.121371, 37.707344 ], [ -122.121184, 37.707225 ], [ -122.120963, 37.707095 ], [ -122.120492, 37.706855 ], [ -122.11946, 37.706401 ], [ -122.118961, 37.70619 ], [ -122.118668, 37.706046 ], [ -122.118062, 37.705776 ], [ -122.11742, 37.705464 ], [ -122.117153, 37.70533 ], [ -122.116793, 37.705144 ], [ -122.11673, 37.705115 ], [ -122.115804, 37.704587 ], [ -122.114803, 37.70398 ], [ -122.114053, 37.703531 ], [ -122.111863, 37.70222 ], [ -122.110747, 37.701487 ], [ -122.109654, 37.700778 ], [ -122.109322, 37.700537 ], [ -122.108987, 37.700275 ], [ -122.108713, 37.700052 ], [ -122.108423, 37.699788 ], [ -122.108346, 37.69972 ], [ -122.107842, 37.699198 ], [ -122.106624, 37.697842 ], [ -122.106435, 37.697631 ], [ -122.105816, 37.696941 ], [ -122.105621, 37.696723 ], [ -122.105494, 37.696576 ], [ -122.105209, 37.696274 ], [ -122.104841, 37.695881 ], [ -122.104761, 37.695804 ], [ -122.104485, 37.69552 ], [ -122.104456, 37.695493 ], [ -122.10442, 37.69545 ] ] } }, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169767, 37.767562 ], [ -122.169167, 37.767123 ], [ -122.168343, 37.766551 ], [ -122.168223, 37.766451 ], [ -122.168101, 37.766349 ], [ -122.167894, 37.766123 ], [ -122.167789, 37.766009 ], [ -122.167676, 37.765878 ], [ -122.167339, 37.765488 ], [ -122.167253, 37.765388 ], [ -122.167227, 37.765358 ], [ -122.167101, 37.765215 ], [ -122.166723, 37.764786 ], [ -122.166598, 37.764644 ], [ -122.166509, 37.764539 ], [ -122.166244, 37.764227 ], [ -122.166156, 37.764123 ], [ -122.166007, 37.763946 ], [ -122.165906, 37.763841 ], [ -122.165749, 37.763678 ], [ -122.165179, 37.762977 ], [ -122.164942, 37.762685 ], [ -122.164902, 37.762642 ], [ -122.164833, 37.762567 ], [ -122.16451, 37.762213 ], [ -122.164403, 37.762096 ], [ -122.164301, 37.761981 ], [ -122.163997, 37.761638 ], [ -122.163896, 37.761524 ], [ -122.163802, 37.761416 ], [ -122.16352, 37.761094 ], [ -122.163427, 37.760987 ], [ -122.163418, 37.760974 ], [ -122.163341, 37.760856 ], [ -122.163266, 37.760722 ], [ -122.163188, 37.760559 ], [ -122.16308, 37.760261 ], [ -122.162254, 37.757984 ], [ -122.161979, 37.757225 ], [ -122.161696, 37.756443 ], [ -122.161529, 37.755975 ], [ -122.161409, 37.755639 ], [ -122.161383, 37.755574 ], [ -122.161299, 37.75537 ], [ -122.161017, 37.754596 ], [ -122.160873, 37.754201 ], [ -122.160728, 37.753804 ], [ -122.1604, 37.752903 ], [ -122.160236, 37.752453 ], [ -122.159925, 37.751596 ], [ -122.159831, 37.751335 ], [ -122.159798, 37.751281 ], [ -122.159724, 37.751169 ], [ -122.159503, 37.750835 ], [ -122.15943, 37.750724 ], [ -122.159326, 37.750564 ], [ -122.159014, 37.750084 ], [ -122.158911, 37.749925 ], [ -122.158851, 37.749826 ], [ -122.158737, 37.749655 ], [ -122.158701, 37.749601 ], [ -122.15842, 37.749178 ], [ -122.158208, 37.748853 ], [ -122.158033, 37.748585 ], [ -122.157984, 37.748511 ], [ -122.157839, 37.748289 ], [ -122.157791, 37.748216 ], [ -122.157679, 37.748047 ], [ -122.157345, 37.747542 ], [ -122.157234, 37.747374 ], [ -122.156998, 37.747005 ], [ -122.156779, 37.74667 ], [ -122.156672, 37.746502 ], [ -122.156497, 37.746226 ], [ -122.156395, 37.746081 ], [ -122.156328, 37.74602 ], [ -122.156288, 37.745983 ], [ -122.156221, 37.745929 ], [ -122.156174, 37.745897 ], [ -122.155957, 37.745752 ], [ -122.155902, 37.745715 ], [ -122.155309, 37.745319 ], [ -122.155094, 37.745175 ], [ -122.154828, 37.744986 ], [ -122.154793, 37.744962 ], [ -122.154362, 37.744667 ], [ -122.154048, 37.744428 ], [ -122.153902, 37.74431 ], [ -122.153831, 37.744253 ], [ -122.153625, 37.744069 ], [ -122.153479, 37.743929 ], [ -122.153433, 37.743885 ], [ -122.153057, 37.743493 ], [ -122.152918, 37.743348 ], [ -122.152835, 37.743261 ], [ -122.152719, 37.743139 ], [ -122.152584, 37.743004 ], [ -122.152546, 37.742966 ], [ -122.152496, 37.742923 ], [ -122.152445, 37.742883 ], [ -122.152295, 37.742763 ], [ -122.152245, 37.742723 ], [ -122.152143, 37.742645 ], [ -122.151838, 37.742412 ], [ -122.151731, 37.742343 ], [ -122.151615, 37.742273 ], [ -122.151526, 37.742214 ], [ -122.151474, 37.742181 ], [ -122.15127, 37.742067 ], [ -122.150888, 37.74187 ], [ -122.150835, 37.741843 ], [ -122.150668, 37.741772 ], [ -122.150475, 37.74168 ], [ -122.149896, 37.741406 ], [ -122.149703, 37.741315 ], [ -122.14953, 37.741232 ], [ -122.149083, 37.741019 ], [ -122.149011, 37.740986 ], [ -122.148837, 37.740907 ], [ -122.148814, 37.740897 ], [ -122.148747, 37.740868 ], [ -122.148725, 37.740859 ], [ -122.148602, 37.740808 ], [ -122.148582, 37.7408 ], [ -122.148244, 37.740632 ], [ -122.148126, 37.740573 ], [ -122.148067, 37.740542 ], [ -122.147893, 37.740452 ], [ -122.147835, 37.740422 ], [ -122.147631, 37.740329 ], [ -122.147524, 37.740279 ], [ -122.146597, 37.739842 ], [ -122.146289, 37.739697 ] ] } }, +{ "type": "Feature", "id": "not a number", "properties": { "LINEARID": "1102638069562", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.24151, 37.807276 ], [ -122.241474, 37.80724 ], [ -122.241437, 37.807195 ], [ -122.241405, 37.807159 ], [ -122.241457, 37.807127 ], [ -122.241403, 37.807075 ], [ -122.241353, 37.807034 ], [ -122.241311, 37.807007 ], [ -122.241218, 37.806961 ], [ -122.241144, 37.806929 ], [ -122.240974, 37.806869 ], [ -122.240656, 37.806804 ], [ -122.240412, 37.806789 ], [ -122.240161, 37.806799 ], [ -122.239922, 37.8068 ], [ -122.239793, 37.806785 ], [ -122.239619, 37.80675 ], [ -122.239526, 37.806718 ], [ -122.239413, 37.806668 ], [ -122.239308, 37.806615 ], [ -122.239139, 37.806511 ], [ -122.238804, 37.806283 ], [ -122.238598, 37.806158 ], [ -122.238456, 37.806085 ], [ -122.238188, 37.805959 ], [ -122.237912, 37.805847 ], [ -122.23727, 37.805642 ] ] } }, +{ "type": "Feature", "id": true, "properties": { "LINEARID": "1103690483032", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.184047, 37.776573 ], [ -122.183919, 37.776509 ], [ -122.183082, 37.776019 ], [ -122.182266, 37.775572 ], [ -122.181312, 37.77502 ], [ -122.181117, 37.774917 ], [ -122.180613, 37.774629 ], [ -122.180295, 37.774431 ], [ -122.180117, 37.774297 ], [ -122.1797, 37.773954 ] ] } }, diff --git a/tests/id/out/-Z11.json b/tests/id/out/-Z11.json new file mode 100644 index 0000000..271eebd --- /dev/null +++ b/tests/id/out/-Z11.json @@ -0,0 +1,302 @@ +{ "type": "FeatureCollection", "properties": { +"bounds": "-122.294563,37.695450,-122.104420,37.833010", +"center": "-122.156982,37.762029,14", +"description": "tests/id/out/-Z11.json.check.mbtiles", +"format": "pbf", +"json": "{\"vector_layers\": [ { \"id\": \"in\", \"description\": \"\", \"minzoom\": 11, \"maxzoom\": 14, \"fields\": {\"FULLNAME\": \"String\", \"LINEARID\": \"String\", \"MTFCC\": \"String\", \"RTTYP\": \"String\"} } ] }", +"maxzoom": "14", +"minzoom": "11", +"name": "tests/id/out/-Z11.json.check.mbtiles", +"type": "overlay", +"version": "2" +}, "features": [ +{ "type": "FeatureCollection", "properties": { "zoom": 11, "x": 328, "y": 791 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104469713198", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241526, 37.807309 ], [ -122.241697, 37.807512 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104469713187", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241526, 37.807309 ], [ -122.241440, 37.807173 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1102638069562", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241526, 37.807309 ], [ -122.241440, 37.807105 ], [ -122.241011, 37.806902 ], [ -122.240667, 37.806834 ], [ -122.239809, 37.806800 ], [ -122.239552, 37.806732 ], [ -122.238479, 37.806088 ], [ -122.237277, 37.805647 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.294569, 37.833039 ], [ -122.294312, 37.832531 ], [ -122.294054, 37.831684 ], [ -122.293839, 37.830395 ], [ -122.293882, 37.829413 ], [ -122.293839, 37.829040 ], [ -122.293625, 37.828565 ], [ -122.293239, 37.828158 ], [ -122.292895, 37.827887 ], [ -122.290578, 37.826667 ], [ -122.289548, 37.826396 ], [ -122.288604, 37.826362 ], [ -122.288003, 37.826362 ], [ -122.283196, 37.827243 ], [ -122.282338, 37.827311 ], [ -122.281265, 37.827243 ], [ -122.279892, 37.826938 ], [ -122.275257, 37.825786 ], [ -122.270451, 37.824735 ], [ -122.268648, 37.824226 ], [ -122.267361, 37.823989 ], [ -122.265944, 37.823616 ], [ -122.262340, 37.822904 ], [ -122.259164, 37.821853 ], [ -122.256675, 37.820633 ], [ -122.255344, 37.819887 ], [ -122.254272, 37.819209 ], [ -122.253070, 37.818192 ], [ -122.252340, 37.817277 ], [ -122.251697, 37.816158 ], [ -122.251353, 37.815107 ], [ -122.250624, 37.812361 ], [ -122.250409, 37.811852 ], [ -122.249980, 37.811276 ], [ -122.249637, 37.810937 ], [ -122.249207, 37.810632 ], [ -122.248735, 37.810360 ], [ -122.245946, 37.809479 ], [ -122.242513, 37.808496 ], [ -122.241311, 37.808089 ], [ -122.236032, 37.805715 ], [ -122.234874, 37.805071 ], [ -122.233586, 37.804257 ], [ -122.230797, 37.802053 ], [ -122.230024, 37.801511 ], [ -122.229166, 37.801036 ], [ -122.228522, 37.800799 ], [ -122.227750, 37.800595 ], [ -122.221055, 37.799171 ], [ -122.216506, 37.798120 ], [ -122.215776, 37.797848 ], [ -122.213717, 37.797407 ], [ -122.211957, 37.796933 ], [ -122.210498, 37.796390 ], [ -122.206550, 37.794525 ], [ -122.205219, 37.793745 ], [ -122.203932, 37.792626 ], [ -122.201357, 37.789879 ], [ -122.200627, 37.789201 ], [ -122.199812, 37.788658 ], [ -122.199082, 37.788251 ], [ -122.193761, 37.785639 ], [ -122.192516, 37.785165 ], [ -122.191272, 37.784792 ], [ -122.189770, 37.784452 ], [ -122.188482, 37.784249 ], [ -122.184706, 37.784011 ], [ -122.179556, 37.783876 ], [ -122.178268, 37.783604 ], [ -122.173676, 37.780959 ], [ -122.167969, 37.778008 ], [ -122.164536, 37.776481 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1103690483032", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.184062, 37.776583 ], [ -122.180629, 37.774650 ], [ -122.179728, 37.773971 ] ] } } +, +{ "type": "Feature", "id": 0, "properties": { "LINEARID": "1102406970092", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.181187, 37.774887 ], [ -122.180200, 37.774277 ], [ -122.177968, 37.772580 ], [ -122.176723, 37.771359 ], [ -122.173247, 37.769663 ], [ -122.173162, 37.769697 ], [ -122.172003, 37.769188 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.172003, 37.769188 ], [ -122.169728, 37.767628 ], [ -122.167969, 37.766372 ], [ -122.164536, 37.762369 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169771, 37.767594 ], [ -122.168355, 37.766576 ], [ -122.167969, 37.766237 ], [ -122.164536, 37.762267 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 11, "x": 329, "y": 792 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.135139, 37.721306 ], [ -122.134066, 37.719745 ], [ -122.133379, 37.718590 ], [ -122.131705, 37.715094 ], [ -122.130804, 37.713838 ], [ -122.129731, 37.712751 ], [ -122.127972, 37.711597 ], [ -122.125697, 37.710510 ], [ -122.124624, 37.709831 ], [ -122.121191, 37.707251 ], [ -122.120504, 37.706878 ], [ -122.118101, 37.705791 ], [ -122.116771, 37.705146 ], [ -122.111878, 37.702226 ], [ -122.109690, 37.700800 ], [ -122.108359, 37.699747 ], [ -122.104454, 37.695469 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 11, "x": 329, "y": 791 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.171402, 37.779772 ], [ -122.167969, 37.778008 ], [ -122.163291, 37.775871 ], [ -122.159257, 37.773836 ], [ -122.157841, 37.772988 ], [ -122.156467, 37.771902 ], [ -122.155223, 37.770613 ], [ -122.154751, 37.769968 ], [ -122.152390, 37.766101 ], [ -122.150502, 37.763828 ], [ -122.148743, 37.761148 ], [ -122.148314, 37.760334 ], [ -122.148013, 37.759519 ], [ -122.147927, 37.758569 ], [ -122.148056, 37.757789 ], [ -122.148314, 37.757178 ], [ -122.148743, 37.756533 ], [ -122.149172, 37.756058 ], [ -122.150931, 37.754396 ], [ -122.151532, 37.753582 ], [ -122.151833, 37.752869 ], [ -122.151918, 37.752326 ], [ -122.151961, 37.751410 ], [ -122.151790, 37.750697 ], [ -122.151446, 37.749849 ], [ -122.149687, 37.746252 ], [ -122.148871, 37.745030 ], [ -122.148485, 37.744657 ], [ -122.147841, 37.744114 ], [ -122.146597, 37.743232 ], [ -122.145824, 37.742587 ], [ -122.144065, 37.740313 ], [ -122.143035, 37.739397 ], [ -122.141447, 37.738107 ], [ -122.140718, 37.737191 ], [ -122.140331, 37.736241 ], [ -122.139516, 37.732881 ], [ -122.138357, 37.728672 ], [ -122.137928, 37.725990 ], [ -122.137671, 37.725074 ], [ -122.137413, 37.724463 ], [ -122.136941, 37.723682 ], [ -122.134666, 37.720695 ], [ -122.133379, 37.718590 ], [ -122.132134, 37.715875 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.171402, 37.768781 ], [ -122.169728, 37.767628 ], [ -122.167969, 37.766372 ], [ -122.163248, 37.760876 ], [ -122.161660, 37.756500 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169771, 37.767594 ], [ -122.168355, 37.766576 ], [ -122.167969, 37.766237 ], [ -122.163377, 37.760876 ], [ -122.163205, 37.760571 ], [ -122.159858, 37.751342 ], [ -122.156425, 37.746082 ], [ -122.153935, 37.744318 ], [ -122.152605, 37.743028 ], [ -122.151747, 37.742349 ], [ -122.150846, 37.741874 ], [ -122.146297, 37.739702 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 12, "x": 656, "y": 1582 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.294569, 37.833022 ], [ -122.294312, 37.832514 ], [ -122.294140, 37.832107 ], [ -122.294033, 37.831684 ], [ -122.293839, 37.830395 ], [ -122.293882, 37.829413 ], [ -122.293818, 37.829023 ], [ -122.293603, 37.828565 ], [ -122.293239, 37.828158 ], [ -122.292745, 37.827802 ], [ -122.291157, 37.826972 ], [ -122.290342, 37.826582 ], [ -122.289720, 37.826413 ], [ -122.289248, 37.826362 ], [ -122.288604, 37.826345 ], [ -122.288003, 37.826362 ], [ -122.285793, 37.826752 ], [ -122.283175, 37.827243 ], [ -122.282703, 37.827294 ], [ -122.281759, 37.827294 ], [ -122.281029, 37.827192 ], [ -122.278540, 37.826616 ], [ -122.275236, 37.825769 ], [ -122.274141, 37.825548 ], [ -122.270429, 37.824718 ], [ -122.269742, 37.824514 ], [ -122.268326, 37.824158 ], [ -122.267361, 37.823972 ], [ -122.265944, 37.823599 ], [ -122.263541, 37.823141 ], [ -122.261932, 37.822785 ], [ -122.261009, 37.822446 ], [ -122.260151, 37.822209 ], [ -122.259078, 37.821819 ], [ -122.257662, 37.821141 ], [ -122.255859, 37.820209 ], [ -122.255344, 37.819887 ], [ -122.254143, 37.819090 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 12, "x": 657, "y": 1583 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.200906, 37.789438 ], [ -122.200627, 37.789201 ], [ -122.199812, 37.788658 ], [ -122.199340, 37.788370 ], [ -122.198782, 37.788081 ], [ -122.194490, 37.785962 ], [ -122.193761, 37.785639 ], [ -122.192130, 37.785046 ], [ -122.191272, 37.784792 ], [ -122.190328, 37.784554 ], [ -122.189748, 37.784435 ], [ -122.188482, 37.784249 ], [ -122.187366, 37.784147 ], [ -122.184706, 37.784011 ], [ -122.179556, 37.783859 ], [ -122.178762, 37.783723 ], [ -122.178268, 37.783587 ], [ -122.173655, 37.780959 ], [ -122.169406, 37.778703 ], [ -122.167969, 37.778008 ], [ -122.166252, 37.777245 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1103690483032", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.184062, 37.776583 ], [ -122.180629, 37.774633 ], [ -122.180307, 37.774446 ], [ -122.179706, 37.773954 ] ] } } +, +{ "type": "Feature", "id": 0, "properties": { "LINEARID": "1102406970092", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.181187, 37.774887 ], [ -122.180178, 37.774260 ], [ -122.179749, 37.773903 ], [ -122.177968, 37.772564 ], [ -122.177346, 37.771919 ], [ -122.176723, 37.771342 ], [ -122.176251, 37.771088 ], [ -122.173247, 37.769663 ], [ -122.173140, 37.769680 ], [ -122.172003, 37.769188 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.172003, 37.769188 ], [ -122.169707, 37.767628 ], [ -122.168269, 37.766610 ], [ -122.167969, 37.766355 ], [ -122.166252, 37.764388 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169771, 37.767577 ], [ -122.168355, 37.766559 ], [ -122.167969, 37.766220 ], [ -122.166252, 37.764252 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 12, "x": 657, "y": 1582 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104469713198", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241526, 37.807292 ], [ -122.241676, 37.807512 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104469713187", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241526, 37.807292 ], [ -122.241418, 37.807173 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1102638069562", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241526, 37.807292 ], [ -122.241418, 37.807173 ], [ -122.241461, 37.807139 ], [ -122.241418, 37.807088 ], [ -122.241225, 37.806970 ], [ -122.240989, 37.806885 ], [ -122.240667, 37.806817 ], [ -122.239809, 37.806800 ], [ -122.239530, 37.806732 ], [ -122.239316, 37.806631 ], [ -122.238822, 37.806292 ], [ -122.238457, 37.806088 ], [ -122.237921, 37.805851 ], [ -122.237277, 37.805647 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.257576, 37.821107 ], [ -122.255859, 37.820209 ], [ -122.254272, 37.819192 ], [ -122.253671, 37.818734 ], [ -122.253048, 37.818192 ], [ -122.252469, 37.817497 ], [ -122.252126, 37.816972 ], [ -122.251697, 37.816158 ], [ -122.251332, 37.815090 ], [ -122.250602, 37.812344 ], [ -122.250431, 37.811937 ], [ -122.250152, 37.811479 ], [ -122.249808, 37.811089 ], [ -122.249486, 37.810801 ], [ -122.249036, 37.810513 ], [ -122.248478, 37.810242 ], [ -122.246568, 37.809682 ], [ -122.245946, 37.809462 ], [ -122.245302, 37.809292 ], [ -122.242491, 37.808479 ], [ -122.241311, 37.808072 ], [ -122.239637, 37.807360 ], [ -122.238650, 37.806919 ], [ -122.238071, 37.806614 ], [ -122.237449, 37.806359 ], [ -122.236011, 37.805698 ], [ -122.234852, 37.805054 ], [ -122.233586, 37.804257 ], [ -122.230797, 37.802053 ], [ -122.230003, 37.801494 ], [ -122.229145, 37.801036 ], [ -122.228501, 37.800782 ], [ -122.227728, 37.800578 ], [ -122.226999, 37.800442 ], [ -122.224274, 37.799832 ], [ -122.221055, 37.799171 ], [ -122.216485, 37.798103 ], [ -122.215776, 37.797848 ], [ -122.213717, 37.797391 ], [ -122.211957, 37.796916 ], [ -122.211142, 37.796661 ], [ -122.210476, 37.796373 ], [ -122.206528, 37.794508 ], [ -122.205884, 37.794186 ], [ -122.205219, 37.793745 ], [ -122.204490, 37.793168 ], [ -122.203932, 37.792626 ], [ -122.201357, 37.789862 ], [ -122.200670, 37.789234 ], [ -122.199554, 37.788488 ], [ -122.198782, 37.788081 ], [ -122.196035, 37.786725 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 12, "x": 658, "y": 1584 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.134173, 37.719948 ], [ -122.133379, 37.718590 ], [ -122.133036, 37.717928 ], [ -122.131920, 37.715467 ], [ -122.131705, 37.715094 ], [ -122.131255, 37.714381 ], [ -122.130804, 37.713821 ], [ -122.130375, 37.713362 ], [ -122.129731, 37.712751 ], [ -122.129216, 37.712378 ], [ -122.127972, 37.711580 ], [ -122.126255, 37.710782 ], [ -122.125676, 37.710493 ], [ -122.124624, 37.709831 ], [ -122.123723, 37.709169 ], [ -122.121835, 37.707676 ], [ -122.121191, 37.707234 ], [ -122.120504, 37.706861 ], [ -122.118080, 37.705791 ], [ -122.116749, 37.705129 ], [ -122.115805, 37.704603 ], [ -122.111878, 37.702226 ], [ -122.109668, 37.700783 ], [ -122.108724, 37.700053 ], [ -122.108359, 37.699730 ], [ -122.107844, 37.699204 ], [ -122.105505, 37.696589 ], [ -122.104433, 37.695452 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 12, "x": 658, "y": 1583 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169685, 37.778856 ], [ -122.167969, 37.778008 ], [ -122.167068, 37.777584 ], [ -122.165694, 37.777007 ], [ -122.163291, 37.775871 ], [ -122.160437, 37.774395 ], [ -122.159257, 37.773836 ], [ -122.158463, 37.773395 ], [ -122.157819, 37.772988 ], [ -122.157047, 37.772394 ], [ -122.156446, 37.771885 ], [ -122.156038, 37.771512 ], [ -122.155223, 37.770596 ], [ -122.154751, 37.769951 ], [ -122.152369, 37.766101 ], [ -122.151897, 37.765473 ], [ -122.150502, 37.763811 ], [ -122.148743, 37.761131 ], [ -122.148314, 37.760334 ], [ -122.148077, 37.759757 ], [ -122.148013, 37.759502 ], [ -122.147927, 37.758552 ], [ -122.147949, 37.758230 ], [ -122.148056, 37.757772 ], [ -122.148292, 37.757178 ], [ -122.148721, 37.756517 ], [ -122.149150, 37.756041 ], [ -122.150159, 37.755125 ], [ -122.150931, 37.754379 ], [ -122.151511, 37.753582 ], [ -122.151811, 37.752869 ], [ -122.151918, 37.752309 ], [ -122.151961, 37.751766 ], [ -122.151940, 37.751410 ], [ -122.151918, 37.751155 ], [ -122.151790, 37.750697 ], [ -122.151446, 37.749832 ], [ -122.149687, 37.746235 ], [ -122.149236, 37.745522 ], [ -122.148850, 37.745013 ], [ -122.148485, 37.744640 ], [ -122.147841, 37.744097 ], [ -122.146575, 37.743232 ], [ -122.146146, 37.742892 ], [ -122.145824, 37.742570 ], [ -122.145610, 37.742349 ], [ -122.144065, 37.740313 ], [ -122.143035, 37.739397 ], [ -122.141426, 37.738090 ], [ -122.141061, 37.737683 ], [ -122.140718, 37.737191 ], [ -122.140481, 37.736716 ], [ -122.140310, 37.736241 ], [ -122.139516, 37.732864 ], [ -122.138357, 37.728655 ], [ -122.137928, 37.725973 ], [ -122.137671, 37.725057 ], [ -122.137413, 37.724463 ], [ -122.136941, 37.723665 ], [ -122.134666, 37.720695 ], [ -122.134044, 37.719745 ], [ -122.133379, 37.718590 ], [ -122.132735, 37.717232 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169685, 37.767611 ], [ -122.168269, 37.766610 ], [ -122.167969, 37.766355 ], [ -122.166510, 37.764693 ], [ -122.163248, 37.760876 ], [ -122.163119, 37.760588 ], [ -122.161639, 37.756483 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169685, 37.767509 ], [ -122.168355, 37.766559 ], [ -122.167969, 37.766220 ], [ -122.165759, 37.763692 ], [ -122.164943, 37.762691 ], [ -122.163527, 37.761097 ], [ -122.163355, 37.760859 ], [ -122.163205, 37.760571 ], [ -122.159836, 37.751342 ], [ -122.156403, 37.746082 ], [ -122.156231, 37.745930 ], [ -122.155094, 37.745183 ], [ -122.153914, 37.744318 ], [ -122.153485, 37.743944 ], [ -122.152605, 37.743011 ], [ -122.151747, 37.742349 ], [ -122.150846, 37.741857 ], [ -122.148614, 37.740822 ], [ -122.146297, 37.739702 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1313, "y": 3165 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.265322, 37.823480 ], [ -122.263530, 37.823141 ], [ -122.262329, 37.822879 ], [ -122.262039, 37.822802 ], [ -122.261921, 37.822777 ], [ -122.260998, 37.822438 ], [ -122.260151, 37.822209 ], [ -122.259078, 37.821811 ], [ -122.257662, 37.821141 ], [ -122.257308, 37.820963 ], [ -122.257200, 37.820887 ], [ -122.256664, 37.820633 ], [ -122.255859, 37.820201 ], [ -122.255334, 37.819879 ], [ -122.255001, 37.819658 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1313, "y": 3164 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.294569, 37.833014 ], [ -122.294301, 37.832505 ], [ -122.294140, 37.832099 ], [ -122.294033, 37.831684 ], [ -122.293850, 37.830667 ], [ -122.293829, 37.830395 ], [ -122.293882, 37.829404 ], [ -122.293807, 37.829014 ], [ -122.293732, 37.828819 ], [ -122.293593, 37.828565 ], [ -122.293239, 37.828158 ], [ -122.293024, 37.827989 ], [ -122.292745, 37.827802 ], [ -122.291157, 37.826963 ], [ -122.290556, 37.826667 ], [ -122.290342, 37.826582 ], [ -122.289945, 37.826463 ], [ -122.289709, 37.826413 ], [ -122.289248, 37.826353 ], [ -122.288604, 37.826336 ], [ -122.288003, 37.826362 ], [ -122.287724, 37.826396 ], [ -122.285793, 37.826743 ], [ -122.283175, 37.827243 ], [ -122.282703, 37.827285 ], [ -122.281759, 37.827285 ], [ -122.281523, 37.827269 ], [ -122.280804, 37.827150 ], [ -122.279892, 37.826938 ], [ -122.278529, 37.826608 ], [ -122.275236, 37.825769 ], [ -122.274131, 37.825548 ], [ -122.270418, 37.824709 ], [ -122.269732, 37.824506 ], [ -122.268637, 37.824226 ], [ -122.268326, 37.824150 ], [ -122.267350, 37.823963 ], [ -122.265934, 37.823599 ], [ -122.263530, 37.823141 ], [ -122.262329, 37.822879 ], [ -122.262039, 37.822802 ], [ -122.261921, 37.822777 ], [ -122.260998, 37.822438 ], [ -122.260151, 37.822209 ], [ -122.259936, 37.822124 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1314, "y": 3165 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104469713198", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241515, 37.807283 ], [ -122.241665, 37.807504 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104469713187", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241515, 37.807283 ], [ -122.241408, 37.807165 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1102638069562", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241515, 37.807283 ], [ -122.241408, 37.807165 ], [ -122.241461, 37.807131 ], [ -122.241408, 37.807080 ], [ -122.241225, 37.806961 ], [ -122.240978, 37.806877 ], [ -122.240657, 37.806809 ], [ -122.240421, 37.806792 ], [ -122.239927, 37.806800 ], [ -122.239798, 37.806792 ], [ -122.239627, 37.806758 ], [ -122.239530, 37.806724 ], [ -122.239316, 37.806622 ], [ -122.238811, 37.806283 ], [ -122.238457, 37.806088 ], [ -122.237921, 37.805851 ], [ -122.237277, 37.805647 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.256718, 37.820658 ], [ -122.255859, 37.820201 ], [ -122.255334, 37.819879 ], [ -122.254690, 37.819446 ], [ -122.254272, 37.819184 ], [ -122.253660, 37.818726 ], [ -122.253381, 37.818497 ], [ -122.253048, 37.818184 ], [ -122.252458, 37.817497 ], [ -122.252115, 37.816963 ], [ -122.251697, 37.816149 ], [ -122.251514, 37.815649 ], [ -122.251332, 37.815081 ], [ -122.250592, 37.812335 ], [ -122.250420, 37.811928 ], [ -122.250152, 37.811479 ], [ -122.249808, 37.811089 ], [ -122.249486, 37.810801 ], [ -122.249036, 37.810504 ], [ -122.248478, 37.810242 ], [ -122.246729, 37.809708 ], [ -122.246557, 37.809674 ], [ -122.245935, 37.809453 ], [ -122.245302, 37.809292 ], [ -122.242481, 37.808470 ], [ -122.241300, 37.808072 ], [ -122.239627, 37.807360 ], [ -122.238650, 37.806910 ], [ -122.238060, 37.806605 ], [ -122.237449, 37.806351 ], [ -122.236880, 37.806080 ], [ -122.236000, 37.805690 ], [ -122.235432, 37.805393 ], [ -122.234852, 37.805054 ], [ -122.234337, 37.804749 ], [ -122.233576, 37.804249 ], [ -122.233232, 37.803994 ], [ -122.230786, 37.802045 ], [ -122.230378, 37.801739 ], [ -122.230003, 37.801485 ], [ -122.229692, 37.801307 ], [ -122.229134, 37.801027 ], [ -122.228501, 37.800782 ], [ -122.228125, 37.800671 ], [ -122.227728, 37.800570 ], [ -122.226988, 37.800434 ], [ -122.224263, 37.799832 ], [ -122.221044, 37.799171 ], [ -122.220594, 37.799069 ], [ -122.218748, 37.798637 ], [ -122.217128, 37.798238 ], [ -122.216485, 37.798094 ], [ -122.215766, 37.797840 ], [ -122.213706, 37.797382 ], [ -122.211914, 37.796907 ], [ -122.211056, 37.796619 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1315, "y": 3166 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.199984, 37.788760 ], [ -122.199340, 37.788370 ], [ -122.198771, 37.788081 ], [ -122.194490, 37.785962 ], [ -122.193750, 37.785639 ], [ -122.192516, 37.785165 ], [ -122.192119, 37.785037 ], [ -122.191261, 37.784783 ], [ -122.190317, 37.784554 ], [ -122.189748, 37.784435 ], [ -122.188482, 37.784240 ], [ -122.187366, 37.784147 ], [ -122.184695, 37.784003 ], [ -122.179556, 37.783850 ], [ -122.179041, 37.783774 ], [ -122.178751, 37.783715 ], [ -122.178258, 37.783579 ], [ -122.173655, 37.780959 ], [ -122.169406, 37.778703 ], [ -122.167969, 37.777999 ], [ -122.167701, 37.777864 ], [ -122.167110, 37.777609 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1103690483032", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.184051, 37.776575 ], [ -122.180618, 37.774633 ], [ -122.180296, 37.774438 ], [ -122.179706, 37.773954 ] ] } } +, +{ "type": "Feature", "id": 0, "properties": { "LINEARID": "1102406970092", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.181176, 37.774879 ], [ -122.180361, 37.774395 ], [ -122.180167, 37.774260 ], [ -122.179738, 37.773895 ], [ -122.179213, 37.773513 ], [ -122.178665, 37.773081 ], [ -122.177957, 37.772564 ], [ -122.177346, 37.771919 ], [ -122.176960, 37.771537 ], [ -122.176713, 37.771334 ], [ -122.176251, 37.771088 ], [ -122.175468, 37.770732 ], [ -122.173247, 37.769663 ], [ -122.173140, 37.769672 ], [ -122.172003, 37.769180 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.172003, 37.769180 ], [ -122.169932, 37.767763 ], [ -122.169707, 37.767619 ], [ -122.168269, 37.766601 ], [ -122.167969, 37.766347 ], [ -122.167701, 37.766050 ], [ -122.167110, 37.765355 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169771, 37.767568 ], [ -122.169170, 37.767127 ], [ -122.168344, 37.766559 ], [ -122.168108, 37.766355 ], [ -122.167969, 37.766211 ], [ -122.167110, 37.765227 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1315, "y": 3165 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.212772, 37.797145 ], [ -122.211914, 37.796907 ], [ -122.211142, 37.796653 ], [ -122.210466, 37.796373 ], [ -122.210069, 37.796195 ], [ -122.208599, 37.795483 ], [ -122.206517, 37.794508 ], [ -122.205884, 37.794186 ], [ -122.205209, 37.793745 ], [ -122.204479, 37.793160 ], [ -122.203921, 37.792626 ], [ -122.201357, 37.789853 ], [ -122.200670, 37.789234 ], [ -122.200627, 37.789192 ], [ -122.200520, 37.789141 ], [ -122.200241, 37.788929 ], [ -122.199544, 37.788488 ], [ -122.199082, 37.788234 ], [ -122.198771, 37.788081 ], [ -122.197398, 37.787403 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1316, "y": 3168 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.133765, 37.719269 ], [ -122.133379, 37.718590 ], [ -122.133036, 37.717920 ], [ -122.131909, 37.715467 ], [ -122.131791, 37.715238 ], [ -122.131244, 37.714381 ], [ -122.131072, 37.714152 ], [ -122.130665, 37.713651 ], [ -122.130375, 37.713354 ], [ -122.129720, 37.712751 ], [ -122.129216, 37.712369 ], [ -122.128272, 37.711750 ], [ -122.127703, 37.711436 ], [ -122.126255, 37.710782 ], [ -122.125676, 37.710485 ], [ -122.125300, 37.710273 ], [ -122.124410, 37.709696 ], [ -122.124023, 37.709407 ], [ -122.123165, 37.708728 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1316, "y": 3167 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.151210, 37.754023 ], [ -122.151414, 37.753726 ], [ -122.151500, 37.753582 ], [ -122.151618, 37.753344 ], [ -122.151725, 37.753081 ], [ -122.151800, 37.752869 ], [ -122.151897, 37.752453 ], [ -122.151940, 37.752038 ], [ -122.151951, 37.751766 ], [ -122.151908, 37.751147 ], [ -122.151790, 37.750689 ], [ -122.151629, 37.750256 ], [ -122.151436, 37.749824 ], [ -122.150899, 37.748772 ], [ -122.150599, 37.748093 ], [ -122.150373, 37.747660 ], [ -122.149687, 37.746227 ], [ -122.149537, 37.745955 ], [ -122.149236, 37.745514 ], [ -122.148914, 37.745107 ], [ -122.148485, 37.744632 ], [ -122.147831, 37.744089 ], [ -122.146565, 37.743223 ], [ -122.146136, 37.742884 ], [ -122.145814, 37.742570 ], [ -122.145599, 37.742341 ], [ -122.144054, 37.740313 ], [ -122.143604, 37.739889 ], [ -122.143035, 37.739388 ], [ -122.142370, 37.738871 ], [ -122.141340, 37.738006 ], [ -122.141061, 37.737675 ], [ -122.140782, 37.737284 ], [ -122.140621, 37.737004 ], [ -122.140471, 37.736707 ], [ -122.140299, 37.736241 ], [ -122.139505, 37.732855 ], [ -122.139173, 37.731599 ], [ -122.139044, 37.731184 ], [ -122.138346, 37.728655 ], [ -122.137928, 37.725965 ], [ -122.137874, 37.725744 ], [ -122.137671, 37.725057 ], [ -122.137413, 37.724463 ], [ -122.137252, 37.724166 ], [ -122.136930, 37.723665 ], [ -122.136533, 37.723122 ], [ -122.135321, 37.721578 ], [ -122.134656, 37.720687 ], [ -122.134044, 37.719745 ], [ -122.133379, 37.718590 ], [ -122.133036, 37.717911 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.160813, 37.754023 ], [ -122.160566, 37.753344 ], [ -122.159836, 37.751342 ], [ -122.156403, 37.746082 ], [ -122.156231, 37.745930 ], [ -122.155094, 37.745183 ], [ -122.154365, 37.744674 ], [ -122.153903, 37.744318 ], [ -122.153485, 37.743936 ], [ -122.152594, 37.743011 ], [ -122.152305, 37.742765 ], [ -122.151843, 37.742417 ], [ -122.151736, 37.742349 ], [ -122.151275, 37.742070 ], [ -122.150846, 37.741849 ], [ -122.150481, 37.741688 ], [ -122.149022, 37.740992 ], [ -122.148603, 37.740814 ], [ -122.147841, 37.740424 ], [ -122.146297, 37.739702 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1316, "y": 3166 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.168827, 37.778423 ], [ -122.167969, 37.777999 ], [ -122.167701, 37.777864 ], [ -122.167057, 37.777575 ], [ -122.165684, 37.776999 ], [ -122.163280, 37.775871 ], [ -122.162465, 37.775438 ], [ -122.161510, 37.774963 ], [ -122.160426, 37.774395 ], [ -122.159246, 37.773827 ], [ -122.158463, 37.773386 ], [ -122.158098, 37.773166 ], [ -122.157540, 37.772776 ], [ -122.157036, 37.772394 ], [ -122.156435, 37.771877 ], [ -122.156038, 37.771503 ], [ -122.155212, 37.770596 ], [ -122.154740, 37.769951 ], [ -122.154515, 37.769604 ], [ -122.152358, 37.766101 ], [ -122.151886, 37.765473 ], [ -122.150813, 37.764210 ], [ -122.150502, 37.763803 ], [ -122.149193, 37.761860 ], [ -122.148732, 37.761131 ], [ -122.148303, 37.760325 ], [ -122.148077, 37.759757 ], [ -122.148013, 37.759494 ], [ -122.147927, 37.758730 ], [ -122.147949, 37.758230 ], [ -122.148045, 37.757772 ], [ -122.148099, 37.757594 ], [ -122.148281, 37.757178 ], [ -122.148464, 37.756864 ], [ -122.148710, 37.756508 ], [ -122.148914, 37.756271 ], [ -122.149140, 37.756041 ], [ -122.150159, 37.755125 ], [ -122.150545, 37.754761 ], [ -122.150931, 37.754370 ], [ -122.151092, 37.754175 ], [ -122.151414, 37.753726 ], [ -122.151500, 37.753582 ], [ -122.151618, 37.753344 ], [ -122.151725, 37.753081 ], [ -122.151800, 37.752869 ], [ -122.151843, 37.752665 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.168827, 37.767000 ], [ -122.168269, 37.766601 ], [ -122.167969, 37.766347 ], [ -122.167701, 37.766050 ], [ -122.167175, 37.765423 ], [ -122.166510, 37.764693 ], [ -122.165952, 37.764006 ], [ -122.165694, 37.763726 ], [ -122.164332, 37.762132 ], [ -122.163366, 37.761038 ], [ -122.163248, 37.760868 ], [ -122.163109, 37.760579 ], [ -122.161639, 37.756474 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.168827, 37.766890 ], [ -122.168344, 37.766559 ], [ -122.168108, 37.766355 ], [ -122.167969, 37.766211 ], [ -122.166606, 37.764651 ], [ -122.166016, 37.763947 ], [ -122.165759, 37.763684 ], [ -122.164943, 37.762691 ], [ -122.163527, 37.761097 ], [ -122.163420, 37.760978 ], [ -122.163345, 37.760859 ], [ -122.163194, 37.760563 ], [ -122.161413, 37.755643 ], [ -122.161306, 37.755371 ], [ -122.160566, 37.753344 ], [ -122.160319, 37.752665 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 13, "x": 1317, "y": 3168 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.124882, 37.710001 ], [ -122.124410, 37.709696 ], [ -122.124023, 37.709407 ], [ -122.121824, 37.707667 ], [ -122.121588, 37.707489 ], [ -122.121191, 37.707226 ], [ -122.120494, 37.706861 ], [ -122.118970, 37.706190 ], [ -122.118069, 37.705783 ], [ -122.116739, 37.705121 ], [ -122.115805, 37.704594 ], [ -122.111868, 37.702226 ], [ -122.109658, 37.700783 ], [ -122.109325, 37.700545 ], [ -122.108713, 37.700053 ], [ -122.108349, 37.699722 ], [ -122.107844, 37.699204 ], [ -122.105495, 37.696581 ], [ -122.104422, 37.695452 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2626, "y": 6329 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.294564, 37.833014 ], [ -122.294301, 37.832505 ], [ -122.294140, 37.832094 ], [ -122.294027, 37.831679 ], [ -122.293850, 37.830667 ], [ -122.293829, 37.830395 ], [ -122.293877, 37.829400 ], [ -122.293802, 37.829010 ], [ -122.293727, 37.828819 ], [ -122.293593, 37.828565 ], [ -122.293335, 37.828256 ], [ -122.293239, 37.828154 ], [ -122.293024, 37.827985 ], [ -122.292745, 37.827798 ], [ -122.292498, 37.827663 ], [ -122.291157, 37.826959 ], [ -122.290551, 37.826663 ], [ -122.290342, 37.826578 ], [ -122.289945, 37.826459 ], [ -122.289703, 37.826408 ], [ -122.289548, 37.826383 ], [ -122.289248, 37.826353 ], [ -122.288604, 37.826332 ], [ -122.288003, 37.826358 ], [ -122.287719, 37.826391 ], [ -122.286823, 37.826561 ], [ -122.285787, 37.826743 ], [ -122.283170, 37.827239 ], [ -122.282698, 37.827285 ], [ -122.282333, 37.827290 ], [ -122.281753, 37.827281 ], [ -122.281517, 37.827264 ], [ -122.281249, 37.827226 ], [ -122.280804, 37.827146 ], [ -122.279892, 37.826934 ], [ -122.278529, 37.826603 ], [ -122.278401, 37.826565 ], [ -122.277832, 37.826425 ], [ -122.277403, 37.826315 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2627, "y": 6330 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.263557, 37.823141 ], [ -122.262329, 37.822879 ], [ -122.262039, 37.822802 ], [ -122.261921, 37.822773 ], [ -122.260998, 37.822434 ], [ -122.260151, 37.822205 ], [ -122.259164, 37.821849 ], [ -122.259073, 37.821811 ], [ -122.257656, 37.821137 ], [ -122.257308, 37.820959 ], [ -122.257195, 37.820887 ], [ -122.256659, 37.820629 ], [ -122.255859, 37.820196 ], [ -122.255430, 37.819938 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2627, "y": 6329 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.278261, 37.826531 ], [ -122.277832, 37.826425 ], [ -122.275230, 37.825769 ], [ -122.274125, 37.825548 ], [ -122.270413, 37.824709 ], [ -122.269732, 37.824506 ], [ -122.268965, 37.824315 ], [ -122.268637, 37.824222 ], [ -122.268326, 37.824150 ], [ -122.267350, 37.823963 ], [ -122.265934, 37.823599 ], [ -122.264856, 37.823391 ], [ -122.264582, 37.823332 ], [ -122.263530, 37.823137 ], [ -122.262329, 37.822879 ], [ -122.262039, 37.822802 ], [ -122.261921, 37.822773 ], [ -122.261084, 37.822463 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2628, "y": 6331 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1102638069562", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.237706, 37.805783 ], [ -122.237272, 37.805643 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.236210, 37.805783 ], [ -122.235995, 37.805690 ], [ -122.235539, 37.805444 ], [ -122.234852, 37.805054 ], [ -122.234337, 37.804745 ], [ -122.233887, 37.804452 ], [ -122.233570, 37.804244 ], [ -122.233458, 37.804164 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2628, "y": 6330 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104469713198", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241515, 37.807279 ], [ -122.241665, 37.807504 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104469713187", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241515, 37.807279 ], [ -122.241408, 37.807160 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1102638069562", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.241515, 37.807279 ], [ -122.241408, 37.807160 ], [ -122.241461, 37.807131 ], [ -122.241408, 37.807076 ], [ -122.241311, 37.807008 ], [ -122.241220, 37.806961 ], [ -122.240978, 37.806872 ], [ -122.240657, 37.806804 ], [ -122.240415, 37.806792 ], [ -122.239927, 37.806800 ], [ -122.239798, 37.806788 ], [ -122.239621, 37.806754 ], [ -122.239530, 37.806720 ], [ -122.239310, 37.806618 ], [ -122.238806, 37.806283 ], [ -122.238602, 37.806160 ], [ -122.238457, 37.806088 ], [ -122.238189, 37.805961 ], [ -122.237915, 37.805851 ], [ -122.237272, 37.805643 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.256289, 37.820429 ], [ -122.255859, 37.820196 ], [ -122.255334, 37.819879 ], [ -122.254685, 37.819442 ], [ -122.254266, 37.819184 ], [ -122.253660, 37.818726 ], [ -122.253381, 37.818497 ], [ -122.253048, 37.818179 ], [ -122.252796, 37.817900 ], [ -122.252458, 37.817493 ], [ -122.252115, 37.816963 ], [ -122.251772, 37.816319 ], [ -122.251691, 37.816149 ], [ -122.251509, 37.815649 ], [ -122.251326, 37.815081 ], [ -122.250715, 37.812785 ], [ -122.250586, 37.812335 ], [ -122.250500, 37.812102 ], [ -122.250372, 37.811835 ], [ -122.250146, 37.811479 ], [ -122.249980, 37.811276 ], [ -122.249803, 37.811085 ], [ -122.249615, 37.810911 ], [ -122.249481, 37.810801 ], [ -122.249202, 37.810602 ], [ -122.249036, 37.810500 ], [ -122.248574, 37.810276 ], [ -122.248478, 37.810237 ], [ -122.246724, 37.809708 ], [ -122.246557, 37.809674 ], [ -122.245935, 37.809449 ], [ -122.245302, 37.809288 ], [ -122.243564, 37.808788 ], [ -122.242475, 37.808466 ], [ -122.241858, 37.808267 ], [ -122.241300, 37.808072 ], [ -122.239627, 37.807355 ], [ -122.238645, 37.806906 ], [ -122.238060, 37.806601 ], [ -122.237443, 37.806351 ], [ -122.236875, 37.806080 ], [ -122.235995, 37.805690 ], [ -122.235539, 37.805444 ], [ -122.234944, 37.805105 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2629, "y": 6331 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.234316, 37.804732 ], [ -122.233887, 37.804452 ], [ -122.233570, 37.804244 ], [ -122.233227, 37.803990 ], [ -122.232685, 37.803562 ], [ -122.232342, 37.803278 ], [ -122.231553, 37.802647 ], [ -122.231333, 37.802481 ], [ -122.230786, 37.802045 ], [ -122.230373, 37.801735 ], [ -122.229874, 37.801409 ], [ -122.229692, 37.801307 ], [ -122.229386, 37.801150 ], [ -122.229134, 37.801027 ], [ -122.228501, 37.800777 ], [ -122.228125, 37.800667 ], [ -122.227723, 37.800570 ], [ -122.227417, 37.800506 ], [ -122.226983, 37.800434 ], [ -122.224263, 37.799828 ], [ -122.222643, 37.799489 ], [ -122.221039, 37.799167 ], [ -122.220594, 37.799065 ], [ -122.218748, 37.798633 ], [ -122.217225, 37.798264 ], [ -122.217128, 37.798234 ], [ -122.216485, 37.798094 ], [ -122.215760, 37.797836 ], [ -122.213700, 37.797378 ], [ -122.213046, 37.797212 ], [ -122.211914, 37.796907 ], [ -122.211485, 37.796767 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2630, "y": 6332 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.199436, 37.788421 ], [ -122.199077, 37.788230 ], [ -122.198771, 37.788081 ], [ -122.196073, 37.786750 ], [ -122.196003, 37.786708 ], [ -122.194490, 37.785957 ], [ -122.193750, 37.785635 ], [ -122.192516, 37.785165 ], [ -122.192119, 37.785033 ], [ -122.191261, 37.784783 ], [ -122.190317, 37.784550 ], [ -122.189941, 37.784478 ], [ -122.189512, 37.784401 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2630, "y": 6331 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.212343, 37.797026 ], [ -122.211914, 37.796907 ], [ -122.211142, 37.796649 ], [ -122.210466, 37.796373 ], [ -122.210063, 37.796191 ], [ -122.208593, 37.795483 ], [ -122.206512, 37.794508 ], [ -122.205884, 37.794182 ], [ -122.205209, 37.793745 ], [ -122.204913, 37.793520 ], [ -122.204479, 37.793160 ], [ -122.204372, 37.793054 ], [ -122.204189, 37.792893 ], [ -122.203916, 37.792622 ], [ -122.203647, 37.792321 ], [ -122.203406, 37.792079 ], [ -122.201357, 37.789853 ], [ -122.200670, 37.789230 ], [ -122.200622, 37.789188 ], [ -122.200515, 37.789137 ], [ -122.200241, 37.788929 ], [ -122.199544, 37.788484 ], [ -122.199077, 37.788230 ], [ -122.198771, 37.788081 ], [ -122.198079, 37.787742 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2631, "y": 6333 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "id": 0, "properties": { "LINEARID": "1102406970092", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.176182, 37.771054 ], [ -122.175441, 37.770715 ], [ -122.173242, 37.769663 ], [ -122.173140, 37.769667 ], [ -122.172807, 37.769532 ], [ -122.172003, 37.769175 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.172003, 37.769175 ], [ -122.170597, 37.768221 ], [ -122.169932, 37.767759 ], [ -122.169701, 37.767619 ], [ -122.169090, 37.767178 ], [ -122.168264, 37.766597 ], [ -122.168022, 37.766398 ], [ -122.167969, 37.766343 ], [ -122.167695, 37.766046 ], [ -122.167540, 37.765864 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.169771, 37.767564 ], [ -122.169170, 37.767123 ], [ -122.168344, 37.766555 ], [ -122.168103, 37.766351 ], [ -122.167969, 37.766207 ], [ -122.167792, 37.766012 ], [ -122.167540, 37.765724 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2631, "y": 6332 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.190371, 37.784567 ], [ -122.190317, 37.784550 ], [ -122.189941, 37.784478 ], [ -122.189743, 37.784435 ], [ -122.188960, 37.784308 ], [ -122.188482, 37.784240 ], [ -122.187908, 37.784198 ], [ -122.187366, 37.784147 ], [ -122.186744, 37.784117 ], [ -122.185612, 37.784045 ], [ -122.184695, 37.784003 ], [ -122.179840, 37.783867 ], [ -122.179551, 37.783850 ], [ -122.179036, 37.783774 ], [ -122.178751, 37.783715 ], [ -122.178252, 37.783579 ], [ -122.173993, 37.781141 ], [ -122.173655, 37.780955 ], [ -122.173247, 37.780747 ], [ -122.170656, 37.779365 ], [ -122.169401, 37.778703 ], [ -122.167969, 37.777999 ], [ -122.167701, 37.777864 ], [ -122.167540, 37.777796 ] ] } } +, +{ "type": "Feature", "properties": { "LINEARID": "1103690483032", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.184051, 37.776575 ], [ -122.183923, 37.776511 ], [ -122.183086, 37.776019 ], [ -122.182270, 37.775574 ], [ -122.181315, 37.775023 ], [ -122.181122, 37.774921 ], [ -122.180618, 37.774633 ], [ -122.180296, 37.774433 ], [ -122.180119, 37.774298 ], [ -122.179701, 37.773954 ] ] } } +, +{ "type": "Feature", "id": 0, "properties": { "LINEARID": "1102406970092", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.181171, 37.774879 ], [ -122.180361, 37.774391 ], [ -122.180167, 37.774260 ], [ -122.179733, 37.773895 ], [ -122.179207, 37.773509 ], [ -122.178660, 37.773077 ], [ -122.177957, 37.772564 ], [ -122.177346, 37.771919 ], [ -122.176954, 37.771533 ], [ -122.176713, 37.771334 ], [ -122.176439, 37.771177 ], [ -122.175441, 37.770715 ], [ -122.174733, 37.770376 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2632, "y": 6334 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.151441, 37.753683 ], [ -122.151500, 37.753577 ], [ -122.151613, 37.753344 ], [ -122.151725, 37.753077 ], [ -122.151795, 37.752869 ], [ -122.151892, 37.752453 ], [ -122.151913, 37.752309 ], [ -122.151935, 37.752038 ], [ -122.151945, 37.751762 ], [ -122.151929, 37.751397 ], [ -122.151902, 37.751147 ], [ -122.151784, 37.750685 ], [ -122.151623, 37.750252 ], [ -122.151430, 37.749819 ], [ -122.150899, 37.748772 ], [ -122.150776, 37.748475 ], [ -122.150593, 37.748093 ], [ -122.150368, 37.747660 ], [ -122.149681, 37.746227 ], [ -122.149531, 37.745955 ], [ -122.149231, 37.745510 ], [ -122.148839, 37.745013 ], [ -122.148646, 37.744797 ], [ -122.148485, 37.744632 ], [ -122.147831, 37.744084 ], [ -122.146559, 37.743219 ], [ -122.146136, 37.742884 ], [ -122.145996, 37.742748 ], [ -122.145723, 37.742481 ], [ -122.145567, 37.742299 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.160689, 37.753683 ], [ -122.160566, 37.753344 ], [ -122.159836, 37.751338 ], [ -122.159327, 37.750566 ], [ -122.158855, 37.749828 ], [ -122.157235, 37.747376 ], [ -122.156500, 37.746227 ], [ -122.156398, 37.746082 ], [ -122.156226, 37.745930 ], [ -122.155094, 37.745179 ], [ -122.154831, 37.744988 ], [ -122.154365, 37.744670 ], [ -122.153903, 37.744314 ], [ -122.153479, 37.743932 ], [ -122.152589, 37.743007 ], [ -122.152449, 37.742884 ], [ -122.152299, 37.742765 ], [ -122.151843, 37.742413 ], [ -122.151736, 37.742345 ], [ -122.151479, 37.742184 ], [ -122.151275, 37.742070 ], [ -122.150840, 37.741845 ], [ -122.150475, 37.741683 ], [ -122.149016, 37.740988 ], [ -122.148603, 37.740810 ], [ -122.147836, 37.740424 ], [ -122.146291, 37.739698 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2632, "y": 6333 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.155641, 37.771054 ], [ -122.155325, 37.770715 ], [ -122.155207, 37.770592 ], [ -122.154740, 37.769951 ], [ -122.154515, 37.769600 ], [ -122.152353, 37.766101 ], [ -122.152192, 37.765872 ], [ -122.151881, 37.765469 ], [ -122.150813, 37.764210 ], [ -122.150502, 37.763803 ], [ -122.149188, 37.761856 ], [ -122.148727, 37.761127 ], [ -122.148297, 37.760325 ], [ -122.148077, 37.759757 ], [ -122.148008, 37.759490 ], [ -122.147981, 37.759307 ], [ -122.147922, 37.758726 ], [ -122.147922, 37.758548 ], [ -122.147949, 37.758230 ], [ -122.147992, 37.757975 ], [ -122.148099, 37.757594 ], [ -122.148196, 37.757361 ], [ -122.148281, 37.757178 ], [ -122.148458, 37.756864 ], [ -122.148710, 37.756508 ], [ -122.148914, 37.756266 ], [ -122.149134, 37.756041 ], [ -122.149413, 37.755779 ], [ -122.150159, 37.755121 ], [ -122.150545, 37.754761 ], [ -122.150931, 37.754366 ], [ -122.151092, 37.754175 ], [ -122.151414, 37.753721 ], [ -122.151500, 37.753577 ], [ -122.151613, 37.753344 ], [ -122.151725, 37.753077 ], [ -122.151752, 37.753005 ] ] } } +, +{ "type": "Feature", "id": 123, "properties": { "LINEARID": "1102954918511", "FULLNAME": "Macarthur", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.168398, 37.766695 ], [ -122.168232, 37.766572 ], [ -122.168022, 37.766398 ], [ -122.167969, 37.766343 ], [ -122.167695, 37.766046 ], [ -122.167175, 37.765423 ], [ -122.166504, 37.764689 ], [ -122.165946, 37.764006 ], [ -122.165689, 37.763726 ], [ -122.164868, 37.762747 ], [ -122.164332, 37.762127 ], [ -122.163366, 37.761033 ], [ -122.163243, 37.760868 ], [ -122.163103, 37.760575 ], [ -122.161918, 37.757250 ], [ -122.161633, 37.756474 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.168398, 37.766593 ], [ -122.168344, 37.766555 ], [ -122.168103, 37.766351 ], [ -122.167969, 37.766207 ], [ -122.167792, 37.766012 ], [ -122.167255, 37.765389 ], [ -122.166601, 37.764646 ], [ -122.166011, 37.763947 ], [ -122.165753, 37.763680 ], [ -122.164943, 37.762687 ], [ -122.164407, 37.762098 ], [ -122.163522, 37.761097 ], [ -122.163420, 37.760978 ], [ -122.163345, 37.760859 ], [ -122.163189, 37.760563 ], [ -122.161413, 37.755643 ], [ -122.161301, 37.755371 ], [ -122.160566, 37.753344 ], [ -122.160442, 37.753005 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2632, "y": 6332 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.168398, 37.778216 ], [ -122.167969, 37.777999 ], [ -122.167701, 37.777864 ], [ -122.167051, 37.777575 ], [ -122.165684, 37.776995 ], [ -122.163280, 37.775867 ], [ -122.162459, 37.775438 ], [ -122.161505, 37.774963 ], [ -122.160421, 37.774391 ], [ -122.159246, 37.773823 ], [ -122.158458, 37.773386 ], [ -122.158098, 37.773166 ], [ -122.157819, 37.772975 ], [ -122.157540, 37.772776 ], [ -122.157031, 37.772394 ], [ -122.156435, 37.771872 ], [ -122.156038, 37.771499 ], [ -122.155325, 37.770715 ], [ -122.155207, 37.770592 ], [ -122.155051, 37.770376 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2633, "y": 6336 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.133572, 37.718930 ], [ -122.133379, 37.718590 ], [ -122.133030, 37.717916 ], [ -122.132934, 37.717686 ], [ -122.132408, 37.716566 ], [ -122.131909, 37.715467 ], [ -122.131786, 37.715234 ], [ -122.131700, 37.715085 ], [ -122.131244, 37.714377 ], [ -122.131072, 37.714147 ], [ -122.130804, 37.713812 ], [ -122.130659, 37.713647 ], [ -122.130375, 37.713354 ], [ -122.130096, 37.713082 ], [ -122.129720, 37.712747 ], [ -122.129216, 37.712365 ], [ -122.128272, 37.711750 ], [ -122.127961, 37.711567 ], [ -122.127703, 37.711431 ], [ -122.126255, 37.710782 ], [ -122.125670, 37.710485 ], [ -122.125300, 37.710269 ], [ -122.124410, 37.709691 ], [ -122.124023, 37.709403 ], [ -122.123594, 37.709068 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2633, "y": 6335 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.140321, 37.736309 ], [ -122.140294, 37.736241 ], [ -122.140229, 37.735969 ], [ -122.140095, 37.735430 ], [ -122.139881, 37.734438 ], [ -122.139505, 37.732855 ], [ -122.139173, 37.731595 ], [ -122.139092, 37.731315 ], [ -122.139044, 37.731179 ], [ -122.138443, 37.729045 ], [ -122.138341, 37.728655 ], [ -122.138175, 37.727624 ], [ -122.137976, 37.726270 ], [ -122.137923, 37.725965 ], [ -122.137874, 37.725744 ], [ -122.137665, 37.725053 ], [ -122.137579, 37.724836 ], [ -122.137413, 37.724463 ], [ -122.137247, 37.724166 ], [ -122.136930, 37.723665 ], [ -122.136528, 37.723122 ], [ -122.136115, 37.722604 ], [ -122.135316, 37.721573 ], [ -122.134650, 37.720682 ], [ -122.134039, 37.719745 ], [ -122.133803, 37.719346 ], [ -122.133379, 37.718590 ], [ -122.133202, 37.718251 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2633, "y": 6334 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.146425, 37.743113 ], [ -122.146136, 37.742884 ], [ -122.145996, 37.742748 ], [ -122.145808, 37.742570 ], [ -122.145599, 37.742341 ], [ -122.145106, 37.741683 ], [ -122.144049, 37.740309 ], [ -122.143952, 37.740211 ], [ -122.143598, 37.739889 ], [ -122.143030, 37.739388 ], [ -122.142370, 37.738867 ], [ -122.141415, 37.738078 ], [ -122.141334, 37.738001 ], [ -122.141190, 37.737836 ], [ -122.141061, 37.737675 ], [ -122.140777, 37.737284 ], [ -122.140616, 37.737004 ], [ -122.140471, 37.736703 ], [ -122.140374, 37.736461 ], [ -122.140294, 37.736241 ], [ -122.140229, 37.735969 ], [ -122.140149, 37.735630 ] ] } } +, +{ "type": "Feature", "id": 1073741824, "properties": { "LINEARID": "1105089465114", "FULLNAME": "Macarthur Blvd", "RTTYP": "M", "MTFCC": "S1400" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.146425, 37.739762 ], [ -122.146291, 37.739698 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2634, "y": 6337 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.110843, 37.701547 ], [ -122.110323, 37.701207 ], [ -122.109658, 37.700779 ], [ -122.109325, 37.700541 ], [ -122.108713, 37.700053 ], [ -122.108349, 37.699722 ], [ -122.107844, 37.699200 ], [ -122.105495, 37.696577 ], [ -122.104846, 37.695885 ], [ -122.104422, 37.695452 ] ] } } +] } +] } +, +{ "type": "FeatureCollection", "properties": { "zoom": 14, "x": 2634, "y": 6336 }, "features": [ +{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [ +{ "type": "Feature", "properties": { "LINEARID": "1104486090991", "FULLNAME": "Macarthur Fwy", "RTTYP": "M", "MTFCC": "S1100" }, "geometry": { "type": "LineString", "coordinates": [ [ -122.124453, 37.709721 ], [ -122.124313, 37.709624 ], [ -122.124023, 37.709403 ], [ -122.123718, 37.709165 ], [ -122.123138, 37.708698 ], [ -122.122763, 37.708418 ], [ -122.121824, 37.707667 ], [ -122.121583, 37.707489 ], [ -122.121373, 37.707344 ], [ -122.121186, 37.707226 ], [ -122.120966, 37.707098 ], [ -122.120494, 37.706856 ], [ -122.119464, 37.706402 ], [ -122.118965, 37.706190 ], [ -122.118670, 37.706050 ], [ -122.118064, 37.705778 ], [ -122.117157, 37.705333 ], [ -122.116733, 37.705116 ], [ -122.115805, 37.704590 ], [ -122.114807, 37.703983 ], [ -122.111868, 37.702222 ], [ -122.110323, 37.701207 ], [ -122.109797, 37.700868 ] ] } } +] } +] } +] } diff --git a/tile.cpp b/tile.cpp index 085d61a..5fe69e2 100644 --- a/tile.cpp +++ b/tile.cpp @@ -74,6 +74,8 @@ struct coalesce { int m; bool coalesced; double spacing; + bool has_id; + unsigned long long id; bool operator<(const coalesce &o) const { int cmp = coalindexcmp(this, &o); @@ -260,7 +262,7 @@ struct sll { } }; -void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, unsigned tx, unsigned ty, int buffer, int line_detail, int *within, long long *geompos, FILE **geomfile, const char *fname, signed char t, int layer, long long metastart, signed char feature_minzoom, int child_shards, int max_zoom_increment, long long seq, int tippecanoe_minzoom, int tippecanoe_maxzoom, int segment, unsigned *initial_x, unsigned *initial_y, int m, std::vector &metakeys, std::vector &metavals) { +void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, unsigned tx, unsigned ty, int buffer, int line_detail, int *within, long long *geompos, FILE **geomfile, const char *fname, signed char t, int layer, long long metastart, signed char feature_minzoom, int child_shards, int max_zoom_increment, long long seq, int tippecanoe_minzoom, int tippecanoe_maxzoom, int segment, unsigned *initial_x, unsigned *initial_y, int m, std::vector &metakeys, std::vector &metavals, bool has_id, unsigned long long id) { if (geom.size() > 0 && nextzoom <= maxzoom) { int xo, yo; int span = 1 << (nextzoom - z); @@ -334,13 +336,16 @@ void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, u // printf("type %d, meta %lld\n", t, metastart); serialize_byte(geomfile[j], t, &geompos[j], fname); serialize_long_long(geomfile[j], seq, &geompos[j], fname); - serialize_long_long(geomfile[j], (layer << 2) | ((tippecanoe_minzoom != -1) << 1) | (tippecanoe_maxzoom != -1), &geompos[j], fname); + serialize_long_long(geomfile[j], (layer << 3) | (has_id << 2) | ((tippecanoe_minzoom != -1) << 1) | (tippecanoe_maxzoom != -1), &geompos[j], fname); if (tippecanoe_minzoom != -1) { serialize_int(geomfile[j], tippecanoe_minzoom, geompos, fname); } if (tippecanoe_maxzoom != -1) { serialize_int(geomfile[j], tippecanoe_maxzoom, geompos, fname); } + if (has_id) { + serialize_ulong_long(geomfile[j], id, geompos, fname); + } serialize_int(geomfile[j], segment, &geompos[j], fname); long long wx = initial_x[segment], wy = initial_y[segment]; @@ -391,6 +396,8 @@ struct partial { double spacing; double simplification; signed char t; + unsigned long long id; + bool has_id; }; struct partial_arg { @@ -642,13 +649,19 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s long long layer; deserialize_long_long_io(geoms, &layer, geompos_in); int tippecanoe_minzoom = -1, tippecanoe_maxzoom = -1; + unsigned long long id = 0; + bool has_id = false; if (layer & 2) { deserialize_int_io(geoms, &tippecanoe_minzoom, geompos_in); } if (layer & 1) { deserialize_int_io(geoms, &tippecanoe_maxzoom, geompos_in); } - layer >>= 2; + if (layer & 4) { + has_id = true; + deserialize_ulong_long_io(geoms, &id, geompos_in); + } + layer >>= 3; int segment; deserialize_int_io(geoms, &segment, geompos_in); @@ -778,7 +791,7 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s } if (line_detail == detail && fraction == 1) { /* only write out the next zoom once, even if we retry */ - rewrite(geom, z, nextzoom, maxzoom, bbox, tx, ty, buffer, line_detail, within, geompos, geomfile, fname, t, layer, metastart, feature_minzoom, child_shards, max_zoom_increment, original_seq, tippecanoe_minzoom, tippecanoe_maxzoom, segment, initial_x, initial_y, m, metakeys, metavals); + rewrite(geom, z, nextzoom, maxzoom, bbox, tx, ty, buffer, line_detail, within, geompos, geomfile, fname, t, layer, metastart, feature_minzoom, child_shards, max_zoom_increment, original_seq, tippecanoe_minzoom, tippecanoe_maxzoom, segment, initial_x, initial_y, m, metakeys, metavals, has_id, id); } if (z < minzoom) { @@ -862,6 +875,8 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s p.values = metavals; p.spacing = spacing; p.simplification = simplification; + p.id = id; + p.has_id = has_id; partials.push_back(p); } } @@ -923,6 +938,8 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s c.keys = partials[i].keys; c.values = partials[i].values; c.spacing = partials[i].spacing; + c.id = partials[i].id; + c.has_id = partials[i].has_id; features[layer].push_back(c); } @@ -1021,6 +1038,9 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s count += features[k][x].geom.size(); features[k][x].geom.clear(); + feature.id = features[k][x].id; + feature.has_id = features[k][x].has_id; + decode_meta(features[k][x].m, features[k][x].keys, features[k][x].values, features[k][x].stringpool, layer, feature); if (additional[A_CALCULATE_FEATURE_DENSITY]) { diff --git a/version.hpp b/version.hpp index b269741..6ad213c 100644 --- a/version.hpp +++ b/version.hpp @@ -1 +1 @@ -#define VERSION "tippecanoe v1.12.6\n" +#define VERSION "tippecanoe v1.12.7\n"