From 60152fef93d7ef99d51fcfdfd76849ac2d3e817e Mon Sep 17 00:00:00 2001 From: ClemensFischer Date: Fri, 16 Jan 2026 09:45:48 +0100 Subject: [PATCH] Updated WktConstants --- MapProjections/Shared/Ed50UtmProjection.cs | 2 +- MapProjections/Shared/Etrs89UtmProjection.cs | 2 +- MapProjections/Shared/Nad27UtmProjection.cs | 2 +- MapProjections/Shared/Nad83UtmProjection.cs | 2 +- .../Shared/ProjNetMapProjectionFactory.cs | 238 ++--------------- MapProjections/Shared/Wgs84UpsProjections.cs | 4 +- MapProjections/Shared/WktConstants.cs | 246 +++++++++++++++++- .../Shared/WorldMercatorProjection.cs | 2 +- 8 files changed, 259 insertions(+), 239 deletions(-) diff --git a/MapProjections/Shared/Ed50UtmProjection.cs b/MapProjections/Shared/Ed50UtmProjection.cs index 8c68a666..ce8c1f75 100644 --- a/MapProjections/Shared/Ed50UtmProjection.cs +++ b/MapProjections/Shared/Ed50UtmProjection.cs @@ -24,7 +24,7 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"ED50 / UTM zone {zone}N\"," - + WktConstants.GeoGcsEd50 + "," + + WktConstants.GeogCsEd50 + "," + "PROJECTION[\"Transverse_Mercator\"]," + "PARAMETER[\"latitude_of_origin\",0]," + $"PARAMETER[\"central_meridian\",{6 * zone - 183}]," diff --git a/MapProjections/Shared/Etrs89UtmProjection.cs b/MapProjections/Shared/Etrs89UtmProjection.cs index 385171d9..f1325ca8 100644 --- a/MapProjections/Shared/Etrs89UtmProjection.cs +++ b/MapProjections/Shared/Etrs89UtmProjection.cs @@ -24,7 +24,7 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"ETRS89 / UTM zone {zone}N\"," - + WktConstants.GeoGcsEtrs89 + "," + + WktConstants.GeogCsEtrs89 + "," + "PROJECTION[\"Transverse_Mercator\"]," + "PARAMETER[\"latitude_of_origin\",0]," + $"PARAMETER[\"central_meridian\",{6 * zone - 183}]," diff --git a/MapProjections/Shared/Nad27UtmProjection.cs b/MapProjections/Shared/Nad27UtmProjection.cs index c3fc2140..d3b2a92c 100644 --- a/MapProjections/Shared/Nad27UtmProjection.cs +++ b/MapProjections/Shared/Nad27UtmProjection.cs @@ -24,7 +24,7 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"NAD27 / UTM zone {zone}N\"," - + WktConstants.GeoGcsNad27 + "," + + WktConstants.GeogCsNad27 + "," + "PROJECTION[\"Transverse_Mercator\"]," + "PARAMETER[\"latitude_of_origin\",0]," + $"PARAMETER[\"central_meridian\",{6 * zone - 183}]," diff --git a/MapProjections/Shared/Nad83UtmProjection.cs b/MapProjections/Shared/Nad83UtmProjection.cs index 4e83b925..9d00663f 100644 --- a/MapProjections/Shared/Nad83UtmProjection.cs +++ b/MapProjections/Shared/Nad83UtmProjection.cs @@ -24,7 +24,7 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"NAD83 / UTM zone {zone}N\"," - + WktConstants.GeoGcsNad83 + "," + + WktConstants.GeogCsNad83 + "," + "PROJECTION[\"Transverse_Mercator\"]," + "PARAMETER[\"latitude_of_origin\",0]," + $"PARAMETER[\"central_meridian\",{6 * zone - 183}]," diff --git a/MapProjections/Shared/ProjNetMapProjectionFactory.cs b/MapProjections/Shared/ProjNetMapProjectionFactory.cs index 5a7433a4..7a175f25 100644 --- a/MapProjections/Shared/ProjNetMapProjectionFactory.cs +++ b/MapProjections/Shared/ProjNetMapProjectionFactory.cs @@ -6,228 +6,22 @@ namespace MapControl.Projections { public Dictionary CoordinateSystemWkts { get; } = new Dictionary { - { - 2100, "PROJCS[\"GGRS87 / Greek Grid\"," - + WktConstants.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\"]]" - }, - { - 2180, "PROJCS[\"ETRF2000-PL / CS92\"," - + WktConstants.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\"]]" - }, - { - 4647, "PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\"," - + WktConstants.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\"]]" - }, - { - 29187, "PROJCS[\"SAD69 / UTM zone 17S\"," - + WktConstants.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\"]]" - }, - { - 29188, "PROJCS[\"SAD69 / UTM zone 18S\"," - + WktConstants.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\"]]" - }, - { - 29189, "PROJCS[\"SAD69 / UTM zone 19S\"," - + WktConstants.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\"]]" - }, - { - 29190, "PROJCS[\"SAD69 / UTM zone 20S\"," - + WktConstants.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\"]]" - }, - { - 29191, "PROJCS[\"SAD69 / UTM zone 21S\"," - + WktConstants.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\"]]" - }, - { - 29192, "PROJCS[\"SAD69 / UTM zone 22S\"," - + WktConstants.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\"]]" - }, - { - 29193, "PROJCS[\"SAD69 / UTM zone 23S\"," - + WktConstants.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\"]]" - }, - { - 3034, "PROJCS[\"ETRS89-extended / LCC Europe\"," - + WktConstants.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\"]]" - }, - { - 3035, "PROJCS[\"ETRS89-extended / LAEA Europe\"," - + WktConstants.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\"]]" - }, - { - 4839, "PROJCS[\"ETRS89 / LCC Germany (N-E)\"," - + WktConstants.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\"]]" - }, - { - 5243, "PROJCS[\"ETRS89 / LCC Germany (E-N)\"," - + WktConstants.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\"]]" - }, - { - 21781, "PROJCS[\"CH1903 / LV03\"," - + WktConstants.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\"]]" - }, - { - 2056, "PROJCS[\"CH1903 / LV95\"," - + WktConstants.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\"]]" - } + { 2056, WktConstants.ProjCsCh1903Lv95 }, + { 2100, WktConstants.ProjCsGgrs87 }, + { 2180, WktConstants.ProjCsEtrf2000Pl }, + { 3034, WktConstants.ProjCsEtrs89LccEurope }, + { 3035, WktConstants.ProjCsEtrs89LaeaEurope }, + { 4647, WktConstants.ProjCsEtrs89Utm32NzEN }, + { 4839, WktConstants.ProjCsEtrs89LccGermanyNE }, + { 5243, WktConstants.ProjCsEtrs89LccGermanyEN }, + { 21781, WktConstants.ProjCsCh1903Lv03 }, + { 29187, WktConstants.ProjCsSad69Utm17S }, + { 29188, WktConstants.ProjCsSad69Utm18S }, + { 29189, WktConstants.ProjCsSad69Utm19S }, + { 29190, WktConstants.ProjCsSad69Utm20S }, + { 29191, WktConstants.ProjCsSad69Utm21S }, + { 29192, WktConstants.ProjCsSad69Utm22S }, + { 29193, WktConstants.ProjCsSad69Utm23S }, }; public override MapProjection GetProjection(string crsId) => crsId switch diff --git a/MapProjections/Shared/Wgs84UpsProjections.cs b/MapProjections/Shared/Wgs84UpsProjections.cs index 6229cf75..d8f53cb2 100644 --- a/MapProjections/Shared/Wgs84UpsProjections.cs +++ b/MapProjections/Shared/Wgs84UpsProjections.cs @@ -12,7 +12,7 @@ namespace MapControl.Projections { CoordinateSystemWkt = "PROJCS[\"WGS 84 / UPS North (N,E)\"," - + WktConstants.GeoGcsWgs84 + "," + + WktConstants.GeogCsWgs84 + "," + "PROJECTION[\"Polar_Stereographic\"]," + "PARAMETER[\"latitude_of_origin\",90]," + "PARAMETER[\"central_meridian\",0]," @@ -39,7 +39,7 @@ namespace MapControl.Projections { CoordinateSystemWkt = "PROJCS[\"WGS 84 / UPS South (N,E)\"," - + WktConstants.GeoGcsWgs84 + "," + + WktConstants.GeogCsWgs84 + "," + "PROJECTION[\"Polar_Stereographic\"]," + "PARAMETER[\"latitude_of_origin\",-90]," + "PARAMETER[\"central_meridian\",0]," diff --git a/MapProjections/Shared/WktConstants.cs b/MapProjections/Shared/WktConstants.cs index 0f4f9d61..d6d44eb6 100644 --- a/MapProjections/Shared/WktConstants.cs +++ b/MapProjections/Shared/WktConstants.cs @@ -1,5 +1,9 @@ namespace MapControl.Projections { + /// + /// Well-known text representations of geographic and projected coordinate systems + /// taken from epsg.io. + /// public static class WktConstants { private const string PrimeMeridian = "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"; @@ -12,7 +16,7 @@ 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 + public const string GeogCsWgs84 = "GEOGCS[\"WGS 84\"," + "DATUM[\"WGS_1984\"," + SpheroidWgs84 + "]," @@ -20,7 +24,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"4326\"]]"; - public const string GeoGcsEd50 + public const string GeogCsEd50 = "GEOGCS[\"ED50\"," + "DATUM[\"European_Datum_1950\"," + SpheroidInternational1924 + "," @@ -29,7 +33,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"4230\"]]"; - public const string GeoGcsEtrs89 + public const string GeogCsEtrs89 = "GEOGCS[\"ETRS89\"," + "DATUM[\"European_Terrestrial_Reference_System_1989\"," + SpheroidGrs1980 + "]," @@ -37,7 +41,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"4258\"]]"; - public const string GeoGcsGgrs87 + public const string GeogCsGgrs87 = "GEOGCS[\"GGRS87\"," + "DATUM[\"Greek_Geodetic_Reference_System_1987\"," + SpheroidGrs1980 + "," @@ -46,7 +50,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"4121\"]]"; - public const string GeoGcsEtrf2000Pl + public const string GeogCsEtrf2000Pl = "GEOGCS[\"ETRF2000-PL\"," + "DATUM[\"ETRF2000_Poland\"," + SpheroidGrs1980 + "]," @@ -54,7 +58,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"9702\"]]"; - public const string GeoGcsNad83 + public const string GeogCsNad83 = "GEOGCS[\"NAD83\"," + "DATUM[\"North_American_Datum_1983\"," + SpheroidGrs1980 + "]," @@ -62,7 +66,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"4269\"]]"; - public const string GeoGcsNad27 + public const string GeogCsNad27 = "GEOGCS[\"NAD27\"," + "DATUM[\"North_American_Datum_1927\"," + SpheroidClarke1866 + "]," @@ -70,7 +74,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"4267\"]]"; - public const string GeoGcsSad69 + public const string GeogCsSad69 = "GEOGCS[\"SAD69\"," + "DATUM[\"South_American_Datum_1969\"," + SpheroidGrs1967Modified + "," @@ -79,7 +83,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"4618\"]]"; - public const string GeoGcsSad69_96 + public const string GeogCsSad69_96 = "GEOGCS[\"SAD69\"," + "DATUM[\"South_American_Datum_1969_96\"," + SpheroidGrs1967Modified + "," @@ -88,7 +92,7 @@ + UnitDegree + "AUTHORITY[\"EPSG\",\"5527\"]]"; - public const string GeoGcsCh1903 + public const string GeogCsCh1903 = "GEOGCS[\"CH1903\"," + "DATUM[\"CH1903\"," + SpheroidBessel1841 + "," @@ -96,5 +100,227 @@ + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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\"]]"; } } diff --git a/MapProjections/Shared/WorldMercatorProjection.cs b/MapProjections/Shared/WorldMercatorProjection.cs index c5c292b4..0853e225 100644 --- a/MapProjections/Shared/WorldMercatorProjection.cs +++ b/MapProjections/Shared/WorldMercatorProjection.cs @@ -16,7 +16,7 @@ namespace MapControl.Projections { CoordinateSystemWkt = "PROJCS[\"WGS 84 / World Mercator\"," - + WktConstants.GeoGcsWgs84 + "," + + WktConstants.GeogCsWgs84 + "," + "PROJECTION[\"Mercator_1SP\"]," + "PARAMETER[\"latitude_of_origin\",0]," + "PARAMETER[\"central_meridian\",0],"