ThinkGeo.com    |     Documentation    |     Premium Support

Reproject NoaaRadarRasterLayer

I’m trying to reproject the NoaaRadarRasterLayer to use the Bing Maps projection. What is the current projection of the NoaaRadarRasterLayer? I’ve tried to project from WGS84 to Bing, but it throws an error. 

Hi Clay,



The default projection of NoaaRadarRasterLayer is Decimal Degree(EPSG:4326). Would you please try below code to convert NoaaRadarRasterLayer to Bing?




ManagedProj4Projection proj4 = new ManagedProj4Projection();
proj4.InternalProjectionParametersString = Proj4Projection.GetLatLongParametersString();
proj4.ExternalProjectionParametersString = Proj4Projection.GetBingMapParametersString();
proj4.Open();
 
NoaaRadarRasterLayer noaaLayer = new NoaaRadarRasterLayer();
noaaLayer.Open();
 
noaaLayer.ImageSource.Projection = proj4;

Any question please feel free to let us know.



Best regards,

Kevin

I copied it in exactly has you have here, and it caused this error: 
  
 System.ArgumentOutOfRangeException was unhandled 
   HResult=-2146233086 
   Message=Requested range extends past the end of the array. 
   Source=WpfDesktopEdition 
   StackTrace: 
        at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.<>c__DisplayClass4.<DrawException>b__2() 
        at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
        at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 
        at System.Windows.Threading.DispatcherOperation.InvokeImpl() 
        at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) 
        at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
        at System.Windows.Threading.DispatcherOperation.Invoke() 
        at System.Windows.Threading.Dispatcher.ProcessQueue() 
        at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
        at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
        at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) 
        at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
        at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 
        at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) 
        at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 
        at System.Windows.Forms.SafeNativeMethods.MessageBox(HandleRef hWnd, String text, String caption, Int32 type) 
        at System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp) 
        at System.Windows.Forms.MessageBox.Show(String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton) 
        at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
        at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
        at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
        at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
        at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
        at System.Threading.ThreadHelper.ThreadStart() 
   InnerException:  


Hi Clay,



Please try the attached samples, any question please feel free to let us know.



Thanks,

Kevin

Post12633.zip (10.1 KB)

I get the following error: 
 System.ArgumentOutOfRangeException was unhandled 
   HResult=-2146233086 
   Message=Requested range extends past the end of the array. 
   Source=WpfDesktopEdition 
   StackTrace: 
        at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.<>c__DisplayClass4.<DrawException>b__2() 
        at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
        at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 
        at System.Windows.Threading.DispatcherOperation.InvokeImpl() 
        at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
        at System.Windows.Threading.DispatcherOperation.Invoke() 
        at System.Windows.Threading.Dispatcher.ProcessQueue() 
        at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
        at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
        at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) 
        at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
        at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 
        at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) 
        at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 
        at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) 
        at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) 
        at System.Windows.Application.RunInternal(Window window) 
        at System.Windows.Application.Run() 
        at WPFDisplayASimpleMap.App.Main() in c:\Users\clay.ICSDOMAIN\Downloads\Post12633\WPFDisplayASimpleMap\obj\Debug\App.g.cs:line 0 
        at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
        at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
        at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
        at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
        at System.Threading.ThreadHelper.ThreadStart() 
   InnerException:  
  
 I’m using 8.0.322.

Hi Clay,



Kevin’s sample works well here, I am also test that with WpfDesktopEditionFull8.0.0.322DllPackage.zip.





I think that maybe caused by you miss some dlls on your machine, please install our SetupUnmanagedDependencies package and try again, or you can re-install our product for update all dlls.



Regards,



Don 

I was finally able to get back to this. A DLL update appears to have done the trick. 



Thanks.

I’ll take that back. It works fine on my dev machine now, but now I’m getting this error when I turn it on on the compiled version.





Hi Clay, 
  
 Do you meant the exception is thrown in your development machine but only for compiled version, or it’s thrown in another machine with the compiled version? 
  
 If that’s another machine, I think that’s because some dll missed, please install our SetupUnmanagedDependencies msi. 
  
 Regards, 
  
 Don

No, the exception is being thrown on my test machine with only the compiled version. I ran the dependency install, but it didn’t fix the problem. I’m not sure what I’m missing.

Hi Clay, 
  
 All the necessary dlls exception what you need to directly referenced in project is contained in our SetupUnmanagedDependencies. 
  
 So if that still cannot solve your issue, it’s maybe not caused by dll miss. 
  
 Does that only will be thrown by your project? Could the Kevin’s sample in your test machine can get same exception also? 
  
 If you still cannot solve that, please create a simple sample which can reproduce it in your test machine, and list your detail test machine environment, so we can try to reproduce it. 
  
 Regards, 
  
 Don