diff --git a/Source/DotSpatial.Projections/DotSpatial.Projections.csproj b/Source/DotSpatial.Projections/DotSpatial.Projections.csproj index b08759fc1..0ae6d561a 100644 --- a/Source/DotSpatial.Projections/DotSpatial.Projections.csproj +++ b/Source/DotSpatial.Projections/DotSpatial.Projections.csproj @@ -194,6 +194,7 @@ + ProjectionMessages.resx @@ -348,6 +349,9 @@ + + + diff --git a/Source/DotSpatial.Projections/ProjectedCategories/NationalGridsSweden.cs b/Source/DotSpatial.Projections/ProjectedCategories/NationalGridsSweden.cs index d5aa1db63..194f64515 100644 --- a/Source/DotSpatial.Projections/ProjectedCategories/NationalGridsSweden.cs +++ b/Source/DotSpatial.Projections/ProjectedCategories/NationalGridsSweden.cs @@ -66,131 +66,31 @@ public class NationalGridsSweden : CoordinateSystemCategory /// public NationalGridsSweden() { - // EPSG:3028 - RT380gon = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ", "EPSG", 3028); - // EPSG:3029 - RT3825gonO = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ", "EPSG", 3029); - // EPSG:3027 - RT3825gonV = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ", "EPSG", 3027); - // EPSG:3030 - RT385gonO = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ", "EPSG", 3030); - // EPSG:3026 - RT385gonV = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ", "EPSG", 3026); - // EPSG:3025 - RT3875gonV = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ", "EPSG", 3025); - // EPSG:3022 - RT900gon = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +towgs84=419.384,99.3335,591.345,0.850389,1.81728,-7.86224,-0.99496 +units=m +no_defs ", "EPSG", 3022); - // EPSG:3023 - RT9025gonO = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +towgs84=419.384,99.3335,591.345,0.850389,1.81728,-7.86224,-0.99496 +units=m +no_defs ", "EPSG", 3023); - // EPSG:3021 - RT9025gonV = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +towgs84=419.384,99.3335,591.345,0.850389,1.81728,-7.86224,-0.99496 +units=m +no_defs ", "EPSG", 3021); - // EPSG:3024 - RT905gonO = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +towgs84=419.384,99.3335,591.345,0.850389,1.81728,-7.86224,-0.99496 +units=m +no_defs ", "EPSG", 3024); - // EPSG:3020 - RT905gonV = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +towgs84=419.384,99.3335,591.345,0.850389,1.81728,-7.86224,-0.99496 +units=m +no_defs ", "EPSG", 3020); - // EPSG:3019 - RT9075gonV = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +towgs84=419.384,99.3335,591.345,0.850389,1.81728,-7.86224,-0.99496 +units=m +no_defs ", "EPSG", 3019); - // EPSG:3007 - SWEREF991200 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3007); - // EPSG:3008 - SWEREF991330 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3008); - // EPSG:3012 - SWEREF991415 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=14.25 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG"); - // EPSG:3009 - SWEREF991500 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3009); - // EPSG:3013 - SWEREF991545 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=15.75 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3013); - // EPSG:3010 - SWEREF991630 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3010); - // EPSG:3014 - SWEREF991715 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=17.25 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3014); - // EPSG:3011 - SWEREF991800 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=18 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3011); - // EPSG:3015 - SWEREF991845 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=18.75 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3015); - // EPSG:3016 - SWEREF992015 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=20.25 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3016); - // EPSG:3017 - SWEREF992145 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=21.75 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3017); - // EPSG:3018 - SWEREF992315 = ProjectionInfo.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=23.25 +k=1.000000 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3018); - // EPSG:3006 - SWEREF99TM = ProjectionInfo.FromProj4String("+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ", "EPSG", 3006); - RT380gon.Name = "RT38_0_gon"; - RT3825gonO.Name = "RT38_25_gon_O"; - RT3825gonV.Name = "RT38_25_gon_V"; - RT385gonO.Name = "RT38_5_gon_O"; - RT385gonV.Name = "RT38_5_gon_V"; - RT3875gonV.Name = "RT38_75_gon_V"; - RT900gon.Name = "RT90_0_gon"; - RT9025gonO.Name = "RT90_25_gon_O"; - RT9025gonV.Name = "RT90_25_gon_V"; - RT905gonO.Name = "RT90_5_gon_O"; - RT905gonV.Name = "RT90_5_gon_V"; - RT9075gonV.Name = "RT90_75_gon_V"; - SWEREF991200.Name = "SWEREF99_12_00"; - SWEREF991330.Name = "SWEREF99_13_30"; - SWEREF991415.Name = "SWEREF99_14_15"; - SWEREF991500.Name = "SWEREF99_15_00"; - SWEREF991545.Name = "SWEREF99_15_45"; - SWEREF991630.Name = "SWEREF99_16_30"; - SWEREF991715.Name = "SWEREF99_17_15"; - SWEREF991800.Name = "SWEREF99_18_00"; - SWEREF991845.Name = "SWEREF99_18_45"; - SWEREF992015.Name = "SWEREF99_20_15"; - SWEREF992145.Name = "SWEREF99_21_45"; - SWEREF992315.Name = "SWEREF99_23_15"; - SWEREF99TM.Name = "SWEREF99_TM"; - RT380gon.GeographicInfo.Name = "GCS_RT38"; - RT3825gonO.GeographicInfo.Name = "GCS_RT38"; - RT3825gonV.GeographicInfo.Name = "GCS_RT38"; - RT385gonO.GeographicInfo.Name = "GCS_RT38"; - RT385gonV.GeographicInfo.Name = "GCS_RT38"; - RT3875gonV.GeographicInfo.Name = "GCS_RT38"; - RT900gon.GeographicInfo.Name = "GCS_RT_1990"; - RT9025gonO.GeographicInfo.Name = "GCS_RT_1990"; - RT9025gonV.GeographicInfo.Name = "GCS_RT_1990"; - RT905gonO.GeographicInfo.Name = "GCS_RT_1990"; - RT905gonV.GeographicInfo.Name = "GCS_RT_1990"; - RT9075gonV.GeographicInfo.Name = "GCS_RT_1990"; - SWEREF991200.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991330.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991415.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991500.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991545.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991630.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991715.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991800.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF991845.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF992015.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF992145.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF992315.GeographicInfo.Name = "GCS_SWEREF99"; - SWEREF99TM.GeographicInfo.Name = "GCS_SWEREF99"; - RT380gon.GeographicInfo.Datum.Name = "D_Stockholm_1938"; - RT3825gonO.GeographicInfo.Datum.Name = "D_Stockholm_1938"; - RT3825gonV.GeographicInfo.Datum.Name = "D_Stockholm_1938"; - RT385gonO.GeographicInfo.Datum.Name = "D_Stockholm_1938"; - RT385gonV.GeographicInfo.Datum.Name = "D_Stockholm_1938"; - RT3875gonV.GeographicInfo.Datum.Name = "D_Stockholm_1938"; - RT900gon.GeographicInfo.Datum.Name = "D_RT_1990"; - RT9025gonO.GeographicInfo.Datum.Name = "D_RT_1990"; - RT9025gonV.GeographicInfo.Datum.Name = "D_RT_1990"; - RT905gonO.GeographicInfo.Datum.Name = "D_RT_1990"; - RT905gonV.GeographicInfo.Datum.Name = "D_RT_1990"; - RT9075gonV.GeographicInfo.Datum.Name = "D_RT_1990"; - SWEREF991200.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991330.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991415.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991500.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991545.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991630.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991715.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991800.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF991845.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF992015.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF992145.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF992315.GeographicInfo.Datum.Name = "D_SWEREF99"; - SWEREF99TM.GeographicInfo.Datum.Name = "D_SWEREF99"; + RT380gon = ProjectionInfo.FromEpsgCode(3028).SetNames("RT38_0_gon", "GCS_RT38", "D_Stockholm_1938"); + RT3825gonO = ProjectionInfo.FromEpsgCode(3029).SetNames("RT38_25_gon_O", "GCS_RT38", "D_Stockholm_1938"); + RT3825gonV = ProjectionInfo.FromEpsgCode(3027).SetNames("RT38_25_gon_V", "GCS_RT38", "D_Stockholm_1938"); + RT385gonO = ProjectionInfo.FromEpsgCode(3030).SetNames("RT38_5_gon_O", "GCS_RT38", "D_Stockholm_1938"); + RT385gonV = ProjectionInfo.FromEpsgCode(3026).SetNames("RT38_5_gon_V", "GCS_RT38", "D_Stockholm_1938"); + RT3875gonV = ProjectionInfo.FromEpsgCode(3025).SetNames("RT38_75_gon_V", "GCS_RT38", "D_Stockholm_1938"); + RT900gon = ProjectionInfo.FromEpsgCode(3022).SetNames("RT90_0_gon", "GCS_RT_1990", "D_RT_1990"); + RT9025gonO = ProjectionInfo.FromEpsgCode(3023).SetNames("RT90_25_gon_O", "GCS_RT_1990", "D_RT_1990"); + RT9025gonV = ProjectionInfo.FromEpsgCode(3021).SetNames("RT90_25_gon_V", "GCS_RT_1990", "D_RT_1990"); + RT905gonO = ProjectionInfo.FromEpsgCode(3024).SetNames("RT90_5_gon_O", "GCS_RT_1990", "D_RT_1990"); + RT905gonV = ProjectionInfo.FromEpsgCode(3020).SetNames("RT90_5_gon_V", "GCS_RT_1990", "D_RT_1990"); + RT9075gonV = ProjectionInfo.FromEpsgCode(3019).SetNames("RT90_75_gon_V", "GCS_RT_1990", "D_RT_1990"); + SWEREF991200 = ProjectionInfo.FromEpsgCode(3007).SetNames("SWEREF99_12_00", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991330 = ProjectionInfo.FromEpsgCode(3008).SetNames("SWEREF99_13_30", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991415 = ProjectionInfo.FromEpsgCode(3012).SetNames("SWEREF99_14_15", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991500 = ProjectionInfo.FromEpsgCode(3009).SetNames("SWEREF99_15_00", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991545 = ProjectionInfo.FromEpsgCode(3013).SetNames("SWEREF99_15_45", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991630 = ProjectionInfo.FromEpsgCode(3010).SetNames("SWEREF99_16_30", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991715 = ProjectionInfo.FromEpsgCode(3014).SetNames("SWEREF99_17_15", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991800 = ProjectionInfo.FromEpsgCode(3011).SetNames("SWEREF99_18_00", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF991845 = ProjectionInfo.FromEpsgCode(3015).SetNames("SWEREF99_18_45", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF992015 = ProjectionInfo.FromEpsgCode(3016).SetNames("SWEREF99_20_15", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF992145 = ProjectionInfo.FromEpsgCode(3017).SetNames("SWEREF99_21_45", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF992315 = ProjectionInfo.FromEpsgCode(3018).SetNames("SWEREF99_23_15", "GCS_SWEREF99", "D_SWEREF99"); + SWEREF99TM = ProjectionInfo.FromEpsgCode(3006).SetNames("SWEREF99_TM", "GCS_SWEREF99", "D_SWEREF99"); } #endregion diff --git a/Source/DotSpatial.Projections/ProjectionInfoExtensions.cs b/Source/DotSpatial.Projections/ProjectionInfoExtensions.cs new file mode 100644 index 000000000..0aa4a4941 --- /dev/null +++ b/Source/DotSpatial.Projections/ProjectionInfoExtensions.cs @@ -0,0 +1,20 @@ +namespace DotSpatial.Projections +{ + internal static class ProjectionInfoExtensions + { + /// + /// Sets names for given projection info + /// + /// Projection Info + /// Projection name + /// Geografic info name + /// Geografic info datu name + public static ProjectionInfo SetNames(this ProjectionInfo pi, string projectionName, string geograficInfoName, string datumName) + { + pi.Name = projectionName; + pi.GeographicInfo.Name = geograficInfoName; + pi.GeographicInfo.Datum.Name = datumName; + return pi; + } + } +} \ No newline at end of file