登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 地理科学类 > 地理信息系统 > 正文

基于组件技术坐标导入与导出的设计与实现

 2023-05-05 09:05  

论文总字数:14345字

摘 要

ArcGIS Desktop软件体系之一ArcMap中虽然存在与Excel表的数据连接和利用txt文件导入坐标数据,但是操作较为繁琐。利用Visual Studio开发工具,创建ArcGIS Desktop ClassLibrary项目,添加ArcGIS 的BaseCommand类。使用C#语言,结合ArcGIS Engine编写出坐标导入与导出功能,并以新昌县儒岙镇里外岙村风头山土地开发界址点数据为例利用坐标导入功能进行生成宗地面。利用ArcMap加载用户自定义工具,开发者可以完成可视化的调试;使用者可以方便地进行可视化的功能操作。功能的实现代码是脱离ArcMap本身的,因而也有利于开发者根据需求对该功能进行扩展。

关键词:ArcMap,ArcGIS Engine,C#,坐标导入、导出

Abstract: One of ArcGIS Desktop software system existed in the ArcMap export graphics of this functionality, but weak integration. Using Visual Studio development tools to create ArcGIS Desktop ClassLibrary project, add ArcGIS BaseCommand class. Using c # language, combining ArcGIS Engine write export graphics and export data format in the integration of functions. Using ArcMap loading user custom tools, developers will be able to finish the adjustment of the visualization; Users can easily to operation visual function. And, the result of the operation in the form of file storage, facilitate subsequent use; The realization of the function code is divorced from ArcMap itself, and therefore is beneficial to developers to extend according to the demand of the function.

Keywords:ArcMap, ArcGIS Engine, C#, Coordinate import, export

目 录

1 前言 4

2 应用程序开发环境配置 4

3 ArcMap应用程序用户自定义模块概述 5

4 ArcGIS Engine概述 5

5 类和对象 6

5.1 类之间的关系 6

6 功能的详细描述和使用前提 8

6.1 ArcGIS图形的概述 8

6.2 ExcelToFeature的设计 8

6.3 TxtToFeature的设计 10

6.4 FeatureToTxt的设计 12

6.5 功能设计主要涉及到的接口、类 12

结 论 19

参 考 文 献 20

前言

随着组件技术的诞生,计算机产业得到了巨大的发展,ArcGIS Engine就在这个时代的潮流中应运而生了。利用AE我们可以根据自身的需求开发出适合的软件,而可以不必拘泥于ArcMap等等ArcGIS软件本身。但是,尽管拥有了开发的组件,常常我们只是需要开发出一个完成一定功能的工具,而并不需要花很多经历去开发出一个类似ArcMap一样功能较为齐全的软件。如果这样,调试工作就显得捉襟见肘了。虽然开发出了工具,但没有调试的平台,结果功能很难实现推广。因此,在没有调试框架的情况下,ArcMap软件本身就可以作为一个很好的调试环境。通过使用ArcMap中Cutomize(自定义模块)可以加载我们开发的工具来进行功能的测试。工具成功测试后,便可以永久的在任意一台安装ArcMap的计算机中使用。

对于这种通过加载用户自定义工具来实现某种功能,ArcMap中就早已存在,不过使用的是VB语言进行编写。但是,这种VBA方式存在着很大的缺陷在于不能实现用户操作的可视化。而本文中实现的坐标导入与导出是在Visual Studio开发工具中,利用C#语言进行编写实现,其中存在可视化的操作界面供用户方便地选择坐标文件位置与导出的数据位置。

此外,在面对特殊的业务需求时,ArcMap就显得捉襟见肘。本文中处理的是地籍的坐标数据转换成图形,虽然ArcMap中存在和Excel表的数据连接,但是这样的操作显得较为繁琐,所以需要通过插件的形式将操作的过程具体化、简单化,这样才能可以方便用户的操作。

应用程序开发环境配置

目前,存在很多可视化开发的计算机语言,如VB,C ,Java,C#等。不同的开发语言配置的开发环境并不一样,但也存在一种语言应用于多种平台的情况,如Java。本文导出图形功能,计算机中开发环境配置如下:

(1)安装了ArcGIS 9.3或以上的版本;

(2)安装了Visual Studio 2005或者以上的版本;

(3)安装了ArcGIS Desktop SDK for the Microsoft.NET Framework。

至于计算机的系统需要达到什么配置,只需要达到可以安装(1)和(2)两款软件的要求即可,这里不再赘述。

ArcMap应用程序用户自定义模块概述

首次打开ArcMap软件的时候,启动的界面中出现的功能都是最基本的。如果用户觉得这些功能还不完善的时候,一者可以通过在菜单栏或者工具栏空白处右击来添加需要的功能;二者可以通过菜单栏中的Tools菜单项,单击Cutomize子菜单项,进入窗体来添加需要的拓展功能(工具条)或者拓展功能中的某一个具体功能(命令)。

在用户自定义模块中,用户不仅可以添加ArcMap中已经存在的数量近千个的功能,还能添加有外部编写的工具功能。

图1 Cutomize中添加自定义命令

其中,Cutomize添加命令的方式是通过先找到命令的Category,然后将命令拖拽入已经存在于工具栏的工具条中的。因而,在BaseCommand类的Category属性必须不为空串,否则在Cutomize将无法找到自定义的工具,至于还用它实现功能就无从可谈了。

ArcGIS Engine概述

ArcGIS Engine是ESRI在ArcGIS9版本才开始推出的新工具,它是一套完整的嵌入式GIS 组件库和工具库,利用ArcGIS Engine开发出来的GIS应用程序能够脱离ArcGIS Desktop而运行。ArcGIS Engine面向的用户并非最后使用者,而是GIS项目程序开发员。对编程人员而言,ArcGIS Engine不再是一个终端应用,再也不包含ArcGIS桌面的用户界面,它仅仅是一个用于开发新应用程序的二次开发功效组件包。

ArcGIS Engine组件库中的组件在逻辑上能够分为基本服务(Base Services)、数据存取(Data Access)、地图表达(Map Presentation)、开发组件(Developer Components)、扩展功能(Extensions)等5个部分[1]

类和对象

在ArcGIS Engine组件集中有三种类型的类:抽象类(Abstract Class)、组件类(CoClass)与普通类(Class)。

剩余内容已隐藏,请支付后下载全文,论文总字数:14345字

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图