ARCGIS最短路径 VB代码 联系客服

发布时间 : 星期二 文章ARCGIS最短路径 VB代码更新完毕开始阅读78db131c0a4e767f5acfa1c7aa00b52acfc79cf0

毕业设计(论文)专用纸第一章绪论

1.1选题背景及发展现状

地理信息系统(GIS)是用于获取、存储、查询、综合、显示、处理和分析与空间地理相关的数据的计算机信息系统。自二十世纪六十年代开始发展至今,已经逐渐成为一门成熟的技术,如今GIS已经与各行各业保持了千丝万缕的联系。其在交通、旅游、环境等诸多领域的应用使地理信息系统被越来越多的用户所接受,成为人们工作、生活中一个强有力的工具。最短路径问题是地理信息系统网络分析中的一个关键内容,它是计算机科学、运筹学、交通工程、地理信息科学等学科的一个研究热点。是资源分配、路线规划、流量分析等优化问题的基础。大量的最优化问题等价于找一个网络的最短路径问题。很多网络相关问题,如最优路径问题、最可靠路径问题、最大容量路径问题和各种流量分析问题均可纳入最短路径问题的范畴。换言之,在竞争日益激烈的现实生活,生产过程中寻求最短,最快,提高效率有着重大意义,目前在GIS中,特别是在交通、电力、工业矿物管道运输等GIS应用系统中,最短路径算法的优化和实现,已经成为整个系统的核心功能之一。因此,研究最短路径算法也成为应用GIS系统研究和发展的一个热点问题。最短路径不但能在二维网络分析关键问题,同时,也在三维空间曲面的距离计算中发挥着重要作用。因为最短路径不仅仅指一般地理意义上的距离最短,还可以引申到其他的度量,如时间、费用等。其关键是对“短”的含义的理解,例如,如果网络属性为时间,则为时间最短路径;如果以费用为网络属性,则为最低费用路径等。在此的主要工作集中在空间维数方面,属于二维网络分析;在度量方面,将距离最短、时间最少和费用路径相结合,可以同时计算这三种方式的最短路径,并可以计算出任一条最短路径的距离、时间和费用属性值;在节点及路径数目方面,属于指定必经节点(大于等于两个)的最短路径问题实现最短路径分析的方法有很多种,常用的软件有ArcGISMobile、ArcGISServer、Skyline等,关于这个课题所使用的软件ArcGISEngine,它是ArcGIS9系列产品中基于核心组件库ArcObjects搭建的,是一个创建制定的GIS桌面应用程序的开发产品。ArcEngine包括构建ArcGIS产品ArcView、ArcEditor、ArcInfo和ArcServer的所有核心组件。使用ArcGISEngine可以创建独立的应用程序,或对现有的应用程序进行扩展。ArcGISEngine5毕业设计(论文)专用纸可以在多种编程环境中进行开发,其中包括:C++、支持COM的编程语言、.NET、Java等。通过Arcengine来实现网络分析中的最短路径分析,只要在网络数据集的创建过程中设置相应的阻抗属性,并在最短路径分析前设置相应的阻抗字段,就能按指定指标分析最短路径结果。1.2选题目的及意义

选题的主要目的:首先要先学习VB编程语言作为基础,利用ArcEngine和NetworkAralyst库中的组件和接口实现最短路径分析,以此来了解GIS的二次开发的方法。而在开发过程中首先要了解网络分析基础、网络数据集的概念以及网络数据集的建立,它通常分为以下几个步骤:1.选择创建网络数据集的工作空间。2.设置网络数据源。3.联通性建模。4.定义网络属性并赋值在程序编写阶段,要了解最短路径分析的实现所要用到的一些程序软件如:ArcEngine、NetworkAnalyst库,要对NetworkAnalyst库中的相关类和相关接口有一定的认识。最后就是要清楚基于ArcEngine最短路径分析实现步骤:1.打开工作空间并打开加载网络数据集;2.创建NAContext网络分析上下文对象和最短路径分析适用的分析决策对象NASolve;3.从要素类中载入最短路径所要经历的停留点,并将其映射到网络拓扑中,并创建最短路径图层;4.设置路径查找决策对象的各参数;5.进行最短路径分析;6.显示分析结果。选题的意义:提高阅读论文文献的能力,在课题的具体实施中,加强自我学习以及解决困难的能力,将理论与实践相结合,在学习研究过程中,能够收获到更多经验。为日后的工作打下基础。1.3研究内容

1.收集数据:为网络数据集的建立做准备2.建立网络数据集:它是做最短路径分析的基础3.编写程序:实现最短路径分析6毕业设计(论文)专用纸第二章软件介绍

本章主要介绍,基于ArcEngine最短路径分析用到的软件,其中MicrosoftVisualBasic是一款使用面非常广的编程语言,比较适合编程的初学者使用。ArcEngine是Arcgis9的系列产品,是基于核心组件库ArcObject搭建的。2.1MicrosoftVisualBasic软件介绍

它是微软公司于1998年推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具之一。结构简单,编写程序对系统的资源占有极低,是程序编写者编写小型程序的第一选择!如果你是一个对编程一无所知,而又迫切希望掌握一种快捷实用的编程语言的初学者,那选择VB6.0没错的。即使考虑到VB程序本身编译和运行效率较低的不足,但是它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,它仍不失一款优秀的编程工具,是初学者的首选。其语言特性包括:1.VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。2.VB中窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。3.VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。4.VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。5.VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有7毕业设计(论文)专用纸些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。VB使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB提供。VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。2.2ArcEngine软件介绍

ArcEngine不是一个终端用户产品,而是软件开发人员的工具包,包括一系列制图组件。它使程序员能够向现有应用软件中添加动态制图和GIS功能,或者构建自定义制图与GIS解决方案。其主要特点:1.标准的GIS框架:ArcEngine为开发GIS应用软件提供了标准框架。它既耐用,又具有可扩展性,而且其强大的功能使得开发人员集中于解决特定的问题,而不是从头开始构建GIS功能。2.跨平台:ArcEngine及其所有相关对象与控制器可用于多种平台,包括Windows、Linux、和UNIX。自定义GIS应用软件将适用于标准计算环境,而不需要在目前的计算基础结构中改变或添加运行环境。3.跨开发语言:ArcEngine支持多种开发语言,包括COM,.NET,Javay以及C++,等。这就允许使用大量的工具对对象进行编程,而且编程人员不需要学习一门新的或专用的语言。4.扩展功能:ArcEngine开发工具包包括多种扩展功能,如更新和创建多用户独立数据库,还有ArcGis3D分析、ArcGis空间分析以及ArcGisStreetMap产品等。5.成本适宜的配置:ArcEngineRuntime在每台计算机上都可得到授权。这允许多个ArcGis应用软件在同一台计算机上运行,因此只需要一个单用户运行时的授权成本。6.开发资源:连同对象模型图和范例编码,ArcEngine开发工具提供了一个帮助系统来帮助开发人员进行学习。此外,它还包含了多个开发工具和应用工具来帮助开发。实现功能:1.对所有矢量和栅格数据源的读权限。2.对Shapefile和pGDB的写权限。3.读/写MXD文件。4.数据的显示和地图浏览。5.绘制来自于航空照片或卫星影像的图像。6.跟踪和绘制要素(如点、线、圆以及多边形)。8