Added more WKTs

This commit is contained in:
ClemensFischer 2026-01-15 21:48:53 +01:00
parent 4420b3dd03
commit 0173c4611a
8 changed files with 230 additions and 161 deletions

View file

@ -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}\"]]";
}
}

View file

@ -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}\"]]";
}
}

View file

@ -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}\"]]";
}
}

View file

@ -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}\"]]";
}
}

View file

@ -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<int, string> CoordinateSystemWkts { get; } = new Dictionary<int, string>
{
{
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\"]]"
}
};

View file

@ -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;

View file

@ -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\"]]";
}
}

View file

@ -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\"]]";
}