DotSpatial快速入门(转载)

一、下载安装与配置

(1)下载

对于开发桌面版本的地图程序,在Windows平台下DotSpatial是MapWinGIS控件的升级版本,它将作为MapWindow6的开发基础。

转到网址http://dotspatial.codeplex.com/releases/view/116883,进行下载。目前(2014年7月14)的最新版本是DotSpatial1.6。

 

(2)创建工程

1.启动Visual Studio 2010,创建一个Window窗体应用程序,如图1所示,选择好名称和位置后点击确定。

 

2.首先将工具箱显示出来,右击空白处,选择“添加选项卡”,如图2所示。

 

3.命名为DotSpatial,如图3所示。

 

图1

图2

图3

 

4.右击DotSpatial,选择“选择项”,如图4所示。

图4

 

5.此后会弹出图5所示对话框:

图5

6.点击浏览,找到下载目录,选择DotSpatial.Controls.dll文件,选择打开,如图6。

 
图6

7.添加引用。在解决方案管理器窗口,右击“TestDotSpatial”,选择添加引用,如图7所示,选择图示4个引用,点击确定。之后效果如图8所示。

图7
图8

8. 设置好后,保存工程。启动调试,启动程序。

 

注意:项目属性必须使用.NETFramework 4,不要使用.NET Framework 4 Client Profile版本的。如图9所示:

图9

二、DotSpatial空间使用说明

(1)设计图形用户接口,以下图10为目标:

图10

1.  添加两个Panel控件到窗口,如图11。

图11

2.1选中第一个Panel,在属性窗口将命名改为为pnlOperations,并将dock属性设置成Top。如下图12

2.2同理,将第二个Panel命名为pnlMap,并将dock属性设置成Fill。

 

3.从DotSpatial工具栏里拖动一个map控件到pnlMap(第二个Panel控件)中,将其dock属性设置成Fill。如下图13所示。

 

4.添加一个group box控件到pnlOperations(第一个Panel控件)中,并命名为grbOperations。添加一个文本框。设置成目标样式(图10)。

图12
图13

5.在group box空间中添加按钮,并设置成目标样式(图10)

其中可以为按钮命令设置快捷键,方法是:在相应单词的首字母前面加上&符号。如下面两幅图14所示:

图14-1
图14-2

6.双击每个按钮,为每个按钮添加相应的消息相应处理函数,并将其修改为如下实现形式:

(C#语言)

 

private voidbtnLoad_Click(object sender, EventArgs e)

      {

        map1.AddLayer();

      }

 

   privatevoid btnClear_Click(object sender, EventArgs e)

      {

        map1.ClearLayers();

      }

 

 private void btnZoomIn_Click(object sender,EventArgs e)

  {

     map1.ZoomIn();

  }

 

   privatevoid btnZoomOut_Click(object sender, EventArgs e)

      {

        map1.ZoomOut();

      }

 

 private void btnZoomToExtent_Click(objectsender, EventArgs e)

     {

       map1.ZoomToMaxExtent();

     }

 

   privatevoid btnPan_Click(object sender, EventArgs e)

     {

       map1.FunctionMode = FunctionMode.Pan;

     }

 

   privatevoid btnInfo_Click(object sender, EventArgs e)

     {

       map1.FunctionMode = FunctionMode.Info;

     }

 

   privatevoid btnMeasure_Click(object sender, EventArgs e)

     {

       map1.FunctionMode = FunctionMode.Label;

     }

 

 private void btnSelect_Click(object sender,EventArgs e)

     {

       map1.FunctionMode = FunctionMode.Select;

     }

 

   privatevoid btnNone_Click(object sender, EventArgs e)

     {

       map1.FunctionMode = FunctionMode.None;

     }

 

注意:需要在Form1.cs中添加using DotSpatial.Controls;

否则会提示错误:当前上下文中不存在名称“FunctionMode”

 

最后打开一个shp测试文件,运行可以得到如图10一样的效果图。

(还可以打开卫星影像,以及普通JPG图片,如下所示)

 转自:http://blog.csdn.net/u010771437/article/details/37809943

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值