# Shape Layer loading issue

**URL:** <https://community.thinkgeo.com/t/shape-layer-loading-issue/5404>\
**Category:** WebForms\
**Created:** [July 20, 2010, 8:22am UTC](https://community.thinkgeo.com/t/shape-layer-loading-issue/5404 "2010-07-20T08:22:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Badal](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/b/b5ac83/32.png) [@Badal](https://community.thinkgeo.com/u/Badal)\
**Post date:** [July 20, 2010, 8:22am UTC](https://community.thinkgeo.com/t/shape-layer-loading-issue/5404/1 "2010-07-20T08:22:39Z")

</div>

Hello,

I&nbsp;am&nbsp;loading&nbsp;almost&nbsp;20&nbsp;shapes&nbsp;on&nbsp;the&nbsp;map&nbsp;at&nbsp;different&nbsp;zoom&nbsp;levels&nbsp;from&nbsp;8&nbsp;to&nbsp;15&nbsp;and&nbsp;these&nbsp;all&nbsp;shape&nbsp;files&nbsp;size&nbsp;are&nbsp;arround&nbsp;1&nbsp;GB.&nbsp;When&nbsp;I&nbsp;zoom&nbsp;to&nbsp;13&nbsp;level&nbsp;from&nbsp;5&nbsp;level,&nbsp;its&nbsp;takes&nbsp;load&nbsp;of&nbsp;times&nbsp;to&nbsp;display&nbsp;shapes&nbsp;on&nbsp;the&nbsp;map.&nbsp;Please&nbsp;refer&nbsp;below&nbsp;site:

oryxsystems.co.za/iTrack/Login.aspx?ReturnUrl=%2fiTrack%2fuser%2fvehicledetails.aspx

username:&nbsp;ramesh

password:&nbsp;ramesh123

How&nbsp;can&nbsp;I&nbsp;display&nbsp;all&nbsp;shapes&nbsp;at&nbsp;particular&nbsp;zoom&nbsp;level&nbsp;in&nbsp;minor&nbsp;time&nbsp;period?

Thanks,

Badal&nbsp;Patel

---

<div class="post-metadata">

**Author:** ![Johnny](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/johnny/32/19044_2.png) [@Johnny](https://community.thinkgeo.com/u/Johnny)\
**Post date:** [July 21, 2010, 10:27pm UTC](https://community.thinkgeo.com/t/shape-layer-loading-issue/5404/2 "2010-07-21T22:27:27Z")

</div>

&nbsp;

Badal,  
It&nbsp;seems&nbsp;that&nbsp;you&nbsp;excess&nbsp;the&nbsp;periods&nbsp;of&nbsp;evaluation,&nbsp;maybe&nbsp;you&nbsp;need&nbsp;to&nbsp;ask&nbsp;for&nbsp;an&nbsp;extension&nbsp;from&nbsp;[Support@thinkgeo.com](mailto:Support@thinkgeo.com)&nbsp;.&nbsp;But&nbsp;from&nbsp;your&nbsp;configuration&nbsp;list,&nbsp;i&nbsp;have&nbsp;a&nbsp;question:  
Can&nbsp;your&nbsp;application&nbsp;allow&nbsp;displaying&nbsp;some&nbsp;shapefile&nbsp;including&nbsp;major&nbsp;roads?&nbsp;It&nbsp;seems&nbsp;that&nbsp;we&nbsp;are&nbsp;unable&nbsp;to&nbsp;see&nbsp;the&nbsp;outline&nbsp;of&nbsp;the&nbsp;shape,&nbsp;see&nbsp;the&nbsp;image:  
&nbsp;

 ![](https://community.thinkgeo.com/uploads/default/original/2X/2/26d2e9a3817bdd5fd5d1863eb25d8fb01bc6bf79.png)  
Another&nbsp;way&nbsp;is&nbsp;that&nbsp;you&nbsp;can&nbsp;define&nbsp;one&nbsp;LayerOverlay&nbsp;per&nbsp;shapefile&nbsp;or&nbsp;just&nbsp;for&nbsp;some&nbsp;big&nbsp;shapefile,&nbsp;and&nbsp;then&nbsp;generate&nbsp;the&nbsp;cache&nbsp;for&nbsp;the&nbsp;overlay&nbsp;in&nbsp;certain&nbsp;extent&nbsp;has&nbsp;lots&nbsp;of&nbsp;features.&nbsp;This&nbsp;way&nbsp;will&nbsp;speed&nbsp;up&nbsp;the&nbsp;performance&nbsp;absolutely.&nbsp;You&nbsp;can&nbsp;use&nbsp;layeroverlay.GenerateCacheImages&nbsp;to&nbsp;generate&nbsp;the&nbsp;Overlay&nbsp;cache,  
Thanks,  
Johnny

---

<div class="post-metadata">

**Author:** ![Badal](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/b/b5ac83/32.png) [@Badal](https://community.thinkgeo.com/u/Badal)\
**Post date:** [July 22, 2010, 5:53am UTC](https://community.thinkgeo.com/t/shape-layer-loading-issue/5404/3 "2010-07-22T05:53:56Z")

</div>

`Can your application allow displaying some shapefile including major roads? It seems that we are unable to see the outline of the shape, see the image:`  
  
Well,&nbsp;i&nbsp;am&nbsp;not&nbsp;getting&nbsp;you&nbsp;here,&nbsp;are&nbsp;you&nbsp;saying&nbsp;the&nbsp;major&nbsp;road&nbsp;which&nbsp;are&nbsp;on&nbsp;the&nbsp;screen&nbsp;are&nbsp;not&nbsp;smooth?&nbsp;yes,&nbsp;they&nbsp;are&nbsp;not&nbsp;smooth&nbsp;but&nbsp;they&nbsp;looks&nbsp;smooth&nbsp;if&nbsp;i&nbsp;used&nbsp;the&nbsp;default&nbsp;textstyle&nbsp;like&nbsp;

zoomLevel.DefaultTextStyle&nbsp;=&nbsp;TextStyles.Interstate3("RD\_NAME");  
  
&nbsp;

But&nbsp;client&nbsp;want&nbsp;some&nbsp;custome&nbsp;color&nbsp;so&nbsp;i&nbsp;wrote&nbsp;this

zoomLevel.DefaultLineStyle.InnerPen&nbsp;=&nbsp;new&nbsp;GeoPen(GeoColor.FromHtml("#a5d4e3"),4);  
  
zoomLevel.DefaultLineStyle.OuterPen=&nbsp;new&nbsp;GeoPen(GeoColor.StandardColors.Transparent,0);  
  
&nbsp;

After&nbsp;that,&nbsp;they&nbsp;are&nbsp;not&nbsp;so&nbsp;smooth..  
  
  
  
&nbsp;

Yes,&nbsp;i&nbsp;have&nbsp;try&nbsp;to&nbsp;cache&nbsp;the&nbsp;shapes&nbsp;as&nbsp;per&nbsp;your&nbsp;suggestion&nbsp;but&nbsp;was&nbsp;not&nbsp;much&nbsp;successful&nbsp;in&nbsp;Implementation.&nbsp;Can&nbsp;you&nbsp;provide&nbsp;me&nbsp;sample&nbsp;code&nbsp;here&nbsp;which&nbsp;will&nbsp;be&nbsp;much&nbsp;appreciated&nbsp;since&nbsp;i&nbsp;am&nbsp;stuck&nbsp;here.&nbsp;  
  
I&nbsp;have&nbsp;attached&nbsp;my&nbsp;sample&nbsp;code&nbsp;here&nbsp;showing&nbsp;how&nbsp;do&nbsp;i&nbsp;load&nbsp;the&nbsp;shapes&nbsp;in&nbsp;a&nbsp;map.&nbsp;  
  
&nbsp;

[001\_Map.ascx.cs](https://community.thinkgeo.com/uploads/default/original/2X/4/4fd60bfcefcf17103107461ee9f8f06f1a4e7c33.cs) (28.6 KB)

---

<div class="post-metadata">

**Author:** ![Khalil](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/k/bc8723/32.png) [@Khalil](https://community.thinkgeo.com/u/Khalil)\
**Post date:** [July 25, 2010, 10:36pm UTC](https://community.thinkgeo.com/t/shape-layer-loading-issue/5404/4 "2010-07-25T22:36:18Z")

</div>

Hi,&nbsp;Badal&nbsp;  
&nbsp;&nbsp;  
&nbsp;Here&nbsp;is&nbsp;a&nbsp;post&nbsp;that&nbsp;shows&nbsp;how&nbsp;to&nbsp;generate&nbsp;tiles&nbsp;cache&nbsp;for&nbsp;your&nbsp;shape&nbsp;file&nbsp;data.&nbsp;Please&nbsp;refer&nbsp;to&nbsp;it.&nbsp;  
&nbsp;[gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/12/aft/6274/afv/topic/afpgj/1/Default.aspx](http://gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/12/aft/6274/afv/topic/afpgj/1/Default.aspx)&nbsp;  
&nbsp;&nbsp;  
&nbsp;I&nbsp;noticed&nbsp;that&nbsp;your&nbsp;map&nbsp;maybe&nbsp;had&nbsp;different&nbsp;combination&nbsp;of&nbsp;overlays,&nbsp;so&nbsp;I&nbsp;suggest&nbsp;that&nbsp;you&nbsp;generate&nbsp;cache&nbsp;for&nbsp;every&nbsp;LayerOverlay&nbsp;which&nbsp;just&nbsp;includes&nbsp;one&nbsp;ShapeFileFeatureLayer.&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;If&nbsp;you&nbsp;want&nbsp;to&nbsp;see&nbsp;the&nbsp;cache&nbsp;effect&nbsp;for&nbsp;your&nbsp;map,&nbsp;please&nbsp;set&nbsp;the&nbsp;ServerCache&nbsp;and&nbsp;ClinetCache&nbsp;property&nbsp;on&nbsp;the&nbsp;LayerOverlay&nbsp;to&nbsp;see&nbsp;the&nbsp;results.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Khalil

---

<div class="post-metadata">

**Author:** ![Badal](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/b/b5ac83/32.png) [@Badal](https://community.thinkgeo.com/u/Badal)\
**Post date:** [July 27, 2010, 2:09am UTC](https://community.thinkgeo.com/t/shape-layer-loading-issue/5404/5 "2010-07-27T02:09:15Z")

</div>

Hello&nbsp;Khalil,&nbsp;  
&nbsp;&nbsp;  
&nbsp;As&nbsp;i&nbsp;told&nbsp;you&nbsp;my&nbsp;shape&nbsp;file&nbsp;has&nbsp;bigger&nbsp;size&nbsp;and&nbsp;i&nbsp;am&nbsp;trying&nbsp;below&nbsp;code&nbsp;  
&nbsp;`Collection<ZoomLevel> zoomLevels = GetAllZoomLevels();            int tileWidth = 256;            int tileHeight = 256;            ShapeFileFeatureLayer shapeFileFeatureLayer = new ShapeFileFeatureLayer(@"C:\inetpub\wwwroot\iTrack\iTrack\ShapeFiles\cntry02.shp");            shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1;            shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;            MapEngine mapEngine = new MapEngine();            mapEngine.StaticLayers.Add(shapeFileFeatureLayer);            GeographyUnit mapUnit = GeographyUnit.DecimalDegree;            shapeFileFeatureLayer.Open();            RectangleShape cacheExtent = shapeFileFeatureLayer.GetBoundingBox();            shapeFileFeatureLayer.Close();            for (int i = 0; i < zoomLevels.Count; i++)            {                MapSuiteTileMatrix tileMatrix = new MapSuiteTileMatrix(zoomLevels[i].Scale, tileWidth, tileHeight, mapUnit);                BitmapTileCache tileCache = new FileBitmapTileCache(txtCachePath.Text, string.Empty, TileImageFormat.Png, tileMatrix);                RowColumnRange rowColumnRange = tileCache.TileMatrix.GetIntersectingRowColumnRange(cacheExtent);                Bitmap bitmap = null;                RectangleShape tileExtent = tileCache.TileMatrix.GetCell(0, 0).BoundingBox;                //if (tileExtent.Width > cacheExtent.Width || tileExtent.Height > cacheExtent.Height)                if (rowColumnRange.MaxColumnIndex == 0 && rowColumnRange.MaxRowIndex == 0)                {                    mapEngine.CurrentExtent = tileExtent;                    bitmap = new Bitmap(tileWidth, tileHeight);                }                else                {                    int bitMapWidth = tileWidth * ((int)(rowColumnRange.MaxColumnIndex - rowColumnRange.MinColumnIndex) + 1);                    int bitMapHeight = tileHeight * ((int)(rowColumnRange.MaxRowIndex - rowColumnRange.MinRowIndex) + 1);                    mapEngine.CurrentExtent = cacheExtent;                    // if the bitmapWidth is very big, you need to optimize the way generating tiles, otherwise the bitmap will be too big for the memory.                    // For example, you can always generate a 1024 * 1024 bitmap and then split it into 4 512*512 tiles                    bitmap = new Bitmap(bitMapWidth, bitMapHeight);                }                mapEngine.OpenAllLayers();                mapEngine.DrawStaticLayers(bitmap, mapUnit);                mapEngine.DrawDynamicLayers(bitmap, mapUnit);                mapEngine.CloseAllLayers();                tileCache.SaveTiles((Bitmap)bitmap.Clone(), tileCache.TileMatrix.BoundingBox);                bitmap.Dispose(); `&nbsp;  
&nbsp;&nbsp;  
&nbsp;Th&nbsp;above&nbsp;code&nbsp;throws&nbsp;error&nbsp;in&nbsp;the&nbsp;below&nbsp;line&nbsp;  
&nbsp;&nbsp;bitmap&nbsp;=&nbsp;new&nbsp;Bitmap(bitMapWidth,&nbsp;bitMapHeight);&nbsp;  
&nbsp;&nbsp;  
&nbsp;Error&nbsp;is,&nbsp;"Parameter&nbsp;is&nbsp;not&nbsp;valid."&nbsp;&nbsp;i&nbsp;got&nbsp;bitMapWidth=10000+&nbsp;and&nbsp;bitMapHeight=11000+&nbsp;  
&nbsp;Can&nbsp;you&nbsp;throw&nbsp;some&nbsp;light&nbsp;here&nbsp;so&nbsp;i&nbsp;can&nbsp;get&nbsp;pass&nbsp;the&nbsp;issue&nbsp;and&nbsp;make&nbsp;cache&nbsp;for&nbsp;my&nbsp;shape&nbsp;files…&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks,&nbsp;

---

<div class="post-metadata">

**Author:** ![Khalil](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/k/bc8723/32.png) [@Khalil](https://community.thinkgeo.com/u/Khalil)\
**Post date:** [July 29, 2010, 12:53am UTC](https://community.thinkgeo.com/t/shape-layer-loading-issue/5404/6 "2010-07-29T00:53:02Z")

</div>

Badal,

The&nbsp;exception&nbsp;is&nbsp;caused&nbsp;by&nbsp;that&nbsp;you&nbsp;pass&nbsp;so&nbsp;big&nbsp;&nbsp;width&nbsp;and&nbsp;height&nbsp;for&nbsp;the&nbsp;Bitmap&nbsp;object.&nbsp;Anyway,&nbsp;you&nbsp;could&nbsp;save&nbsp;one&nbsp;every&nbsp;&nbsp;time&nbsp;whose&nbsp;size&nbsp;is&nbsp;256\*256.&nbsp;Please&nbsp;refer&nbsp;to&nbsp;the&nbsp;codes&nbsp;in&nbsp;the&nbsp;attached&nbsp;&nbsp;file.&nbsp;

Another&nbsp;thing&nbsp;is&nbsp;that&nbsp;you&nbsp;can't&nbsp;dump&nbsp;anything&nbsp;else&nbsp;into&nbsp;the&nbsp;cache&nbsp;directory,&nbsp;otherwise&nbsp;you&nbsp;won't&nbsp;get&nbsp;right&nbsp;result.

Thanks,

Khalil

[GeneratingCache.txt](https://community.thinkgeo.com/uploads/default/original/2X/7/7dd72e63ddc63c22ffd54d8498c8ea10487531a0.txt) (2.49 KB)
