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

@ -22,19 +22,19 @@ namespace MapControl.Projections
}
Zone = zone;
CoordinateSystemWkt
= $"PROJCS[\"ED50 / UTM zone {zone}N\","
+ WktConstants.GeogCsEd50 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ $"PARAMETER[\"central_meridian\",{6 * zone - 183}],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ $"AUTHORITY[\"EPSG\",\"230{zone:00}\"]]";
CoordinateSystemWkt =
$"PROJCS[\"ED50 / UTM zone {zone}N\"," +
WktConstants.GeogCsEd50 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
$"PARAMETER[\"central_meridian\",{6 * zone - 183}]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
$"AUTHORITY[\"EPSG\",\"230{zone:00}\"]]";
}
}
}

View file

@ -22,19 +22,19 @@ namespace MapControl.Projections
}
Zone = zone;
CoordinateSystemWkt
= $"PROJCS[\"ETRS89 / UTM zone {zone}N\","
+ WktConstants.GeogCsEtrs89 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ $"PARAMETER[\"central_meridian\",{6 * zone - 183}],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ $"AUTHORITY[\"EPSG\",\"258{zone:00}\"]]";
CoordinateSystemWkt =
$"PROJCS[\"ETRS89 / UTM zone {zone}N\"," +
WktConstants.GeogCsEtrs89 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
$"PARAMETER[\"central_meridian\",{6 * zone - 183}]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
$"AUTHORITY[\"EPSG\",\"258{zone:00}\"]]";
}
}
}

View file

@ -22,19 +22,19 @@ namespace MapControl.Projections
}
Zone = zone;
CoordinateSystemWkt
= $"PROJCS[\"NAD27 / UTM zone {zone}N\","
+ WktConstants.GeogCsNad27 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ $"PARAMETER[\"central_meridian\",{6 * zone - 183}],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ $"AUTHORITY[\"EPSG\",\"267{zone:00}\"]]";
CoordinateSystemWkt =
$"PROJCS[\"NAD27 / UTM zone {zone}N\"," +
WktConstants.GeogCsNad27 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
$"PARAMETER[\"central_meridian\",{6 * zone - 183}]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
$"AUTHORITY[\"EPSG\",\"267{zone:00}\"]]";
}
}
}

View file

@ -22,19 +22,19 @@ namespace MapControl.Projections
}
Zone = zone;
CoordinateSystemWkt
= $"PROJCS[\"NAD83 / UTM zone {zone}N\","
+ WktConstants.GeogCsNad83 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ $"PARAMETER[\"central_meridian\",{6 * zone - 183}],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ $"AUTHORITY[\"EPSG\",\"269{zone:00}\"]]";
CoordinateSystemWkt =
$"PROJCS[\"NAD83 / UTM zone {zone}N\"," +
WktConstants.GeogCsNad83 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
$"PARAMETER[\"central_meridian\",{6 * zone - 183}]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
$"AUTHORITY[\"EPSG\",\"269{zone:00}\"]]";
}
}
}

View file

@ -58,31 +58,33 @@ namespace MapControl.Projections
? $"{field.Authority}:{field.AuthorityCode}"
: string.Empty;
if (CrsId == "EPSG:3857")
if (CrsId == MapControl.WebMercatorProjection.DefaultCrsId)
{
Type = MapProjectionType.WebMercator;
}
else
{
var projection = field.Projection ??
var name = field.Projection?.Name ??
throw new ArgumentException("CoordinateSystem.Projection must not be null.", nameof(value));
var centralMeridian = projection.GetParameter("central_meridian") ?? projection.GetParameter("longitude_of_origin");
var centralParallel = projection.GetParameter("central_parallel") ?? projection.GetParameter("latitude_of_origin");
var falseEasting = projection.GetParameter("false_easting");
var falseNorthing = projection.GetParameter("false_northing");
if ((centralMeridian == null || centralMeridian.Value == 0d) &&
(centralParallel == null || centralParallel.Value == 0d) &&
(falseEasting == null || falseEasting.Value == 0d) &&
(falseNorthing == null || falseNorthing.Value == 0d))
if (name.StartsWith("Mercator") ||
name.StartsWith("Equirectangular"))
{
Type = MapProjectionType.NormalCylindrical;
}
else if (projection.Name.StartsWith("UTM") || projection.Name.StartsWith("Transverse"))
else if (name.StartsWith("Transverse"))
{
Type = MapProjectionType.TransverseCylindrical;
}
else if (name.Contains("Orthographic") ||
name.Contains("Stereographic"))
{
Type = MapProjectionType.Azimuthal;
}
else
{
Type = MapProjectionType.Other;
}
}
}
}

View file

@ -11,6 +11,7 @@ namespace MapControl.Projections
{ 2180, WktConstants.ProjCsEtrf2000Pl },
{ 3034, WktConstants.ProjCsEtrs89LccEurope },
{ 3035, WktConstants.ProjCsEtrs89LaeaEurope },
{ 4087, WktConstants.ProjCsWgs84 },
{ 4647, WktConstants.ProjCsEtrs89Utm32NzEN },
{ 4839, WktConstants.ProjCsEtrs89LccGermanyNE },
{ 5243, WktConstants.ProjCsEtrs89LccGermanyEN },
@ -31,6 +32,8 @@ namespace MapControl.Projections
MapControl.Wgs84UpsNorthProjection.DefaultCrsId => new Wgs84UpsNorthProjection(),
MapControl.Wgs84UpsSouthProjection.DefaultCrsId => new Wgs84UpsSouthProjection(),
MapControl.Wgs84AutoUtmProjection.DefaultCrsId => new Wgs84AutoUtmProjection(),
MapControl.OrthographicProjection.DefaultCrsId => new Wgs84OrthographicProjection(),
MapControl.StereographicProjection.DefaultCrsId => new Wgs84StereographicProjection(),
_ => base.GetProjection(crsId)
};

View file

@ -0,0 +1,36 @@

using System.Globalization;
namespace MapControl.Projections
{
public class Wgs84OrthographicProjection : ProjNetMapProjection
{
public Wgs84OrthographicProjection()
{
Center = base.Center;
}
public override Location Center
{
get => base.Center;
protected set
{
base.Center = value;
var wktFormat =
"PROJCS[\"WGS 84 / World Mercator\"," +
WktConstants.GeogCsWgs84 + "," +
"PROJECTION[\"Orthographic\"]," +
"PARAMETER[\"latitude_of_origin\",{0:0.########}]," +
"PARAMETER[\"central_meridian\",{1:0.########}]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]" +
"AUTHORITY[\"AUTO2\",\"42003\"]]";
CoordinateSystemWkt = string.Format(
CultureInfo.InvariantCulture, wktFormat, value.Latitude, value.Longitude);
}
}
}
}

View file

@ -0,0 +1,36 @@

using System.Globalization;
namespace MapControl.Projections
{
public class Wgs84StereographicProjection : ProjNetMapProjection
{
public Wgs84StereographicProjection()
{
Center = base.Center;
}
public override Location Center
{
get => base.Center;
protected set
{
base.Center = value;
var wktFormat =
"PROJCS[\"WGS 84 / World Mercator\"," +
WktConstants.GeogCsWgs84 + "," +
"PROJECTION[\"Oblique_Stereographic\"]," +
"PARAMETER[\"latitude_of_origin\",{0:0.########}]," +
"PARAMETER[\"central_meridian\",{1:0.########}]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]" +
"AUTHORITY[\"AUTO2\",\"97002\"]]";
CoordinateSystemWkt = string.Format(
CultureInfo.InvariantCulture, wktFormat, value.Latitude, value.Longitude);
}
}
}
}

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)

View file

@ -16,311 +16,324 @@
public const string SpheroidClarke1866 = "SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898]";
public const string SpheroidBessel1841 = "SPHEROID[\"Bessel 1841\",6377397.155,299.1528128]";
public const string GeogCsWgs84
= "GEOGCS[\"WGS 84\","
+ "DATUM[\"WGS_1984\","
+ SpheroidWgs84 + "],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4326\"]]";
public const string GeogCsWgs84 =
"GEOGCS[\"WGS 84\"," +
"DATUM[\"WGS_1984\"," +
SpheroidWgs84 + "]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4326\"]]";
public const string GeogCsEd50
= "GEOGCS[\"ED50\","
+ "DATUM[\"European_Datum_1950\","
+ SpheroidInternational1924 + ","
+ "TOWGS84[-87,-98,-121,0,0,0,0]],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4230\"]]";
public const string GeogCsEd50 =
"GEOGCS[\"ED50\"," +
"DATUM[\"European_Datum_1950\"," +
SpheroidInternational1924 + "," +
"TOWGS84[-87,-98,-121,0,0,0,0]]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4230\"]]";
public const string GeogCsEtrs89
= "GEOGCS[\"ETRS89\","
+ "DATUM[\"European_Terrestrial_Reference_System_1989\","
+ SpheroidGrs1980 + "],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4258\"]]";
public const string GeogCsEtrs89 =
"GEOGCS[\"ETRS89\"," +
"DATUM[\"European_Terrestrial_Reference_System_1989\"," +
SpheroidGrs1980 + "]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4258\"]]";
public const string GeogCsGgrs87
= "GEOGCS[\"GGRS87\","
+ "DATUM[\"Greek_Geodetic_Reference_System_1987\","
+ SpheroidGrs1980 + ","
+ "TOWGS84[-199.87,74.79,246.62,0,0,0,0]],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4121\"]]";
public const string GeogCsGgrs87 =
"GEOGCS[\"GGRS87\"," +
"DATUM[\"Greek_Geodetic_Reference_System_1987\"," +
SpheroidGrs1980 + "," +
"TOWGS84[-199.87,74.79,246.62,0,0,0,0]]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4121\"]]";
public const string GeogCsEtrf2000Pl
= "GEOGCS[\"ETRF2000-PL\","
+ "DATUM[\"ETRF2000_Poland\","
+ SpheroidGrs1980 + "],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"9702\"]]";
public const string GeogCsEtrf2000Pl =
"GEOGCS[\"ETRF2000-PL\"," +
"DATUM[\"ETRF2000_Poland\"," +
SpheroidGrs1980 + "]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"9702\"]]";
public const string GeogCsNad83
= "GEOGCS[\"NAD83\","
+ "DATUM[\"North_American_Datum_1983\","
+ SpheroidGrs1980 + "],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4269\"]]";
public const string GeogCsNad83 =
"GEOGCS[\"NAD83\"," +
"DATUM[\"North_American_Datum_1983\"," +
SpheroidGrs1980 + "]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4269\"]]";
public const string GeogCsNad27
= "GEOGCS[\"NAD27\","
+ "DATUM[\"North_American_Datum_1927\","
+ SpheroidClarke1866 + "],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4267\"]]";
public const string GeogCsNad27 =
"GEOGCS[\"NAD27\"," +
"DATUM[\"North_American_Datum_1927\"," +
SpheroidClarke1866 + "]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4267\"]]";
public const string GeogCsSad69
= "GEOGCS[\"SAD69\","
+ "DATUM[\"South_American_Datum_1969\","
+ SpheroidGrs1967Modified + ","
+ "TOWGS84[-57,1,-41,0,0,0,0]],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4618\"]]";
public const string GeogCsSad69 =
"GEOGCS[\"SAD69\"," +
"DATUM[\"South_American_Datum_1969\"," +
SpheroidGrs1967Modified + "," +
"TOWGS84[-57,1,-41,0,0,0,0]]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4618\"]]";
public const string GeogCsSad69_96
= "GEOGCS[\"SAD69\","
+ "DATUM[\"South_American_Datum_1969_96\","
+ SpheroidGrs1967Modified + ","
+ "TOWGS84[-67.35,3.88,-38.22,0,0,0,0]],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"5527\"]]";
public const string GeogCsSad69_96 =
"GEOGCS[\"SAD69\"," +
"DATUM[\"South_American_Datum_1969_96\"," +
SpheroidGrs1967Modified + "," +
"TOWGS84[-67.35,3.88,-38.22,0,0,0,0]]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"5527\"]]";
public const string GeogCsCh1903
= "GEOGCS[\"CH1903\","
+ "DATUM[\"CH1903\","
+ SpheroidBessel1841 + ","
+ "TOWGS84[674.374,15.056,405.346,0,0,0,0]],"
+ PrimeMeridian
+ UnitDegree
+ "AUTHORITY[\"EPSG\",\"4149\"]]";
public const string GeogCsCh1903 =
"GEOGCS[\"CH1903\"," +
"DATUM[\"CH1903\"," +
SpheroidBessel1841 + "," +
"TOWGS84[674.374,15.056,405.346,0,0,0,0]]," +
PrimeMeridian +
UnitDegree +
"AUTHORITY[\"EPSG\",\"4149\"]]";
public const string ProjCsGgrs87
= "PROJCS[\"GGRS87 / Greek Grid\","
+ GeogCsGgrs87 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",24],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"2100\"]]";
public const string ProjCsWgs84 =
"PROJCS[\"WGS 84 / World Equidistant Cylindrical\"," +
GeogCsWgs84 +
"PROJECTION[\"Equirectangular\"]," +
"PARAMETER[\"standard_parallel_1\",0]," +
"PARAMETER[\"central_meridian\",0]," +
"PARAMETER[\"false_easting\",0]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"4087\"]]";
public const string ProjCsEtrf2000Pl
= "PROJCS[\"ETRF2000-PL / CS92\","
+ GeogCsEtrf2000Pl + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",19],"
+ "PARAMETER[\"scale_factor\",0.9993],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",-5300000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AUTHORITY[\"EPSG\",\"2180\"]]";
public const string ProjCsGgrs87 =
"PROJCS[\"GGRS87 / Greek Grid\"," +
GeogCsGgrs87 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",24]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"2100\"]]";
public const string ProjCsEtrs89Utm32NzEN
= "PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\","
+ GeogCsEtrs89 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",9],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",32500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"4647\"]]";
public const string ProjCsEtrf2000Pl =
"PROJCS[\"ETRF2000-PL / CS92\"," +
GeogCsEtrf2000Pl + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",19]," +
"PARAMETER[\"scale_factor\",0.9993]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",-5300000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AUTHORITY[\"EPSG\",\"2180\"]]";
public const string ProjCsEtrs89LccEurope
= "PROJCS[\"ETRS89-extended / LCC Europe\","
+ GeogCsEtrs89 + ","
+ "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],"
+ "PARAMETER[\"latitude_of_origin\",52],"
+ "PARAMETER[\"central_meridian\",10],"
+ "PARAMETER[\"standard_parallel_1\",35],"
+ "PARAMETER[\"standard_parallel_2\",65],"
+ "PARAMETER[\"false_easting\",4000000],"
+ "PARAMETER[\"false_northing\",2800000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AUTHORITY[\"EPSG\",\"3034\"]]";
public const string ProjCsEtrs89Utm32NzEN =
"PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\"," +
GeogCsEtrs89 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",9]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",32500000]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"4647\"]]";
public const string ProjCsEtrs89LaeaEurope
= "PROJCS[\"ETRS89-extended / LAEA Europe\","
+ GeogCsEtrs89 + ","
+ "PROJECTION[\"Lambert_Azimuthal_Equal_Area\"],"
+ "PARAMETER[\"latitude_of_center\",52],"
+ "PARAMETER[\"longitude_of_center\",10],"
+ "PARAMETER[\"false_easting\",4321000],"
+ "PARAMETER[\"false_northing\",3210000]"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AUTHORITY[\"EPSG\",\"3035\"]]";
public const string ProjCsEtrs89LccEurope =
"PROJCS[\"ETRS89-extended / LCC Europe\"," +
GeogCsEtrs89 + "," +
"PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," +
"PARAMETER[\"latitude_of_origin\",52]," +
"PARAMETER[\"central_meridian\",10]," +
"PARAMETER[\"standard_parallel_1\",35]," +
"PARAMETER[\"standard_parallel_2\",65]," +
"PARAMETER[\"false_easting\",4000000]," +
"PARAMETER[\"false_northing\",2800000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AUTHORITY[\"EPSG\",\"3034\"]]";
public const string ProjCsEtrs89LccGermanyNE
= "PROJCS[\"ETRS89 / LCC Germany (N-E)\","
+ GeogCsEtrs89 + ","
+ "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],"
+ "PARAMETER[\"latitude_of_origin\",51],"
+ "PARAMETER[\"central_meridian\",10.5],"
+ "PARAMETER[\"standard_parallel_1\",48.6666666666667],"
+ "PARAMETER[\"standard_parallel_2\",53.6666666666667],"
+ "PARAMETER[\"false_easting\",0],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AUTHORITY[\"EPSG\",\"4839\"]]";
public const string ProjCsEtrs89LaeaEurope =
"PROJCS[\"ETRS89-extended / LAEA Europe\"," +
GeogCsEtrs89 + "," +
"PROJECTION[\"Lambert_Azimuthal_Equal_Area\"]," +
"PARAMETER[\"latitude_of_center\",52]," +
"PARAMETER[\"longitude_of_center\",10]," +
"PARAMETER[\"false_easting\",4321000]," +
"PARAMETER[\"false_northing\",3210000]" +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AUTHORITY[\"EPSG\",\"3035\"]]";
public const string ProjCsEtrs89LccGermanyEN
= "PROJCS[\"ETRS89 / LCC Germany (E-N)\","
+ GeogCsEtrs89 + ","
+ "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],"
+ "PARAMETER[\"latitude_of_origin\",51],"
+ "PARAMETER[\"central_meridian\",10.5],"
+ "PARAMETER[\"standard_parallel_1\",48.6666666666667],"
+ "PARAMETER[\"standard_parallel_2\",53.6666666666667],"
+ "PARAMETER[\"false_easting\",0],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"5243\"]]";
public const string ProjCsEtrs89LccGermanyNE =
"PROJCS[\"ETRS89 / LCC Germany (N-E)\"," +
GeogCsEtrs89 + "," +
"PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," +
"PARAMETER[\"latitude_of_origin\",51]," +
"PARAMETER[\"central_meridian\",10.5]," +
"PARAMETER[\"standard_parallel_1\",48.6666666666667]," +
"PARAMETER[\"standard_parallel_2\",53.6666666666667]," +
"PARAMETER[\"false_easting\",0]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AUTHORITY[\"EPSG\",\"4839\"]]";
public const string ProjCsCh1903Lv95
= "PROJCS[\"CH1903 / LV95\","
+ GeogCsCh1903 + ","
+ "PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],"
+ "PARAMETER[\"latitude_of_center\",46.9524055555556],"
+ "PARAMETER[\"longitude_of_center\",7.43958333333333],"
+ "PARAMETER[\"azimuth\",90],"
+ "PARAMETER[\"rectified_grid_angle\",90],"
+ "PARAMETER[\"scale_factor\",1],"
+ "PARAMETER[\"false_easting\",2600000],"
+ "PARAMETER[\"false_northing\",1200000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"2056\"]]";
public const string ProjCsEtrs89LccGermanyEN =
"PROJCS[\"ETRS89 / LCC Germany (E-N)\"," +
GeogCsEtrs89 + "," +
"PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," +
"PARAMETER[\"latitude_of_origin\",51]," +
"PARAMETER[\"central_meridian\",10.5]," +
"PARAMETER[\"standard_parallel_1\",48.6666666666667]," +
"PARAMETER[\"standard_parallel_2\",53.6666666666667]," +
"PARAMETER[\"false_easting\",0]," +
"PARAMETER[\"false_northing\",0]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"5243\"]]";
public const string ProjCsCh1903Lv03
= "PROJCS[\"CH1903 / LV03\","
+ GeogCsCh1903 + ","
+ "PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],"
+ "PARAMETER[\"latitude_of_center\",46.9524055555556],"
+ "PARAMETER[\"longitude_of_center\",7.43958333333333],"
+ "PARAMETER[\"azimuth\",90],"
+ "PARAMETER[\"rectified_grid_angle\",90],"
+ "PARAMETER[\"scale_factor\",1],"
+ "PARAMETER[\"false_easting\",600000],"
+ "PARAMETER[\"false_northing\",200000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"21781\"]]";
public const string ProjCsCh1903Lv95 =
"PROJCS[\"CH1903 / LV95\"," +
GeogCsCh1903 + "," +
"PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"]," +
"PARAMETER[\"latitude_of_center\",46.9524055555556]," +
"PARAMETER[\"longitude_of_center\",7.43958333333333]," +
"PARAMETER[\"azimuth\",90]," +
"PARAMETER[\"rectified_grid_angle\",90]," +
"PARAMETER[\"scale_factor\",1]," +
"PARAMETER[\"false_easting\",2600000]," +
"PARAMETER[\"false_northing\",1200000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"2056\"]]";
public const string ProjCsSad69Utm17S
= "PROJCS[\"SAD69 / UTM zone 17S\","
+ GeogCsSad69 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",-81],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",10000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"29187\"]]";
public const string ProjCsCh1903Lv03 =
"PROJCS[\"CH1903 / LV03\"," +
GeogCsCh1903 + "," +
"PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"]," +
"PARAMETER[\"latitude_of_center\",46.9524055555556]," +
"PARAMETER[\"longitude_of_center\",7.43958333333333]," +
"PARAMETER[\"azimuth\",90]," +
"PARAMETER[\"rectified_grid_angle\",90]," +
"PARAMETER[\"scale_factor\",1]," +
"PARAMETER[\"false_easting\",600000]," +
"PARAMETER[\"false_northing\",200000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"21781\"]]";
public const string ProjCsSad69Utm18S
= "PROJCS[\"SAD69 / UTM zone 18S\","
+ GeogCsSad69 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",-75],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",10000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"29188\"]]";
public const string ProjCsSad69Utm17S =
"PROJCS[\"SAD69 / UTM zone 17S\"," +
GeogCsSad69 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",-81]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",10000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"29187\"]]";
public const string ProjCsSad69Utm19S
= "PROJCS[\"SAD69 / UTM zone 19S\","
+ GeogCsSad69 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",-69],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",10000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"29189\"]]";
public const string ProjCsSad69Utm18S =
"PROJCS[\"SAD69 / UTM zone 18S\"," +
GeogCsSad69 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",-75]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",10000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"29188\"]]";
public const string ProjCsSad69Utm20S
= "PROJCS[\"SAD69 / UTM zone 20S\","
+ GeogCsSad69 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",-63],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",10000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"29190\"]]";
public const string ProjCsSad69Utm19S =
"PROJCS[\"SAD69 / UTM zone 19S\"," +
GeogCsSad69 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",-69]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",10000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"29189\"]]";
public const string ProjCsSad69Utm21S
= "PROJCS[\"SAD69 / UTM zone 21S\","
+ GeogCsSad69 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",-57],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",10000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"29191\"]]";
public const string ProjCsSad69Utm20S =
"PROJCS[\"SAD69 / UTM zone 20S\"," +
GeogCsSad69 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",-63]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",10000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"29190\"]]";
public const string ProjCsSad69Utm22S
= "PROJCS[\"SAD69 / UTM zone 22S\","
+ GeogCsSad69_96 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",-51],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",10000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"29192\"]]";
public const string ProjCsSad69Utm21S =
"PROJCS[\"SAD69 / UTM zone 21S\"," +
GeogCsSad69 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",-57]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",10000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"29191\"]]";
public const string ProjCsSad69Utm23S
= "PROJCS[\"SAD69 / UTM zone 23S\","
+ GeogCsSad69_96 + ","
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",-45],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",10000000],"
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AXIS[\"Easting\",EAST],"
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"29193\"]]";
public const string ProjCsSad69Utm22S =
"PROJCS[\"SAD69 / UTM zone 22S\"," +
GeogCsSad69_96 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",-51]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",10000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"29192\"]]";
public const string ProjCsSad69Utm23S =
"PROJCS[\"SAD69 / UTM zone 23S\"," +
GeogCsSad69_96 + "," +
"PROJECTION[\"Transverse_Mercator\"]," +
"PARAMETER[\"latitude_of_origin\",0]," +
"PARAMETER[\"central_meridian\",-45]," +
"PARAMETER[\"scale_factor\",0.9996]," +
"PARAMETER[\"false_easting\",500000]," +
"PARAMETER[\"false_northing\",10000000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"29193\"]]";
}
}