ThinkGeo.com    |     Documentation    |     Premium Support

ArgumentOutOfRangeException when editing feature

Hello,


While editing a feature in the EditLayer, I get an Exception when I try to add a new point with Ctrl+click.


Here is the call stack :


System.ArgumentOutOfRangeException: The decimal degree longitude value you provided was out of range.

Parametername: fromPoint.X

   bei ThinkGeo.MapSuite.Core.x6d719af406ea4c2c.x000790e3d1efa7f1(Double x71c485ec47c597f6, String x34decc57f0820440)

   bei ThinkGeo.MapSuite.Core.DecimalDegreesHelper.GetDistanceFromDecimalDegrees(PointShape fromPoint, PointShape toPoint, DistanceUnit returningUnit)

   bei ThinkGeo.MapSuite.Core.DecimalDegreesHelper.x6b757a4eeb20d6cc(Double x3707b23eb223fb79, Double x97dfec72e8e9bc9f, Double x2dcba594a68dd09e, Double x3de5cdd2b975c32c, PointShape xa703a981a5333304, DistanceUnit x59516cd1b47ad7d3)

   bei ThinkGeo.MapSuite.Core.LineShape.x13f16a1e14ea1c22(PointShape xa703a981a5333304, GeographyUnit x4a9671edd975c880, DistanceUnit xf3faf97e20e2f109, PointShape& xc91e92ddaf4e278a, Double& x105aa4fcc89c4b84)

   bei ThinkGeo.MapSuite.Core.LineShape.GetClosestPointToCore(BaseShape targetShape, GeographyUnit shapeUnit)

   bei ThinkGeo.MapSuite.Core.BaseShape.GetClosestPointTo(BaseShape targetShape, GeographyUnit shapeUnit)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.EditInteractiveOverlay.x1140e7b462c2b782(Feature xfff4e7bc43f10abf, PointShape x17783083a9957488, Double x3ecbff4a00516875)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.EditInteractiveOverlay.AddVertexCore(Feature targetFeature, PointShape targetPointShape, Double searchingTolerance)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.EditInteractiveOverlay.AddVertex(PointShape targetPointShape, Double searchingTolerance)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.EditInteractiveOverlay.MouseDownCore(InteractionArguments interactionArguments)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.InteractiveOverlay.MouseDown(InteractionArguments interactionArguments)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.xcba1002b76cd47e6(InteractionArguments x2051a7c2dc5f7e36)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.x6513ddf6804beaba(Object xe0292b9ed559da7d, MouseButtonEventArgs xfbf34718e704c6bc)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.x82439f22e737363b.x8af08fe549cb95d4(Object xe0292b9ed559da7d, MouseButtonEventArgs xfbf34718e704c6bc)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.x82439f22e737363b.x65214453abca916a(Object xe0292b9ed559da7d, MouseButtonEventArgs xce8d8c7e3c2c2426)

   bei ThinkGeo.MapSuite.WpfDesktopEdition.x82439f22e737363b.OnMouseMove(Object sender, MouseEventArgs e)

   bei System.Windows.Input.MouseEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)

   bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)

   bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)

   bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)

   bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)

   bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)

   bei System.Windows.Input.InputManager.ProcessStagingArea()

   bei System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)

   bei System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)

   bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)

   bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

   bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)

   bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

 


Thanks,

Guillaume.



Hi Guillaume, 
  
 I’m not sure if I recreated the same issue as yours; are you trying to edit the shape outside of the world extent? Does it work fine if you are editing inside of the world range? 
  
 If yes, this is a known bug and it has been fixed in the latest version; so please try the latest version tomorrow. 
  
 Thanks for reporting it, 
 Howard

Hi Howard, 
  
 I’m not sure I undertood your question. How can I edit a shape outside of the worldextent ? 
  
 Whay I do is simply :  
 Add the features that are curerntly in the Track Layer into the Edit Layer, with the following code (OpenLayer() and CloseLayer() are extension method from me, but they simply make Open() and Close()) : 
  
 map.TrackOverlay.TrackShapeLayer.OpenLayer(); 
                 if (map.TrackOverlay.TrackShapeLayer.QueryTools.GetCount() > 0) 
                 { 
                     // Add Geometry to edit layer 
                     map.EditOverlay.EditShapesLayer.OpenLayer(); 
                     map.EditOverlay.EditShapesLayer.BeginTransaction(); 
                     map.EditOverlay.EditShapesLayer.EditTools.Add(new Feature(map.TrackOverlay.TrackShapeLayer.QueryTools.GetAllFeatures(ReturningColumnsType.AllColumns)[0].GetWellKnownText())); 
                     map.EditOverlay.EditShapesLayer.CommitTransaction(); 
                     map.EditOverlay.EditShapesLayer.CloseLayer(); 
                     map.EditOverlay.CalculateAllControlPoints(); 
                     ClearFeatures(map.TrackOverlay.TrackShapeLayer); 
                     map.Refresh(new Overlay[] { map.EditOverlay, map.TrackOverlay }); 
                 } 
                 map.TrackOverlay.TrackShapeLayer.CloseLayer(); 
  
 And then, I try to edit the shapes in the EditLayer, with the mouse. When moving existing points it works perfect, but when adding a new point to the feature by perssing the Ctrl key and clicking on the feature, I get this exception.

Hi Guillaume, 



I see; what I mean out of world means the shapes outside of the bounding box of new RectangleShape(-180, 90, 180, -90) in decimal degree. See the screenshot below. Or my another question is what's the geography unit of the map; is it DecimalDegree or Meter. I think we are encounter the same issue and it has been fixed in the new build. 





On the other hand, we are updating our server and the new package may be delayed to send to you. 



Sorry for the inconvenience. 



Thanks, 

Howard



Hi Howard, 
  
 Ok, I understood what you mean. 
 I’m user Meter as Map Unit, and I’m drawing in a middle of a country, right inside my boundig box. 
  
 I’ll wait the build in order to see if I’ve this problem again. 
 Can you please tell me when I can expect to have this new build ? 
 Thanks, 
 Guillaume.

Hi Guillaume, 



Sorry for the inconvenience; I contacted support@thinkgeo.com and they will be back on 1st of July; I'll keep reminding them to send the build to you.  We'll also add its daily build to the help desk soon so that you can download it manually in the near future.



Thanks, 

Howard



Hello Howard, 
  
 Do you think I can except to have a build version soon ? 
 (I checked the download section of my account, but I didn’t see any build version for the WpfDesktopEdition) 
  
 Thanks, 
 Guillaume.

Hi Guillaume, 
  
 They are adding the Wpf Desktop Edition to the download list today; I also remind support@thinkgeo.com again to send you the build; I think you will receive it soon. But you know they are on holiday, 4th of July; so I’m not sure they will respond tomorrow. I’ll keep on tracking it. Sorry for the inconvenience. 
  
 Thanks, 
 Howard

Hello Howard, 
  
 The problem is fixed with the release 4.0.59.0 I recieved from the support. 
 Thanks, 
 Guilalume.

Hello Guillaume, 
  
 Thanks for your feed back; just feel free to let me know if you have any more queries. 
  
 Thanks, 
 Howard