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