MercatorProjection: minor code improvements

This commit is contained in:
Emux 2019-11-04 13:39:45 +02:00
parent d81eb3d706
commit fa5a72f20d
No known key found for this signature in database
GPG Key ID: 64ED9980896038C3
3 changed files with 12 additions and 17 deletions

View File

@ -99,14 +99,14 @@ public final class MercatorProjection {
}
public static Point getPixelWithScale(GeoPoint geoPoint, double scale) {
double pixelX = MercatorProjection.longitudeToPixelXWithScale(geoPoint.getLongitude(), scale);
double pixelY = MercatorProjection.latitudeToPixelYWithScale(geoPoint.getLatitude(), scale);
double pixelX = longitudeToPixelXWithScale(geoPoint.getLongitude(), scale);
double pixelY = latitudeToPixelYWithScale(geoPoint.getLatitude(), scale);
return new Point(pixelX, pixelY);
}
public static Point getPixel(GeoPoint geoPoint, long mapSize) {
double pixelX = MercatorProjection.longitudeToPixelX(geoPoint.getLongitude(), mapSize);
double pixelY = MercatorProjection.latitudeToPixelY(geoPoint.getLatitude(), mapSize);
double pixelX = longitudeToPixelX(geoPoint.getLongitude(), mapSize);
double pixelY = latitudeToPixelY(geoPoint.getLatitude(), mapSize);
return new Point(pixelX, pixelY);
}
@ -130,8 +130,8 @@ public final class MercatorProjection {
* @return the relative pixel position to the origin values (e.g. for a tile)
*/
public static Point getPixelRelative(GeoPoint geoPoint, long mapSize, double x, double y) {
double pixelX = MercatorProjection.longitudeToPixelX(geoPoint.getLongitude(), mapSize) - x;
double pixelY = MercatorProjection.latitudeToPixelY(geoPoint.getLatitude(), mapSize) - y;
double pixelX = longitudeToPixelX(geoPoint.getLongitude(), mapSize) - x;
double pixelY = latitudeToPixelY(geoPoint.getLatitude(), mapSize) - y;
return new Point(pixelX, pixelY);
}
@ -172,11 +172,8 @@ public final class MercatorProjection {
/ (Tile.SIZE * scale);
}
public static float groundResolution(MapPosition pos) {
double lat = MercatorProjection.toLatitude(pos.y);
return (float) (Math.cos(lat * (Math.PI / 180))
* MercatorProjection.EARTH_CIRCUMFERENCE
/ (Tile.SIZE * pos.scale));
public static double groundResolution(MapPosition pos) {
return groundResolutionWithScale(toLatitude(pos.y), pos.scale);
}
/**
@ -360,7 +357,7 @@ public final class MercatorProjection {
* @return pixels that represent the meters at the given zoom-level and latitude.
*/
public static double metersToPixelsWithScale(float meters, double latitude, double scale) {
return meters / MercatorProjection.groundResolutionWithScale(latitude, scale);
return meters / groundResolutionWithScale(latitude, scale);
}
/**
@ -372,7 +369,7 @@ public final class MercatorProjection {
* @return pixels that represent the meters at the given zoom-level and latitude.
*/
public static double metersToPixels(float meters, double latitude, long mapSize) {
return meters / MercatorProjection.groundResolution(latitude, mapSize);
return meters / groundResolution(latitude, mapSize);
}
/**

View File

@ -638,8 +638,7 @@ public class LineBucket extends RenderBucket {
if (lb.heightOffset != heightOffset) {
heightOffset = lb.heightOffset;
gl.uniform1f(uLineHeight, heightOffset /
MercatorProjection.groundResolution(v.pos));
gl.uniform1f(uLineHeight, (float) (heightOffset / MercatorProjection.groundResolution(v.pos)));
}
if (line.fadeScale < v.pos.zoomLevel) {

View File

@ -191,8 +191,7 @@ public class MeshBucket extends RenderBucket {
if (ml.heightOffset != heightOffset) {
heightOffset = ml.heightOffset;
gl.uniform1f(s.uHeight, heightOffset /
MercatorProjection.groundResolution(v.pos));
gl.uniform1f(s.uHeight, (float) (heightOffset / MercatorProjection.groundResolution(v.pos)));
}
if (ml.area == null)