mirror of
https://github.com/felt/tippecanoe.git
synced 2026-10-02 08:25:40 +02:00
Merge branch 'main' into order-feature-dropping
This commit is contained in:
+5
-2
@@ -1,10 +1,13 @@
|
||||
## 2.24.0
|
||||
|
||||
* Take feature ordering into account when dropping points in the low zooms
|
||||
|
||||
# 2.24.0
|
||||
|
||||
>>>>>>> main
|
||||
* Add --cluster-maxzoom option to limit zoom levels that receive clustering
|
||||
* Add `point_count_abbreviated` attribute to clustered features, for consistency with supercluster
|
||||
* Makefile changes to support FreeBSD
|
||||
* Add -r option to tile-join to provide a file containing a list of input files
|
||||
* Add antimeridian_adjusted_bounds field to tileset metadata
|
||||
|
||||
## 2.23.0
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ SHELL = /bin/sh
|
||||
CC := $(CC)
|
||||
CXX := $(CXX)
|
||||
CFLAGS := $(CFLAGS)
|
||||
CXXFLAGS := $(CXXFLAGS) -std=c++11
|
||||
CXXFLAGS := $(CXXFLAGS) -std=c++17
|
||||
LDFLAGS := $(LDFLAGS)
|
||||
WARNING_FLAGS := -Wall -Wshadow -Wsign-compare -Wextra -Wunreachable-code -Wuninitialized -Wshadow
|
||||
RELEASE_FLAGS := -O3 -DNDEBUG
|
||||
|
||||
@@ -310,6 +310,7 @@ void dir_write_metadata(const char *outdir, const metadata &m) {
|
||||
out(state, "maxzoom", std::to_string(m.maxzoom));
|
||||
out(state, "center", std::to_string(m.center_lon) + "," + std::to_string(m.center_lat) + "," + std::to_string(m.center_z));
|
||||
out(state, "bounds", std::to_string(m.minlon) + "," + std::to_string(m.minlat) + "," + std::to_string(m.maxlon) + "," + std::to_string(m.maxlat));
|
||||
out(state, "antimeridian_adjusted_bounds", std::to_string(m.minlon2) + "," + std::to_string(m.minlat2) + "," + std::to_string(m.maxlon2) + "," + std::to_string(m.maxlat2));
|
||||
out(state, "type", m.type);
|
||||
if (m.attribution.size() > 0) {
|
||||
out(state, "attribution", m.attribution);
|
||||
|
||||
@@ -1113,7 +1113,7 @@ void radix(std::vector<struct reader> &readers, int nreaders, FILE *geomfile, FI
|
||||
}
|
||||
}
|
||||
|
||||
void choose_first_zoom(long long *file_bbox, std::vector<struct reader> &readers, unsigned *iz, unsigned *ix, unsigned *iy, int minzoom, int buffer) {
|
||||
void choose_first_zoom(long long *file_bbox, long long *file_bbox1, long long *file_bbox2, std::vector<struct reader> &readers, unsigned *iz, unsigned *ix, unsigned *iy, int minzoom, int buffer) {
|
||||
for (size_t i = 0; i < CPUS; i++) {
|
||||
if (readers[i].file_bbox[0] < file_bbox[0]) {
|
||||
file_bbox[0] = readers[i].file_bbox[0];
|
||||
@@ -1127,6 +1127,16 @@ void choose_first_zoom(long long *file_bbox, std::vector<struct reader> &readers
|
||||
if (readers[i].file_bbox[3] > file_bbox[3]) {
|
||||
file_bbox[3] = readers[i].file_bbox[3];
|
||||
}
|
||||
|
||||
file_bbox1[0] = std::min(file_bbox1[0], readers[i].file_bbox1[0]);
|
||||
file_bbox1[1] = std::min(file_bbox1[1], readers[i].file_bbox1[1]);
|
||||
file_bbox1[2] = std::max(file_bbox1[2], readers[i].file_bbox1[2]);
|
||||
file_bbox1[3] = std::max(file_bbox1[3], readers[i].file_bbox1[3]);
|
||||
|
||||
file_bbox2[0] = std::min(file_bbox2[0], readers[i].file_bbox2[0]);
|
||||
file_bbox2[1] = std::min(file_bbox2[1], readers[i].file_bbox2[1]);
|
||||
file_bbox2[2] = std::max(file_bbox2[2], readers[i].file_bbox2[2]);
|
||||
file_bbox2[3] = std::max(file_bbox2[3], readers[i].file_bbox2[3]);
|
||||
}
|
||||
|
||||
// If the bounding box extends off the plane on either side,
|
||||
@@ -1164,7 +1174,7 @@ void choose_first_zoom(long long *file_bbox, std::vector<struct reader> &readers
|
||||
}
|
||||
}
|
||||
|
||||
std::pair<int, metadata> read_input(std::vector<source> &sources, char *fname, int maxzoom, int minzoom, int basezoom, double basezoom_marker_width, sqlite3 *outdb, const char *outdir, std::set<std::string> *exclude, std::set<std::string> *include, int exclude_all, json_object *filter, double droprate, int buffer, const char *tmpdir, double gamma, int read_parallel, int forcetable, const char *attribution, bool uses_gamma, long long *file_bbox, const char *prefilter, const char *postfilter, const char *description, bool guess_maxzoom, bool guess_cluster_maxzoom, std::map<std::string, int> const *attribute_types, const char *pgm, std::map<std::string, attribute_op> const *attribute_accum, std::map<std::string, std::string> const &attribute_descriptions, std::string const &commandline, int minimum_maxzoom) {
|
||||
std::pair<int, metadata> read_input(std::vector<source> &sources, char *fname, int maxzoom, int minzoom, int basezoom, double basezoom_marker_width, sqlite3 *outdb, const char *outdir, std::set<std::string> *exclude, std::set<std::string> *include, int exclude_all, json_object *filter, double droprate, int buffer, const char *tmpdir, double gamma, int read_parallel, int forcetable, const char *attribution, bool uses_gamma, long long *file_bbox, long long *file_bbox1, long long *file_bbox2, const char *prefilter, const char *postfilter, const char *description, bool guess_maxzoom, bool guess_cluster_maxzoom, std::map<std::string, int> const *attribute_types, const char *pgm, std::map<std::string, attribute_op> const *attribute_accum, std::map<std::string, std::string> const &attribute_descriptions, std::string const &commandline, int minimum_maxzoom) {
|
||||
int ret = EXIT_SUCCESS;
|
||||
|
||||
std::vector<struct reader> readers;
|
||||
@@ -1938,7 +1948,7 @@ std::pair<int, metadata> read_input(std::vector<source> &sources, char *fname, i
|
||||
unlink(geomname);
|
||||
|
||||
unsigned iz = 0, ix = 0, iy = 0;
|
||||
choose_first_zoom(file_bbox, readers, &iz, &ix, &iy, minzoom, buffer);
|
||||
choose_first_zoom(file_bbox, file_bbox1, file_bbox2, readers, &iz, &ix, &iy, minzoom, buffer);
|
||||
|
||||
if (justx >= 0) {
|
||||
iz = minzoom;
|
||||
@@ -2512,6 +2522,7 @@ std::pair<int, metadata> read_input(std::vector<source> &sources, char *fname, i
|
||||
perror("close pool");
|
||||
}
|
||||
|
||||
// mbtiles-style bounding box and center
|
||||
double minlat = 0, minlon = 0, maxlat = 0, maxlon = 0, midlat = 0, midlon = 0;
|
||||
|
||||
tile2lonlat(midx, midy, maxzoom, &minlon, &maxlat);
|
||||
@@ -2536,6 +2547,17 @@ std::pair<int, metadata> read_input(std::vector<source> &sources, char *fname, i
|
||||
midlon = maxlon;
|
||||
}
|
||||
|
||||
// antimeridian-aware bounding box
|
||||
double minlat2 = 0, minlon2 = 0, maxlat2 = 0, maxlon2 = 0;
|
||||
// choose whichever of the two calculated bboxes is narrower
|
||||
if (file_bbox2[2] - file_bbox2[0] < file_bbox1[2] - file_bbox1[0]) {
|
||||
tile2lonlat(file_bbox2[0], file_bbox2[1], 32, &minlon2, &maxlat2);
|
||||
tile2lonlat(file_bbox2[2], file_bbox2[3], 32, &maxlon2, &minlat2);
|
||||
} else {
|
||||
tile2lonlat(file_bbox1[0], file_bbox1[1], 32, &minlon2, &maxlat2);
|
||||
tile2lonlat(file_bbox1[2], file_bbox1[3], 32, &maxlon2, &minlat2);
|
||||
}
|
||||
|
||||
std::map<std::string, layermap_entry> merged_lm = merge_layermaps(layermaps);
|
||||
|
||||
for (auto ai = merged_lm.begin(); ai != merged_lm.end(); ++ai) {
|
||||
@@ -2543,7 +2565,7 @@ std::pair<int, metadata> read_input(std::vector<source> &sources, char *fname, i
|
||||
ai->second.maxzoom = maxzoom;
|
||||
}
|
||||
|
||||
metadata m = make_metadata(fname, minzoom, maxzoom, minlat, minlon, maxlat, maxlon, midlat, midlon, attribution, merged_lm, true, description, !prevent[P_TILE_STATS], attribute_descriptions, "tippecanoe", commandline, strategies);
|
||||
metadata m = make_metadata(fname, minzoom, maxzoom, minlat, minlon, maxlat, maxlon, minlat2, minlon2, maxlat2, maxlon2, midlat, midlon, attribution, merged_lm, true, description, !prevent[P_TILE_STATS], attribute_descriptions, "tippecanoe", commandline, strategies);
|
||||
if (outdb != NULL) {
|
||||
mbtiles_write_metadata(outdb, m, forcetable);
|
||||
} else {
|
||||
@@ -3499,9 +3521,12 @@ int main(int argc, char **argv) {
|
||||
|
||||
long long file_bbox[4] = {UINT_MAX, UINT_MAX, 0, 0};
|
||||
|
||||
long long file_bbox1[4] = {0xFFFFFFFF, 0xFFFFFFFF, 0, 0}; // standard -180 to 180 world plane
|
||||
long long file_bbox2[4] = {0x1FFFFFFFF, 0xFFFFFFFF, 0x100000000, 0}; // 0 to 360 world plane
|
||||
|
||||
auto input_ret = read_input(sources, name ? name : out_mbtiles ? out_mbtiles
|
||||
: out_dir,
|
||||
maxzoom, minzoom, basezoom, basezoom_marker_width, outdb, out_dir, &exclude, &include, exclude_all, filter, droprate, buffer, tmpdir, gamma, read_parallel, forcetable, attribution, gamma != 0, file_bbox, prefilter, postfilter, description, guess_maxzoom, guess_cluster_maxzoom, &attribute_types, argv[0], &attribute_accum, attribute_descriptions, commandline, minimum_maxzoom);
|
||||
maxzoom, minzoom, basezoom, basezoom_marker_width, outdb, out_dir, &exclude, &include, exclude_all, filter, droprate, buffer, tmpdir, gamma, read_parallel, forcetable, attribution, gamma != 0, file_bbox, file_bbox1, file_bbox2, prefilter, postfilter, description, guess_maxzoom, guess_cluster_maxzoom, &attribute_types, argv[0], &attribute_accum, attribute_descriptions, commandline, minimum_maxzoom);
|
||||
|
||||
ret = std::get<0>(input_ret);
|
||||
|
||||
|
||||
+15
-1
@@ -530,6 +530,15 @@ void mbtiles_write_metadata(sqlite3 *db, const metadata &m, bool forcetable) {
|
||||
}
|
||||
sqlite3_free(sql);
|
||||
|
||||
sql = sqlite3_mprintf("INSERT INTO metadata (name, value) VALUES ('antimeridian_adjusted_bounds', '%f,%f,%f,%f');", m.minlon2, m.minlat2, m.maxlon2, m.maxlat2);
|
||||
if (sqlite3_exec(db, sql, NULL, NULL, &err) != SQLITE_OK) {
|
||||
fprintf(stderr, "set bounds: %s\n", err);
|
||||
if (!forcetable) {
|
||||
exit(EXIT_SQLITE);
|
||||
}
|
||||
}
|
||||
sqlite3_free(sql);
|
||||
|
||||
sql = sqlite3_mprintf("INSERT INTO metadata (name, value) VALUES ('type', %Q);", m.type.c_str());
|
||||
if (sqlite3_exec(db, sql, NULL, NULL, &err) != SQLITE_OK) {
|
||||
fprintf(stderr, "set type: %s\n", err);
|
||||
@@ -629,7 +638,7 @@ void mbtiles_write_metadata(sqlite3 *db, const metadata &m, bool forcetable) {
|
||||
}
|
||||
}
|
||||
|
||||
metadata make_metadata(const char *fname, int minzoom, int maxzoom, double minlat, double minlon, double maxlat, double maxlon, double midlat, double midlon, const char *attribution, std::map<std::string, layermap_entry> const &layermap, bool vector, const char *description, bool do_tilestats, std::map<std::string, std::string> const &attribute_descriptions, std::string const &program, std::string const &commandline, std::vector<strategy> const &strategies) {
|
||||
metadata make_metadata(const char *fname, int minzoom, int maxzoom, double minlat, double minlon, double maxlat, double maxlon, double minlat2, double minlon2, double maxlat2, double maxlon2, double midlat, double midlon, const char *attribution, std::map<std::string, layermap_entry> const &layermap, bool vector, const char *description, bool do_tilestats, std::map<std::string, std::string> const &attribute_descriptions, std::string const &program, std::string const &commandline, std::vector<strategy> const &strategies) {
|
||||
metadata m;
|
||||
|
||||
m.name = fname;
|
||||
@@ -646,6 +655,11 @@ metadata make_metadata(const char *fname, int minzoom, int maxzoom, double minla
|
||||
m.maxlat = maxlat;
|
||||
m.maxlon = maxlon;
|
||||
|
||||
m.minlat2 = minlat2;
|
||||
m.minlon2 = minlon2;
|
||||
m.maxlat2 = maxlat2;
|
||||
m.maxlon2 = maxlon2;
|
||||
|
||||
m.center_lat = midlat;
|
||||
m.center_lon = midlon;
|
||||
m.center_z = maxzoom;
|
||||
|
||||
+2
-1
@@ -52,6 +52,7 @@ struct metadata {
|
||||
int maxzoom;
|
||||
|
||||
double minlat, minlon, maxlat, maxlon;
|
||||
double minlat2, minlon2, maxlat2, maxlon2; // antimeridian-aware
|
||||
|
||||
double center_lon, center_lat;
|
||||
int center_z;
|
||||
@@ -74,7 +75,7 @@ sqlite3 *mbtiles_open(char *dbname, char **argv, int forcetable);
|
||||
void mbtiles_write_tile(sqlite3 *outdb, int z, int tx, int ty, const char *data, int size);
|
||||
void mbtiles_erase_zoom(sqlite3 *outdb, int z);
|
||||
|
||||
metadata make_metadata(const char *fname, int minzoom, int maxzoom, double minlat, double minlon, double maxlat, double maxlon, double midlat, double midlon, const char *attribution, std::map<std::string, layermap_entry> const &layermap, bool vector, const char *description, bool do_tilestats, std::map<std::string, std::string> const &attribute_descriptions, std::string const &program, std::string const &commandline, std::vector<strategy> const &strategies);
|
||||
metadata make_metadata(const char *fname, int minzoom, int maxzoom, double minlat, double minlon, double maxlat, double maxlon, double minlat2, double minlon2, double maxlat2, double maxlon2, double midlat, double midlon, const char *attribution, std::map<std::string, layermap_entry> const &layermap, bool vector, const char *description, bool do_tilestats, std::map<std::string, std::string> const &attribute_descriptions, std::string const &program, std::string const &commandline, std::vector<strategy> const &strategies);
|
||||
void mbtiles_write_metadata(sqlite3 *db, const metadata &m, bool forcetable);
|
||||
|
||||
void mbtiles_close(sqlite3 *outdb, const char *pgm);
|
||||
|
||||
+15
-22
@@ -183,18 +183,6 @@ struct entry_zxy {
|
||||
}
|
||||
};
|
||||
|
||||
struct {
|
||||
bool operator()(entry_zxy a, entry_zxy b) const {
|
||||
if (a.z != b.z) {
|
||||
return a.z < b.z;
|
||||
}
|
||||
if (a.x != b.x) {
|
||||
return a.x < b.x;
|
||||
}
|
||||
return a.y < b.y;
|
||||
}
|
||||
} entry_zxy_cmp;
|
||||
|
||||
struct varint_too_long_exception : std::exception {
|
||||
const char *what() const noexcept override {
|
||||
return "varint too long exception";
|
||||
@@ -311,14 +299,14 @@ void rotate(int64_t n, int64_t &x, int64_t &y, int64_t rx, int64_t ry) {
|
||||
}
|
||||
|
||||
zxy t_on_level(uint8_t z, uint64_t pos) {
|
||||
int64_t n = 1 << z;
|
||||
int64_t n = 1LL << z;
|
||||
int64_t rx, ry, s, t = pos;
|
||||
int64_t tx = 0;
|
||||
int64_t ty = 0;
|
||||
|
||||
for (s = 1; s < n; s *= 2) {
|
||||
rx = 1 & (t / 2);
|
||||
ry = 1 & (t ^ rx);
|
||||
rx = 1LL & (t / 2);
|
||||
ry = 1LL & (t ^ rx);
|
||||
rotate(s, tx, ty, rx, ry);
|
||||
tx += s * rx;
|
||||
ty += s * ry;
|
||||
@@ -385,28 +373,33 @@ entryv3 find_tile(const std::vector<entryv3> &entries, uint64_t tile_id) {
|
||||
|
||||
inline zxy tileid_to_zxy(uint64_t tileid) {
|
||||
uint64_t acc = 0;
|
||||
uint8_t t_z = 0;
|
||||
while (true) {
|
||||
for (uint8_t t_z = 0; t_z < 32; t_z++) {
|
||||
uint64_t num_tiles = (1LL << t_z) * (1LL << t_z);
|
||||
if (acc + num_tiles > tileid) {
|
||||
return t_on_level(t_z, tileid - acc);
|
||||
}
|
||||
acc += num_tiles;
|
||||
t_z++;
|
||||
}
|
||||
throw std::overflow_error("tile zoom exceeds 64-bit limit");
|
||||
}
|
||||
|
||||
inline uint64_t zxy_to_tileid(uint8_t z, uint32_t x, uint32_t y) {
|
||||
if (z > 31) {
|
||||
throw std::overflow_error("tile zoom exceeds 64-bit limit");
|
||||
}
|
||||
if (x > (1 << z) - 1 || y > (1 << z) - 1) {
|
||||
throw std::overflow_error("tile x/y outside zoom level bounds");
|
||||
}
|
||||
uint64_t acc = 0;
|
||||
for (uint8_t t_z = 0; t_z < z; t_z++) acc += (1LL << t_z) * (1LL << t_z);
|
||||
int64_t n = 1 << z;
|
||||
int64_t n = 1LL << z;
|
||||
int64_t rx, ry, s, d = 0;
|
||||
int64_t tx = x;
|
||||
int64_t ty = y;
|
||||
for (s = n / 2; s > 0; s /= 2) {
|
||||
rx = (tx & s) > 0;
|
||||
ry = (ty & s) > 0;
|
||||
d += s * s * ((3 * rx) ^ ry);
|
||||
d += s * s * ((3LL * rx) ^ ry);
|
||||
rotate(s, tx, ty, rx, ry);
|
||||
}
|
||||
return acc + d;
|
||||
@@ -491,7 +484,7 @@ inline std::tuple<std::string, std::string, int> build_root_leaves(const std::fu
|
||||
std::vector<pmtiles::entryv3> root_entries;
|
||||
std::string leaves_bytes;
|
||||
int num_leaves = 0;
|
||||
for (size_t i = 0; i <= entries.size(); i += leaf_size) {
|
||||
for (size_t i = 0; i < entries.size(); i += leaf_size) {
|
||||
num_leaves++;
|
||||
int end = i + leaf_size;
|
||||
if (i + leaf_size > entries.size()) {
|
||||
@@ -585,4 +578,4 @@ inline std::pair<uint64_t, uint32_t> get_tile(const std::function<std::string(co
|
||||
}
|
||||
|
||||
} // namespace pmtiles
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -105,6 +105,9 @@ std::string metadata_to_pmtiles_json(metadata m) {
|
||||
out(state, "generator", m.generator);
|
||||
out(state, "generator_options", m.generator_options);
|
||||
|
||||
std::string bounds2 = std::to_string(m.minlon2) + "," + std::to_string(m.minlat2) + "," + std::to_string(m.maxlon2) + "," + std::to_string(m.maxlat2);
|
||||
out(state, "antimeridian_adjusted_bounds", bounds2);
|
||||
|
||||
if (m.vector_layers_json.size() > 0) {
|
||||
state.json_comma_newline();
|
||||
state.json_write_string("vector_layers");
|
||||
|
||||
+4
-4
@@ -22,8 +22,8 @@ struct projection *projection = &projections[0];
|
||||
void lonlat2tile(double lon, double lat, int zoom, long long *x, long long *y) {
|
||||
// Place infinite and NaN coordinates off the edge of the Mercator plane
|
||||
|
||||
int lat_class = fpclassify(lat);
|
||||
int lon_class = fpclassify(lon);
|
||||
int lat_class = std::fpclassify(lat);
|
||||
int lon_class = std::fpclassify(lon);
|
||||
bool bad_lon = false;
|
||||
|
||||
if (lat_class == FP_INFINITE || lat_class == FP_NAN) {
|
||||
@@ -74,8 +74,8 @@ void tile2lonlat(long long x, long long y, int zoom, double *lon, double *lat) {
|
||||
void epsg3857totile(double ix, double iy, int zoom, long long *x, long long *y) {
|
||||
// Place infinite and NaN coordinates off the edge of the Mercator plane
|
||||
|
||||
int iy_class = fpclassify(iy);
|
||||
int ix_class = fpclassify(ix);
|
||||
int iy_class = std::fpclassify(iy);
|
||||
int ix_class = std::fpclassify(ix);
|
||||
|
||||
if (iy_class == FP_INFINITE || iy_class == FP_NAN) {
|
||||
iy = 40000000.0;
|
||||
|
||||
+28
@@ -402,6 +402,34 @@ int serialize_feature(struct serialization_state *sst, serial_feature &sf) {
|
||||
sf.bbox[2] = LLONG_MIN;
|
||||
sf.bbox[3] = LLONG_MIN;
|
||||
|
||||
for (size_t i = 0; i < sf.geometry.size(); i++) {
|
||||
if (sf.geometry[i].op == VT_MOVETO || sf.geometry[i].op == VT_LINETO) {
|
||||
if (sf.geometry[i].y > 0 && sf.geometry[i].y < 0xFFFFFFFF) {
|
||||
// standard -180 to 180 world plane
|
||||
|
||||
long long x = sf.geometry[i].x & 0xFFFFFFFF;
|
||||
long long y = sf.geometry[i].y & 0xFFFFFFFF;
|
||||
|
||||
r->file_bbox1[0] = std::min(r->file_bbox1[0], x);
|
||||
r->file_bbox1[1] = std::min(r->file_bbox1[1], y);
|
||||
r->file_bbox1[2] = std::max(r->file_bbox1[2], x);
|
||||
r->file_bbox1[3] = std::max(r->file_bbox1[3], y);
|
||||
|
||||
// printf("%llx,%llx %llx,%llx %llx,%llx ", x, y, r->file_bbox1[0], r->file_bbox1[1], r->file_bbox1[2], r->file_bbox1[3]);
|
||||
|
||||
// shift the western hemisphere 360 degrees to the east
|
||||
if (x < 0x80000000) { // prime meridian
|
||||
x += 0x100000000;
|
||||
}
|
||||
|
||||
r->file_bbox2[0] = std::min(r->file_bbox2[0], x);
|
||||
r->file_bbox2[1] = std::min(r->file_bbox2[1], y);
|
||||
r->file_bbox2[2] = std::max(r->file_bbox2[2], x);
|
||||
r->file_bbox2[3] = std::max(r->file_bbox2[3], y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// try to remind myself that the geometry in this function is in SCALED COORDINATES
|
||||
drawvec scaled_geometry = sf.geometry;
|
||||
sf.geometry.clear();
|
||||
|
||||
@@ -88,6 +88,9 @@ struct reader {
|
||||
|
||||
long long file_bbox[4] = {0, 0, 0, 0};
|
||||
|
||||
long long file_bbox1[4] = {0xFFFFFFFF, 0xFFFFFFFF, 0, 0}; // standard -180 to 180 world plane
|
||||
long long file_bbox2[4] = {0x1FFFFFFFF, 0xFFFFFFFF, 0x100000000, 0}; // 0 to 360 world plane
|
||||
|
||||
struct stat geomst {};
|
||||
|
||||
char *geom_map = NULL;
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "3.757458,-84.969764,359.744029,85.007238",
|
||||
"bounds": "-179.320808,-85.051129,177.449262,85.051129",
|
||||
"center": "112.500000,20.489949,3",
|
||||
"description": "tests/accumulate/out/-z3_-Ethesum@sum_-Etheproduct@product_-Ethemax@max_-Ethemin@min_-Ethemean@mean_-Etheconcat@concat_-Ethecomma@comma_-r1_-K100.json.check.mbtiles",
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "3.757458,-84.969764,359.744029,85.007238",
|
||||
"bounds": "-179.320808,-85.051129,177.449262,85.051129",
|
||||
"center": "-174.375000,-52.349536,5",
|
||||
"description": "tests/accumulate/out/-z5_-Ethesum@sum_-Etheproduct@product_-Ethemax@max_-Ethemin@min_-Ethemean@mean_-Etheconcat@concat_-Ethecomma@comma.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.373782,37.454389,-121.469214,37.905824",
|
||||
"bounds": "-122.373782,37.454389,-121.469214,37.905824",
|
||||
"center": "-121.992188,37.454389,9",
|
||||
"description": "tests/allow-existing/both.mbtiles",
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/attribute-type/out/-z0_-Tinttype@int_-Tfloattype@float_-Tbooltype@bool_-Tstringtype@string.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/attribute-type/out/-z0_-pN.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "13.365261,39.637013,23.009582,46.863962",
|
||||
"bounds": "13.365261,39.637013,23.009582,46.863962",
|
||||
"center": "23.009582,42.525564,1",
|
||||
"description": "tests/border/out/-z1_--detect-shared-borders.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023803,-85.040752,359.950215,83.645130",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,83.645130",
|
||||
"center": "90.000000,42.525564,1",
|
||||
"description": "tests/coalesce-id/out/-z1_--coalesce_--reorder.json.check.mbtiles",
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-123.173825,37.454389,-121.469214,37.929824",
|
||||
"bounds": "-123.173825,37.454389,-121.469214,37.929824",
|
||||
"center": "-122.255859,37.788049,11",
|
||||
"description": "tests/coalesce-tract/out/-P_--coalesce_--reorder_-z11_-Z11_-y_STATEFP10_-y_COUNTYFP10_-l_merged.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-175.220565,-41.299988,179.216647,64.150024",
|
||||
"bounds": "-180.000000,-41.299988,180.000000,85.051129",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/csv/out-null.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-175.220565,-41.299988,179.216647,64.150024",
|
||||
"bounds": "-180.000000,-41.299988,180.000000,85.051129",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/csv/out.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "90.000000,-82.000000,332.000000,83.000000",
|
||||
"bounds": "-139.000000,-82.000000,170.000000,83.000000",
|
||||
"center": "-135.000000,75.782195,2",
|
||||
"description": "tests/curve/out/-z2.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "90.000000,-82.000000,332.000000,83.000000",
|
||||
"bounds": "-139.000000,-82.000000,170.000000,83.000000",
|
||||
"center": "-135.000000,75.782195,2",
|
||||
"description": "tests/curve/out/-z2_--no-clipping.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "90.000000,-82.000000,332.000000,83.000000",
|
||||
"bounds": "-139.000000,-82.000000,170.000000,83.000000",
|
||||
"center": "45.000000,33.256630,2",
|
||||
"description": "tests/curve/out/-z2_--no-duplication.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-180.000000,0.000000,177.539063,68.269386",
|
||||
"bounds": "-180.000000,0.000000,180.000000,68.269386",
|
||||
"center": "-174.375000,16.560724,5",
|
||||
"description": "tests/dateline/out/-z5.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-180.000000,0.000000,177.539063,68.269386",
|
||||
"bounds": "-180.000000,0.000000,180.000000,68.269386",
|
||||
"center": "174.375000,44.951199,5",
|
||||
"description": "tests/dateline/out/-z5_-b0.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.822234,37.723073,-122.249782,38.090533",
|
||||
"bounds": "-122.822234,37.723073,-122.249782,38.090533",
|
||||
"center": "-122.249782,37.796763,14",
|
||||
"description": "tests/empty-linestring/out/-ac.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-175.220565,-41.299974,179.216647,64.150024",
|
||||
"bounds": "-175.220565,-41.299974,179.216647,64.150024",
|
||||
"center": "16.875000,44.951199,5",
|
||||
"description": "tests/epsg-3857/out/-yNAME_-z5_-sEPSG@3857.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-101.000000,0.000000,1.000000,1.000000",
|
||||
"bounds": "-101.000000,0.000000,1.000000,1.000000",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/feature-filter/out/-z0_-Jtests%feature-filter%filter.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-180.000000,-85.051129,180.000000,85.051129",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,85.051129",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/feature-filter/out/all.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-175.781250,-42.032974,180.000000,64.168107",
|
||||
"bounds": "-175.781250,-42.032974,180.000000,64.168107",
|
||||
"center": "-62.578125,17.307462,8",
|
||||
"description": "tests/feature-filter/out/places.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.000000,-23.563987,102.000000,59.900000",
|
||||
"bounds": "-122.000000,-23.563987,102.000000,59.900000",
|
||||
"center": "22.500000,20.489949,3",
|
||||
"description": "tests/geometry/out/-z3.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.021973,-0.065918,0.065918,-0.021973",
|
||||
"bounds": "0.021973,-0.065918,0.065918,-0.021973",
|
||||
"center": "0.065918,-0.065918,11",
|
||||
"description": "tests/grid-aligned/out/-z11_-D7_--grid-low-zooms.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.000000,0.000000,0.084070,0.057600",
|
||||
"bounds": "0.000000,0.000000,0.084070,0.057600",
|
||||
"center": "0.084070,0.057600,11",
|
||||
"description": "tests/grid-unaligned/out/-z11_-D7_--grid-low-zooms.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-156.000000,30.000000,-106.000000,35.000000",
|
||||
"bounds": "-180.000000,30.000000,180.000000,35.000000",
|
||||
"center": "-90.000000,35.000000,1",
|
||||
"description": "tests/high-longitude/out/-z1.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.000000,37.000000,0.000000,51.500000",
|
||||
"bounds": "-122.000000,37.000000,0.000000,51.500000",
|
||||
"center": "-122.000000,37.000008,24",
|
||||
"description": "tests/highzoom/out/-z30.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.294563,37.695450,-122.104420,37.833010",
|
||||
"bounds": "-122.294563,37.695450,-122.104420,37.833010",
|
||||
"center": "-122.156982,37.762029,14",
|
||||
"description": "tests/id/out/-Z11.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "138.063812,-10.009860,209.793590,9.775580",
|
||||
"bounds": "-174.543405,-10.009860,174.245778,9.775580",
|
||||
"center": "139.218750,9.775580,7",
|
||||
"description": "tests/islands/out/-d7_-z7_-pt_-pp.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-180.000000,-85.051129,180.000000,85.051129",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,85.051129",
|
||||
"center": "-122.104097,37.695438,0",
|
||||
"description": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "180.000000,85.051129,-180.000000,-85.051129",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,-85.051129",
|
||||
"center": "0.000000,-85.051129,0",
|
||||
"format": "pbf",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"bounds": "-122.343750,37.857507,-122.255859,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "237.656250,37.857507,237.744141,37.926868",
|
||||
"attribution": "macarthur's attribution",
|
||||
"bounds": "-122.343750,37.695438,-122.104097,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"center": "-122.167969,37.833010,9",
|
||||
"description": "tests/join-population/macarthur.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"center": "-122.167969,37.833010,9",
|
||||
"description": "tests/join-population/macarthur.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "237.656250,37.857507,237.744141,37.926868",
|
||||
"bounds": "-122.343750,37.695438,-122.104097,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420-folder",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "237.656250,37.857507,237.744141,37.926868",
|
||||
"bounds": "-122.343750,37.695438,-122.104097,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "237.656250,37.857507,237.744141,37.926868",
|
||||
"bounds": "-122.343750,37.695438,-122.104097,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "237.656250,37.857507,237.744141,37.926868",
|
||||
"bounds": "-122.343750,37.695438,-122.104097,37.926868",
|
||||
"center": "-122.299805,37.892187,12",
|
||||
"description": "tests/join-population/tabblock_06001420.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"center": "-122.167969,37.828608,10",
|
||||
"description": "tests/join-population/macarthur2.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"bounds": "-122.343750,37.439974,-121.992188,37.996163",
|
||||
"center": "-122.167969,37.833010,10",
|
||||
"description": "tests/join-population/macarthur.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-87.564090,38.490831,-87.251603,38.902199",
|
||||
"bounds": "-87.564090,38.490831,-87.251603,38.902199",
|
||||
"center": "-87.363281,38.685378,10",
|
||||
"description": "tests/knox/out/-zg.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-87.564090,38.490831,-87.251603,38.902199",
|
||||
"bounds": "-87.564090,38.490831,-87.251603,38.902199",
|
||||
"center": "-87.363281,38.685378,10",
|
||||
"description": "tests/knox/out/-zg_-P.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-175.220564,-41.299973,179.216647,64.150023",
|
||||
"bounds": "-175.220564,-41.299973,179.216647,64.150023",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/layer-json/out.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/longattr/out/-z0.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/longjson/out/-z0.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"bounds": "0.000000,0.000000,0.000000,0.000000",
|
||||
"center": "0.000000,0.000000,0",
|
||||
"description": "tests/longlayer/out/-z0.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "1.000000,1.000000,1.000000,1.000000",
|
||||
"bounds": "1.000000,1.000000,1.000000,1.000000",
|
||||
"center": "1.000000,1.000000,0",
|
||||
"description": "tests/loop/out/-z0_-O200_--cluster-densest-as-needed.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "1.000000,1.000000,1.000000,1.000000",
|
||||
"bounds": "1.000000,1.000000,1.000000,1.000000",
|
||||
"center": "1.000000,1.000000,0",
|
||||
"description": "tests/loop/out/-z0_-O200_--drop-densest-as-needed.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "1.000000,1.000000,1.000000,1.000000",
|
||||
"bounds": "1.000000,1.000000,1.000000,1.000000",
|
||||
"center": "1.000000,1.000000,0",
|
||||
"description": "tests/loop/out/-z0_-O200_--drop-fraction-as-needed.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.000000,0.000000,6.000000,6.000000",
|
||||
"bounds": "0.000000,0.000000,6.000000,6.000000",
|
||||
"center": "6.000000,6.000000,6",
|
||||
"description": "tests/minzoom/out/-z6.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-124.213807,25.789556,-70.645734,49.005639",
|
||||
"bounds": "-124.213807,25.789556,-70.645734,49.005639",
|
||||
"center": "-70.645734,25.789556,3",
|
||||
"description": "tests/multilayer/out/-ltogether_-z3.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-124.213807,25.789556,-70.645734,49.005639",
|
||||
"bounds": "-124.213807,25.789556,-70.645734,49.005639",
|
||||
"center": "-70.645734,25.789556,3",
|
||||
"description": "separate",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-34.101500,-16.299000,33.046000,70.728000",
|
||||
"bounds": "-34.101500,-16.299000,33.046000,70.728000",
|
||||
"center": "-34.101500,42.525564,1",
|
||||
"description": "tests/multilinestring/out/-z1.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/decode/multi.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/decode/multi.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/decode/multi.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/out/-Z11_-z11.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/out/-Z11_-z11_--calculate-feature-density.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/out/-Z11_-z11_--hilbert.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/out/-Z11_-z11_--prefer-radix-sort.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.431641,37.788049,11",
|
||||
"description": "tests/muni/out/-Z11_-z11_-g2.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-B15.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-Bf2000.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-M10000.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-M10000_-aG.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-M10000_-ad.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-M10000_-pd.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.497559,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-M5000_-as.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.453613,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-O100_--cluster-densest-as-needed.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-rf2000.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-rf2000_-Bg.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.409668,37.770713,13",
|
||||
"description": "tests/muni/out/-Z11_-z13_-rf2000_-g2.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-122.420654,37.779398,14",
|
||||
"description": "tests/muni/out/-r1_-K20.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-12.240000,37.705764,0",
|
||||
"description": "tests/muni/out/-z0_--coalesce_--reorder.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"bounds": "-122.538670,37.705764,-12.240000,37.836443",
|
||||
"center": "-90.000000,37.836443,1",
|
||||
"description": "tests/muni/out/-z1_-Z1_-ao_-P.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-8.682385,18.975561,24.163413,69.036355",
|
||||
"bounds": "-8.682385,18.975561,24.163413,69.036355",
|
||||
"center": "0.000000,18.975561,0",
|
||||
"description": "tests/named/out/-z0_-Lalgeria@tests%named%alg_-Lalbania@tests%named%alb.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "-8.682385,18.975561,24.163413,69.036355",
|
||||
"bounds": "-8.682385,18.975561,24.163413,69.036355",
|
||||
"center": "0.000000,18.975561,0",
|
||||
"description": "tests/named/out/-z0_-Lalgeria@tests%named%alg_-Lalbania@tests%named%alb_-lunified.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023802,-85.040752,359.950216,83.645130",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,83.645130",
|
||||
"center": "45.000000,33.256630,2",
|
||||
"description": "tests/ne_110m_admin_0_countries/out/--coalesce_-z2_-Ccat.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023802,-85.040752,359.950216,83.645130",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,83.645130",
|
||||
"center": "16.875000,44.951199,5",
|
||||
"description": "tests/ne_110m_admin_0_countries/out/-R5%17%11.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023802,-85.040752,359.950216,83.645130",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,83.645130",
|
||||
"center": "16.875000,44.951199,5",
|
||||
"description": "tests/ne_110m_admin_0_countries/out/-ae_-zg_-M5000_--drop-densest-as-needed.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023802,-85.040752,359.950216,83.645130",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,83.645130",
|
||||
"center": "16.875000,44.951199,5",
|
||||
"description": "tests/ne_110m_admin_0_countries/out/-ae_-zg_-M5000_--drop-fraction-as-needed.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023802,-85.040752,359.950216,83.645130",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,83.645130",
|
||||
"center": "16.875000,44.951199,5",
|
||||
"description": "tests/ne_110m_admin_0_countries/out/-ae_-zg_-M5000_--drop-smallest-as-needed.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023802,-85.040752,359.950216,83.645130",
|
||||
"bounds": "-180.000000,-85.051129,180.000000,83.645130",
|
||||
"center": "16.875000,44.951199,5",
|
||||
"description": "tests/ne_110m_admin_0_countries/out/-ae_-zg_-M5000_--force-feature-limit.json.check.mbtiles",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "type": "FeatureCollection", "properties": {
|
||||
"antimeridian_adjusted_bounds": "0.023802,-85.040752,359.950216,83.645130",
|
||||
"bounds": "-110.039063,26.980829,-92.021484,51.998410",
|
||||
"center": "-92.021484,26.980829,0",
|
||||
"description": "tests/ne_110m_admin_0_countries/out/-z0_--clip-bounding-box_-110,27,-92,52.json.check.mbtiles",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user