最近在网上看到一份杂志《3S新闻周刊》,觉得甚好,对GIS行业的现状、发展、GIS技术以及GIS文化都有比较全面的分析。其中有几期刊登了由马维峰先生写的“SharpMap的介绍”系列文章。故激起了我对SharpMap这个开源项目研究的兴趣。其中也发现了一些问题,同大家一起探讨一下。

    在SharpMap中,创建一个Map之后,给这个Map添加图层(Layer)。

    SharpMap.Map map = new SharpMap.Map(size);
     
    //Set up the countries layer
    SharpMap.Layers.VectorLayer layCountries = new SharpMap.Layers.VectorLayer("Countries");
    //设置Layer的Style
    ...
    map.Layers.Add(layCountries);
    
    System.Drawing.Image imgMap = myMap.GetMap();
    picBox.Image = imgMap

    本以为完成这些之后在PictureBox应该能够看到加载的地图了。可是运行程序后地图却没有显示。一阵疑惑之后再看“SharpMap的介绍”中的代码介绍,发现缺少了几行代码,设置比例尺以及地图中心点。
   
    map.Zoom = 360;
    map.Center = new SharpMap.Geometries.Point(0,0);
   
    联想到其它一些地图组件,比如MO等,SharpMap为什么不根据Layer的范围和Map的Size自动计算出显示全图的比例尺和中心点呢?因为很多情况下,我们对数据并不熟悉,不可能知道一个数据加载到地图之后什么比例尺合适,这样就给用户带来了不便。
    以上是我浅浅的看了SharpMap之后的一个小问题,不对之处还请大家见。: )
posted on 2006-04-22 12:02  gisfeng  阅读(2222)  评论(3)    收藏  举报