ThinkGeo.com    |     Documentation    |     Premium Support

Some suggestion for the next realease verion of Map Suite Desktop Edition

Yale,

   I had be tolded that maybe the next verion of Map Suite Desktop Edition will be realesed in follwing week.

there is some suggestion to improve Map Suite Desktop Edition:


1) I found the the current version of Map Suite Desktop Edition can't reproject and rotate the raster layer,I hope the next version can consider to add the two functions to the RasterLayer.I think the application of the satellite image is more and more.but the RasterLayer can't reproject and rotate, It is very regretful.


2) When I use the Wpf version of Map Suite Desktop Edition,I found that the size of Wpf Map Suite Desktop Edition can't to fill the window form. you have to set the Width and Height to a certain value, this make the size of  Wpf Map Suite Desktop can't change with the Form. if you set the Width and Height to Auto,then you can see the map at all. But others window control like TextBox,if you set the Width and Height to Auto,then the TextBox will fill the window form. this is very like the "Dock" be seted into "Fill" in windows form. But the Wpf version of Map Suite Desktop Edition can't do this.On this ,it makes the users very dissatisfied. So I hope the next version can consider to resolve the problem.


3) I want to tilecache to  improve the performance of my application,I pre-generate all tiles that the sacles I need. then I want to display my map use the TileCache . I found that it is impossible because of the double type scale. please reference the follwoing uri: gis.thinkgeo.com/Support/Dis...fault.aspx. I hope you can resolve the probelm as soon as possible,it is very help fiull to improve the performance .




4)I found that when I hide a layer,the files of tilecache directory will be cleaned,I found this is not very reasonable. Why need to clean the files.,you can not read the files of tilecache directory,no need to delete the files .


I hope my suggestion will be helpfull to you ! 

 



 


Senlin,
 
Thanks very much for your post and great suggestions. We will have a public release probably in next 2 or 3 days. Just want to let you the status of our schedule.
 
1)      About the rotation of raster layer. I do not think it can be achieved by using the rotation projection, it probably need completely different logic with FeatureLayer rotation. I have added this item to our working track system while I am afraid we do not have chance to include it in this release.
2)      We have tried your way to set the Map Control width and height to auto while it failed to work, the reason for this is that we need to calculate a default scale based on the given width and height, if I set it to auto, it will throw exception. We will do more investigation based on it.  And one way to go around this problem we have discussed is in following post:
gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/21/aft/5952/afv/topic/Default.aspx
3)      This problem talked about in following post have been fixed and will be included in this public release.
gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/21/aft/6436/afv/topic/Default.aspx
 
4)      The last one I think the current version should work correctly, the core thing is that the tile cache is only cleared when you want to call the refresh and passing in the target overlay.
Try the following code:

        FileBitmapTileCache fileBitmapTileCache;
 
        public HideOrShowAFeatureLayer()
        {
            InitializeComponent();
            fileBitmapTileCache = new FileBitmapTileCache(@"C:\temp", string.Empty);
        }
 
        private void ShowHideLayer_Load(object sender, EventArgs e)
        {
            winformsMap1.MapUnit = GeographyUnit.DecimalDegree;
            winformsMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean);
 
            ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"..\..\SampleData\Data\Countries02.shp");
            worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.SimpleColors.Transparent, GeoColor.FromArgb(100, GeoColor.SimpleColors.Green));
            worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
 
            //WorldMapKitWmsDesktopOverlay worldMapKitDesktopOverlay = new WorldMapKitWmsDesktopOverlay();
            //winformsMap1.Overlays.Add(worldMapKitDesktopOverlay);
 
            LayerOverlay staticOverlay = new LayerOverlay();
            staticOverlay.Layers.Add("WorldLayer", worldLayer);
 
            staticOverlay.TileCache = fileBitmapTileCache;
           winformsMap1.Overlays.Add("WorldOverlay", staticOverlay);
 
            winformsMap1.CurrentExtent = new RectangleShape(-139.2, 92.4, 120.9, -93.2);
            winformsMap1.Refresh();
        }
 
        private void cbkShowLayer_CheckedChanged(object sender, EventArgs e)
        {
            winformsMap1.FindFeatureLayer("WorldLayer").IsVisible = cbkShowLayer.Checked;
            if (cbkShowLayer.Checked)
            {
                winformsMap1.Overlays["WorldOverlay"].IsVisible = true;
                winformsMap1.Overlays["WorldOverlay"].TileCache = fileBitmapTileCache;
            }
            else
            {
                winformsMap1.Overlays["WorldOverlay"].IsVisible = false;
                winformsMap1.Overlays["WorldOverlay"].TileCache = null;
            }
 
            winformsMap1.Refresh();
 
           
        }

 
 

 
Any more questions please just feel free to let me know.
 
Thanks.
 
Yale