#2863 closed defect (fixed)

White or colored tiles at z=0 when using Default-TileSetDefinition

Reported by: gBecker Owned by: jng
Priority: high Milestone: 4.0
Component: Rendering Service Version:
Severity: major Keywords: Version 4 Preview 4
Cc: gBecker External ID:

Description

In our application I use a MapDefinition with an external TileSetDefinition of the type "Default Tile Provider". We access this MapDefinition in our OpenLayers frontend from a map that is set to a local coordinate system (EPSG:25832). In the TileSetDefinition I have defined this CoordinateSystem and the scales in which I want the tiles to be created:

500000,250000,100000,50000,25000,10000,5000,2500,1000,500,250,100

With MapGuide version 3.1.2 everything works as expected. However, it turned out that in the latest beta version of MapGuide 4 at a scale of 1:100 (TileCoordinate z = 0) only white or colored tiles are created, depending on what LayerDefinition type you are using (raster/vector). All the other Scales are correct.

I tested this by using the MapGuide package that I created under 3.1.2 and then loading it into MapGuide 4 Preview 4. So, it is exactly the same configuration.

Attachments (5)

ColoredTiles.png (146.0 KB ) - added by gBecker 14 months ago.
Colored tiles at z = 0 when using a raster layer in TileSetDefinition
20230303_FailedTiles.mgp (7.4 KB ) - added by gBecker 14 months ago.
Tiled MapDefinition
20230330_FailedTiles_With_Vector.mgp (2.4 MB ) - added by gBecker 13 months ago.
Includes transparent tiles from vector at z=0
tile_40b1.png (40.3 KB ) - added by jng 13 months ago.
mgserver.exe (4.0) debug chatter
tile_312.png (32.9 KB ) - added by jng 13 months ago.
mgserver.exe (3.1.2) debug chatter

Change History (11)

by gBecker, 14 months ago

Attachment: ColoredTiles.png added

Colored tiles at z = 0 when using a raster layer in TileSetDefinition

by gBecker, 14 months ago

Attachment: 20230303_FailedTiles.mgp added

comment:1 by jng, 13 months ago

Just to make this 100% reproducible, do you have an example stateless GETTILE URL that produces the colored tiles in 4.0, but works in 3.1.2?

Just a heads up: Knowledge of the Rendering/Stylization of raster layers is not my strong suit. I may not have the means to fully solve the issue. But having the issue 100% reproducible at least is a good starting point.

by gBecker, 13 months ago

Includes transparent tiles from vector at z=0

comment:3 by jng, 13 months ago

I built both 4.0 trunk and 3.1 in debug mode and requested the following tile as a baseline comparison:

http://localhost:8018/mapguide/mapagent/mapagent.fcgi?mapdefinition=Library%3A%2F%2FFailedTiles%2FTileSets%2FFailedTileSet_Vector.TileSetDefinition&basemaplayergroupname=ALKIS&clientagent=Fusion%20Viewer&operation=GETTILEIMAGE&version=1.2.0&tilecol=1273&tilerow=1096&scaleindex=0&username=Anonymous

Thanks to the extra debug chatter when running both debug mgserver.exe processes interactively, my initial findings are that 3.1 and 4.0 are transforming the bounds for the tile coordinate (1273, 1096, 0) differently. See attached images for the extra debug chatter from both mgserver.exe processes.

I've yet to determine whether XYZ -> LL84 bounds calculation has changed or whether there is a CS-Map regression in the LL84 -> ETRS89.UTM-32N transformation.

Further debugging will find out which one it is.

by jng, 13 months ago

Attachment: tile_40b1.png added

mgserver.exe (4.0) debug chatter

by jng, 13 months ago

Attachment: tile_312.png added

mgserver.exe (3.1.2) debug chatter

comment:4 by jng, 13 months ago

Oops! My bad. I keep thinking this was XYZ tiles instead of default tiles (it's the 256x256 tile size that's throwing me off). Nevertheless adding extra debug chatter will reveal more information.

comment:5 by jng, 13 months ago

Ok, we're getting warmer. In the 4.0 code we're now going through the refactored meta-tile rendering infrastructure to render all tiles. Something must have regressed in extent calculations.

comment:6 by jng, 13 months ago

Owner: set to jng
Resolution: fixed
Status: newclosed

In 10047:

Update MgMap::GetTileCoords to also take in a scale parameter, rather than infer it from the view scale. This fixes tile extent calculation at zoom=0 and restores the calculation to match 3.1 behavior in tile extent calculation

Fixes #2863

Note: See TracTickets for help on using tickets.