Parameterless constructors of projection classes

This commit is contained in:
ClemensFischer 2024-08-28 14:58:06 +02:00
parent 7637210211
commit ece82bd654
10 changed files with 77 additions and 11 deletions

View file

@ -18,7 +18,13 @@ namespace MapControl
{
public const string DefaultCrsId = "AUTO2:42004";
public AutoEquirectangularProjection(string crsId = DefaultCrsId)
public AutoEquirectangularProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public AutoEquirectangularProjection(string crsId)
{
Type = MapProjectionType.NormalCylindrical;
CrsId = crsId;

View file

@ -17,7 +17,13 @@ namespace MapControl
{
public const string DefaultCrsId = "AUTO2:97003"; // proprietary CRS ID
public AzimuthalEquidistantProjection(string crsId = DefaultCrsId)
public AzimuthalEquidistantProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public AzimuthalEquidistantProjection(string crsId)
{
CrsId = crsId;
}

View file

@ -19,7 +19,13 @@ namespace MapControl
{
public const string DefaultCrsId = "EPSG:4326";
public EquirectangularProjection(string crsId = DefaultCrsId)
public EquirectangularProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public EquirectangularProjection(string crsId)
{
Type = MapProjectionType.NormalCylindrical;
CrsId = crsId;

View file

@ -17,7 +17,13 @@ namespace MapControl
{
public const string DefaultCrsId = "AUTO2:97001"; // GeoServer non-standard CRS ID
public GnomonicProjection(string crsId = DefaultCrsId)
public GnomonicProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public GnomonicProjection(string crsId)
{
CrsId = crsId;
}

View file

@ -17,7 +17,13 @@ namespace MapControl
{
public const string DefaultCrsId = "AUTO2:42003";
public OrthographicProjection(string crsId = DefaultCrsId)
public OrthographicProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public OrthographicProjection(string crsId)
{
CrsId = crsId;
}

View file

@ -119,7 +119,13 @@ namespace MapControl
{
public const string DefaultCrsId = "EPSG:32661";
public UpsNorthProjection(string crsId = DefaultCrsId)
public UpsNorthProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public UpsNorthProjection(string crsId)
{
CrsId = crsId;
IsNorth = true;
@ -133,7 +139,13 @@ namespace MapControl
{
public const string DefaultCrsId = "EPSG:32761";
public UpsSouthProjection(string crsId = DefaultCrsId)
public UpsSouthProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public UpsSouthProjection(string crsId)
{
CrsId = crsId;
IsNorth = false;

View file

@ -17,7 +17,13 @@ namespace MapControl
{
public const string DefaultCrsId = "AUTO2:97002"; // GeoServer non-standard CRS ID
public StereographicProjection(string crsId = DefaultCrsId)
public StereographicProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public StereographicProjection(string crsId)
{
CrsId = crsId;
}

View file

@ -17,7 +17,13 @@ namespace MapControl
{
public const string DefaultCrsId = "EPSG:3857";
public WebMercatorProjection(string crsId = DefaultCrsId)
public WebMercatorProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public WebMercatorProjection(string crsId)
{
Type = MapProjectionType.WebMercator;
CrsId = crsId;

View file

@ -54,7 +54,13 @@ namespace MapControl
private readonly string autoCrsId;
public Wgs84AutoUtmProjection(string crsId = DefaultCrsId)
public Wgs84AutoUtmProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public Wgs84AutoUtmProjection(string crsId)
: base(31, true)
{
autoCrsId = crsId;

View file

@ -17,7 +17,13 @@ namespace MapControl
{
public const string DefaultCrsId = "EPSG:3395";
public WorldMercatorProjection(string crsId = DefaultCrsId)
public WorldMercatorProjection()
: this(DefaultCrsId)
{
// XAML needs parameterless constructor
}
public WorldMercatorProjection(string crsId)
{
Type = MapProjectionType.NormalCylindrical;
CrsId = crsId;