DotSpatial使用说明_第1页
DotSpatial使用说明_第2页
DotSpatial使用说明_第3页
DotSpatial使用说明_第4页
DotSpatial使用说明_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Dotspatial开发文档1. 图层加载引用类: DotSpatial.Controlspublic virtual IMapLayer AddLayer();使用:Map.AddLayer();2. 图层放大引用类: DotSpatial.Controlspublic void ZoomIn();使用:appManager.Map.FunctionMode = FunctionMode.ZoomOut;3. 图层缩小引用类: DotSpatial.Controlspublic void ZoomOut();使用:Map.ZoomOut();4. 全屏显示引用类: DotSpatial.Controlspublic void ZoomToMaxExtent();使用:Map.ZoomToMaxExtent();5. 前一视图引用类: DotSpatial.Controlspublic void ZoomToPrevious();使用:Map.ZoomToPrevious();6. 后一视图引用类: DotSpatial.Controlspublic void ZoomToNext();使用:Map.ZoomToNext();7. 平移引用类: DotSpatial.Controlspublic Function Mode Function Mode get; set; ;使用:Map.Function Mode = FunctionMode.Pan;8. 点查询引用类: DotSpatial.Controlspublic Function Mode Function Mode get; set;使用:Map.Function Mode = FunctionMode.Info;9. 框选引用类: DotSpatial.ControlsDotSpatial.Topology使用: Map_MouseDownGeoMouseArgs args = new GeoMouseArgs(e, map); /屏幕坐标到地图坐标转换 _startPoint = e.Location;/屏幕起始点坐标 _geoStartPoint = args.GeographicLocation;/地图起始点坐标 Map_MouseUpGeoMouseArgs args = new GeoMouseArgs(e, map);/屏幕坐标到地图坐标转换IEnvelope env = new Envelope(_geoStartPoint.X, args.GeographicLocation.X, _geoStartPoint.Y, args.GeographicLocation.Y);/在地图坐标系中定义二维矩形区域Map.ViewExtents = env.ToExtent();/将二维矩形区域作为地图可视区域10. 距离测量引用类: DotSpatial.ControlsDotSpatial.Plugins.Measure使用:MapFunctionMeasure XXXXX = new MapFunctionMeasure(map);XXXXX .Activate();11. 坐标定位引用类:using DotSpatial.Controls使用:ZoomToCoordinatesDialog XXXXX = new ZoomToCoordinatesDialog(map);XXXXX .ShowDialog();12. 鼠标移动显示地图坐标Map_MouseMove/将地图和坐标函数绑定 GeoMouseArgs args = new GeoMouseArgs(e, map); /求X、Y轴坐标 string xpanel = String.Format(X: 0:0.00000, args.GeographicLocation.X); string ypanel = String.Format(Y: 0:0.00000, args.GeographicLocation.Y); this.CoordateLabel.Text = xpanel+ +ypanel;13. 草图功能1) 画点/ 设置当前状态为画点状态 _state = MapState.DrawPoint;/将点图层设置为当前选中图层 _pointLayer.LockDispose(); map.Layers.Remove(_pointLayer); _pointLayer.Projection = _mapBox.Projection; map.Layers.Add(_pointLayer); map.Layers.SelectedLayer = _pointLayer; _pointLayer.UnlockDispose(); / 画点的具体实现 _addShape.Layer = _pointLayer; _addShape.Activate();2) 画线 / 设置当前状态为画线状态 _state = MapState.DrawLine; /将线图层设置为当前选中图层 _lineLayer.LockDispose(); map.Layers.Remove(_lineLayer); _lineLayer.Projection = _mapBox.Projection; map.Layers.Add(_lineLayer); map.Layers.SelectedLayer = _lineLayer; _lineLayer.UnlockDispose(); / 画线的具体实现 _addShape.Layer = _lineLayer; _addShape.Activate();3) 画面/ 设置当前状态为画面状态 _state = MapState.DrawPolygon; /将面图层设置为当前选中图层 _polygonLayer.LockDispose(); map.Layers.Remove(_polygonLayer); _polygonLayer.Projection = _mapBox.Projection; map.Layers.Add(_polygonLayer); map.Layers.SelectedLayer = _polygonLayer; _polygonLayer.UnlockDispose(); / 画面的具体实现 _addShape.Layer = _polygonLayer; _addShape.Activate();4) 清除 /清除点线面信息 clearPointLayer(); clearLineLayer(); clearPolygonLayer(); /清除点线面图层 _pointLayer.LockDispose(); map.Layers.Remove(_pointLayer); _pointLayer.UnlockDispose(); _lineLayer.LockDispose(); map.Layers.Remove(_lineLayer); _lineLayer.UnlockDispose(); _polygonLayer.LockDispose(); map.Layers.Remove(_polygonLayer); _polygonLayer.UnlockDispose();14. 地图编辑1) 编辑工具引用类: DotSpatial.Controlspublic Function Mode Function Mode get; set;使用:Map.Function Mode = FunctionMode.select;2) 创建特征/根据选中图层选择画点、画线、还是画面_addShapeFunction = new AddShapeFunction(map) Name = AddShape ;map.MapFunctions.Add(_addShapeFunction); _addShapeFunction.Layer = _activeLayer; SetSnapLayers(_addShapeFunction); _addShapeFunction.Activate();private void SetSnapLayers(SnappableMapFunction func) func.DoSnapping = this._doSnapping; if (!this._doSnapping) return; foreach (var layer in _geoMap.Layers) IFeatureLayer fl = layer as IFeatureLayer; if (fl != null & fl != _activeLayer & fl.DataSet.FeatureType != _activeLayer.DataSet.FeatureType) func.AddLayerToSnap(fl); 3) 属性表引用类:DotSpatial.Symbology; DotSpatial.Symbology.Form;使用:/选择当前图层_activeLayer = map.Layers.SelectedLayer as IFeatureLayer;/显示当前图层属性 FeatureLayerActions XXXXX= new FeatureLayerActions(); XXXXX.ShowAttributes(_activeLayer);4) 保存编辑引用类: D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论