ThinkGeo.com    |     Documentation    |     Premium Support

It seems can't read some .shp file

Hi,


I can read .hsp file from demo without any problem but whe I try to read my own .hsp file it seems map control came empy.


This, is what I did.

Firstly I have read all my .shp files whith Map Suite Explorer in order to create the index for each ones. no problem with that. then I wrote a piece of code like this:

 



Map1.MapUnit =



GeographyUnit.DecimalDegree;

 


 


ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"C:\Accendo\Projects\CAEME\Estadisticas\GIS_Ejemplos\GIS_Ejemplos\SanMartin\argentina.shp");// worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1;

worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle =


worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel =


Map1.StaticOverlay.Layers.Add(worldLayer);


AreaStyles.CreateSimpleAreaStyle(GeoColor.SimpleColors.Transparent, GeoColor.FromArgb(100, GeoColor.SimpleColors.Green));ApplyUntilZoomLevel.Level20;

Map1.CurrentExtent =


new RectangleShape(5, 200, 200, 50);

Unfortunately the result of this code is an empty map. it seems there is not result or it can't not found the map. But if I change the path of the .shp file for one .shp file demo it works.


Does anyone know what the problem is ?

I would need solve this problem as soon as possible.



Cheers Dario




 


Hi Dario,
Thanks for your evaluation and welcome to MapSuite discussion forum. As far as I guessed, maybe several missed caused the problem. Can you have a check following the items below?
1.       Maybe the MapUnit of your shp file should be Meter or something else, instead of DecimalDegree. It can be found from data projection or .prj file.
2.       Please check whether we give the proper CurrentExtent for map. Maybe we can try “worldLayer.open(); Map1.CurrentExtent = worldLayer.GetBoundingBox();” instead of “Map1.CurrentExtent = new RectangleShape(5,200,200,50)”.
3.       Please check whether we give the right style to the layer. It seems like you just give the AreaStyle for ZoomLevel01, maybe your shp file is Line/Point type. Please give them the LineStyle/PointStyle.
4.       Don’t forget applying the style from ZoomLevel01 to ZoomLevel20 using the code below:
worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = = ApplyUntilZoomLevel.Level20;
 
If it still runs into error, is it possible to send us a demo? It can be attached into Post or to the Email forumsupport@thinkgeo.com.
 
Thanks,
Johnny