ThinkGeo.com    |     Documentation    |     Premium Support

Incomplete Map images

Hi,


My map is behaving weirdly and I have run out of idea..  It would be much apprecited if you can help me on this.


I am using Navteq map data.  I have tried my map with a few sets of map data, including Canada 2009Q2, Canada 2011Q2, Canada 2011Q4, German 2011Q3, Denmark 2011Q2, Sweden 2011Q2 data.  My map draws the map images perfectly with Canada 2009Q2, German 2011Q3, Denmark 2011Q2, Sweden 2011Q2 data, but Canada 2011Q2, Canada 2011Q4 data.   I have attached the screenshot where it's using the Canada 2011Q2, Canada 2011Q4 data (missing streets on some images).  I have tried rebuilt the indexes a few times.. the same problem occurs. 


I did find many lines of error message in my log file: "The Field name you want is not exist"


The above exception is thrown at the call mapEngine.DrawStaticLayers(bitmap,  mapUnit); in my code.


And below is the stack trace from this exception:  


   at ThinkGeo.MapSuite.Core.GeoDbf.I0w=(Int32 Jkw=, String J0w=)

   at ThinkGeo.MapSuite.Core.GeoDbf.ReadFieldAsString(Int32 recordNumber, String columnName)

   at ThinkGeo.MapSuite.Core.MultipleShapeFileFeatureSource.EhY=(GeoDbf ExY=, String FBY=, IEnumerable`1 FRY=)

   at ThinkGeo.MapSuite.Core.MultipleShapeFileFeatureSource.GRY=(String GhY=, String GxY=, String HBY=, List`1 HRY=)

   at ThinkGeo.MapSuite.Core.MultipleShapeFileFeatureSource.HhY=(String HxY=, String IBY=, RectangleShape IRY=, List`1 IhY=)

   at ThinkGeo.MapSuite.Core.MultipleShapeFileFeatureSource.GetFeaturesInsideBoundingBoxCore(RectangleShape boundingBox, IEnumerable`1 returningColumnNames)

   at ThinkGeo.MapSuite.Core.FeatureSource.GetFeaturesForDrawingCore(RectangleShape boundingBox, Double screenWidth, Double screenHeight, IEnumerable`1 returningColumnNames)

   at ThinkGeo.MapSuite.Core.FeatureSource.GetFeaturesForDrawing(RectangleShape boundingBox, Double screenWidth, Double screenHeight, IEnumerable`1 returningColumnNames)

   at ThinkGeo.MapSuite.Core.FeatureLayer.DrawCore(GeoCanvas canvas, Collection`1 labelsInAllLayers)

   at ThinkGeo.MapSuite.Core.Layer.Draw(GeoCanvas canvas, Collection`1 labelsInAllLayers)

   at ThinkGeo.MapSuite.Core.MapEngine.6Bw=(Layer 6Rw=, Object 6hw=)

   at ThinkGeo.MapSuite.Core.MapEngine.zxw=(IEnumerable`1 4xw=, Bitmap 5Bw=, GeographyUnit 5Rw=, Boolean 5hw=)

   at ThinkGeo.MapSuite.Core.MapEngine.DrawStaticLayers(Bitmap gdiPlusBitmap, GeographyUnit mapUnit)

   at WebMapServer.ImageService.DrawLayer(Bitmap& bitmap, String layerName, RectangleShape gRecShp, Int32 gimgWidth, Int32 gimgHeight, String sThreadNum) in C:\Source\gps\WebMapServer\ImageService.asmx.cs:line 1806


I am using WebEdition 5.0.0.55.



 


Thanks a lot for your help!


Lishan


 


 



Hi Lishan, 



From your stack trace, it looks like your exception is thrown because our code haven't read fields header succeed from shape file when rendering. 



Could you create a simple sample project containing some missed street, so we can make sure that's a bug and try to find solution for it?

  

Regards, 



Don



Hi Don, 
  
 Thanks for your reply. 
 I just found it’s to do with… how we use the wild card for the MultipleShapeFileFeatureLayer. 
  
 In the screenshot i attached above, it shows that some MajHwys and SecHwys aren’t being drawn…  
 The way we use the wild card for those two layers MajHwys??? SecHwys??? has also take the shape files MajHwysShield and SecHwysShield files in the the Hwy layers…and they don’t have the column we set in ValueStyle…  and so causing the error… (MajHwysShield and SecHwysShield shape files are only present in the CAN2011Q2 and CAN2011Q4 among the data i tested with) 
  
 I removed the MajHwysShield and SecHwysShield shape files and the map is drawing properly now. (we don’t need those shape files.) 
  
  
 Thanks a lot! 
  
 Lishan 


Lishan,


 I am glad you could figure out by yourself this issue. If you still have some problems or if you are interested to know more about MultiShapefileFeatureLayer, we have a Code Community sample Multi Index wiki.thinkgeo.com/wiki/Map_S...ulti_Index. Also, you can find on this post an indepth discussion on MultiShapefileFeatureLayer and how to handle shapefile pattern etc. gis.thinkgeo.com/Support/Dis...fault.aspx


Thank you.



Hi Val, 
  
 Thank you very much for your pointers! 
 Just a quick question, it seems to me that  is case-insensitive  MultipleShapeFileFeatureLayer(string multipleShapeFilePattern, string indexFilePattern);  is case-insensitive. Like if I have files MajHwys.shp and MajHwyS.shp and I set the parameter multipleShapeFilePattern to be MajHwys.shp, it will take MajHwys.shp and also MajHwyS.shp into the layer…  
 Is that right?  I just wanna double check…  
  
 thanks! 
 Lishan

Lishan,


  Yes, you are right. The MultipleShapeFileFeatureLayer is case insensitive. I did myself a test with the sample from the Code Community where I changed the naming of some shapefiles behind the scene so that some letters are upper case without any impact on running the sample. So I can confirm to you that it is case insensitive.