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; Zone = zone;
CoordinateSystemWkt CoordinateSystemWkt =
= $"PROJCS[\"ED50 / UTM zone {zone}N\"," $"PROJCS[\"ED50 / UTM zone {zone}N\"," +
+ WktConstants.GeogCsEd50 + "," WktConstants.GeogCsEd50 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ $"PARAMETER[\"central_meridian\",{6 * zone - 183}]," $"PARAMETER[\"central_meridian\",{6 * zone - 183}]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",0]," "PARAMETER[\"false_northing\",0]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ $"AUTHORITY[\"EPSG\",\"230{zone:00}\"]]"; $"AUTHORITY[\"EPSG\",\"230{zone:00}\"]]";
} }
} }
} }

View file

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

View file

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

View file

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

View file

@ -58,31 +58,33 @@ namespace MapControl.Projections
? $"{field.Authority}:{field.AuthorityCode}" ? $"{field.Authority}:{field.AuthorityCode}"
: string.Empty; : string.Empty;
if (CrsId == "EPSG:3857") if (CrsId == MapControl.WebMercatorProjection.DefaultCrsId)
{ {
Type = MapProjectionType.WebMercator; Type = MapProjectionType.WebMercator;
} }
else else
{ {
var projection = field.Projection ?? var name = field.Projection?.Name ??
throw new ArgumentException("CoordinateSystem.Projection must not be null.", nameof(value)); throw new ArgumentException("CoordinateSystem.Projection must not be null.", nameof(value));
var centralMeridian = projection.GetParameter("central_meridian") ?? projection.GetParameter("longitude_of_origin"); if (name.StartsWith("Mercator") ||
var centralParallel = projection.GetParameter("central_parallel") ?? projection.GetParameter("latitude_of_origin"); name.StartsWith("Equirectangular"))
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))
{ {
Type = MapProjectionType.NormalCylindrical; Type = MapProjectionType.NormalCylindrical;
} }
else if (projection.Name.StartsWith("UTM") || projection.Name.StartsWith("Transverse")) else if (name.StartsWith("Transverse"))
{ {
Type = MapProjectionType.TransverseCylindrical; 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 }, { 2180, WktConstants.ProjCsEtrf2000Pl },
{ 3034, WktConstants.ProjCsEtrs89LccEurope }, { 3034, WktConstants.ProjCsEtrs89LccEurope },
{ 3035, WktConstants.ProjCsEtrs89LaeaEurope }, { 3035, WktConstants.ProjCsEtrs89LaeaEurope },
{ 4087, WktConstants.ProjCsWgs84 },
{ 4647, WktConstants.ProjCsEtrs89Utm32NzEN }, { 4647, WktConstants.ProjCsEtrs89Utm32NzEN },
{ 4839, WktConstants.ProjCsEtrs89LccGermanyNE }, { 4839, WktConstants.ProjCsEtrs89LccGermanyNE },
{ 5243, WktConstants.ProjCsEtrs89LccGermanyEN }, { 5243, WktConstants.ProjCsEtrs89LccGermanyEN },
@ -31,6 +32,8 @@ namespace MapControl.Projections
MapControl.Wgs84UpsNorthProjection.DefaultCrsId => new Wgs84UpsNorthProjection(), MapControl.Wgs84UpsNorthProjection.DefaultCrsId => new Wgs84UpsNorthProjection(),
MapControl.Wgs84UpsSouthProjection.DefaultCrsId => new Wgs84UpsSouthProjection(), MapControl.Wgs84UpsSouthProjection.DefaultCrsId => new Wgs84UpsSouthProjection(),
MapControl.Wgs84AutoUtmProjection.DefaultCrsId => new Wgs84AutoUtmProjection(), MapControl.Wgs84AutoUtmProjection.DefaultCrsId => new Wgs84AutoUtmProjection(),
MapControl.OrthographicProjection.DefaultCrsId => new Wgs84OrthographicProjection(),
MapControl.StereographicProjection.DefaultCrsId => new Wgs84StereographicProjection(),
_ => base.GetProjection(crsId) _ => 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() public Wgs84UpsNorthProjection()
{ {
CoordinateSystemWkt CoordinateSystemWkt =
= "PROJCS[\"WGS 84 / UPS North (N,E)\"," "PROJCS[\"WGS 84 / UPS North (N,E)\"," +
+ WktConstants.GeogCsWgs84 + "," WktConstants.GeogCsWgs84 + "," +
+ "PROJECTION[\"Polar_Stereographic\"]," "PROJECTION[\"Polar_Stereographic\"]," +
+ "PARAMETER[\"latitude_of_origin\",90]," "PARAMETER[\"latitude_of_origin\",90]," +
+ "PARAMETER[\"central_meridian\",0]," "PARAMETER[\"central_meridian\",0]," +
+ "PARAMETER[\"scale_factor\",0.994]," "PARAMETER[\"scale_factor\",0.994]," +
+ "PARAMETER[\"false_easting\",2000000]," "PARAMETER[\"false_easting\",2000000]," +
+ "PARAMETER[\"false_northing\",2000000]," "PARAMETER[\"false_northing\",2000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AUTHORITY[\"EPSG\",\"32661\"]]"; "AUTHORITY[\"EPSG\",\"32661\"]]";
Type = MapProjectionType.Azimuthal;
} }
public override Point RelativeScale(double latitude, double longitude) public override Point RelativeScale(double latitude, double longitude)
@ -37,19 +35,17 @@ namespace MapControl.Projections
{ {
public Wgs84UpsSouthProjection() public Wgs84UpsSouthProjection()
{ {
CoordinateSystemWkt CoordinateSystemWkt =
= "PROJCS[\"WGS 84 / UPS South (N,E)\"," "PROJCS[\"WGS 84 / UPS South (N,E)\"," +
+ WktConstants.GeogCsWgs84 + "," WktConstants.GeogCsWgs84 + "," +
+ "PROJECTION[\"Polar_Stereographic\"]," "PROJECTION[\"Polar_Stereographic\"]," +
+ "PARAMETER[\"latitude_of_origin\",-90]," "PARAMETER[\"latitude_of_origin\",-90]," +
+ "PARAMETER[\"central_meridian\",0]," "PARAMETER[\"central_meridian\",0]," +
+ "PARAMETER[\"scale_factor\",0.994]," "PARAMETER[\"scale_factor\",0.994]," +
+ "PARAMETER[\"false_easting\",2000000]," "PARAMETER[\"false_easting\",2000000]," +
+ "PARAMETER[\"false_northing\",2000000]," "PARAMETER[\"false_northing\",2000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AUTHORITY[\"EPSG\",\"32761\"]]"; "AUTHORITY[\"EPSG\",\"32761\"]]";
Type = MapProjectionType.Azimuthal;
} }
public override Point RelativeScale(double latitude, double longitude) 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 SpheroidClarke1866 = "SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898]";
public const string SpheroidBessel1841 = "SPHEROID[\"Bessel 1841\",6377397.155,299.1528128]"; public const string SpheroidBessel1841 = "SPHEROID[\"Bessel 1841\",6377397.155,299.1528128]";
public const string GeogCsWgs84 public const string GeogCsWgs84 =
= "GEOGCS[\"WGS 84\"," "GEOGCS[\"WGS 84\"," +
+ "DATUM[\"WGS_1984\"," "DATUM[\"WGS_1984\"," +
+ SpheroidWgs84 + "]," SpheroidWgs84 + "]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4326\"]]"; "AUTHORITY[\"EPSG\",\"4326\"]]";
public const string GeogCsEd50 public const string GeogCsEd50 =
= "GEOGCS[\"ED50\"," "GEOGCS[\"ED50\"," +
+ "DATUM[\"European_Datum_1950\"," "DATUM[\"European_Datum_1950\"," +
+ SpheroidInternational1924 + "," SpheroidInternational1924 + "," +
+ "TOWGS84[-87,-98,-121,0,0,0,0]]," "TOWGS84[-87,-98,-121,0,0,0,0]]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4230\"]]"; "AUTHORITY[\"EPSG\",\"4230\"]]";
public const string GeogCsEtrs89 public const string GeogCsEtrs89 =
= "GEOGCS[\"ETRS89\"," "GEOGCS[\"ETRS89\"," +
+ "DATUM[\"European_Terrestrial_Reference_System_1989\"," "DATUM[\"European_Terrestrial_Reference_System_1989\"," +
+ SpheroidGrs1980 + "]," SpheroidGrs1980 + "]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4258\"]]"; "AUTHORITY[\"EPSG\",\"4258\"]]";
public const string GeogCsGgrs87 public const string GeogCsGgrs87 =
= "GEOGCS[\"GGRS87\"," "GEOGCS[\"GGRS87\"," +
+ "DATUM[\"Greek_Geodetic_Reference_System_1987\"," "DATUM[\"Greek_Geodetic_Reference_System_1987\"," +
+ SpheroidGrs1980 + "," SpheroidGrs1980 + "," +
+ "TOWGS84[-199.87,74.79,246.62,0,0,0,0]]," "TOWGS84[-199.87,74.79,246.62,0,0,0,0]]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4121\"]]"; "AUTHORITY[\"EPSG\",\"4121\"]]";
public const string GeogCsEtrf2000Pl public const string GeogCsEtrf2000Pl =
= "GEOGCS[\"ETRF2000-PL\"," "GEOGCS[\"ETRF2000-PL\"," +
+ "DATUM[\"ETRF2000_Poland\"," "DATUM[\"ETRF2000_Poland\"," +
+ SpheroidGrs1980 + "]," SpheroidGrs1980 + "]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"9702\"]]"; "AUTHORITY[\"EPSG\",\"9702\"]]";
public const string GeogCsNad83 public const string GeogCsNad83 =
= "GEOGCS[\"NAD83\"," "GEOGCS[\"NAD83\"," +
+ "DATUM[\"North_American_Datum_1983\"," "DATUM[\"North_American_Datum_1983\"," +
+ SpheroidGrs1980 + "]," SpheroidGrs1980 + "]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4269\"]]"; "AUTHORITY[\"EPSG\",\"4269\"]]";
public const string GeogCsNad27 public const string GeogCsNad27 =
= "GEOGCS[\"NAD27\"," "GEOGCS[\"NAD27\"," +
+ "DATUM[\"North_American_Datum_1927\"," "DATUM[\"North_American_Datum_1927\"," +
+ SpheroidClarke1866 + "]," SpheroidClarke1866 + "]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4267\"]]"; "AUTHORITY[\"EPSG\",\"4267\"]]";
public const string GeogCsSad69 public const string GeogCsSad69 =
= "GEOGCS[\"SAD69\"," "GEOGCS[\"SAD69\"," +
+ "DATUM[\"South_American_Datum_1969\"," "DATUM[\"South_American_Datum_1969\"," +
+ SpheroidGrs1967Modified + "," SpheroidGrs1967Modified + "," +
+ "TOWGS84[-57,1,-41,0,0,0,0]]," "TOWGS84[-57,1,-41,0,0,0,0]]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4618\"]]"; "AUTHORITY[\"EPSG\",\"4618\"]]";
public const string GeogCsSad69_96 public const string GeogCsSad69_96 =
= "GEOGCS[\"SAD69\"," "GEOGCS[\"SAD69\"," +
+ "DATUM[\"South_American_Datum_1969_96\"," "DATUM[\"South_American_Datum_1969_96\"," +
+ SpheroidGrs1967Modified + "," SpheroidGrs1967Modified + "," +
+ "TOWGS84[-67.35,3.88,-38.22,0,0,0,0]]," "TOWGS84[-67.35,3.88,-38.22,0,0,0,0]]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"5527\"]]"; "AUTHORITY[\"EPSG\",\"5527\"]]";
public const string GeogCsCh1903 public const string GeogCsCh1903 =
= "GEOGCS[\"CH1903\"," "GEOGCS[\"CH1903\"," +
+ "DATUM[\"CH1903\"," "DATUM[\"CH1903\"," +
+ SpheroidBessel1841 + "," SpheroidBessel1841 + "," +
+ "TOWGS84[674.374,15.056,405.346,0,0,0,0]]," "TOWGS84[674.374,15.056,405.346,0,0,0,0]]," +
+ PrimeMeridian PrimeMeridian +
+ UnitDegree UnitDegree +
+ "AUTHORITY[\"EPSG\",\"4149\"]]"; "AUTHORITY[\"EPSG\",\"4149\"]]";
public const string ProjCsGgrs87 public const string ProjCsWgs84 =
= "PROJCS[\"GGRS87 / Greek Grid\"," "PROJCS[\"WGS 84 / World Equidistant Cylindrical\"," +
+ GeogCsGgrs87 + "," GeogCsWgs84 +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Equirectangular\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"standard_parallel_1\",0]," +
+ "PARAMETER[\"central_meridian\",24]," "PARAMETER[\"central_meridian\",0]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"false_easting\",0]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_northing\",0]," +
+ "PARAMETER[\"false_northing\",0]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Northing\",NORTH]," +
+ "AXIS[\"Northing\",NORTH]," "AUTHORITY[\"EPSG\",\"4087\"]]";
+ "AUTHORITY[\"EPSG\",\"2100\"]]";
public const string ProjCsEtrf2000Pl public const string ProjCsGgrs87 =
= "PROJCS[\"ETRF2000-PL / CS92\"," "PROJCS[\"GGRS87 / Greek Grid\"," +
+ GeogCsEtrf2000Pl + "," GeogCsGgrs87 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",19]," "PARAMETER[\"central_meridian\",24]," +
+ "PARAMETER[\"scale_factor\",0.9993]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",-5300000]," "PARAMETER[\"false_northing\",0]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AUTHORITY[\"EPSG\",\"2180\"]]"; "AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"2100\"]]";
public const string ProjCsEtrs89Utm32NzEN public const string ProjCsEtrf2000Pl =
= "PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\"," "PROJCS[\"ETRF2000-PL / CS92\"," +
+ GeogCsEtrs89 + "," GeogCsEtrf2000Pl + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",9]," "PARAMETER[\"central_meridian\",19]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9993]," +
+ "PARAMETER[\"false_easting\",32500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",0]," "PARAMETER[\"false_northing\",-5300000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AUTHORITY[\"EPSG\",\"2180\"]]";
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"4647\"]]";
public const string ProjCsEtrs89LccEurope public const string ProjCsEtrs89Utm32NzEN =
= "PROJCS[\"ETRS89-extended / LCC Europe\"," "PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\"," +
+ GeogCsEtrs89 + "," GeogCsEtrs89 + "," +
+ "PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",52]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",10]," "PARAMETER[\"central_meridian\",9]," +
+ "PARAMETER[\"standard_parallel_1\",35]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"standard_parallel_2\",65]," "PARAMETER[\"false_easting\",32500000]," +
+ "PARAMETER[\"false_easting\",4000000]," "PARAMETER[\"false_northing\",0]," +
+ "PARAMETER[\"false_northing\",2800000]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "AXIS[\"Easting\",EAST]," +
+ "AUTHORITY[\"EPSG\",\"3034\"]]"; "AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"4647\"]]";
public const string ProjCsEtrs89LaeaEurope public const string ProjCsEtrs89LccEurope =
= "PROJCS[\"ETRS89-extended / LAEA Europe\"," "PROJCS[\"ETRS89-extended / LCC Europe\"," +
+ GeogCsEtrs89 + "," GeogCsEtrs89 + "," +
+ "PROJECTION[\"Lambert_Azimuthal_Equal_Area\"]," "PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," +
+ "PARAMETER[\"latitude_of_center\",52]," "PARAMETER[\"latitude_of_origin\",52]," +
+ "PARAMETER[\"longitude_of_center\",10]," "PARAMETER[\"central_meridian\",10]," +
+ "PARAMETER[\"false_easting\",4321000]," "PARAMETER[\"standard_parallel_1\",35]," +
+ "PARAMETER[\"false_northing\",3210000]" "PARAMETER[\"standard_parallel_2\",65]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "PARAMETER[\"false_easting\",4000000]," +
+ "AUTHORITY[\"EPSG\",\"3035\"]]"; "PARAMETER[\"false_northing\",2800000]," +
"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
"AUTHORITY[\"EPSG\",\"3034\"]]";
public const string ProjCsEtrs89LccGermanyNE public const string ProjCsEtrs89LaeaEurope =
= "PROJCS[\"ETRS89 / LCC Germany (N-E)\"," "PROJCS[\"ETRS89-extended / LAEA Europe\"," +
+ GeogCsEtrs89 + "," GeogCsEtrs89 + "," +
+ "PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," "PROJECTION[\"Lambert_Azimuthal_Equal_Area\"]," +
+ "PARAMETER[\"latitude_of_origin\",51]," "PARAMETER[\"latitude_of_center\",52]," +
+ "PARAMETER[\"central_meridian\",10.5]," "PARAMETER[\"longitude_of_center\",10]," +
+ "PARAMETER[\"standard_parallel_1\",48.6666666666667]," "PARAMETER[\"false_easting\",4321000]," +
+ "PARAMETER[\"standard_parallel_2\",53.6666666666667]," "PARAMETER[\"false_northing\",3210000]" +
+ "PARAMETER[\"false_easting\",0]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "PARAMETER[\"false_northing\",0]," "AUTHORITY[\"EPSG\",\"3035\"]]";
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"
+ "AUTHORITY[\"EPSG\",\"4839\"]]";
public const string ProjCsEtrs89LccGermanyEN public const string ProjCsEtrs89LccGermanyNE =
= "PROJCS[\"ETRS89 / LCC Germany (E-N)\"," "PROJCS[\"ETRS89 / LCC Germany (N-E)\"," +
+ GeogCsEtrs89 + "," GeogCsEtrs89 + "," +
+ "PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," "PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," +
+ "PARAMETER[\"latitude_of_origin\",51]," "PARAMETER[\"latitude_of_origin\",51]," +
+ "PARAMETER[\"central_meridian\",10.5]," "PARAMETER[\"central_meridian\",10.5]," +
+ "PARAMETER[\"standard_parallel_1\",48.6666666666667]," "PARAMETER[\"standard_parallel_1\",48.6666666666667]," +
+ "PARAMETER[\"standard_parallel_2\",53.6666666666667]," "PARAMETER[\"standard_parallel_2\",53.6666666666667]," +
+ "PARAMETER[\"false_easting\",0]," "PARAMETER[\"false_easting\",0]," +
+ "PARAMETER[\"false_northing\",0]," "PARAMETER[\"false_northing\",0]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AUTHORITY[\"EPSG\",\"4839\"]]";
+ "AXIS[\"Northing\",NORTH],"
+ "AUTHORITY[\"EPSG\",\"5243\"]]";
public const string ProjCsCh1903Lv95 public const string ProjCsEtrs89LccGermanyEN =
= "PROJCS[\"CH1903 / LV95\"," "PROJCS[\"ETRS89 / LCC Germany (E-N)\"," +
+ GeogCsCh1903 + "," GeogCsEtrs89 + "," +
+ "PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"]," "PROJECTION[\"Lambert_Conformal_Conic_2SP\"]," +
+ "PARAMETER[\"latitude_of_center\",46.9524055555556]," "PARAMETER[\"latitude_of_origin\",51]," +
+ "PARAMETER[\"longitude_of_center\",7.43958333333333]," "PARAMETER[\"central_meridian\",10.5]," +
+ "PARAMETER[\"azimuth\",90]," "PARAMETER[\"standard_parallel_1\",48.6666666666667]," +
+ "PARAMETER[\"rectified_grid_angle\",90]," "PARAMETER[\"standard_parallel_2\",53.6666666666667]," +
+ "PARAMETER[\"scale_factor\",1]," "PARAMETER[\"false_easting\",0]," +
+ "PARAMETER[\"false_easting\",2600000]," "PARAMETER[\"false_northing\",0]," +
+ "PARAMETER[\"false_northing\",1200000]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Northing\",NORTH]," +
+ "AXIS[\"Northing\",NORTH]," "AUTHORITY[\"EPSG\",\"5243\"]]";
+ "AUTHORITY[\"EPSG\",\"2056\"]]";
public const string ProjCsCh1903Lv03 public const string ProjCsCh1903Lv95 =
= "PROJCS[\"CH1903 / LV03\"," "PROJCS[\"CH1903 / LV95\"," +
+ GeogCsCh1903 + "," GeogCsCh1903 + "," +
+ "PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"]," "PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"]," +
+ "PARAMETER[\"latitude_of_center\",46.9524055555556]," "PARAMETER[\"latitude_of_center\",46.9524055555556]," +
+ "PARAMETER[\"longitude_of_center\",7.43958333333333]," "PARAMETER[\"longitude_of_center\",7.43958333333333]," +
+ "PARAMETER[\"azimuth\",90]," "PARAMETER[\"azimuth\",90]," +
+ "PARAMETER[\"rectified_grid_angle\",90]," "PARAMETER[\"rectified_grid_angle\",90]," +
+ "PARAMETER[\"scale_factor\",1]," "PARAMETER[\"scale_factor\",1]," +
+ "PARAMETER[\"false_easting\",600000]," "PARAMETER[\"false_easting\",2600000]," +
+ "PARAMETER[\"false_northing\",200000]," "PARAMETER[\"false_northing\",1200000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ "AUTHORITY[\"EPSG\",\"21781\"]]"; "AUTHORITY[\"EPSG\",\"2056\"]]";
public const string ProjCsSad69Utm17S public const string ProjCsCh1903Lv03 =
= "PROJCS[\"SAD69 / UTM zone 17S\"," "PROJCS[\"CH1903 / LV03\"," +
+ GeogCsSad69 + "," GeogCsCh1903 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_center\",46.9524055555556]," +
+ "PARAMETER[\"central_meridian\",-81]," "PARAMETER[\"longitude_of_center\",7.43958333333333]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"azimuth\",90]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"rectified_grid_angle\",90]," +
+ "PARAMETER[\"false_northing\",10000000]," "PARAMETER[\"scale_factor\",1]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "PARAMETER[\"false_easting\",600000]," +
+ "AXIS[\"Easting\",EAST]," "PARAMETER[\"false_northing\",200000]," +
+ "AXIS[\"Northing\",NORTH]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AUTHORITY[\"EPSG\",\"29187\"]]"; "AXIS[\"Easting\",EAST]," +
"AXIS[\"Northing\",NORTH]," +
"AUTHORITY[\"EPSG\",\"21781\"]]";
public const string ProjCsSad69Utm18S public const string ProjCsSad69Utm17S =
= "PROJCS[\"SAD69 / UTM zone 18S\"," "PROJCS[\"SAD69 / UTM zone 17S\"," +
+ GeogCsSad69 + "," GeogCsSad69 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",-75]," "PARAMETER[\"central_meridian\",-81]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",10000000]," "PARAMETER[\"false_northing\",10000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ "AUTHORITY[\"EPSG\",\"29188\"]]"; "AUTHORITY[\"EPSG\",\"29187\"]]";
public const string ProjCsSad69Utm19S public const string ProjCsSad69Utm18S =
= "PROJCS[\"SAD69 / UTM zone 19S\"," "PROJCS[\"SAD69 / UTM zone 18S\"," +
+ GeogCsSad69 + "," GeogCsSad69 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",-69]," "PARAMETER[\"central_meridian\",-75]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",10000000]," "PARAMETER[\"false_northing\",10000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ "AUTHORITY[\"EPSG\",\"29189\"]]"; "AUTHORITY[\"EPSG\",\"29188\"]]";
public const string ProjCsSad69Utm20S public const string ProjCsSad69Utm19S =
= "PROJCS[\"SAD69 / UTM zone 20S\"," "PROJCS[\"SAD69 / UTM zone 19S\"," +
+ GeogCsSad69 + "," GeogCsSad69 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",-63]," "PARAMETER[\"central_meridian\",-69]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",10000000]," "PARAMETER[\"false_northing\",10000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ "AUTHORITY[\"EPSG\",\"29190\"]]"; "AUTHORITY[\"EPSG\",\"29189\"]]";
public const string ProjCsSad69Utm21S public const string ProjCsSad69Utm20S =
= "PROJCS[\"SAD69 / UTM zone 21S\"," "PROJCS[\"SAD69 / UTM zone 20S\"," +
+ GeogCsSad69 + "," GeogCsSad69 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",-57]," "PARAMETER[\"central_meridian\",-63]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",10000000]," "PARAMETER[\"false_northing\",10000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ "AUTHORITY[\"EPSG\",\"29191\"]]"; "AUTHORITY[\"EPSG\",\"29190\"]]";
public const string ProjCsSad69Utm22S public const string ProjCsSad69Utm21S =
= "PROJCS[\"SAD69 / UTM zone 22S\"," "PROJCS[\"SAD69 / UTM zone 21S\"," +
+ GeogCsSad69_96 + "," GeogCsSad69 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",-51]," "PARAMETER[\"central_meridian\",-57]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",10000000]," "PARAMETER[\"false_northing\",10000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ "AUTHORITY[\"EPSG\",\"29192\"]]"; "AUTHORITY[\"EPSG\",\"29191\"]]";
public const string ProjCsSad69Utm23S public const string ProjCsSad69Utm22S =
= "PROJCS[\"SAD69 / UTM zone 23S\"," "PROJCS[\"SAD69 / UTM zone 22S\"," +
+ GeogCsSad69_96 + "," GeogCsSad69_96 + "," +
+ "PROJECTION[\"Transverse_Mercator\"]," "PROJECTION[\"Transverse_Mercator\"]," +
+ "PARAMETER[\"latitude_of_origin\",0]," "PARAMETER[\"latitude_of_origin\",0]," +
+ "PARAMETER[\"central_meridian\",-45]," "PARAMETER[\"central_meridian\",-51]," +
+ "PARAMETER[\"scale_factor\",0.9996]," "PARAMETER[\"scale_factor\",0.9996]," +
+ "PARAMETER[\"false_easting\",500000]," "PARAMETER[\"false_easting\",500000]," +
+ "PARAMETER[\"false_northing\",10000000]," "PARAMETER[\"false_northing\",10000000]," +
+ "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," +
+ "AXIS[\"Easting\",EAST]," "AXIS[\"Easting\",EAST]," +
+ "AXIS[\"Northing\",NORTH]," "AXIS[\"Northing\",NORTH]," +
+ "AUTHORITY[\"EPSG\",\"29193\"]]"; "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\"]]";
} }
} }