ArcGIS Explorer Component Help |
MapDisplay..::.CurrentCoordinateSystem Property |
MapDisplay Class Example See Also |
Assembly: ESRI.ArcGISExplorer (in ESRI.ArcGISExplorer.dll) Version: 2.0.0.1500 (2.0.0.1500)
Syntax
C# |
---|
public CoordinateSystem CurrentCoordinateSystem { get; } |
Visual Basic (Declaration) |
---|
Public ReadOnly Property CurrentCoordinateSystem As CoordinateSystem |
Field Value
The current coordinate system used by the MapDisplay.Remarks
The MapDisplay may use a different coordinate system to display the Map in 2D compared to 3D. You can use this property as a shortcut to determine the coordinate system of the current DisplayMode, as an alternative to using the separate CoordinateSystem2D or CoordinateSystem3D properties.
If MapItems in the Map have spatial data with a different CoordinateSystem to that of the MapDisplay, then the MapItems will be automatically reprojected into the CoordinateSystem of the display. Geographic transformations can be used to increase the accuracy of data reprojection; see the GeographicTransformation class for more information.
Examples
// Identify the CoordinateSystem of the current DisplayMode using the shortcut property. ESRI.ArcGISExplorer.Mapping.MapDisplay disp = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay; CoordinateSystem dispCS = disp.CurrentCoordinateSystem; // Iterate all Layers in the Map. StringBuilder sameCs = new StringBuilder(Environment.NewLine); StringBuilder diffCs = new StringBuilder(Environment.NewLine); System.Collections.ObjectModel.ReadOnlyCollection<Layer> layers = disp.Map.GetMapItems<Layer>(); foreach (Layer lyr in layers) { // Show information about the CoordinateSystem using the overloaded ToString method. string info = lyr.Name + ": " + lyr.CoordinateSystem.ToString(); // Compare the systems using the Id property. if (lyr.CoordinateSystem.Id == dispCS.Id) sameCs.AppendLine(info); else diffCs.AppendLine(info); } // Show the results. MessageBox.Show("Layers which are automatically reprojected: " + diffCs.ToString() + Environment.NewLine + "Layers which do not require reprojecting: " + sameCs.ToString(), "Layer Coordinate Systems");
' Identify the CoordinateSystem of the current DisplayMode using the shortcut property. Dim disp As ESRI.ArcGISExplorer.Mapping.MapDisplay = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay Dim dispCS As CoordinateSystem = disp.CurrentCoordinateSystem ' Iterate all Layers in the Map. Dim sameCs As New StringBuilder(Environment.NewLine) Dim diffCs As New StringBuilder(Environment.NewLine) Dim layers As System.Collections.ObjectModel.ReadOnlyCollection(Of Layer) = disp.Map.GetMapItems(Of Layer)() Dim lyr As Layer For Each lyr In layers ' Show information about the CoordinateSystem using the overloaded ToString method. Dim info As String = lyr.Name & ": " & lyr.CoordinateSystem.ToString() ' Compare the systems using the Id property. If lyr.CoordinateSystem.Id = dispCS.Id Then sameCs.AppendLine(info) Else diffCs.AppendLine(info) End If Next lyr ' Show the results. MessageBox.Show("Layers which are automatically reprojected: " + diffCs.ToString() + Environment.NewLine + _ "Layers which do not require reprojecting: " + sameCs.ToString(), _ "Layer Coordinate Systems")