物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 552|回复: 0

C#开发GIS应用简明教程[一]

[复制链接]
发表于 2013-3-15 18:05:28 | 显示全部楼层 |阅读模式
  第一篇    准备
使用C#开发GIS应用,你应该首先在系统中安装Visual Studio .Net(建议使用2003版本),然后还需要安装MapInfo公司开发的MapX 5.0版本.MapX 的4.X版本和.Net的兼容有一些问题.可能无法实现本教程介绍的某些功能.
另外,你还应该尽可能地收集所有关于.NET,C#和MapX有关的资料,教程非常实用,专门解决技术问题,而不打算列举资料,所以,最好手头上有一些备查的资料.如果实在找不到,最起码要求能看懂MSDN.Met和MapX的帮助.
    关于.Net的安装很多教程都有涉及,此处不再赘述.
    MapX 5.0的安装很容易,按照提示一步步就可以安装,和一般的软件安装没什么区别,安装完控件以后千万别忘了同时安装附带的地图数据.
安装好以上软件后,还需要在.Net编程环境中加入MapX 5.0控件.
    在.Net编程环境中新建一个WindeosApplication(Windows应用程序)项目,然后在菜单中选择”项目/添加引用”,打开如下图的窗口,在窗口中选择COM标签,在组件名称列表中双击MapInfo MapX V5.单击"确认"按钮,即可将Map5控件加入到.Net的工具箱中.
    现在,所有的准备工作都已经完成了,为了测试安装是否正确,我们做个简单的地图放大程序.
    在刚刚打开的项目中,从工具栏中选择Mapinfo MapX V5控件,把它画到项目中的Form1窗口上,如下图:
    增加一个Button控件button1,将它的Text属性改为”放大”,如下图:

    在设计窗口中双击按钮并编写代码如下:

private void button1_Click(object sender, System.EventArgs e)
{
    axMap1.CurrentTool=MapXLib.ToolConstants.miZoomInTool;
}

编译,运行程序.如果没有什么错误的话,准备工作就已经完成了.  
第二章入门
    1.工具(ToolConstants)  
    在上一章里我们试着做了一个将地图放大的应用程序.在这章里,我们将接触到更多的工具,并介绍自定义工具.

    MapX为开发人员提供一系列的工具,这些工具的作用各有不同,我们通过开发一个应用程序来了解这些工具的作用,至于这些工具的具体说明,可以在MapX的帮助文档中,通过查找"Available Standard Tools" 看到相应的解释.一些MapX的相关资料也有介绍.  
   在.Net编程环境中新建一个C#的WindeosApplication(Windows应用程序)项目,然后在菜单中选择”项目/添加引用”,打开如下图的窗口,在窗口中选择COM标签,在组件名称列表中双击MapInfo MapX V5.单击"确认"按钮,将Map5控件加入到.Net的工具箱中.  
    接着,将MapInfo MapX V5 控件画到窗体上,再在窗体上画一个ComboBox控件comboBox1.如下图:

    双击设计窗体,编写Form1_Load代码如下:

private void Form1_Load(object sender, System.EventArgs e)
{
    ArrayList ToolsList=new ArrayList();

    ToolsList.Add(MapXLib.ToolConstants.miArrowTool);
    ToolsList.Add(MapXLib.ToolConstants.miCenterTool);
    ToolsList.Add(MapXLib.ToolConstants.miLabelTool);
    ToolsList.Add(MapXLib.ToolConstants.miPanTool);
    ToolsList.Add(MapXLib.ToolConstants.miPolygonSelectTool);
    ToolsList.Add(MapXLib.ToolConstants.miRadiusSelectTool);
    ToolsList.Add(MapXLib.ToolConstants.miSymbolTool);
    ToolsList.Add(MapXLib.ToolConstants.miTextTool);
    ToolsList.Add(MapXLib.ToolConstants.miZoomInTool);
    ToolsList.Add(MapXLib.ToolConstants.miZoomOutTool);

    comboBox1.DataSource=ToolsList;
}
       以上代码通过一个数组ToolsList,将MapXLib的工具加入到comboBox1中.MapX还有一些其它的工具,它们的作用是往地图上加上点,线,多边型和圆.因为这些工具要求有操作图层,一并在介绍图层的时候介绍.关于ArrayList的用法,请参考C#的有关资料.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|物探论坛 ( 鄂ICP备12002012号 微信号:iwutan )

GMT+8, 2024-5-11 00:37 , Processed in 0.065724 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表