登录
首页 » Others » 地理信息系统二次开发实例教程-c#+ArcGis

地理信息系统二次开发实例教程-c#+ArcGis

于 2020-12-05 发布
0 312
下载积分: 1 下载次数: 2

代码说明:

地理信息系统二次开发实例教程-c#+ArcGis面,包括需求分析、数据管理设计、用户界面设计、设计模式在软件开发中的应用。在开发过程中应用软件工程技术,可以提高软件开发效率和质量。第章“需求分析”介纽了“北京市地理信息公众查询系统”的需求分析,包括需求概述、功能需求以及功能需求详细描述。第章“系统总体设计”介绍了系统平台选择、系统总体框架、系统数据组织及系统开发进度安排等。第章“系统详细设计”根据系统的总体设计结构分别从北京市地理信息公众查询系统的数据库设计和一些相关类的设计两方面米详细阐述系统的设计。第章“系统主界面的实现”首先简单介绍的功能、特点、结构及其数据源,然后介绍如何设计系统的主界面及主要实现代码。第章“选择与査询功能的实现”主要介绍如何通过查询与数据集有关的衣从数据中获取信息,以及如何通过空间和逻辑的查询方法从数据中获取信息。第章“系统其他辅助功能”介绍了系统中其他一些辅助功能的实现,例如当鼠标移动到某地物上并稍做停留后,岀现一个小标签,显示该地物的名称,以及距离量算、面积量算的实现,等等。为了让读者更加全面地掌握的廾发,第章介绍了“北京市地理信息公众査询系统”开发过稈中没有涉及到的一些对象,包括投影对象、地址匹配对象、动态跟踪层(对象与地理事件()对象。科海网站提供了本书涉及的所有源代码,以及实现书中内容所需的所有组件。读者可以从中下载这些资料。由于时间仓促,书中难免有一些错误、遺漏,恳请读者谅解,并提出批评和指正编者2004年5月日录第章地理信息系统软件工程软件工程简介基本概念软件系统开发过程开发过程模型需求分析需求获取需求规约数据管理设计全部采用文件管理文件结合关系数据库管理全部采用关系数据库合理采用面向对象数据库管理用户界面设计界面设计原则界面设计中的要素界面样式应用模式与开发方式应用模式开发方式“北京市地理信息公众查询系统”介绍第章需求分析需求概述功能性需求系统体系结构用户描述具体功能需求非功能性需求功能需求详细描述第章系统总体设计系统平台选择便件平台目录系统操作平台数据库平台系统川发模式与组件选择开发工具系统总体框架系统功能框架系统数据库系统的川发结构系统界面组织系统数据组织系统数据的逻辑组织系统的主要数据类型进度规划第章系统详细设计数据库详细设计地名分类编码元数据表结构电子地图数据系统相关类的详细设计辅助类的详细设计类的详细设计类的详细设计类的详细设计类的详细设计第章系统主界面的实现简介的功能的特点的结构的数据源建立项目加入地图控件加入其他引用创建位图资源主窗体的实现界面设汁基本编码类的初步实现目录辅助类的实现类的成员变量读取元数据创建主窗口中的工作区创建I作区创建“地图”选项卡创建“查询”选项卡创建“帮助”选项卡图层的加入与控制在地图中加入图层依据比例尺控制图层显小通过“地图”选项卡控制地图显示控制显示的地物类型控制地图显示区域地图的放大、缩小、全图显示和漫游其他辅助功能的实现鹰眼功能的实现显示经纬度第章选择与查询功能的实现选择地物查询地物信息地名查询查找最近地物公交查询公交站点与线路查询乘车路线询地名索引查洎绀果的定位与更详细信息最短路径查询第章系统其他辅助功能地名的快速显示距离量算与面积量算其他工具栏按钮功能的实现地图输出子系统的实现在线帮助子系统的实现第章的其他对象动态跟踪层对象与对象目录对象的属性对象的方法对象的属性对象的方法实例应用投影对象坐标系地图投影地理编码用于地址匹配的专用文件绘制街道文件地理编码对象地址定位对象地址标准化对象交耳式地址兀配批地址匹配第章地理信息系统软件⊥程在地理信息系统(开发过程中应用软件工程技术,可以提高软件开发效率和质量。本章首先介绍了软件工程的基本概念、软件系统开发过程和开发过程模型。然后讲述了软件工程技术在系统廾发中的应用:需求分析、数据管理设计、用户界面设计、设计模式在软件开发中的应用。这些方面涉及了开发过程中的不同阶段及不同层次,有些方法之间是互斥的,如和方法,但是软件工程技术最重要的特点是实用,开发者可以根据只体情况选用不同的技术。软件工程简介基本概念计算机软件工程是一类求解工程。它应用计算机科学、数学、工程科学及管理科学等原理,借鉴传统工程的原则、方法创建软件,以达到提高软件质量、降低开发成本的目的。其中,讣算杋科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于管理计划、资源、质量、成本等。从学科角度来看,软件⊥程是·门指导计算机软件开发和维护的上程学科。软件工程的提出是为了解决世纪年代出现的软件危机,当时在大型软件开发项日中存在着成本髙、开发进程不易控制、开发工作量难于估算、软件质量低、项目失败率高等诸多闩题,给软件行业带来了巨大的沖击。软件工程提出了一系列理论、原则、方法及工具,试图解决这种软件危机。和其他工程一样,软件工程有自己的目标、活动和原则,其框架可以概括为图所示的内容。分多//算持开发范型需现设计方法支持过程求管理过程图软什工稈框架第章地理信息系统软件工程软件工程的目标可以概括为“生产具有正确性、可用性及开销合宜的宀品”,其活动包括需求、改计、实现、确认及支持等。围绕工程设计、支持及管理,软件工程有以下条基本原则:)选取适宜的廾发模型。选取适宜的廾发模型可以利」认识需求易变性并加以控制以保证软件产品满足用户的需求〔)采用合适的设计方法。通常要考虑实现软件的模块化、抽象与信息隐藏、本地化致性及适应性等特征。()提供高质量的工程支持。在软件工程中,软件工具与环境对软件过程的支持颇为重要。()重视开发过稈的管理。开发过程的管理直接影响可用资溟的有效利用、最终的软件产品的满意度,软件组织的生产能力等问题。只有对开发过程实施有效管理,才能实现有效的软件工程软件工程把软件工程的思想和方法应用于软件的开发过程。如前所述,软件工程活动包括需求、设计、实现、确认及支持等,它们对应」软件廾发过程的不同阶段。般来说,软件开发都要经历从分析设计到实现确认的过程。每个阶段按照相应的规范进行工作,并得到该阶段的成果,是保证整个开发过程戊功的关键。软件系统开发过程前面讲过,软件工程活动包括需求、设计、实现、确认及支持,它们对应于整个软件开发过程的不同阶段。需求分析需求分析阶段处于软件开发过程的前期,其基本活动是准确定义未来系统的目标,确定为满足用户的需求必须做什么。需求分析又划分为两个阶段,即需求获取和需求规约前者用自然语言清楚地描述用广的需求,而后者的目的是消除获取需求的二义性和不致性。在软件项目的生命周期中,一个错误发现得越晩,修复错误的代价也越髙,所以,高质量的需求工程是软件项目得以正确、高效完成的前提。对于系统分析人员,建立需求面临着以下个方面的困难:·问题空间的理解系统开发人员通常是计算机专业人员,难以深入理解各种业务系统所憂解决的问题空间。人与人之间的通信对于系统分析人员而言,通信主要包括同用户的通信以及同事之间的通信,由于自然语言的二义性,会给准确刻田需求造成障碍。·需求的不断变化造成需求变化的原因很多,包括技术、用户方、市场等等。作为分析人员,必须采用些策咯以适应变化。面向对象的分析方法被认为是解决上述闲难的较好技术,但是完整、准确地刻划问题空间始终是分析人员所面临的挑战第章地理信息系统软件工程系统设计一般来说,需求分析阶段的主要任务是确定系统“做什么”,而系统设计阶段则要解决“怎么倣”的问题。系统设计的任务是将系统分析阶段提出的逻辑模型转化为相应的物理模型,其设计的内容随系统的目标、数据的性质和系统的不同而有很大的差异。一般前言,首先应根据系统的目标,确定系统必须具备的空间操作功能,称为功能设计;其次是系统的建模和产品的输出,称为应用设计。系统设计是系统整个开发工作的核心,不但要完成熤辑模型所规定的任务,而且要使所改计的系统达到优化。所谓优化,就是选择最优方案,使系统具有运行效率高、控制性能好和可变性强等特点。要提高系统的运行效率,般要尽量避免中问文件的建立,减少文件扫摧的遍薮,并尽量采用优化的数据处理算法为增强系统的搾制能丿,要拟定对数字和字符岀错时的校验方法;在使用数据文件时,要设置口令,防止数据泄密和被非法修改,保证只能通过特定的通道存取数据。为了提高系统的可变性,最有效的方法是釆用模块化的方法,即先将氅个系统看成一个模块,然后按功能分解为若干个子模块。一个模只执行一种功能,一种功能只用一个模垗实现,这样设计出来的系统才能做到可变性好并具有生命力。功能设计又称为系统的总体设计,它的主要仟务是根据系统的目标来规划系统的规模,确定系统的各个组成部分,并说明它们在整个系统中的作用与相互关系,以及确定系统的硬件軋置,规定系统采用的合适技术规范,以保证系统总体目标的实现。图给出了通用的总体设计结构图。因此,系统的总体设计大致包括数据库设计硬件配置与选购软件设计等应用设计又称详细设计。详细设计包括详细的算法、数据表示和数据结构、实施的功能和使用数据之间的关系。详细改计过程中采用了一些工只,以便对数据、算法等进行描述,包括流程图、,问题分析图)、盒图(图)、伪码实现阶段软件实现阶段将设计的结果变换成程序设计语言编写的程序。一般情况下在实现阶段,首先要确定程序改计语言,其影响因素包括:开发人员对语言的熟悉程度、语言的可移植性、编译程序的效率、编译工具的支持等等。目前,语言是被普遍采用的构造系统软件的编程语言,而则更多地应用于编写网络应用程序。无论采用哪一种编程语言,都要求编写高质量的源稈序代码,稈序质量通常包含正确性、可读性、可移植性、程序效率等指标。考虑到系统的维护和演化,提髙源程序的可读性是实觋阶段的一个重要目标,其途径包括添加注释、规范书写格式、确定标认符命名原则、采用结构化的程序设计方法(不用或减少使用语句)等。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 自适应Simpson积分公式matlab源代码
    数值积分课程需编制自适应的Simpson公式,此代码采用递归函数,函数中采用了fcnchk函数,matlab6.5及以下版本会报错,只需将函数定义语句改成inline函数即可
    2020-06-28下载
    积分:1
  • 电路考研大串讲
    全书共分12章,内容包括线性直流电路分析、电路定理、正弦稳态电路分析、三相电路、谐振电路、非正弦周期电流电路、线性动态电路的时域分析、线性动态电路的复频域分析、网络图论和状态方程、二端口网络、非线性电路、均匀传输线。每章分为名师辅导、考研真题详解和考研试题精选三部分。附录还提供了哈尔滨工业大学等几所著名高校近两年电路课程的考研试题9套。试题均给出参考答案及部分提示。
    2021-05-06下载
    积分:1
  • 求平均最短路径长度的matlab代码
    复杂网络平均路径长度的m文件,先将复杂网络存储为矩阵,再对其matlab编程,
    2020-12-04下载
    积分:1
  • CPLEX中文辅助学习教
    内部含有CPLEX实例代码,非常适用于初学者使用。
    2020-11-28下载
    积分:1
  • ntko 火狐浏览器插件
    NTKO 火狐浏览器插件,在线文档编辑插件,很好用的哦。
    2020-12-06下载
    积分:1
  • STM32F103C8开发板 STM32最小系统核心板 AD硬件原理图+PCB封装文件
    STM32F103C8开发板 STM32最小系统核心板 AD硬件原理图+PCB封装文件,手册,软件开发历程
    2020-06-29下载
    积分:1
  • Android英语学习应用(包含源代码)
    关于作品:这是一个英语学习的小应用。通过网络获取WebService服务的内容,每天教您一句英语短句,此外应用中也附带了词典翻译的功能,可以帮助您更好的理解不懂的单词。在日积月累中学习英语。对于Android编程学者本作包含的内容有Soap通信和WebService交互,手势识别,TextToSpeak等一些知识。
    2020-12-06下载
    积分:1
  • Romax行星轮系统培训教
    详细介绍Romax行星轮系统分析过程,本教程的目的是学习如何进行概念(详细)行星系建模(图1)。由于行星系统的相对复杂性,Romax开发了概念行星设计工具,有助于快速开发简单的行星齿轮副。与大多数Romax软件里的零件一样,可以根据复杂性的不同对行星系统建模建模。在建模初期,没必要太早定义行星销轴或行星轮轴承,可将这些都简化为一个单一的概念行星架零件,如图所示(图2),概念行星架为一个绿色的圆盘。接下来, 为了能够进一步研究行星轮不均载、轴承寿命、齿轮校核、效率等问题,再将概念行星架换成详细的销轴、轴承等零件。声明…目录3教程:行星轮系01:行星传动系统建模,默认信息6输人数据71任务1:概念行星传动系统建模.1411添加行星架和齿圈轴总成…···1412为行星架轴选择轴承支撑并安装轴承151.3添加刚性联接1814概念行星轮建模.191.5捋概念行星架女装到行星架轴上201.6捋太阳轮安装到输出轴上211.7在行星架轴上添加功率输出节点…““·“““2218运行轴的静力学分析小结242任务2:详细行星传动建模-第1部分44.252.1捋概念系统转化为详细齿轮262.2需要定义的件.….2723在行早架上安装右侧行早盘24在行星架上安装行星销轴…292.5捋刚性轴承转化为滚子轴承::30自 RomexPage 3 of 41O TECHNOLOGYCopyright 2012.6编辑自定义轴承312.7选择和安装自定义轴承.3228为行星轮和行星销轴添加边界籴件3329静力学分析…34小结353任务3:详细行星传动建模一第2部分3531捋概念行星轮副转化为详细齿轮+·+36.2查看轴和轴承的静力学分析结果着37小结···.39总结.…:::建模40分析40自 RomexPage 4 of 41O TECHNOLOGYCopyright 201教程:行星轮系01:行星传动系统建模在前面的教桯中,您已经学习了如何建立两档变速器模型并定义多功率流。这种布局称为平行轴系,啮合齿轮安装在相互平行的轴上。然而,Rmax并不仅能创建行轴和单一啮合齿轮副模型,还能帮行星轮传动(或者垂直)系统。行星传动系统常見」自动变速尜、载重汽车变速器和风电齿轮箱。它们的优点为体积小、速比大,并且通过其他组件的啮合或脱开、固定或者自由转动可以提供大量的运动组合。它们的缺点是比平行轴变速器的结构和装配更加复杂,同时也会产生较人的轴承负载传统行星排是由齿圈、太阳轮、以及一系列的行星轮(通常三个或更多)组成,行星轮需要安装在行星架上。只要行星系排中任何一个组件固定,功率可以通过其余两个输入并输出。下面表中所示为不同组合的速比:3x串心息回坦4下,、日cArrangementInputOutputStationaryCalculationASun(s)Planet Carrier(C) Ring(R)1+R/SPlanet Carrier(C) Ring(R)Sun(s)1/(1+S/R)CSun(s)Ring(r)Planet Carrier(C)-R/S8=”i.1.教程完成后的横型本教程的目的是学习如何进行概念(详细)行星系建模(图1)。由于行星系统的相对复杂性, Romax开发了概念行星设计工具,有助于快速开发简单的行星齿轮副与大多数Roπax软件里旳岺件一样,可以根据复杂性的不同对行星系统建模建模。在建模初期,没必要太早定乂行星销轴或行星轮轴承,可将这些都简化为一个单的概念行星架零件,如图所示(图2),概念行星架为一个绿色的圆盘。接下来,为了能够进一步硏究行星轮不均载、轴承寿命、齿轮校核、效率等问题,再将概念行星架换成详细的销轴、轴承等岺件。自 RomexPage 5 of 41O TECHNOLOGYCopyright 201图3为详细化的行星系统,由于行星传动系统可实现较高的传动比,经常用在低速重载的变这器中,尤Ring gear其是应用在卡车上。在我们的例子中,太阳轴为功率输入端,齿圈不旋转因此接地,行星架为功率输出本教程中,您将学到以下内容:Sun gear定义一个概念行星齿轮副将轴类零件接地的操作为行星传动系统定义功率流运行齿轮箱载荷谱分析查看载荷谱静力学分析结果若对学习本教稈感到任何困难,请联系 Romax工作人员MAN默认信息(Concept)PlanetPlanetCarrierGear(s)难度等级:Fiq,2.概念行星是否需要模型:PO1A.ssdPlanet GesrPlanet carrierRxD版本:R14.6Planet模块要求:SO2-1 RomaxDESIGNER ApplicationPin shaftS03-1 Parallel shaft modeller level 1S03-2 Parallel shaft modeller level 2S04-l Planetary Shaft Modeller Level 1S04-2 Planetary Shaft Modeller Level 2Gll-l Helical Gear Design and Rating分析设置:R146默认设置关闭重力Planer BearingPlanet carrieFg.3.行星轮自 RomexPage 6 of 41O TECHNOLOGYCopyright 201输入数据A.任务1:行星架轴类零件定义B.任务1:齿圈轴类零件定义vOa,030 mm708mm8 mmmm50 mm142mm30 mm自 RomexPage 7 of 41O TECHNOLOGYCopyright 201C.任务1:齿轮箱位置坐标ShaftValue X(mm)Value y(mm)Value Z(mm)Carrier shaft0.090.0280.0Ring Gear Shaft0.090.0290.0D.任务1:初始轴承数据ParameterValueNameCarrier Shaft Left BearingCarrier Shaft Right BearingDesignationKOYO 32911JRKOYO 3201OJRShaft offset(mm)605102.0OrientationRightLeftE.任务1:刚性联接定义ParameterValueNameRing gear-GroundOffset(mm)15.0Stiffness valueDefault valueHousing ShaftGround>自 RomexPage 8 of 41O TECHNOLOGYCopyright 201F.任务1:概念行星架建模luearamSunPlanetRingModule2.5Pressure angle20Helix angle20Sun handRightNo of planetsNo. of teeth231757Face width303030G.任务1:太阳轮和齿圈的联接方式ShaftoffsetConcept Planet Carrier(Planetary GearsCarrier shaft10Ring gearRing gear Shaft15Sun gearOutput shaft235H.任务1:功率输出联接ShaftoffsetCarrier shaft130.0m自 RomexPage 9 of 41O TECHNOLOGYCopyright 201I.任务2:行星轮销和轴套定义aluearamPlanet pinPlanet sleeveLength(mm)50.030.0OD(mm)18.0360Bore(mm)0.024.0」.任务2:行星架和行星销联接ParameterValueNameConcept planet carrier LeftConcept planet carrier rightMounting shaftCarrier shaftCarrier shaftOffset(mm)4.0460Planet pinOffset(mm)4.0460PCD(mm)108.3108.3Rotation(deg)0,72,144,216,2880,72,144,216,288自 RomexPage 10 of 41O TECHNOLOGYCopyright 201
    2020-11-28下载
    积分:1
  • 运用STM32F407写的FFT,分辨率是1Hz。可以测量信号频率,以及谐波分析,失真度。另外还可以测量两个波形的相位差
    运用STM32F407写的FFT,分辨率是1Hz。可以测量信号频率,以及谐波分析,失真度。另外还可以测量两个波形的相位差
    2020-07-01下载
    积分:1
  • Linux应用序开发成长之路
    我认为非常不错的Linux应用程序开发入门教程,是我08年在中科院西安网络中心Linux开发工程师培训时的教材。Word版本,共181页。Linux 应用程序开发成长之路编著:中国科学院西安网络中心——何志华、付沿安引言第一章 Linux系统程序设计基础第二章 文件操作第三章 串行通信第四章 进程控制第五章 进程间的通信 IPC第六章 多线程编程附录A 常见的系统调用附录B 系统的结构体
    2021-05-06下载
    积分:1
  • 696516资源总数
  • 106554会员总数
  • 12今日下载