Renamed Wgs84MetersPerDegree

This commit is contained in:
Clemens 2022-03-02 22:03:18 +01:00
parent 535161c5a3
commit c998f19fe5
11 changed files with 32 additions and 32 deletions

View file

@ -27,15 +27,15 @@ namespace MapControl
public override Point LocationToMap(Location location)
{
return new Point(
Wgs84MetersPerDegree * (location.Longitude - Center.Longitude) * Math.Cos(Center.Latitude * Math.PI / 180d),
Wgs84MetersPerDegree * location.Latitude);
Wgs84MeterPerDegree * (location.Longitude - Center.Longitude) * Math.Cos(Center.Latitude * Math.PI / 180d),
Wgs84MeterPerDegree * location.Latitude);
}
public override Location MapToLocation(Point point)
{
return new Location(
point.Y / Wgs84MetersPerDegree,
point.X / (Wgs84MetersPerDegree * Math.Cos(Center.Latitude * Math.PI / 180d)) + Center.Longitude);
point.Y / Wgs84MeterPerDegree,
point.X / (Wgs84MeterPerDegree * Math.Cos(Center.Latitude * Math.PI / 180d)) + Center.Longitude);
}
}
}

View file

@ -19,8 +19,8 @@ namespace MapControl
public override Rect BoundingBoxToRect(BoundingBox boundingBox)
{
var center = LocationToMap(boundingBox.Center);
var width = boundingBox.Width * Wgs84MetersPerDegree;
var height = boundingBox.Height * Wgs84MetersPerDegree;
var width = boundingBox.Width * Wgs84MeterPerDegree;
var height = boundingBox.Height * Wgs84MeterPerDegree;
return new Rect(center.X - width / 2d, center.Y - height / 2d, width, height);
}
@ -28,8 +28,8 @@ namespace MapControl
public override BoundingBox RectToBoundingBox(Rect rect)
{
var center = MapToLocation(new Point(rect.X + rect.Width / 2d, rect.Y + rect.Height / 2d));
var width = rect.Width / Wgs84MetersPerDegree;
var height = rect.Height / Wgs84MetersPerDegree;
var width = rect.Width / Wgs84MeterPerDegree;
var height = rect.Height / Wgs84MeterPerDegree;
return new CenteredBoundingBox(center, width, height);
}

View file

@ -16,10 +16,10 @@ namespace MapControl
if (UriFormat != null)
{
var tileSize = 360d / (1 << zoomLevel); // tile width in degrees
var west = MapProjection.Wgs84MetersPerDegree * (x * tileSize - 180d);
var east = MapProjection.Wgs84MetersPerDegree * ((x + 1) * tileSize - 180d);
var south = MapProjection.Wgs84MetersPerDegree * (180d - (y + 1) * tileSize);
var north = MapProjection.Wgs84MetersPerDegree * (180d - y * tileSize);
var west = MapProjection.Wgs84MeterPerDegree * (x * tileSize - 180d);
var east = MapProjection.Wgs84MeterPerDegree * ((x + 1) * tileSize - 180d);
var south = MapProjection.Wgs84MeterPerDegree * (180d - (y + 1) * tileSize);
var north = MapProjection.Wgs84MeterPerDegree * (180d - y * tileSize);
if (UriFormat.Contains("{bbox}"))
{

View file

@ -37,23 +37,23 @@ namespace MapControl
public override Point LocationToMap(Location location)
{
return new Point(
Wgs84MetersPerDegree * location.Longitude,
Wgs84MetersPerDegree * location.Latitude);
Wgs84MeterPerDegree * location.Longitude,
Wgs84MeterPerDegree * location.Latitude);
}
public override Location MapToLocation(Point point)
{
return new Location(
point.Y / Wgs84MetersPerDegree,
point.X / Wgs84MetersPerDegree);
point.Y / Wgs84MeterPerDegree,
point.X / Wgs84MeterPerDegree);
}
public override string GetBboxValue(Rect rect)
{
return string.Format(CultureInfo.InvariantCulture,
CrsId == "CRS:84" ? "{0},{1},{2},{3}" : "{1},{0},{3},{2}",
rect.X / Wgs84MetersPerDegree, rect.Y / Wgs84MetersPerDegree,
(rect.X + rect.Width) / Wgs84MetersPerDegree, (rect.Y + rect.Height) / Wgs84MetersPerDegree);
rect.X / Wgs84MeterPerDegree, rect.Y / Wgs84MeterPerDegree,
(rect.X + rect.Width) / Wgs84MeterPerDegree, (rect.Y + rect.Height) / Wgs84MeterPerDegree);
}
}
}

View file

@ -33,7 +33,7 @@ namespace MapControl
private double GetLineDistance()
{
var pixelPerDegree = ParentMap.ViewTransform.Scale * MapProjection.Wgs84MetersPerDegree;
var pixelPerDegree = ParentMap.ViewTransform.Scale * MapProjection.Wgs84MeterPerDegree;
var minDistance = MinLineDistance / pixelPerDegree;
var scale = 1d;

View file

@ -18,7 +18,7 @@ namespace MapControl
public abstract class MapProjection
{
public const double Wgs84EquatorialRadius = 6378137d;
public const double Wgs84MetersPerDegree = Wgs84EquatorialRadius * Math.PI / 180d;
public const double Wgs84MeterPerDegree = Wgs84EquatorialRadius * Math.PI / 180d;
public const double Wgs84Flattening = 1d / 298.257223563;
public static readonly double Wgs84Eccentricity = Math.Sqrt((2d - Wgs84Flattening) * Wgs84Flattening);

View file

@ -29,7 +29,7 @@ namespace MapControl
public const int TileSize = 256;
public static readonly Point MapTopLeft = new Point(
-180d * MapProjection.Wgs84MetersPerDegree, 180d * MapProjection.Wgs84MetersPerDegree);
-180d * MapProjection.Wgs84MeterPerDegree, 180d * MapProjection.Wgs84MeterPerDegree);
/// <summary>
/// A default MapTileLayer using OpenStreetMap data.

View file

@ -24,12 +24,12 @@ namespace MapControl
{
public static double ZoomLevelToScale(double zoomLevel)
{
return 256d * Math.Pow(2d, zoomLevel) / (360d * MapProjection.Wgs84MetersPerDegree);
return 256d * Math.Pow(2d, zoomLevel) / (360d * MapProjection.Wgs84MeterPerDegree);
}
public static double ScaleToZoomLevel(double scale)
{
return Math.Log(scale * 360d * MapProjection.Wgs84MetersPerDegree / 256d, 2d);
return Math.Log(scale * 360d * MapProjection.Wgs84MeterPerDegree / 256d, 2d);
}
/// <summary>

View file

@ -35,15 +35,15 @@ namespace MapControl
public override Point LocationToMap(Location location)
{
return new Point(
Wgs84MetersPerDegree * location.Longitude,
Wgs84MetersPerDegree * LatitudeToY(location.Latitude));
Wgs84MeterPerDegree * location.Longitude,
Wgs84MeterPerDegree * LatitudeToY(location.Latitude));
}
public override Location MapToLocation(Point point)
{
return new Location(
YToLatitude(point.Y / Wgs84MetersPerDegree),
point.X / Wgs84MetersPerDegree);
YToLatitude(point.Y / Wgs84MeterPerDegree),
point.X / Wgs84MeterPerDegree);
}
public static double LatitudeToY(double latitude)

View file

@ -274,7 +274,7 @@ namespace MapControl
}
var topLeft = supportedCrs == "EPSG:4326"
? new Point(MapProjection.Wgs84MetersPerDegree * top, MapProjection.Wgs84MetersPerDegree * left)
? new Point(MapProjection.Wgs84MeterPerDegree * top, MapProjection.Wgs84MeterPerDegree * left)
: new Point(left, top);
return new WmtsTileMatrix(

View file

@ -39,15 +39,15 @@ namespace MapControl
public override Point LocationToMap(Location location)
{
return new Point(
Wgs84MetersPerDegree * location.Longitude,
Wgs84MetersPerDegree * LatitudeToY(location.Latitude));
Wgs84MeterPerDegree * location.Longitude,
Wgs84MeterPerDegree * LatitudeToY(location.Latitude));
}
public override Location MapToLocation(Point point)
{
return new Location(
YToLatitude(point.Y / Wgs84MetersPerDegree),
point.X / Wgs84MetersPerDegree);
YToLatitude(point.Y / Wgs84MeterPerDegree),
point.X / Wgs84MeterPerDegree);
}
public static double LatitudeToY(double latitude)