Skip to content

Commit 1834d3d

Browse files
committed
mapcache_detail wrt ztop
1 parent c265ece commit 1834d3d

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

contrib/mapcache_detail/mapcache_detail.c

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,15 +1309,15 @@ int main(int argc, char * argv[])
13091309
mapcache_grid_get_xy(&ctx, grid, region_bbox.maxx, region_bbox.maxy,
13101310
cache->top, &(til_region_bbox.maxx), &(til_region_bbox.maxy));
13111311
if (dbx_has_inv) {
1312-
db_region_bbox.minx = grid->levels[cache->top]->maxx - til_region_bbox.maxx;
1313-
db_region_bbox.maxx = grid->levels[cache->top]->maxx - til_region_bbox.minx;
1312+
db_region_bbox.minx = grid->levels[cache->top]->maxx-1 - til_region_bbox.maxx;
1313+
db_region_bbox.maxx = grid->levels[cache->top]->maxx-1 - til_region_bbox.minx;
13141314
} else {
13151315
db_region_bbox.minx = til_region_bbox.minx;
13161316
db_region_bbox.maxx = til_region_bbox.maxx;
13171317
}
13181318
if (dby_has_inv) {
1319-
db_region_bbox.miny = grid->levels[cache->top]->maxy - til_region_bbox.maxy;
1320-
db_region_bbox.maxy = grid->levels[cache->top]->maxy - til_region_bbox.miny;
1319+
db_region_bbox.miny = grid->levels[cache->top]->maxy-1 - til_region_bbox.maxy;
1320+
db_region_bbox.maxy = grid->levels[cache->top]->maxy-1 - til_region_bbox.miny;
13211321
} else {
13221322
db_region_bbox.miny = til_region_bbox.miny;
13231323
db_region_bbox.maxy = til_region_bbox.maxy;
@@ -1360,6 +1360,7 @@ int main(int argc, char * argv[])
13601360
apr_finfo_t fileinfo;
13611361
mapcache_extent_i til_file_bbox;
13621362
mapcache_extent file_bbox;
1363+
int file_zoom_level;
13631364
mapcache_extent temp_bbox;
13641365
mapcache_extent region_in_file_bbox;
13651366
#ifdef USE_CLIPPERS
@@ -1433,21 +1434,23 @@ int main(int argc, char * argv[])
14331434

14341435
// Compute file bounding box expressed in tiles
14351436
if (cache->top > 0) {
1437+
file_zoom_level = cache->top;
14361438
if (dbx_has_inv) {
1437-
til_file_bbox.minx = grid->levels[cache->top]->maxx-1 - ix;
1438-
til_file_bbox.maxx = grid->levels[cache->top]->maxx-1 - ix;
1439+
til_file_bbox.minx = grid->levels[file_zoom_level]->maxx-1 - ix;
1440+
til_file_bbox.maxx = til_file_bbox.minx;
14391441
} else {
14401442
til_file_bbox.minx = ix;
1441-
til_file_bbox.maxx = ix;
1443+
til_file_bbox.maxx = til_file_bbox.minx;
14421444
}
14431445
if (dby_has_inv) {
1444-
til_file_bbox.miny = grid->levels[cache->top]->maxy-1 - iy;
1445-
til_file_bbox.maxy = grid->levels[cache->top]->maxy-1 - iy;
1446+
til_file_bbox.miny = grid->levels[file_zoom_level]->maxy-1 - iy;
1447+
til_file_bbox.maxy = til_file_bbox.miny;
14461448
} else {
14471449
til_file_bbox.miny = iy;
1448-
til_file_bbox.maxy = iy;
1450+
til_file_bbox.maxy = til_file_bbox.miny;
14491451
}
14501452
} else if ((cache->xcount > 0) && (cache->ycount > 0)) {
1453+
file_zoom_level = iz;
14511454
if (dbx_has_inv) {
14521455
til_file_bbox.maxx = grid->levels[iz]->maxx-1 - ix * cache->xcount;
14531456
til_file_bbox.minx = til_file_bbox.maxx + cache->xcount + 1;
@@ -1471,6 +1474,7 @@ int main(int argc, char * argv[])
14711474
til_file_bbox.maxy = grid->levels[iz]->maxy - 1;
14721475
}
14731476
} else {
1477+
file_zoom_level = iz;
14741478
til_file_bbox.minx = 0;
14751479
til_file_bbox.miny = 0;
14761480
til_file_bbox.maxx = grid->levels[iz]->maxx - 1;
@@ -1480,12 +1484,12 @@ int main(int argc, char * argv[])
14801484
// Compute file bounding box expressed in grid units for the current
14811485
// zoom level
14821486
mapcache_grid_get_tile_extent(&ctx, grid, til_file_bbox.minx,
1483-
til_file_bbox.miny, iz, &temp_bbox);
1487+
til_file_bbox.miny, file_zoom_level, &temp_bbox);
14841488
if (GC_HAS_ERROR(&ctx)) goto failure;
14851489
file_bbox.minx = temp_bbox.minx;
14861490
file_bbox.miny = temp_bbox.miny;
14871491
mapcache_grid_get_tile_extent(&ctx, grid, til_file_bbox.maxx,
1488-
til_file_bbox.maxy, iz, &temp_bbox);
1492+
til_file_bbox.maxy, file_zoom_level, &temp_bbox);
14891493
if (GC_HAS_ERROR(&ctx)) goto failure;
14901494
file_bbox.maxx = temp_bbox.maxx;
14911495
file_bbox.maxy = temp_bbox.maxy;

0 commit comments

Comments
 (0)