Added orthographic and stereographic projections

This commit is contained in:
ClemensFischer 2026-01-16 20:23:28 +01:00
parent d825b50062
commit ae1a77679c
10 changed files with 457 additions and 371 deletions

View file

@ -10,19 +10,17 @@ namespace MapControl.Projections
{
public Wgs84UpsNorthProjection()
{
CoordinateSystemWkt
= "PROJCS[\"WGS 84 / UPS North (N,E)\","
+ WktConstants.GeogCsWgs84 + ","
+ "PROJECTION[\"Polar_Stereographic\"],"
+ "PARAMETER[\"latitude_of_origin\",90],"
+ "PARAMETER[\"central_meridian\",0],"
+ "PARAMETER[\"scale_factor\",0.994],"
+ "PARAMETER[\"false_easting\",2000000],"
+ "PARAMETER[\"false_northing\",2000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AUTHORITY[\"EPSG\",\"32661\"]]";
Type = MapProjectionType.Azimuthal;
CoordinateSystemWkt =
"PROJCS[\"WGS 84 / UPS North (N,E)\"," +
WktConstants.GeogCsWgs84 + "," +
"PROJECTION[\"Polar_Stereographic\"]," +
"PARAMETER[\"latitude_of_origin\",90]," +
"PARAMETER[\"central_meridian\",0]," +
"PARAMETER[\"scale_factor\",0.994]," +
"PARAMETER[\"false_easting\",2000000]," +
"PARAMETER[\"false_northing\",2000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AUTHORITY[\"EPSG\",\"32661\"]]";
}
public override Point RelativeScale(double latitude, double longitude)
@ -37,19 +35,17 @@ namespace MapControl.Projections
{
public Wgs84UpsSouthProjection()
{
CoordinateSystemWkt
= "PROJCS[\"WGS 84 / UPS South (N,E)\","
+ WktConstants.GeogCsWgs84 + ","
+ "PROJECTION[\"Polar_Stereographic\"],"
+ "PARAMETER[\"latitude_of_origin\",-90],"
+ "PARAMETER[\"central_meridian\",0],"
+ "PARAMETER[\"scale_factor\",0.994],"
+ "PARAMETER[\"false_easting\",2000000],"
+ "PARAMETER[\"false_northing\",2000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AUTHORITY[\"EPSG\",\"32761\"]]";
Type = MapProjectionType.Azimuthal;
CoordinateSystemWkt =
"PROJCS[\"WGS 84 / UPS South (N,E)\"," +
WktConstants.GeogCsWgs84 + "," +
"PROJECTION[\"Polar_Stereographic\"]," +
"PARAMETER[\"latitude_of_origin\",-90]," +
"PARAMETER[\"central_meridian\",0]," +
"PARAMETER[\"scale_factor\",0.994]," +
"PARAMETER[\"false_easting\",2000000]," +
"PARAMETER[\"false_northing\",2000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AUTHORITY[\"EPSG\",\"32761\"]]";
}
public override Point RelativeScale(double latitude, double longitude)