ThinkGeo.com    |     Documentation    |     Premium Support

MultiGeoRasterLayer error

 Hi, 


Now with the dll 6.0 I have an error when I zoom in or zoom out (ie. Raster RasterError.png + RasterError_20120926.txt)
When I used the dll 5.5, I did not have this kind of problem.
Have you met already this problem ?
 
For display the raster, I user the class MultiGeoRasterLayer.cs and the code is  : 
 
MultiGeoRasterLayer.BuildReferenceFile("C:\\Steph_WPFCarto\\Telechargements\\ThinkGeo\\MultiGeoRasterLayer\\data\\referenceFileECW.txt", "C:\\Steph_Carto\\RasterDalles\\Toto");
MultiGeoRasterLayer multiGeoRasterLayer = new MultiGeoRasterLayer("C:\\Steph_WPFCarto\\Telechargements\\ThinkGeo\\MultiGeoRasterLayer\\data\\referenceFileECW.txt");
multiGeoRasterLayer.LowerScale = wpfMap1.ZoomLevelSet.ZoomLevel20.Scale - 5;
multiGeoRasterLayer.UpperScale = wpfMap1.ZoomLevelSet.ZoomLevel15.Scale + 5;



 LayerOverlay rasterECWOverlay = new LayerOverlay();
rasterECWOverlay.TileCache = new FileBitmapTileCache(@"..\..\App_Data\layerOverlayDrawWithCacheECW\\", "ManualCache");
Bitmap nativeImageECW = new Bitmap((int)wpfMap1.ActualWidth, (int)wpfMap1.ActualHeight);
GdiPlusGeoCanvas geoCanvasECW = new GdiPlusGeoCanvas();
geoCanvasECW.BeginDrawing(nativeImageECW, wpfMap1.CurrentExtent, wpfMap1.MapUnit);
rasterECWOverlay.Draw(geoCanvasECW);



geoCanvasECW.EndDrawing();
rasterECWOverlay.TileCache = null;
...
rasterECWOverlay.Layers.Add("RasterECW", multiGeoRasterLayer);
wpfMap1.Overlays.Add("Sql2008LayerOverlay1", rasterECWOverlay);
 
Thanks a lot.
Regards.
Steph

001_Message_20120926.txt (4.85 KB)

Hi Steph, 
  
 What version are you using? The SqlTypes was added since 6.0.35.0 and after that we fixed some bugs, maybe there is no exception with the latest version. 
  
 Regards, 
  
 Edgar

 Hi Edgar, 


I'm sorry, I sent the wrong message error.


I'm uinsg the dll of Map Suite Wpf Desktop Full Edition 6.0.


Thanks 


Regards.


Steph.



RasterError_20120926.txt (2.46 KB)

Hi, 


Sorry, I forgot this one.


Thanks again.


Regards.


Steph.


 



 


 



Hi Steph, 

Can you provide me the exact version number you are using? 

You can get this using the following code:


string version = WpfMap.GetVersion();

You should get something like:


 



 Hi Ryan, 


Thanks for your help.


I have this error message with version "MapSuiteCore:6.0.0.0;WpfDesktopEdition:6.0.0.0".


I tested width an another dll ("MapSuiteCore:6.0.112.0;WpfDesktopEdition:6.0.112.0") and I have an other error message (ie rasterErrorWithDll6.0.112.0.png). I have this error with the class MultiGeoRasterLayer.cs.


 



Interception de System.Runtime.InteropServices.MarshalDirectiveException



 



  Message=Impossible de marshaler 'return value' : Combinaison de types managés/non managés non valide.



 



  Source=mscorlib



 



  StackTrace:



 



       à System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointerInternal(IntPtr ptr, Type t)



 



       à System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(IntPtr ptr, Type t)



 



       à iRQ=.jSk=.sik=()



 



       à iRQ=.QDc=.3Rw=()



 



       à iRQ=.1xw=.3Rw=()



 



       à ThinkGeo.MapSuite.Core.EcwRasterSource.lB4=()



 



       à ThinkGeo.MapSuite.Core.EcwRasterSource.OpenCore()



 



       à ThinkGeo.MapSuite.Core.RasterSource.Open()



 



       à ThinkGeo.MapSuite.Core.RasterLayer.OpenCore()



 



       à ThinkGeo.MapSuite.Core.Layer.Open()



 



       à ThinkGeo_1.MultiGeoRasterLayerECW.BuildReferenceFile(String newReferencepathFileName, String pathOfRasterFiles) dans C:\Steph_WPFCarto\TestApp\ThinkGeo_1_20120905_Dll60112\ThinkGeo_1\ThinkGeo_1\MultiGeoRasterLayerECW.cs:ligne 172



  InnerException: 


 


 


Thanks.


Regards.


Stéphanie.



RasterErrorWithDll6.0.112.0.PNG (63.1 KB)
RasterErrorWithDll6.0.112.0.txt (1.01 KB)

Hi Steph,


I would first make sure that you have all of your 'System32' dlls updated to match with the updated dlls referenced in your solution.

There have been some additions and changes to the dlls that need to reside in your SYSTEMROOT area.


According to our Wiki - Deployment Guide (wiki.thinkgeo.com/wiki/Map_S...ment_Guide), from version 6.0.92.0 we need to have the following dlls in the SYSTEMROOT:


Libraries Required for Satellite Imagery support. (Must be in the SYSTEMROOT)**



        
  • Map Suite 6.0\GeoRasterX86\GeoRasterWrapperX86.dll

  •     
  • Map Suite 6.0\GeoRasterX86\lti_dsdk.dll

  •     
  • Map Suite 6.0\GeoRasterX86\lti_dsdk_cdll.dll

  •     
  • Map Suite 6.0\GeoRasterX86\lti_lidar_dsdk.dll

  •     
  • Map Suite 6.0\GeoRasterX86\NCScnet4.dll

  •     
  • Map Suite 6.0\GeoRasterX86\NCSEcw4_RO.dll

  •     
  • Map Suite 6.0\GeoRasterX86\NCSUtil4.dll

  •     
  • Map Suite 6.0\GeoRasterX86\tbb.dll

  •     
  • Map Suite 6.0\GeoRasterX64\GeoRasterWrapperX86.dll

  •     
  • Map Suite 6.0\GeoRasterX64\lti_dsdk.dll

  •     
  • Map Suite 6.0\GeoRasterX64\lti_dsdk_cdll.dll

  •     
  • Map Suite 6.0\GeoRasterX64\lti_lidar_dsdk.dll

  •     
  • Map Suite 6.0\GeoRasterX64\NCScnet4.dll

  •     
  • Map Suite 6.0\GeoRasterX64\NCSEcw4_RO.dll

  •     
  • Map Suite 6.0\GeoRasterX64\NCSUtil4.dll

  •     
  • Map Suite 6.0\GeoRasterX64\tbb.dll


With each DailyBuild that you download you will see a SetupUnmanagedDependencies 6.0.x.0.msi file that can install all of these dlls for you.




I would like to make sure you have the latest version of these dlls installed before we move to other debugging options.



 Hi Ryan, 


 
I downloaded a new version dll from Daily Production Builds (WpfDesktopEditionFull6.0.0.144DllPackage).
"MapSuiteCore:6.0.0.144;WpfDesktopEdition:6.0.0.144" to see if i had the same problem with the new version
 
I tested and I had the error (ie. RasterErrorNavigation_20121005.PNG ; RasterError_20121005.txt)
What I did I pan ; Zoom + ; zoom - ; pan  ; zoom + etc .. and finally I had the error.
 
Thanks.
 
Regards
 
Steph.

RasterErrorNavigation_20121005.PNG (35.3 KB)
RasterError_20121005.txt (2.54 KB)

Hi Steph,  
  
 Can you try loading a single ECW file using the EcwRasterLayer, rather than the MultiGeoRasterLayerECW?  
 This will test if this is an issue specific to the MultiGeoRasterLayerECW. 
  
 I noticed that you are using the French language. Can you change your Language to ‘English (United States)’? The reason I ask is that sometimes if the Decimal Seperator is set to ‘,’ (comma) rather than ‘.’ (period) exceptions can occur when accessing files with special values such as those required by an ECW’s world file. The World File is that extra file with an extension of .eww that helps Map Suite locate where the ECW file should be rendered on the map.  
  
 If you change your Language to 'English (United States) and the issue is not resolved we should try to get a sample of your ECW file. Reply back with your findings on the decimal seperator and if necessary I can setup an FTP upload for you.