土拨鼠tc

导航

DMap的学习

 

一 DMap内部图元系统
  DMap内部图元系统比较简单,只包含了点、线、面三种图元,另外一种比较特殊的就是圆图元
  类关系
  //建立临时图层
  DMap.Layers.TrackingLayer trackingLayer = new DMap.Layers.TrackingLayer();
  //将临时图层加入到MapControl
  map.Layers.Add(trackingLayer);

  //初始化一个点图元
  DMap.Geometries.Point point = new DMap.Geometries.Point(115, 20);
  //将点图元加入临时图层
  trackingLayer.AddGeometry(point);

  以下代码展示了如何向临时图层中添加线图元...
  以下代码展示了如何向临时图层中添加面图元...


二 DMap内部图层系统
  可查询图层和不可查询涂层
  可查询图层:临时图层(TrackingLayer)和矢量图层(VectorLayer)
  不可查询图层:云图图层(CloundLayer)经纬网图层(GridLayer)遥感图层(RasterLayer)
                等值线图层(IsolineLayer)特殊对象图层(SpecialObjectLayer)
  (临时图层是继承特殊对象图层)

  1.云图图层的使用
  添加云图图层(CloundLayer) 如何加载一个卫星云图
  //将地图投影更改为兰伯特投影
  map.ChangeProjection(new DMap.CoordinateSystems.LambertProjections(140, 70, 80));
  //初始化云图的范围
  DMap.Geometries.BoundingBox box = map.Projection.LatLngToPixel(new DMap.Geometries.BoundingBox  (108.9259949, -2.7175341, 192.659229, 46.492261), false);
  string fileName = @"E:\资源相关\卫星云图\200901.jpg";
  //初始化云图
  DMap.Layers.CloudLayer cl = new DMap.Layers.CloudLayer("云图图层", fileName, box);
  //将云图图层加入图层列表
  map.Layers.Add(cl);

  2.遥感图层(RasterLayer)的使用
  string fileName = @"E:\资源相关\遥感数据\Map\MapImage";
  DMap.Layers.RasterLayer rasterLayer = new DMap.Layers.RasterLayer("遥感图", fileName, true);
  map.Layers.Add(rasterLayer);

  3.等值线图层(IsolineLayer)
  代码比较多 省略……

  4.使用矢量图层(VectorLayer)
  //实例化一个矢量图层
  DMap.Layers.VectorLayer vectorLayer = new DMap.Layers.VectorLayer("中国地图");
  string fileName = @"E:\资源相关\福建风暴潮\中国各省行政区界_region.shp";
  //实例化一个矢量图层数据源
  DMap.Data.Providers.ShapeFile dataSource = new DMap.Data.Providers.ShapeFile(map.Projection,   fileName, true, vectorLayer, false);
  vectorLayer.DataSource = dataSource;
  //将矢量图层加入MapControl
  map.Layers.Add(vectorLayer);

  遥感图必须配备墨卡托投影才能正常显示,云图必须配备兰伯特投影才能正常显示。

posted on 2010-08-01 17:48  土拨鼠tc  阅读(605)  评论(1编辑  收藏  举报