diff --git a/MapProjections/Shared/Ed50UtmProjection.cs b/MapProjections/Shared/Ed50UtmProjection.cs index cf69d653..8c68a666 100644 --- a/MapProjections/Shared/Ed50UtmProjection.cs +++ b/MapProjections/Shared/Ed50UtmProjection.cs @@ -24,21 +24,16 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"ED50 / UTM zone {zone}N\"," - + "GEOGCS[\"ED50\"," - + "DATUM[\"European_Datum_1950\"," - + "SPHEROID[\"International 1924\",6378388,297],TOWGS84[-87,-98,-121,0,0,0,0]]," - + ProjNetMapProjectionFactory.PrimeMeridianGreenwich + "," - + ProjNetMapProjectionFactory.UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4230\"]]," - + ProjNetMapProjectionFactory.ProjectionTransverseMercator + "," + + 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]," - + ProjNetMapProjectionFactory.UnitMeter + "," - + ProjNetMapProjectionFactory.AxisEasting + "," - + ProjNetMapProjectionFactory.AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + $"AUTHORITY[\"EPSG\",\"230{zone:00}\"]]"; } } diff --git a/MapProjections/Shared/Etrs89UtmProjection.cs b/MapProjections/Shared/Etrs89UtmProjection.cs index 5b4bc531..385171d9 100644 --- a/MapProjections/Shared/Etrs89UtmProjection.cs +++ b/MapProjections/Shared/Etrs89UtmProjection.cs @@ -24,16 +24,16 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"ETRS89 / UTM zone {zone}N\"," - + ProjNetMapProjectionFactory.GeoGcsEtrs89 + "," - + ProjNetMapProjectionFactory.ProjectionTransverseMercator + "," + + 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]," - + ProjNetMapProjectionFactory.UnitMeter + "," - + ProjNetMapProjectionFactory.AxisEasting + "," - + ProjNetMapProjectionFactory.AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + $"AUTHORITY[\"EPSG\",\"258{zone:00}\"]]"; } } diff --git a/MapProjections/Shared/Nad27UtmProjection.cs b/MapProjections/Shared/Nad27UtmProjection.cs index e81fc5d2..c3fc2140 100644 --- a/MapProjections/Shared/Nad27UtmProjection.cs +++ b/MapProjections/Shared/Nad27UtmProjection.cs @@ -24,21 +24,16 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"NAD27 / UTM zone {zone}N\"," - + "GEOGCS[\"NAD27\"," - + "DATUM[\"North_American_Datum_1927\"," - + "SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898]]," - + ProjNetMapProjectionFactory.PrimeMeridianGreenwich + "," - + ProjNetMapProjectionFactory.UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4267\"]]," - + ProjNetMapProjectionFactory.ProjectionTransverseMercator + "," + + 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]," - + ProjNetMapProjectionFactory.UnitMeter + "," - + ProjNetMapProjectionFactory.AxisEasting + "," - + ProjNetMapProjectionFactory.AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + $"AUTHORITY[\"EPSG\",\"267{zone:00}\"]]"; } } diff --git a/MapProjections/Shared/Nad83UtmProjection.cs b/MapProjections/Shared/Nad83UtmProjection.cs index 43623eb9..4e83b925 100644 --- a/MapProjections/Shared/Nad83UtmProjection.cs +++ b/MapProjections/Shared/Nad83UtmProjection.cs @@ -24,21 +24,16 @@ namespace MapControl.Projections Zone = zone; CoordinateSystemWkt = $"PROJCS[\"NAD83 / UTM zone {zone}N\"," - + "GEOGCS[\"NAD83\"," - + "DATUM[\"North_American_Datum_1983\"," - + "SPHEROID[\"GRS 1980\",6378137,298.257222101]]," - + ProjNetMapProjectionFactory.PrimeMeridianGreenwich + "," - + ProjNetMapProjectionFactory.UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4269\"]]," - + ProjNetMapProjectionFactory.ProjectionTransverseMercator + "," + + 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]," - + ProjNetMapProjectionFactory.UnitMeter + "," - + ProjNetMapProjectionFactory.AxisEasting + "," - + ProjNetMapProjectionFactory.AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + $"AUTHORITY[\"EPSG\",\"269{zone:00}\"]]"; } } diff --git a/MapProjections/Shared/ProjNetMapProjectionFactory.cs b/MapProjections/Shared/ProjNetMapProjectionFactory.cs index 6142f2b9..5a7433a4 100644 --- a/MapProjections/Shared/ProjNetMapProjectionFactory.cs +++ b/MapProjections/Shared/ProjNetMapProjectionFactory.cs @@ -4,245 +4,229 @@ namespace MapControl.Projections { public class ProjNetMapProjectionFactory : MapProjectionFactory { - internal const string SpheroidWgs84 = "SPHEROID[\"WGS 84\",6378137,298.257223563]"; - internal const string SpheroidGrs1980 = "SPHEROID[\"GRS 1980\",6378137,298.257222101]"; - internal const string SpheroidGrs1967Modified = "SPHEROID[\"GRS 1967 Modified\",6378160,298.25]"; - internal const string PrimeMeridianGreenwich = "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]]"; - internal const string UnitDegree = "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"; - internal const string UnitMeter = "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]"; - internal const string ProjectionTransverseMercator = "PROJECTION[\"Transverse_Mercator\"]"; - internal const string ProjectionLambertConformalConic = "PROJECTION[\"Lambert_Conformal_Conic_2SP\"]"; - internal const string AxisEasting = "AXIS[\"Easting\",EAST]"; - internal const string AxisNorthing = "AXIS[\"Northing\",NORTH]"; - - internal const string GeoGcsWgs84 - = "GEOGCS[\"WGS 84\"," - + "DATUM[\"WGS_1984\"," - + SpheroidWgs84 + "]," - + PrimeMeridianGreenwich + "," - + UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4326\"]]"; - - internal const string GeoGcsEtrs89 - = "GEOGCS[\"ETRS89\"," - + "DATUM[\"European_Terrestrial_Reference_System_1989\"," - + SpheroidGrs1980 + "]," - + PrimeMeridianGreenwich + "," - + UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4258\"]]"; - - internal const string GeoGcsGgrs87 - = "GEOGCS[\"GGRS87\"," - + "DATUM[\"Greek_Geodetic_Reference_System_1987\"," - + SpheroidGrs1980 + ",TOWGS84[-199.87,74.79,246.62,0,0,0,0]]," - + PrimeMeridianGreenwich + "," - + UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4121\"]]"; - - internal const string GeoGcsEtrf2000Pl - = "GEOGCS[\"ETRF2000-PL\"," - + "DATUM[\"ETRF2000_Poland\"," - + SpheroidGrs1980 + "]," - + PrimeMeridianGreenwich + "," - + UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"9702\"]]"; - - internal const string GeoGcsSad69A - = "GEOGCS[\"SAD69\"," - + "DATUM[\"South_American_Datum_1969\"," - + SpheroidGrs1967Modified + ",TOWGS84[-57,1,-41,0,0,0,0]]," - + PrimeMeridianGreenwich + "," - + UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4618\"]]"; - - internal const string GeoGcsSad69B - = "GEOGCS[\"SAD69\"," - + "DATUM[\"South_American_Datum_1969\"," - + SpheroidGrs1967Modified + ",TOWGS84[-67.35,3.88,-38.22,0,0,0,0]]," - + PrimeMeridianGreenwich + "," - + UnitDegree + "," - + "AUTHORITY[\"EPSG\",\"4618\"]]"; - public Dictionary CoordinateSystemWkts { get; } = new Dictionary { { 2100, "PROJCS[\"GGRS87 / Greek Grid\"," - + GeoGcsGgrs87 + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"2100\"]]" }, { 2180, "PROJCS[\"ETRF2000-PL / CS92\"," - + GeoGcsEtrf2000Pl + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + "AUTHORITY[\"EPSG\",\"2180\"]]" }, { 4647, "PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\"," - + GeoGcsEtrs89 + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"4647\"]]" }, { 29187, "PROJCS[\"SAD69 / UTM zone 17S\"," - + GeoGcsSad69A + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"29187\"]]" }, { 29188, "PROJCS[\"SAD69 / UTM zone 18S\"," - + GeoGcsSad69A + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"29188\"]]" }, { 29189, "PROJCS[\"SAD69 / UTM zone 19S\"," - + GeoGcsSad69A + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"29189\"]]" }, { 29190, "PROJCS[\"SAD69 / UTM zone 20S\"," - + GeoGcsSad69A + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"29190\"]]" }, { 29191, "PROJCS[\"SAD69 / UTM zone 21S\"," - + GeoGcsSad69A + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"29191\"]]" }, { 29192, "PROJCS[\"SAD69 / UTM zone 22S\"," - + GeoGcsSad69B + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"29192\"]]" }, { 29193, "PROJCS[\"SAD69 / UTM zone 23S\"," - + GeoGcsSad69B + "," - + ProjectionTransverseMercator + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"29193\"]]" }, { 3034, "PROJCS[\"ETRS89-extended / LCC Europe\"," - + GeoGcsEtrs89 + "," - + ProjectionLambertConformalConic + "," + + 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]," - + UnitMeter + "," + + "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)\"," - + GeoGcsEtrs89 + "," - + ProjectionLambertConformalConic + "," + + 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]," - + UnitMeter + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + "AUTHORITY[\"EPSG\",\"4839\"]]" }, { 5243, "PROJCS[\"ETRS89 / LCC Germany (E-N)\"," - + GeoGcsEtrs89 + "," - + ProjectionLambertConformalConic + "," + + 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]," - + UnitMeter + "," - + AxisEasting + "," - + AxisNorthing + "," + + "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\"]]" } }; diff --git a/MapProjections/Shared/Wgs84UpsProjections.cs b/MapProjections/Shared/Wgs84UpsProjections.cs index 867fc710..6229cf75 100644 --- a/MapProjections/Shared/Wgs84UpsProjections.cs +++ b/MapProjections/Shared/Wgs84UpsProjections.cs @@ -12,14 +12,14 @@ namespace MapControl.Projections { CoordinateSystemWkt = "PROJCS[\"WGS 84 / UPS North (N,E)\"," - + ProjNetMapProjectionFactory.GeoGcsWgs84 + "," + + 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]," - + ProjNetMapProjectionFactory.UnitMeter + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + "AUTHORITY[\"EPSG\",\"32661\"]]"; Type = MapProjectionType.Azimuthal; @@ -39,14 +39,14 @@ namespace MapControl.Projections { CoordinateSystemWkt = "PROJCS[\"WGS 84 / UPS South (N,E)\"," - + ProjNetMapProjectionFactory.GeoGcsWgs84 + "," + + 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]," - + ProjNetMapProjectionFactory.UnitMeter + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + "AUTHORITY[\"EPSG\",\"32761\"]]"; Type = MapProjectionType.Azimuthal; diff --git a/MapProjections/Shared/WktConstants.cs b/MapProjections/Shared/WktConstants.cs new file mode 100644 index 00000000..0f4f9d61 --- /dev/null +++ b/MapProjections/Shared/WktConstants.cs @@ -0,0 +1,100 @@ +namespace MapControl.Projections +{ + public static class WktConstants + { + private const string PrimeMeridian = "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"; + private const string UnitDegree = "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],"; + + public const string SpheroidWgs84 = "SPHEROID[\"WGS 84\",6378137,298.257223563]"; + public const string SpheroidGrs1980 = "SPHEROID[\"GRS 1980\",6378137,298.257222101]"; + public const string SpheroidGrs1967Modified = "SPHEROID[\"GRS 1967 Modified\",6378160,298.25]"; + public const string SpheroidInternational1924 = "SPHEROID[\"International 1924\",6378388,297]"; + 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 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 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 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 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 GeoGcsCh1903 + = "GEOGCS[\"CH1903\"," + + "DATUM[\"CH1903\"," + + SpheroidBessel1841 + "," + + "TOWGS84[674.374,15.056,405.346,0,0,0,0]]," + + PrimeMeridian + + UnitDegree + + "AUTHORITY[\"EPSG\",\"4149\"]]"; + } +} diff --git a/MapProjections/Shared/WorldMercatorProjection.cs b/MapProjections/Shared/WorldMercatorProjection.cs index 2c0bf89c..c5c292b4 100644 --- a/MapProjections/Shared/WorldMercatorProjection.cs +++ b/MapProjections/Shared/WorldMercatorProjection.cs @@ -16,16 +16,16 @@ namespace MapControl.Projections { CoordinateSystemWkt = "PROJCS[\"WGS 84 / World Mercator\"," - + ProjNetMapProjectionFactory.GeoGcsWgs84 + "," + + WktConstants.GeoGcsWgs84 + "," + "PROJECTION[\"Mercator_1SP\"]," + "PARAMETER[\"latitude_of_origin\",0]," + "PARAMETER[\"central_meridian\",0]," + "PARAMETER[\"scale_factor\",1]," + "PARAMETER[\"false_easting\",0]," + "PARAMETER[\"false_northing\",0]," - + ProjNetMapProjectionFactory.UnitMeter + "," - + ProjNetMapProjectionFactory.AxisEasting + "," - + ProjNetMapProjectionFactory.AxisNorthing + "," + + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]," + + "AXIS[\"Easting\",EAST]," + + "AXIS[\"Northing\",NORTH]," + "AUTHORITY[\"EPSG\",\"3395\"]]"; }