mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Version 4.10.0: Added MapProjections library project.
This commit is contained in:
parent
30498bf593
commit
8c2cd92fe4
|
|
@ -19,11 +19,6 @@ namespace MapControl
|
||||||
{
|
{
|
||||||
public Location ProjectionCenter { get; private set; } = new Location();
|
public Location ProjectionCenter { get; private set; } = new Location();
|
||||||
|
|
||||||
public override Vector GetMapScale(Location location)
|
|
||||||
{
|
|
||||||
return new Vector(ViewportScale, ViewportScale);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override Rect BoundingBoxToRect(BoundingBox boundingBox)
|
public override Rect BoundingBoxToRect(BoundingBox boundingBox)
|
||||||
{
|
{
|
||||||
var cbbox = boundingBox as CenteredBoundingBox;
|
var cbbox = boundingBox as CenteredBoundingBox;
|
||||||
|
|
|
||||||
|
|
@ -353,7 +353,7 @@ namespace MapControl
|
||||||
var rect = MapProjection.BoundingBoxToRect(boundingBox);
|
var rect = MapProjection.BoundingBoxToRect(boundingBox);
|
||||||
var center = new Point(rect.X + rect.Width / 2d, rect.Y + rect.Height / 2d);
|
var center = new Point(rect.X + rect.Width / 2d, rect.Y + rect.Height / 2d);
|
||||||
var scale = Math.Min(RenderSize.Width / rect.Width, RenderSize.Height / rect.Height)
|
var scale = Math.Min(RenderSize.Width / rect.Width, RenderSize.Height / rect.Height)
|
||||||
* MapProjection.TrueScale / MapProjection.PixelPerDegree;
|
* MapProjection.TrueScale / MapProjection.PixelPerDegree;
|
||||||
|
|
||||||
TargetZoomLevel = Math.Log(scale, 2d);
|
TargetZoomLevel = Math.Log(scale, 2d);
|
||||||
TargetCenter = MapProjection.PointToLocation(center);
|
TargetCenter = MapProjection.PointToLocation(center);
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,10 @@ namespace MapControl
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the map scale at the specified Location as viewport coordinate units per meter (px/m).
|
/// Gets the map scale at the specified Location as viewport coordinate units per meter (px/m).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract Vector GetMapScale(Location location);
|
public virtual Vector GetMapScale(Location location)
|
||||||
|
{
|
||||||
|
return new Vector(ViewportScale, ViewportScale);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Transforms a Location in geographic coordinates to a Point in cartesian map coordinates.
|
/// Transforms a Location in geographic coordinates to a Point in cartesian map coordinates.
|
||||||
|
|
|
||||||
235
MapControlExtended.sln
Normal file
235
MapControlExtended.sln
Normal file
|
|
@ -0,0 +1,235 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 15
|
||||||
|
VisualStudioVersion = 15.0.27130.2036
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MapControl", "MapControl", "{52AECE49-F314-4F76-98F2-FA800F07824B}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapControl.WPF", "MapControl\WPF\MapControl.WPF.csproj", "{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SampleApps", "SampleApps", "{8F2103C2-78AF-4810-8FB9-67572F50C8FC}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalApp", "SampleApps\UniversalApp\UniversalApp.csproj", "{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MBTiles", "MBTiles", "{CEAD0EA1-A971-4F5F-9EAE-C72F75D1F737}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MBTiles.WPF", "MBTiles\WPF\MBTiles.WPF.csproj", "{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FileDbCache", "FileDbCache", "{261905DE-9653-4567-B498-1F46BEA2A4F3}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileDbCache.WPF", "FileDbCache\WPF\FileDbCache.WPF.csproj", "{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileDbCache.UWP", "FileDbCache\UWP\FileDbCache.UWP.csproj", "{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapControl.UWP", "MapControl\UWP\MapControl.UWP.csproj", "{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MBTiles.UWP", "MBTiles\UWP\MBTiles.UWP.csproj", "{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MapProjections", "MapProjections", "{7BC11E28-8D3B-4C5B-AC08-AB249CC95F6D}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapProjections.WPF", "MapProjections\WPF\MapProjections.WPF.csproj", "{426C21C0-5F14-491F-BCD1-6D2993510420}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfApplication", "SampleApps\WpfApplication\WpfApplication.csproj", "{F92DA93D-75DB-4308-A5F9-6B4C3908A675}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapProjections.UWP", "MapProjections\UWP\MapProjections.UWP.csproj", "{9EE69591-5EDC-45E3-893E-2F9A4B82D538}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|ARM = Debug|ARM
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|ARM = Release|ARM
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|Any CPU.Build.0 = Debug|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|Any CPU.Deploy.0 = Debug|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|ARM.Build.0 = Debug|ARM
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x64.Deploy.0 = Debug|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x86.Deploy.0 = Debug|x86
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|Any CPU.ActiveCfg = Release|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|Any CPU.Build.0 = Release|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|Any CPU.Deploy.0 = Release|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|ARM.ActiveCfg = Release|ARM
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|ARM.Build.0 = Release|ARM
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|ARM.Deploy.0 = Release|ARM
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x64.Build.0 = Release|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x64.Deploy.0 = Release|x64
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x86.Build.0 = Release|x86
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x86.Deploy.0 = Release|x86
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{A204A102-C745-4D65-AEC8-7B96FAEDEF2D} = {52AECE49-F314-4F76-98F2-FA800F07824B}
|
||||||
|
{AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1} = {8F2103C2-78AF-4810-8FB9-67572F50C8FC}
|
||||||
|
{38B18AB6-6E70-4696-8FB4-E8C8E12BF50C} = {CEAD0EA1-A971-4F5F-9EAE-C72F75D1F737}
|
||||||
|
{AD1CB53E-7AA4-4EC0-B901-B4E0E2665133} = {261905DE-9653-4567-B498-1F46BEA2A4F3}
|
||||||
|
{BEEB142A-5FA3-468D-810A-32A4A5BD6D5D} = {261905DE-9653-4567-B498-1F46BEA2A4F3}
|
||||||
|
{9545F73C-9C35-4CF6-BAAE-19A0BAEBD344} = {52AECE49-F314-4F76-98F2-FA800F07824B}
|
||||||
|
{DCC111E9-EC8B-492A-A09D-DF390D83AE8D} = {CEAD0EA1-A971-4F5F-9EAE-C72F75D1F737}
|
||||||
|
{426C21C0-5F14-491F-BCD1-6D2993510420} = {7BC11E28-8D3B-4C5B-AC08-AB249CC95F6D}
|
||||||
|
{F92DA93D-75DB-4308-A5F9-6B4C3908A675} = {8F2103C2-78AF-4810-8FB9-67572F50C8FC}
|
||||||
|
{9EE69591-5EDC-45E3-893E-2F9A4B82D538} = {7BC11E28-8D3B-4C5B-AC08-AB249CC95F6D}
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {458346DD-B23F-4FDC-8F9D-A10F1882A4DB}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
92
MapProjections/Shared/GeoApiProjection.cs
Normal file
92
MapProjections/Shared/GeoApiProjection.cs
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
// XAML Map Control - https://github.com/ClemensFischer/XAML-Map-Control
|
||||||
|
// © 2018 Clemens Fischer
|
||||||
|
// Licensed under the Microsoft Public License (Ms-PL)
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Text;
|
||||||
|
#if !WINDOWS_UWP
|
||||||
|
using System.Windows;
|
||||||
|
#endif
|
||||||
|
using GeoAPI.CoordinateSystems;
|
||||||
|
using GeoAPI.CoordinateSystems.Transformations;
|
||||||
|
using ProjNet.Converters.WellKnownText;
|
||||||
|
using ProjNet.CoordinateSystems;
|
||||||
|
using ProjNet.CoordinateSystems.Transformations;
|
||||||
|
|
||||||
|
namespace MapControl.Projections
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// MapProjection based on ProjNET4GeoApi.
|
||||||
|
/// </summary>
|
||||||
|
public class GeoApiProjection : MapProjection
|
||||||
|
{
|
||||||
|
private ICoordinateTransformation coordinateTransform;
|
||||||
|
private IMathTransform mathTransform;
|
||||||
|
private IMathTransform inverseTransform;
|
||||||
|
private string wkt;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the underlying ICoordinateTransformation instance.
|
||||||
|
/// Setting this property updates the CrsId property.
|
||||||
|
/// </summary>
|
||||||
|
public ICoordinateTransformation CoordinateTransform
|
||||||
|
{
|
||||||
|
get { return coordinateTransform; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
coordinateTransform = value;
|
||||||
|
mathTransform = coordinateTransform.MathTransform;
|
||||||
|
inverseTransform = mathTransform.Inverse();
|
||||||
|
|
||||||
|
if (coordinateTransform.TargetCS != null &&
|
||||||
|
!string.IsNullOrEmpty(coordinateTransform.TargetCS.Authority) &&
|
||||||
|
coordinateTransform.TargetCS.AuthorityCode > 0)
|
||||||
|
{
|
||||||
|
CrsId = string.Format("{0}:{1}", coordinateTransform.TargetCS.Authority, coordinateTransform.TargetCS.AuthorityCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get or sets an OGC Well-known text representation of a projected coordinate system,
|
||||||
|
/// e.g. a PROJCS[...] string as used by https://epsg.io or http://spatialreference.org.
|
||||||
|
/// Setting this property updates the CoordinateTransform property.
|
||||||
|
/// </summary>
|
||||||
|
public string Wkt
|
||||||
|
{
|
||||||
|
get { return wkt; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
var sourceCs = GeographicCoordinateSystem.WGS84;
|
||||||
|
var targetCs = (ICoordinateSystem)CoordinateSystemWktReader.Parse(value, Encoding.UTF8);
|
||||||
|
|
||||||
|
CoordinateTransform = new CoordinateTransformationFactory().CreateFromCoordinateSystems(sourceCs, targetCs);
|
||||||
|
wkt = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override Point LocationToPoint(Location location)
|
||||||
|
{
|
||||||
|
if (mathTransform == null)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("The Wkt property is not set or not valid.");
|
||||||
|
}
|
||||||
|
|
||||||
|
var xy = mathTransform.Transform(new double[] { location.Longitude, location.Latitude });
|
||||||
|
|
||||||
|
return new Point(xy[0], xy[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override Location PointToLocation(Point point)
|
||||||
|
{
|
||||||
|
if (inverseTransform == null)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("The Wkt property is not set or not valid.");
|
||||||
|
}
|
||||||
|
|
||||||
|
var lonLat = inverseTransform.Transform(new double[] { point.X, point.Y });
|
||||||
|
|
||||||
|
return new Location(lonLat[1], lonLat[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
55
MapProjections/Shared/UtmProjection.cs
Normal file
55
MapProjections/Shared/UtmProjection.cs
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
// XAML Map Control - https://github.com/ClemensFischer/XAML-Map-Control
|
||||||
|
// © 2018 Clemens Fischer
|
||||||
|
// Licensed under the Microsoft Public License (Ms-PL)
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace MapControl.Projections
|
||||||
|
{
|
||||||
|
public class UtmProjection : GeoApiProjection
|
||||||
|
{
|
||||||
|
private static readonly string wktFormat = "PROJCS[\"WGS 84 / UTM zone {0}\", GEOGCS[\"WGS 84\", DATUM[\"WGS_1984\", SPHEROID[\"WGS 84\", 6378137, 298.257223563, AUTHORITY[\"EPSG\", \"7030\"]], AUTHORITY[\"EPSG\", \"6326\"]], PRIMEM[\"Greenwich\", 0, AUTHORITY[\"EPSG\", \"8901\"]], UNIT[\"degree\", 0.01745329251994328, AUTHORITY[\"EPSG\", \"9122\"]], AUTHORITY[\"EPSG\", \"4326\"]], UNIT[\"metre\", 1, AUTHORITY[\"EPSG\", \"9001\"]], PROJECTION[\"Transverse_Mercator\"], PARAMETER[\"latitude_of_origin\", 0], PARAMETER[\"central_meridian\", {1}], PARAMETER[\"scale_factor\", 0.9996], PARAMETER[\"false_easting\", 500000], PARAMETER[\"false_northing\", {2}], AUTHORITY[\"EPSG\", \"{3}\"], AXIS[\"Easting\", EAST], AXIS[\"Northing\", NORTH]]";
|
||||||
|
|
||||||
|
private string zoneName;
|
||||||
|
|
||||||
|
public string ZoneName
|
||||||
|
{
|
||||||
|
get { return zoneName; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
var zoneNumber = 0;
|
||||||
|
var falseNorthing = 0;
|
||||||
|
var epsgCode = 0;
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(value))
|
||||||
|
{
|
||||||
|
if (value.EndsWith("N"))
|
||||||
|
{
|
||||||
|
epsgCode = 32600;
|
||||||
|
}
|
||||||
|
else if (value.EndsWith("S"))
|
||||||
|
{
|
||||||
|
falseNorthing = 10000000;
|
||||||
|
epsgCode = 32700;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (epsgCode > 0)
|
||||||
|
{
|
||||||
|
int.TryParse(value.Substring(0, value.Length - 1), out zoneNumber);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (zoneNumber < 1 || zoneNumber > 60)
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Invalid UTM zone name.");
|
||||||
|
}
|
||||||
|
|
||||||
|
zoneName = value;
|
||||||
|
epsgCode += zoneNumber;
|
||||||
|
|
||||||
|
Wkt = string.Format(wktFormat, zoneName, 6 * zoneNumber - 183, falseNorthing, epsgCode);
|
||||||
|
TrueScale = 0.9996 * MetersPerDegree;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
77
MapProjections/UWP/MapProjections.UWP.csproj
Normal file
77
MapProjections/UWP/MapProjections.UWP.csproj
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{9EE69591-5EDC-45E3-893E-2F9A4B82D538}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>MapControl.Projections</RootNamespace>
|
||||||
|
<AssemblyName>MapProjections.UWP</AssemblyName>
|
||||||
|
<DefaultLanguage>en-US</DefaultLanguage>
|
||||||
|
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
|
||||||
|
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.10586.0</TargetPlatformVersion>
|
||||||
|
<TargetPlatformMinVersion>10.0.10586.0</TargetPlatformMinVersion>
|
||||||
|
<MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="..\Shared\GeoApiProjection.cs">
|
||||||
|
<Link>GeoApiProjection.cs</Link>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="..\Shared\UtmProjection.cs">
|
||||||
|
<Link>UtmProjection.cs</Link>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<EmbeddedResource Include="Properties\MapProjections.UWP.rd.xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
|
||||||
|
<Version>6.1.7</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="ProjNET4GeoAPI">
|
||||||
|
<Version>1.4.1</Version>
|
||||||
|
</PackageReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\MapControl\UWP\MapControl.UWP.csproj">
|
||||||
|
<Project>{9545f73c-9c35-4cf6-baae-19a0baebd344}</Project>
|
||||||
|
<Name>MapControl.UWP</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' ">
|
||||||
|
<VisualStudioVersion>14.0</VisualStudioVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
14
MapProjections/UWP/Properties/AssemblyInfo.cs
Normal file
14
MapProjections/UWP/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
[assembly: AssemblyTitle("XAML Map Control Projections (UWP)")]
|
||||||
|
[assembly: AssemblyDescription("Map Projections Library for XAML Map Control")]
|
||||||
|
[assembly: AssemblyProduct("XAML Map Control")]
|
||||||
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
|
[assembly: AssemblyCopyright("© 2018 Clemens Fischer")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyVersion("4.10.0")]
|
||||||
|
[assembly: AssemblyFileVersion("4.10.0")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
33
MapProjections/UWP/Properties/MapProjections.UWP.rd.xml
Normal file
33
MapProjections/UWP/Properties/MapProjections.UWP.rd.xml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file contains Runtime Directives, specifications about types your application accesses
|
||||||
|
through reflection and other dynamic code patterns. Runtime Directives are used to control the
|
||||||
|
.NET Native optimizer and ensure that it does not remove code accessed by your library. If your
|
||||||
|
library does not do any reflection, then you generally do not need to edit this file. However,
|
||||||
|
if your library reflects over types, especially types passed to it or derived from its types,
|
||||||
|
then you should write Runtime Directives.
|
||||||
|
|
||||||
|
The most common use of reflection in libraries is to discover information about types passed
|
||||||
|
to the library. Runtime Directives have three ways to express requirements on types passed to
|
||||||
|
your library.
|
||||||
|
|
||||||
|
1. Parameter, GenericParameter, TypeParameter, TypeEnumerableParameter
|
||||||
|
Use these directives to reflect over types passed as a parameter.
|
||||||
|
|
||||||
|
2. SubTypes
|
||||||
|
Use a SubTypes directive to reflect over types derived from another type.
|
||||||
|
|
||||||
|
3. AttributeImplies
|
||||||
|
Use an AttributeImplies directive to indicate that your library needs to reflect over
|
||||||
|
types or methods decorated with an attribute.
|
||||||
|
|
||||||
|
For more information on writing Runtime Directives for libraries, please visit
|
||||||
|
https://go.microsoft.com/fwlink/?LinkID=391919
|
||||||
|
-->
|
||||||
|
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
|
||||||
|
<Library Name="MapProjections.UWP">
|
||||||
|
|
||||||
|
<!-- add directives for your library here -->
|
||||||
|
|
||||||
|
</Library>
|
||||||
|
</Directives>
|
||||||
78
MapProjections/WPF/MapProjections.WPF.csproj
Normal file
78
MapProjections/WPF/MapProjections.WPF.csproj
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{426C21C0-5F14-491F-BCD1-6D2993510420}</ProjectGuid>
|
||||||
|
<OutputType>library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>MapControl.Projections</RootNamespace>
|
||||||
|
<AssemblyName>MapProjections.WPF</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="GeoAPI, Version=1.7.5.0, Culture=neutral, PublicKeyToken=a1a0da7def465678, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\GeoAPI.Core.1.7.5\lib\net45\GeoAPI.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="GeoAPI.CoordinateSystems, Version=1.7.5.0, Culture=neutral, PublicKeyToken=a1a0da7def465678, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\GeoAPI.CoordinateSystems.1.7.5\lib\net45\GeoAPI.CoordinateSystems.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="ProjNET, Version=1.4.0.0, Culture=neutral, PublicKeyToken=a1f5bdcd9c6f5740, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\ProjNET4GeoAPI.1.4.1\lib\net45\ProjNET.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="WindowsBase" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="..\Shared\GeoApiProjection.cs">
|
||||||
|
<Link>GeoApiProjection.cs</Link>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="..\Shared\UtmProjection.cs">
|
||||||
|
<Link>UtmProjection.cs</Link>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<AppDesigner Include="Properties\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\MapControl\WPF\MapControl.WPF.csproj">
|
||||||
|
<Project>{a204a102-c745-4d65-aec8-7b96faedef2d}</Project>
|
||||||
|
<Name>MapControl.WPF</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
14
MapProjections/WPF/Properties/AssemblyInfo.cs
Normal file
14
MapProjections/WPF/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
[assembly: AssemblyTitle("XAML Map Control Projections (WPF)")]
|
||||||
|
[assembly: AssemblyDescription("Map Projections Library for XAML Map Control")]
|
||||||
|
[assembly: AssemblyProduct("XAML Map Control")]
|
||||||
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
|
[assembly: AssemblyCopyright("© 2018 Clemens Fischer")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyVersion("4.10.0")]
|
||||||
|
[assembly: AssemblyFileVersion("4.10.0")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
26
MapProjections/WPF/Properties/Settings.Designer.cs
generated
Normal file
26
MapProjections/WPF/Properties/Settings.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace MapProjections.WPF.Properties {
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default {
|
||||||
|
get {
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
6
MapProjections/WPF/packages.config
Normal file
6
MapProjections/WPF/packages.config
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="GeoAPI.CoordinateSystems" version="1.7.5" targetFramework="net461" />
|
||||||
|
<package id="GeoAPI.Core" version="1.7.5" targetFramework="net461" />
|
||||||
|
<package id="ProjNET4GeoAPI" version="1.4.1" targetFramework="net472" />
|
||||||
|
</packages>
|
||||||
Loading…
Reference in a new issue