MapDatabase: improve buildings processing (#514)
This commit is contained in:
parent
6af2d305b3
commit
6fef1854c8
@ -43,8 +43,8 @@ public class BuildingLayer extends Layer implements TileLoaderThemeHook {
|
|||||||
|
|
||||||
protected final static int BUILDING_LEVEL_HEIGHT = 280; // cm
|
protected final static int BUILDING_LEVEL_HEIGHT = 280; // cm
|
||||||
|
|
||||||
protected final static int MIN_ZOOM = 17;
|
public final static int MIN_ZOOM = 17;
|
||||||
protected final static int MAX_ZOOM = 17;
|
public final static int MAX_ZOOM = 17;
|
||||||
|
|
||||||
public static boolean POST_AA = false;
|
public static boolean POST_AA = false;
|
||||||
public static boolean TRANSLUCENT = true;
|
public static boolean TRANSLUCENT = true;
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
package org.oscim.tiling;
|
package org.oscim.tiling;
|
||||||
|
|
||||||
import org.oscim.layers.tile.bitmap.BitmapTileLayer.FadeStep;
|
import org.oscim.layers.tile.bitmap.BitmapTileLayer.FadeStep;
|
||||||
|
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||||
import org.oscim.map.Viewport;
|
import org.oscim.map.Viewport;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -81,8 +82,8 @@ public abstract class TileSource {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME Same as BuildingLayer.MAX_ZOOM
|
// FIXME Sane default since buildings don't have overzoom
|
||||||
public static final int MAX_ZOOM = 17;
|
public static final int MAX_ZOOM = BuildingLayer.MAX_ZOOM;
|
||||||
|
|
||||||
protected float mAlpha = 1;
|
protected float mAlpha = 1;
|
||||||
protected int mZoomMin = Viewport.MIN_ZOOM_LEVEL;
|
protected int mZoomMin = Viewport.MIN_ZOOM_LEVEL;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Copyright 2014-2015 Ludwig M Brinckmann
|
* Copyright 2014-2015 Ludwig M Brinckmann
|
||||||
* Copyright 2016-2018 devemux86
|
* Copyright 2016-2018 devemux86
|
||||||
* Copyright 2016 Andrey Novikov
|
* Copyright 2016 Andrey Novikov
|
||||||
* Copyright 2017 Gustl22
|
* Copyright 2017-2018 Gustl22
|
||||||
*
|
*
|
||||||
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
|
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
|
||||||
*
|
*
|
||||||
@ -30,6 +30,7 @@ import org.oscim.core.MercatorProjection;
|
|||||||
import org.oscim.core.Tag;
|
import org.oscim.core.Tag;
|
||||||
import org.oscim.core.Tile;
|
import org.oscim.core.Tile;
|
||||||
import org.oscim.layers.tile.MapTile;
|
import org.oscim.layers.tile.MapTile;
|
||||||
|
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||||
import org.oscim.tiling.ITileDataSink;
|
import org.oscim.tiling.ITileDataSink;
|
||||||
import org.oscim.tiling.ITileDataSource;
|
import org.oscim.tiling.ITileDataSource;
|
||||||
import org.oscim.tiling.TileSource;
|
import org.oscim.tiling.TileSource;
|
||||||
@ -954,10 +955,11 @@ public class MapDatabase implements ITileDataSource {
|
|||||||
e.setLabelPosition(e.points[0] + labelPosition[0], e.points[1] + labelPosition[1]);
|
e.setLabelPosition(e.points[0] + labelPosition[0], e.points[1] + labelPosition[1]);
|
||||||
mTileProjection.project(e);
|
mTileProjection.project(e);
|
||||||
|
|
||||||
// At large query zoom levels clip everything
|
// Avoid clipping for buildings, which slows rendering.
|
||||||
|
// But clip everything if buildings are displayed.
|
||||||
if ((!e.tags.containsKey(Tag.KEY_BUILDING)
|
if ((!e.tags.containsKey(Tag.KEY_BUILDING)
|
||||||
&& !e.tags.containsKey(Tag.KEY_BUILDING_PART))
|
&& !e.tags.containsKey(Tag.KEY_BUILDING_PART))
|
||||||
|| queryParameters.queryZoomLevel > TileSource.MAX_ZOOM) {
|
|| queryParameters.queryZoomLevel >= BuildingLayer.MIN_ZOOM) {
|
||||||
if (!mTileClipper.clip(e)) {
|
if (!mTileClipper.clip(e)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user