ThinkGeo.com    |     Documentation    |     Premium Support

ShapeFileFeatureLayer loading performance

Hi…

       I have a scenario that improve performance time for loading ShapeFileFeatureLayer.



        1. I took ONE layeroverlay and added 3 
ShapeFileFeatureLayer into that layeroverlay.

        2. I applied TileCache to layeroverlay and also applied Custom Value Style and Text Style to each ShapeFileFeatureLayer with different zoom                             levels(1-7,7-10,10-20).

        3. Each ShapeFileFeatureLayer having Index file so I didn’t set  “ShapeFileFeatureLayer .RequireIndex = false” and 3 files size is “50MB”



  After loading it’s taking 6 seconds.I want to reduce the loading time. Can any one suggest me to improve the performance.

One more thing,  Tell me what are the factors that consuming time while loading map data.



Thanks Advance,

Riyaz

Bangalore

Hi Riyaz, 
  
 I think if you have opened cache and the cache have been generated, the time should be the fastest. 
  
 So I think your 6 seconds should for the extent which you haven’t complete cache process. You can try our CacheGenerator for pre-build cache images and then see whether it still takes 6 seconds when you pan/zoom. 
  
 For improve performance, we usually do these things: 
  
 1. Build index 
 2. Open cache 
 3. Adjust the render logic balance, make sure don’t shows too many data on each extent 
  
 I think after try pre-build, you can do more work for the item 3. 
  
 Any question please let us know. 
  
 Regards, 
  
 Don

Hi Don, 

            Thank you for replied me, Based on extent the loading time is changing. With -7277407.44927955,4665679.08552758,6647422.7052109,-2811517.14345481 extent, I need to improve the performance(<6). 

I am not getting "CacheGenerator for pre-build cache" concept, could you please explain me about that or else you have sample code for it just share. It will helpful for my scenario. 





Thanks 

Riyaz

Hi Riyaz, 
  
 Cache Generator is an utility we provided for pre-build cache, you can learn more from this page: 
  
 thinkgeo.com/forums/MapSuite/tabid/143/aft/10446/Default.aspx 
  
 Any question please let us know. 
  
 Regards, 
  
 Don

     Hi Don,

                    Thanx for your reply.I go through “Tile Cache Generator for Map Suite” and “Tile Cache Generator” example for ‘ServicesEdition’ also. 

I have a scenario,

         1. I am setting ‘Tilecache’ for all ‘LayersOverlay’(<15) like “WeatherOverlay.TileCache = new FileBitmapTileCache(@Application.StartupPath + “\GISCache”, “WeatherOverLay”);”. Later on, I didn’t handle the cache like clearcache,previewcache…

         2. After set ‘cache’, The application load,pan performance was good but I am getting one problem

         3. While visible on/off the ‘InMemoryFeatureLayer’, All features in layer displaying correct.But whenever ‘PAN’ the application the features are displaying incorrect.

         4. I mean If ‘InMemoryFeatureLayer’ was ‘ON’, while panning the features are automatically ‘OFF’.If ‘Off’ after panning it’s ‘On’.
         5. If I didn’t set ‘Tilecache’, Everything is working fine.

         6. My main motto, To improve the performance with all functionality working fine.

   

         Is ‘Tilecache’ was problem, without handling it. tell me some suggestions to fix my problem.



Thanx Advance,

Riyaz

Hi Riyaz, 
  
 Because I haven’t see your code, so I just think you have more than one layers, and save them in one overlay. If you hide InmemoryFeatureLayer, you want to only shows background layer, but after you pan map, the InmemoryFeatureLayer shows again, right? 
  
 If that’s your scenario, I suggest you put each layer which need to be switch visible status to new overlay, then you can just hide/show the overlay, because our tile should related with Overlay but not layer. 
  
 If I misunderstand anything please let me know. 
  
 Regards, 
  
 Don

Hi Don,
             Your guess was right. Now I fix the issue as took separate overlay to each layer.
            One more problem, 
                 If I opened my application form(SAME FORM) more than once, then whatever the changes are done in ‘FIRST’ form that will automatically applying in ‘SECOND’ form while panning the application. It’s coming for set ‘TileCache’.

         How can i fix this Issue?





Thanx Advance



Riyaz
                 

Hi Riyaz, 
  
 It looks we haven’t found this problem before, do you meant you use same cache and then open same exe twice, when you pan map in one form, it also automatic move in the other form? If I haven’t misunderstand it, could you please let me know your scenario so I can see why you want to operate like this. 
  
 For workaround I think you should want to try copying the exe then run the new one instead of run same exe file twice. 
  
 Regards, 
  
 Don

Hi Don,

            I am not running my application(.exe) twice at same time. I run my Application one time, In that I opened ‘route1’ form by Tab control. Also opening ‘route2’ form by another Tab control.Like that I can open all routes forms at a time.

      problem is If i opened ‘route1’ form twice a time.Whenever any changes made in one open ‘route1’ form that changed things affecting in second open ‘route1’ form automatically while changing extent by panning.



   I set ‘TileCache’ by different routes.Like ‘RouteOverLay.TileCache = new FileBitmapTileCache(@Application.StartupPath + “\GISCache”, “RoutesOverLay_” + sRouteName);’.

    But If i opened all routes differently, everything working fine. Whenever I opened a route that already opened these problem is occurring.



Why it’s coming like that? What is solution for this?



Thanx Advance



Riyaz

Hi Riyaz, 
  
 Sorry I have a little confused about your description. 
  
 What’s the meant of your “route1” and “route2” form? If you put our map on your tab control, how can you open multiply times of it? 
  
 If you have set the tile folder to different folder path, I don’t think it will be linked, unless your maps is the same instance background, I think you can review your code to make sure that. 
  
 If that’s a important issue for you, could you please build a really simple sample which can reproduced it and we can help you see what’s the problem. 
  
 Regards, 
  
 Don