/// <summary> /// Update the CIMPointGraphic location /// </summary> /// <param name="point"></param> public void UpdateLocation(PointN point) { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(point.SpatialReference.WKID); MapPoint mapPoint = MapPointBuilder.CreateMapPoint(point.X, point.Y, sptlRef); _graphic.Location = mapPoint; }
/// <summary> /// Create a CIMPointGaphic which can be added to the MapView overlay. /// </summary> /// <param name="point">The location for the point (as a CIM point)</param> /// <returns></returns> public CIMPointGraphic MakeCIMPointGraphic(PointN point) { CIMMarker marker = SymbolFactory.Instance.ConstructMarker(Red, 10, SimpleMarkerStyle.Star); CIMSymbolLayer[] layers = new CIMSymbolLayer[1]; layers[0] = marker; CIMPointSymbol pointSymbol = new CIMPointSymbol() { SymbolLayers = layers, ScaleX = 1 }; CIMSymbolReference symbolRef = new CIMSymbolReference() { Symbol = pointSymbol }; CIMPointGraphic pointGraphic = new CIMPointGraphic(); ArcGIS.Core.Geometry.SpatialReference spatialRef = SpatialReferenceBuilder.CreateSpatialReference(point.SpatialReference.WKID); MapPoint mapPoint = MapPointBuilder.CreateMapPoint(point.X, point.Y, spatialRef); pointGraphic.Location = mapPoint; pointGraphic.Symbol = symbolRef; return(pointGraphic); }
/// <summary> /// Zoom to the specified location /// </summary> /// <param name="extent">The extent of the geocoded candidate</param> /// <returns></returns> public static Task ZoomToLocation(CandidateExtent extent) { return(QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference spatialReference = SpatialReferenceBuilder.CreateSpatialReference(extent.WKID); ArcGIS.Core.Geometry.Envelope envelope = EnvelopeBuilder.CreateEnvelope(extent.XMin, extent.YMin, extent.XMax, extent.YMax, spatialReference); //apply extent MapView.Active.ZoomTo(GeometryEngine.Expand(envelope, 3, 3, true)); })); }
public override void Project(int factoryCode) { var temp = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference spatialReference = SpatialReferenceBuilder.CreateSpatialReference(factoryCode); Point = (MapPoint)GeometryEngine.Project(Point, spatialReference); return(true); }).Result; }
public async Task <MapPoint> ToMapPoint() { if (_mapPoint == null) { await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sr = SpatialReferenceBuilder.CreateSpatialReference(WKID); _mapPoint = MapPointBuilder.CreateMapPoint(Feature.Location.X, Feature.Location.Y, sr); }); } return(_mapPoint); }
private void CreateSpatialReference() { if (string.IsNullOrEmpty(SRSName)) { ArcGisSpatialReference = null; } else { string strsrs = SRSName.Replace("EPSG:", string.Empty); if (int.TryParse(strsrs, out var srs)) { try { ArcGisSpatialReference = SpatialReferenceBuilder.CreateSpatialReference(srs); } catch (ArgumentException) { if (string.IsNullOrEmpty(CompatibleSRSNames)) { ArcGisSpatialReference = null; } else { strsrs = CompatibleSRSNames.Replace("EPSG:", string.Empty); if (int.TryParse(strsrs, out srs)) { try { ArcGisSpatialReference = SpatialReferenceBuilder.CreateSpatialReference(srs); } catch (ArgumentException) { ArcGisSpatialReference = null; } } else { ArcGisSpatialReference = null; } } } } else { ArcGisSpatialReference = null; } } }
private CoordinateType GetCoordinateType(string input, out MapPoint point) { point = null; // DD CoordinateDD dd; if (CoordinateDD.TryParse(input, out dd)) { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DD); } // DDM CoordinateDDM ddm; if (CoordinateDDM.TryParse(input, out ddm)) { dd = new CoordinateDD(ddm); point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DDM); } // DMS CoordinateDMS dms; if (CoordinateDMS.TryParse(input, out dms)) { dd = new CoordinateDD(dms); point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DMS); } return(CoordinateType.Unknown); }
/// Camera /// <example> /// <code title="Camera Dock Pane" description="Create a dock pane showing the camera properties for the active map view." source="..\..\ArcGIS\SharedArcGIS\SDK\Examples\ArcGIS.Desktop.Mapping\MapExploration\CameraDockPane.xaml" lang="XAML"/> /// <code source="..\..\ArcGIS\SharedArcGIS\SDK\Examples\ArcGIS.Desktop.Mapping\MapExploration\CameraDockPane.xaml.cs" lang="CS"/> /// <code source="..\..\ArcGIS\SharedArcGIS\SDK\Examples\ArcGIS.Desktop.Mapping\MapExploration\CameraDockPaneViewModel.cs" lang="CS"/> /// </example> /// Camera.Heading /// <example> /// <code title="Rotate Map View" description="Rotate the active map view." region="Rotate Map View Asynchronous" source="..\..\ArcGIS\SharedArcGIS\SDK\Examples\ArcGIS.Desktop.Mapping\MapExploration\MapView_Examples.cs" lang="CS"/> /// </example> /// Camera.SpatialReference /// <example> /// <code title="Project Camera" description="Project a camera into a new spatial reference." region="Project Camera" source="..\..\ArcGIS\SharedArcGIS\SDK\Examples\ArcGIS.Desktop.Mapping\MapExploration\Camera_Examples.cs" lang="CS"/> /// </example> #region Project Camera public Task <Camera> ProjectCamera(Camera camera, ArcGIS.Core.Geometry.SpatialReference spatialReference) { return(QueuedTask.Run(() => { var mapPoint = MapPointBuilder.CreateMapPoint(camera.X, camera.Y, camera.Z, camera.SpatialReference); var newPoint = GeometryEngine.Instance.Project(mapPoint, spatialReference) as MapPoint; var newCamera = new Camera() { X = newPoint.X, Y = newPoint.Y, Z = newPoint.Z, Scale = camera.Scale, Pitch = camera.Pitch, Heading = camera.Heading, Roll = camera.Roll, Viewpoint = camera.Viewpoint, SpatialReference = spatialReference }; return newCamera; })); }
private async void OnFlashPointCommand(object obj) { CoordinateDD dd; var ctvm = CTView.Resources["CTViewModel"] as CoordinateToolViewModel; if (ctvm != null) { if (!CoordinateDD.TryParse(ctvm.InputCoordinate, out dd)) { return; } } else { return; } ArcGIS.Core.CIM.CIMPointSymbol symbol = null; var point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }); await QueuedTask.Run(() => { // Construct point symbol symbol = SymbolFactory.ConstructPointSymbol(ColorFactory.Red, 10.0, SimpleMarkerStyle.Star); }); //Get symbol reference from the symbol CIMSymbolReference symbolReference = symbol.MakeSymbolReference(); await QueuedTask.Run(() => { ClearOverlay(); _overlayObject = MapView.Active.AddOverlay(point, symbolReference); MapView.Active.ZoomToAsync(point, new TimeSpan(2500000), true); }); }
private CoordinateType GetCoordinateType(string input, out MapPoint point) { point = null; // DD CoordinateDD dd; if (CoordinateDD.TryParse(input, out dd)) { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DD); } // DDM CoordinateDDM ddm; if (CoordinateDDM.TryParse(input, out ddm)) { dd = new CoordinateDD(ddm); point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DDM); } // DMS CoordinateDMS dms; if (CoordinateDMS.TryParse(input, out dms)) { dd = new CoordinateDD(dms); point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DMS); } CoordinateGARS gars; if (CoordinateGARS.TryParse(input, out gars)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(gars.ToString("", new CoordinateGARSFormatter()), sptlRef, GeoCoordinateType.GARS, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.GARS); } catch { } } CoordinateMGRS mgrs; if (CoordinateMGRS.TryParse(input, out mgrs)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(mgrs.ToString("", new CoordinateMGRSFormatter()), sptlRef, GeoCoordinateType.MGRS, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.MGRS); } catch { } } CoordinateUSNG usng; if (CoordinateUSNG.TryParse(input, out usng)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(usng.ToString("", new CoordinateMGRSFormatter()), sptlRef, GeoCoordinateType.USNG, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.USNG); } catch { } } CoordinateUTM utm; if (CoordinateUTM.TryParse(input, out utm)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(utm.ToString("", new CoordinateUTMFormatter()), sptlRef, GeoCoordinateType.UTM, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.UTM); } catch { } } return(CoordinateType.Unknown); }
private async void OnFlashPointCommand(object obj) { var previous = IsToolActive; if (!IsToolActive) { IsToolActive = true; } CoordinateDD dd; var ctvm = CTView.Resources["CTViewModel"] as CoordinateConversionViewModel; if (ctvm != null) { if (!CoordinateDD.TryParse(ctvm.InputCoordinate, out dd)) { return; } } else { return; } ArcGIS.Core.CIM.CIMPointSymbol symbol = null; var point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }); //await QueuedTask.Run(() => //{ // // Construct point symbol // symbol = SymbolFactory.ConstructPointSymbol(ColorFactory.Red, 10.0, SimpleMarkerStyle.Star); //}); ////Get symbol reference from the symbol //CIMSymbolReference symbolReference = symbol.MakeSymbolReference(); //QueuedTask.Run(() => //{ // ClearOverlay(); // _overlayObject = MapView.Active.AddOverlay(point, symbolReference); // //MapView.Active.ZoomToAsync(point, new TimeSpan(2500000), true); //}); QueuedTask.Run(() => { Mediator.NotifyColleagues("UPDATE_FLASH", point); }); //await QueuedTask.Run(() => //{ // Task.Delay(500); // ClearOverlay(); // //_overlayObject = MapView.Active.AddOverlay(point, symbolReference); // //MapView.Active.ZoomToAsync(point, new TimeSpan(2500000), true); //}); //if (previous != IsToolActive) // IsToolActive = previous; //await QueuedTask.Run(() => //{ // Task.Delay(500); // ClearOverlay(); // MapView.Active.LookAt(MapView.Active.Extent.Center); //}); }
private async Task <CCCoordinate> GetCoordinateType(string input) { MapPoint point = null; // DD CoordinateDD dd; if (CoordinateDD.TryParse(input, out dd, true)) { if (dd.Lat > 90 || dd.Lat < -90 || dd.Lon > 180 || dd.Lon < -180) { return new CCCoordinate() { Type = CoordinateType.Unknown, Point = null } } ; point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); });//.Result; return(new CCCoordinate() { Type = CoordinateType.DD, Point = point, PointInformation = dd }); } // DDM CoordinateDDM ddm; if (CoordinateDDM.TryParse(input, out ddm, true)) { dd = new CoordinateDD(ddm); if (dd.Lat > 90 || dd.Lat < -90 || dd.Lon > 180 || dd.Lon < -180) { return new CCCoordinate() { Type = CoordinateType.Unknown, Point = null } } ; point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); });//.Result; return(new CCCoordinate() { Type = CoordinateType.DDM, Point = point, PointInformation = ddm }); } // DMS CoordinateDMS dms; if (CoordinateDMS.TryParse(input, out dms, true)) { dd = new CoordinateDD(dms); if (dd.Lat > 90 || dd.Lat < -90 || dd.Lon > 180 || dd.Lon < -180) { return new CCCoordinate() { Type = CoordinateType.Unknown, Point = null } } ; point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); });//.Result; return(new CCCoordinate() { Type = CoordinateType.DMS, Point = point, PointInformation = dms }); } CoordinateGARS gars; if (CoordinateGARS.TryParse(input, out gars)) { try { point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(gars.ToString("", new CoordinateGARSFormatter()), sptlRef, GeoCoordinateType.GARS, FromGeoCoordinateMode.Default); return(tmp); });//.Result; return(new CCCoordinate() { Type = CoordinateType.GARS, Point = point, PointInformation = gars }); } catch { } } CoordinateMGRS mgrs; if (CoordinateMGRS.TryParse(input, out mgrs)) { try { point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(mgrs.ToString(), sptlRef, GeoCoordinateType.MGRS, FromGeoCoordinateMode.Default); return(tmp); });//.Result; return(new CCCoordinate() { Type = CoordinateType.MGRS, Point = point, PointInformation = mgrs }); } catch { } } CoordinateUSNG usng; if (CoordinateUSNG.TryParse(input, out usng)) { try { point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(usng.ToString("", new CoordinateMGRSFormatter()), sptlRef, GeoCoordinateType.USNG, FromGeoCoordinateMode.Default); return(tmp); });//.Result; return(new CCCoordinate() { Type = CoordinateType.USNG, Point = point, PointInformation = usng }); } catch { } } CoordinateUTM utm; if (CoordinateUTM.TryParse(input, out utm)) { try { point = await QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(utm.ToString("", new CoordinateUTMFormatter()), sptlRef, GeoCoordinateType.UTM, FromGeoCoordinateMode.Default); return(tmp); });//.Result; return(new CCCoordinate() { Type = CoordinateType.UTM, Point = point, PointInformation = utm }); } catch { } } /* * Updated RegEx to capture invalid coordinates like 00, 45, or 456987. */ Regex regexMercator = new Regex(@"^(?<latitude>\-?\d+[.,]?\d*)[+,;:\s]{1,}(?<longitude>\-?\d+[.,]?\d*)"); var matchMercator = regexMercator.Match(input); if (matchMercator.Success && matchMercator.Length == input.Length) { try { var Lat = Double.Parse(matchMercator.Groups["latitude"].Value); var Lon = Double.Parse(matchMercator.Groups["longitude"].Value); var sr = proCoordGetter.Point != null ? proCoordGetter.Point.SpatialReference : SpatialReferences.WebMercator; point = await QueuedTask.Run(() => { return(MapPointBuilder.CreateMapPoint(Lon, Lat, sr)); });//.Result; return(new CCCoordinate() { Type = CoordinateType.DD, Point = point }); } catch (Exception) { return(new CCCoordinate() { Type = CoordinateType.Unknown, Point = null }); } } return(new CCCoordinate() { Type = CoordinateType.Unknown, Point = null }); } } }
/// <summary> /// asynchronous function to request or this spatial reference exists in the current area /// </summary> public async Task <bool> ExistsInAreaAsync() { await QueuedTask.Run(() => { if (ArcGisSpatialReference == null) { CreateSpatialReference(); } if (ArcGisSpatialReference != null) { MapView activeView = MapView.Active; Envelope envelope = null; if (activeView == null) { FileSettings settings = FileSettings.Instance; SpatialReference spatialReference = settings.CycloramaViewerCoordinateSystem; if (spatialReference != null) { if (spatialReference.ArcGisSpatialReference == null) { spatialReference.CreateSpatialReference(); } if (spatialReference.ArcGisSpatialReference != null) { Bounds bounds = spatialReference.NativeBounds; var minCoordinate = new Coordinate2D(bounds.MinX, bounds.MinY); var maxCoordinate = new Coordinate2D(bounds.MaxX, bounds.MaxY); envelope = EnvelopeBuilder.CreateEnvelope(minCoordinate, maxCoordinate, spatialReference.ArcGisSpatialReference); } } } else { envelope = activeView.Extent; } if (envelope != null) { ArcGISSpatialReference spatEnv = envelope.SpatialReference; int spatEnvFactoryCode = spatEnv?.Wkid ?? 0; if (spatEnv != null && spatEnvFactoryCode != ArcGisSpatialReference.Wkid) { try { ProjectionTransformation projection = ProjectionTransformation.Create(envelope.SpatialReference, ArcGisSpatialReference); if (!(GeometryEngine.Instance.ProjectEx(envelope, projection) is Envelope copyEnvelope) || copyEnvelope.IsEmpty) { ArcGisSpatialReference = null; } else { if (NativeBounds != null) { double xMin = NativeBounds.MinX; double yMin = NativeBounds.MinY; double xMax = NativeBounds.MaxX; double yMax = NativeBounds.MaxY; if (copyEnvelope.XMin < xMin || copyEnvelope.XMax > xMax || copyEnvelope.YMin < yMin || copyEnvelope.YMax > yMax) { ArcGisSpatialReference = null; } } } } catch (ArgumentException) { ArcGisSpatialReference = null; } }
private CoordinateType GetCoordinateType(string input, out MapPoint point) { point = null; // DD CoordinateDD dd; if (CoordinateDD.TryParse(input, out dd)) { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DD); } // DDM CoordinateDDM ddm; if (CoordinateDDM.TryParse(input, out ddm)) { dd = new CoordinateDD(ddm); point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DDM); } // DMS CoordinateDMS dms; if (CoordinateDMS.TryParse(input, out dms)) { dd = new CoordinateDD(dms); point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); return(MapPointBuilder.CreateMapPoint(dd.Lon, dd.Lat, sptlRef)); }).Result; return(CoordinateType.DMS); } CoordinateGARS gars; if (CoordinateGARS.TryParse(input, out gars)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(gars.ToString("", new CoordinateGARSFormatter()), sptlRef, GeoCoordinateType.GARS, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.GARS); } catch { } } CoordinateMGRS mgrs; if (CoordinateMGRS.TryParse(input, out mgrs)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(mgrs.ToString("", new CoordinateMGRSFormatter()), sptlRef, GeoCoordinateType.MGRS, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.MGRS); } catch { } } CoordinateUSNG usng; if (CoordinateUSNG.TryParse(input, out usng)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(usng.ToString("", new CoordinateMGRSFormatter()), sptlRef, GeoCoordinateType.USNG, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.USNG); } catch { } } CoordinateUTM utm; if (CoordinateUTM.TryParse(input, out utm)) { try { point = QueuedTask.Run(() => { ArcGIS.Core.Geometry.SpatialReference sptlRef = SpatialReferenceBuilder.CreateSpatialReference(4326); var tmp = MapPointBuilder.FromGeoCoordinateString(utm.ToString("", new CoordinateUTMFormatter()), sptlRef, GeoCoordinateType.UTM, FromGeoCoordinateMode.Default); return(tmp); }).Result; return(CoordinateType.UTM); } catch { } } Regex regexMercator = new Regex(@"^(?<latitude>\-?\d+[.,]?\d*)[+,;:\s]*(?<longitude>\-?\d+[.,]?\d*)"); var matchMercator = regexMercator.Match(input); if (matchMercator.Success && matchMercator.Length == input.Length) { try { var Lat = Double.Parse(matchMercator.Groups["latitude"].Value); var Lon = Double.Parse(matchMercator.Groups["longitude"].Value); var sr = proCoordGetter.Point != null ? proCoordGetter.Point.SpatialReference : SpatialReferences.WebMercator; point = QueuedTask.Run(() => { return(MapPointBuilder.CreateMapPoint(Lon, Lat, sr)); }).Result; return(CoordinateType.DD); } catch (Exception ex) { return(CoordinateType.Unknown); } } return(CoordinateType.Unknown); }