SharpMap学习:Map

 

 
Map类 是核心类 包含着各个图层layers的引用 GetMap进行渲染

除了GetMap渲染方法外 还有
1.Dispose方法 对layers集合内每个图层进行dispose 最后清空集合

 

    

 

2.FindLayer方法 返回图层集合 通过对比每个图层的名字得到要查询的图层集合

 

   

 

3.GetLayerByName 通过名字搜索图层

 

  

 

4.GetExtents方法 获得全图时的BBox 通过join每个图层的Envelope实现

 

  
5.ZoomToBox方法  通过BBox设置新的Zoom与Center
  

 

6.ZoomToExtents方法 使用ZoomToBox方法把当前视图设置为全图(通过Map.GetExtents获得全图的BBox)

 

  

 

7.ImageToWorld和WorldToImage两个方法 通过工具类Transform实现图片坐标与实际坐标转换 

 

     

 

Transform类只有这两个静态方法

Transform的MapToWorld方法 通过Map.Envelope的最小X值和最大Y值(图片Y坐标方向与地理坐标Y方向相反)获得实际地理坐标 

 

  

 

map.PixelWidth=PixelSize即每像素代表实际地理坐标长度

 

 

 

map.PixelHeight即每像素代表实际地理坐标宽度 通过像素比例(像素高宽比默认为1.0)与PixelWidth得到

 

 
Transform的WorldToImage方法 left top相当于env.Min.X和env.Max.Y
其实现如下:
 

 

Map的属性里 除了渲染流程里面涉及到的Size Zoom Center Envelop MapHeight以及上面提到的PixelWidth,PixelSize,PixelHeight,PixelAspectRatio之外
还有BackColor;Layers;允许的最大最小Zoom:MinimumZoom MaximumZoom


总结:Map是各种Layer的容器,负责渲染地图(GetMap),设定图片大小(Size),设定地理范围(Zoom+Center或Envelop或ZoomToBox),保存地图最大外框(GetExtent),转换图片坐标与地理坐标,是最重要的用户接口。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值