当前位置:文档之家› ArcGIS_Engine二次开发讲义

ArcGIS_Engine二次开发讲义

ArcGIS_Engine二次开发讲义
ArcGIS_Engine二次开发讲义

ArcGIS Engine二次开发实习初级讲义

目录

1 ArcGIS、ArcObjects和ArcGIS Engine简介.................................................................... - 3 -

1.1 ArcGIS简介 ................................................................................................................ - 3 -

1.2 ArcObjects简介 .......................................................................................................... - 4 -

1.3 ArcGIS Engine简介.................................................................................................... - 5 -

2 ArcGIS控件介绍.................................................................................................................... - 7 -

2.1 ArcGIS控件简介 ........................................................................................................ - 7 -

2.2重要控件简介............................................................................................................... - 9 -

3 ArcGIS Engine二次开发入门 ............................................................................................ - 16 -

3.1 ArcGIS Engine开发起步——第一个简单的地图显示程序 .................................. - 16 -

3.2 属性查询.................................................................................................................... - 23 -

3.3 空间查询.................................................................................................................... - 27 -

3.4 BaseCommand开发实例 .......................................................................................... - 36 -

3.5 BaseTool开发实例.................................................................................................... - 38 -

3.6通过代码添加图层..................................................................................................... - 42 -

3.7基于比例尺显示地图................................................................................................. - 44 -

3.8 构建一个简单的GIS应用........................................................................................ - 46 -

4.问题解决方法及帮助文档的使用........................................................................................ - 58 -

4.1使用ArcObjects开发帮助系统............................................................................... - 58 -

4.2阅读对象模型图(Object Model Diagram)......................................................... - 62 -

1 ArcGIS、ArcObjects和ArcGIS Engine简介

1.1 ArcGIS简介

ArcGIS提供了一个可伸缩的框架,可以为独立用户或者多用户,既可以在桌面端也可以在服务器端提供GIS。ArcGIS 9是用来构建一个完整GIS应用的GIS软件产品集成。它是基于共享的GIS软件组件——ArcObjects。ArcGIS 9由以下四部分组成:

●ArcGIS Desktop——高级GIS应用的集成

●ArcGIS Engine——根据应用程序接口来构建基本应用的嵌入式GIS组件库

●ArcGIS Server——在企业级或者网络框架下构建服务器端GIS应用的平台,用来

构建Web服务和Web应用

●ArcIMS——通过公开的因特网协议来发布地图、数据和元数据的GIS Web服务器

图1 ArcGIS产品结构图

每一个GIS框架同样包含ArcSDE网关,这是在关系数据库(RDBMS)上组织地理数据的接口。

ArcGIS是构建地理信息系统的平台。ArcGIS 9在地理数据处理、3D可视化表达和开发工具方面做了新的扩展。两个新的产品——ArcGIS Engine和ArcGIS Server在这个版本中发布,是ArcGIS成为一个应用程序及服务端开发的完整产品。

●使用ArcGIS能够开发出一系列的产品,开发者可以:

●配置/定制ArcGIS的应用,例如ArcMap和ArcCatalog

●扩展ArcGIS的结构和数据模型

●利用ArcGIS Engine在其他应用程序中嵌入地图和GIS功能

●使用ArcGIS Engine构建并部署桌面版应用程序

●使用ArcGIS Server构建Web服务和应用

ArcGIS系列产品是通过称之为ArcObjects的软件组件加以构建和扩展的。ArcObjects 包括一系列不同的程序组件,从高度封装的组件(例如独立的geometry objects)到低级组件(例如能够同已有的ArcMap文档集成的地图组件)。这些组件为开发者集成了大量的GIS 功能。

ArcGIS 9的全线产品都具备开发功能(Engine,Server和Desktop)。作为一个开发者,您能够使用标准程序框架结合ArcObjects来扩张ArcGIS Desktop;能够用ArcGIS Engine定制应用;能够使用ArcGIS Server构建企业级的GIS应用。

图2 ArcGIS开发结构图

ArcGIS Desktop包含了一些列的Windows桌面应用程序(例如,地图、目录、工具箱、地球方面的应用)。ArcGIS Desktop包含了三种功能级别(ArcView,ArcEditor和ArcInfo),使用ArcGIS Desktop开发包能够进行客户化和扩展。

ArcGIS Desktop的软件开发包(software developer kit,SDK)包含在ArcView,ArcEditor和ArcInfo内,支持COM(Component Objects Mode l,组件对象模型)和.NET 程序框架。许多开发者利用Desktop SDK扩展功能,创建新的GIS工具,定制用户界面,完善ArcGIS Desktop应用中专业GIS产品的扩展功能。

ArcGIS Server不仅定义和实现了一系列标准的GIS Web服务(例如,地图、数据访问、地理编码等),同时还支持利用ArcObjects进行企业级的服务端应用开发。

ArcGIS Server开发包让开发者能构建GIS服务器用来向多用户提供可供访问的GIS 功能,能通过客户端对大型GIS中央服务器进行处理,能构建和分发GIS Web应用,能进行分布式GIS运算。

1.2 ArcObjects简介

ArcObjects是ArcGIS Desktop的开发平台。

ArcGIS Desktop是一系列GIS软件系统:ArcInfo,ArcEditor和ArcView。这些系统服务于GIS,例如地理数据组织、控件编辑、分级可视化等功能。

ArcGIS Desktop系统包含一系列的应用,例如ArcCatalog、ArcMap、ArcT oolBox和ArcScene,并且能够集成大量不同的扩展产品,例如ArcGIS Spatial Analyst(空间分析模块),ArcGIS Geostatistical Analyst(地理统计分析模块),ArcGIS 3D Analyst(三维分析模块)等。

ArcObjects是使用微软的组件对象模型(Component Objects Model,COM)书写。因此,凡是支持COM标准的开发语言都能使用ArcObjects。您能向ESRI(Environment System Research Institute,环境系统研究所)的开发者一样,使用同样的方式来扩展ArcObjects中的任何一部分。

1.3 ArcGIS Engine简介

ArcGIS Engine是开发者用来构建应用程序的一整套嵌入式GIS组件。使用ArcGIS Engine,您可以将一些GIS功能嵌入到已有的应用程序中,这包括Microsoft Office产品,例如Word和Excel,建造有针对性的客户应用程序用来将高级GIS系统与他人分享。ArcGIS Engine由一个软件开发包(software development kit,SDK)和一个给所有ArcGIS应用提供平台的运行许可(runtime)构成。

构成ArcGIS Engine的五部分分别如下:

1)基本服务——几乎任何GIS应用都需要的核心GIS ArcObjects,例如几何(geometry),显示(display)等。

2)数据访问——ArcGIS Engine提供许多栅格和矢量数据的访问方式,包括与geodatabase相当的能力和灵活性。

3)地图表达——ArcObjects使用符号、注记和专题地图来生成和表达地图。

4)开发组件——用来快速定制应用开发程序的高度封装用户接口以及开发过程中全面的帮助系统。

5)运行许可——ArcGIS Engine运行许可可以部署标准功能或者加入一些附加的高级功能。

这中间除了运行许可之外的任何一部分,都打包集成到ArcGIS Engine开发包(SDK)中。ArcGIS Engine运行许可及其选项,尽管是开发完整的GIS应用程序中的一部分,但包含了应用部署,所以被单独打包。

1.3.1 ArcGIS Engine Software Developer Kit

ArcGIS Engine SDK是用来开发和部署GIS及地图方面应用程序的组件化软件开发产品。ArcGIS Engine SDK不是终端产品而是共应用开发者使用的软件包。它能构建基本的地图浏览或者全面的、动态的GIS编辑工具。使用ArcGIS Engine SDK,作为开发者,您在定制地图功能接口方面有空前的自由。您可以使用许多API中的一些来构建独一无二的应用程序或者将ArcGIS Engine组建与其他软件组建整合,来实现地图和用户需要的其他信息之间的完美结合。

使用ArcGIS Engine,地图既能够作为应用程序的核心,也可以作为一个可选项。例如,如果您的应用主要是数据库中的商务信息,当您查询数据库的时候,ArcGIS Engine能够将您感兴趣的商业信息在地图上高亮显示定位出来。

ArcGIS Engine SDK提供了大量的GIS组件,或者称为ArcObjects,按照之前的介绍,包括基本服务、数据访问和地图表达。之前提到的ArcGIS Engine的第四部分,也就是开发组件,也包含在SDK中间。这些都是用来构建一个高质量地图接口的开发控件。下面列

出的ArcGIS控件,或者说可视化控件,用来辅助应用程序开发(下文将针对控件进行更加详细的介绍)。

●MapControl

●PageLayoutControl

●SceneControl

●GlobeControl

●ToolbarControl

●TOCControl

●ReaderControl

●ToolbarControl中所用到的commands(命令)、tools(工具)和menus(菜单)

1.3.2 ArcGIS Engine Runtime

ArcGIS Engine的最后一部分是运行许可。所有用ArcGIS Engine SDK构建出的应用程序都需要不同级别的ArcGIS Engine运行许可才能够正常运行。ArcGIS Engine Runtime 是ArcGIS Desktop(ArcGIS桌面版)构建的平台,如果得到ArcGIS Engine应用开发许可,ArcGIS Desktop的用户就能够执行基本的基于Engine的应用。ArcGIS Engine Runtime 从标准功能到企业级功能之间有许多不同的选择。

1.3.3 ArcGIS Engine的功能

ArcGIS Engine的功能十分强大。作为ArcGIS Engine开发者,您可以实现以下列出的和其他更多的功能,这包括:

●用多个图层来显示地图,例如道路、水系、边界等

●地图的漫游和缩放

●地图上要素的确认

●地图上要素的查询和定位

●根据属性值显示注记

●根据航片或者卫片显示图像

●绘制几何图形,例如点、线、弧、多边形

●添加描述性的文字

●沿着线选择或者选择矩形、某一范围内、多边形等内部的要素

●选择距离在某一范围内的要素

●利用SQL语言来寻找和选择要素

●利用专题地图来渲染要素,如唯一值法、分级法和点状密度法

●动态显示实时地图或者时序数据

●根据地理编码来寻找位置

●转换您地图的坐标系

●根据几何操作来生成缓冲区、计算差值,或者进行求交、求并等运算

●编辑要素形状或者旋转地图

●创建并更新要素的几何形状及其属性

编辑要素(Editing Features)

ArcGIS Engine开发包让您构建出能创建、修改和删除geodatabase中矢量要素或者shapefile文件的应用程序。标准的ArcGIS Engine Runtime能够让编辑shapefile文件或者personal geodatabase中简单要素的程序运行。然而,要构建企业级geodatabase的全部

功能,就需要ArcGIS Engine Runtime中的Geodatabase Update选项。

空间建模和分析

通过增加ArcGIS Engine Runtime中的Spatial选项,您能够扩展ArcGIS Engine的功能。这个选项(Spatial选项)能提供一系列强劲的空间建模和分析功能。您能够创建、查询、表达和分析基于象元的栅格数据,能够集成栅格和矢量数据进行分析,能够从已有数据挖掘出新的信息,能够从多层数据中查询信息,能够在ArcGIS Engine应用程序中完美集成基于象元的栅格数据和矢量数据。

例如,您能够:

●将要素(如点、线或者面)转化成栅格图

●基于距离或者要素、栅格间的关系来创建栅格缓冲区

●根据点状要素生成密度图

●生成等高线、坡度、可视化区域、方向和山体阴影

●栅格图的分类及显示

●兼容TIFF,BIL,IMG,USGS DEM,SDTS,DTED等标准格式及多种其他格式

数据

●三维可视化等

ArcGIS Engine Runtime中的3D选项让您通过使用Scene和Globe控件来有效的表达和分析区域及全球数据。您能够从多个不同的视点查看表面;您能够查询表面,决定从某个选中的位置看,哪些要素是可见的;您能够将栅格和矢量数据贴在表面以构建真实的透视影像。

例如,您能够:

●显示Scene和Globe文档

●展示交互性的透视图,包括漫游、缩放、旋转、倾斜、模拟飞行以便于表达和分

●显示真实世界的表面要素,例如楼房

●展示视域和可见范围分析、场景高度内插、剖面分析和最短距离分析

2 ArcGIS控件介绍

在ArcGIS Engine的二次开发中,ArcGIS控件给我们提供了具体的开发环境和方法。在ArcGIS Engine中共有7个控件,另外在部署过程中还有一个LicenceControl。下面将首先介绍ArcGIS控件,再详细介绍实习中可能用到的MapControl,TOCControl以及ToolbarControl。

2.1 ArcGIS控件简介

ArcGIS的控件是高度集成化的,首先能够让开发者构建和扩展ArcGIS的功能,其次能够提供图形用户界面(graphical user interface,GUI)。

下列展示出的每一个ArcGIS控件都可以被作为ActiveX控件,.NET控件或者可视化的JavaBean:

●MapControl——类似于“数据”

●PageLayoutControl

●ToolbarControl

●TOCControl(Tablet of Contents Control)

●SceneControl

●GlobeControl

●ReaderControl

使用ArcGIS控件,可以用两种方式来构建应用程序,首先,ArcGIS控件可以被嵌入到已有的应用程序中,将地图相关的功能作为辅助添加进去,或者其次,ArcGIS控件可以用来创建一个独立的应用程序。不管使用哪种方式,一个独立的ArcGIS控件能够被嵌入到已有程序中或者TOCControl和T oolbarControl能够和其他ArcGIS控件联合使用,提供应用程序的部分框架。

对于所有的ArcGIS控件来说,有一些共同的主题、概念和应用方法等,在有效的使用这些控件来构建应用程序之前,有必要先有一定的理解。

2.1.1 嵌入式控件(Embeddable Components)

每个ArcGIS控件都是一个可嵌入的控件,能被放置到提供可视化编程环境的窗体或者对话框内。被放置之后,这些ArcGIS控件能够连同别的嵌入式控件(例如命令按钮,下拉列表框等)一样重新定义尺寸和位置以构建应用程序中的用户界面。

2.1.2 属性页(Property Pages)

当每一个ArcGIS控件被放置到窗体或者对话框中之后,鼠标右键点击控件,从弹出菜单中选择“Properties”(属性),都会分别弹出一系列的属性页。这些属性页提供了控件的部分属性和方法,并且允许开发者不使用或使用极少的代码来完成应用开发。

2.1.3 ArcObjects

每一个ArcGIS控件都封装了一些粗粒度(coarse grained)的ArcObjects以简化用户的开发工作,但同时也提供了访问高粒度(finer grained)ArcObjects的方法。例如,PageLayoutControl控件封装了PageLayout对象(PageLayout Object)。PageLayout对象包含了至少一个MapFrame元素,其中有一个包含有多层矢量图、要素或者通常所说的Layer对象的Map对象。每一个ArcGIS控件提供了封装在ArcObjects中最频繁使用的属性和方法的访问方法。例如,MapControl中的SpatialReference(空间参考)属性项,提供了设置地图对象中空间参考属性的方法。每一个ArcGIS控件同时也有一些实现简单任务的方法。例如,MapControl有AddShapeFile(用来添加ShapeFile文件)方法。ArcGIS 控件是典型应用开发的起点,不仅因为它们提供用户界面,同时也提供对象模型的直接方法。

2.1.4 事件(Events)

每一个ArcGIS控件都能相应终端用户的键盘和鼠标操作。其他的事件用于相应控件内部的操作。例如,当一个地图文件被载入到MapControl中时,会触发OnMapReplaced事件,或者说当一个对象被拖拽到MapControl上时,会触发OnOleDrop事件。

2.1.5 伙伴控件(Buddy Controls)

ToolbarContro l和TOCControl需要和其他“伙伴控件”协同工作。通常说来,“伙伴控件”指的是MapControl,PageLayoutControl,ReaderControl,SceneControl或者GlobeControl。“伙伴控件”可以在设计时通过控件的属性页来设置(在支持属性页的编译

环境中设置)或者在程序中用SetBuddyControl方法来设置。

2.1.6 控件命令(Control Commands)

ArcGIS Engine提供了与ArcGIS控件一起工作的一系列命令(commands),工具(tools)和菜单(menus)。例如,MapControl和PageLayoutControl可以使用地图浏览,要素选择和图形元素命令等。类似的,也有许多可供SceneControl,GlobeControl和ReaderControl使用。对于使用独立控件的程序来说,在程序中新建一个命令的实例,并将这个实例通过OnCreate事件传递给控件就可以直接使用。对于连同“伙伴控件”一起使用ToolbarControl的应用程序来说,这些命令可以被直接添加到ToolbarControl中,既可以在设计时通过属性页加入,也可以在程序运行过程中书写代码加入,如果在运行过程中,ToolbarControl处于客户定制状态,还可以由终端用户添加。

开发者可以使用ArcGIS Engine创建自己的命令、工具和菜单来扩展ArcGIS控件。HookHelper,GlobeHookHelper和SceneHookHelper对象能够用来简化开发。具体的开发方法将在第五章详细列出。

2.1.7 地图组织(Map Authoring)

ArcGIS Desktop应用程序能够创建预定义好的地图文件,之后载入到ArcGIS控件中以快速获得高质量的地图。例如,ArcMap能创建可被载入到MapControl和PageLayoutControl中的地图文件。预定义地图文件能够在组织地图数据和地图符号方面节省大量的时间。当地图文件被载入到ArcGIS控件中之后,在需要改变地图外观的时候,对象模型仍然提供了通过程序来访问图层、元素和符号的方法。

下表小结了能够被载入到ArcGIS控件中的文件格式:

表1 ArcGIS控件对应的文件格式

*ArcReaderControl只有选择ArcGIS Publisher扩展之后才能获得。然而,这里将其列出来是因为与ReaderControl相似。

**ArcGIS控件还不提供直接载入图层文件(*.lyr)的方法。然而,它们可以通过MapDocument 对象间接载入。

2.2重要控件简介

本次实习可能用到MapControl,PageLayoutControl,TOCControl和T oolbarControl,下面分别介绍这四种控件。

2.2.1 MapControl和PageLayoutControl

MapControl和PageLayoutControl分别对应ArcMap Desktop应用中的“数据”和“发布”视图。MapControl中封装了Map对象,PageLayoutControl中封装了PageLayout对象。ArcMap应用程序中组织的地图文件能够直接载入到MapControl和PageLayoutControl中,以省去程序配置地图的时间。

地图文件能够在设计时通过MapControl和PageLayoutControl的属性页(在支持属性页的开发环境中)设置,控件可以被设置为“链接”(link)或者“包含”(contain)地图文件。当选择“链接”时,控件将在生成的时候将地图载入并显示出地图文件的最新更新;而选择“包含”时,控件将会将地图文件中的内容复制到控件中,并且不再显示至此之后发生的文件更新。同时,您也可以选择使用LoadMxFile方法在程序运行过程中载入地图文件(这种方法在之后的章节中会有详细介绍)。下面详细介绍MapControl和PageLayoutControl的属性页。

1. MapControl

在MapControl控件上点击鼠标右键,选择属性,打开MapControl

的属性页。

属性页中包含General、Map、Color、picture四个选项卡。

General选择卡:

Border Style:用于设置

MapControl控件边界的样式

Appearance:用于设置

MapControl控件的表现方式。

Mouse Pointer:用于设置鼠标在

MapControl上的样式。

Enabled:设置控件是否可用,这

与属性表中的Enabled属性在功

能上是相同的。

Enable OLE Drop Event:设置控

件是否响应拖拽事件,例如:直接

将地图拖入MapControl

Preview in Design Mode: 设置是

否在控件设计模式下显示地图。

Arrow Key Intercept:设置是否容

许控件响应键盘

Tooltip Style:设置地图T ooltip的

样式(ToolTip是地图上的一种动

态标注。)

Map Document:用于载入

ArcMap产生的MXD文件,如果

您的文件时MXD类型的,可以选

择这种方式载入地图,或代码在程

序中载入。关于后一种方法会在

《通过代码载入图层》小节中加以

介绍。

选择地图载入的方式,有两种方式

载入地图,第一种是将地图数据载

入到MapControl中,这种方式下,

地图数据在生成程序时被载入到

内存中,之后所有对地图的操作,

在没有保存的前提下对原始的地

图文件没有影响。

第二种方式,通过连接方式载入地

图,表示对于地图的操作会影响到

原始数据。在MapControl中只是

保持着与地图数据的链接。

Map选项卡

Scale:显示地图比例尺

Reference Scale:地图参考比例尺

Rotation:设置地图的旋转角度

Units:设置单位

Spatial Reference:设置或更改地图的

空间参考。

Initial Map:初始化地图

从左到右按钮的功能依此是:

加载图层(图层可以是单图层文件,可

以使GoeDatabase,也可以是

Shapefile)

向上移动图层、向下移动图层、删除图

层、查看图层属性信息。

Color选项卡主要对地图颜色进行相关的设置,但通常关于地图的配色我们是通过代码来完成的,这个选项卡很少涉及。

Picture 选项卡主要是对控件中的相关图片资源进行管理,例如鼠标样式等。

2. PageLayoutControl

对于PageLayoutControl控件的属性页而言,唯一与MapControl不同的是他存在page 选项卡,该选项卡提供了页面大小,页面宽度和高度等修改的窗口。

MapControl和PageLayoutControl不仅可以读地图文件,同时也能写地图文件(*.mxd)。两个控件都实现了IMxdContents接口,使得MapDocument对象能将MapControl 和PageLayoutControl能够将其中的内容写入地图文件。

辅助方法(Helper Methods),例如MapControl中的TrackRectangle(鼠标绘制矩形),TrackPolygon(鼠标绘制多边形),TrackLine(鼠标绘制多段线)和TrackCircle(绘制弧形)方法能够在视口中绘制出可擦出的图形。VisibleRegion属性能够改变MapControl中显示区域的形状。辅助方法,例如PageLayoutControl中的FindElementByName和LocateFrontElement方法能帮助开发者组织元素,同时Printer和PrinterPageCount属性能够协同PrintPageLayout方法完成打印输出任务。

2.2.2 TOCControl

TOCControl需要与一个“伙伴控件”一同工作。“伙伴控件”可以是一个MapControl,PageLayoutControl,ReaderControl,SceneControl或者GlobeControl。“伙伴控件”能够在设计的时候通过TOCControl的属性页设置(在支持属性页的编译环境中),或者在程序运行中通过SetBuddyControl方法来设置。对每个TOCControl,“伙伴控件”都实现了ITOCBuddy接口。TOCControl利用“伙伴控件”来显示交互性的树结构目录,包括“伙伴控件”的地图、图层、符号等内容,并且保持树结构的内容与“伙伴控件”的内容一致。例如,如果TOCControl以MapControl作为其“伙伴”,则当一个图层从MapControl中移除的时候,这个图层也会同时从TOCControl中移除。同样的,如果终端用户通过交互式的TOCControl 设置,取消了某个图层的可见性,则MapControl中的相应图层也会不可见。

与MapControl不同的是,TOCControl的属性表中包含Buddy Control,如果你已经添加了MapControl,那么在下拉列表中你就会看到它,选择他就可以讲TOCControl与MapControl 绑定。

2.2.3 ToolbarControl

ToolbarControl需要与一个“伙伴控件”一同工作。“伙伴控件”可以是一个MapControl,PageLayoutControl,ReaderControl,SceneControl或者GlobeControl。“伙伴控件”能够在设计的时候通过T oolbarControl的属性页设置(在支持属性页的编译环境中),或者在程序运行中通过SetBuddyControl方法来设置。T oolbarControl包含了与“伙伴控件”的显示相关的一系列的命令(commands),工具(tools),工具控件(tool controls)和菜单(menus)。

对每个ToolbarControl,“伙伴控件”都实现了IToolbarBuddy接口。这个接口是用来设置“伙伴控件”的CurrentT ool属性。例如,一个ToolbarControl中包含有一个“PageZoomIn”(页面放大)工具,并且将PageLayoutControl设置为“伙伴”,则当终端用户单击ToolbarControl上的“PageZoomIn”时,“PageZoomIn”将会成为PageLayoutControl的当前工具。“PageZoomIn”工具将查询ToolbarControl以访问其“伙伴控件”(PageLayoutControl)并且作用于PageLayout(页面视图),然后它将提供给终端用户显示和使用鼠标拉框的方法以改变PageLayout的显示范围。

ToolbarControl实现了ArcGIS 中的所有功能,用户可以在不编写一行代码的情况下,轻松构架出一个功能庞大的GIS软件,只要是ArcGIS中含有的功能,你都会在ToolbarControl中找到。但是这些功能都是事先封装好的,如果你想对这些功能进行进一步的扩展,难度很大。所以不要以为有了ToolbarControl 就可以摆脱学GIS二次开发的过程。让我们来看看我们是如何使用T oolbarControl 的。

在ToolbarControl的属性页中有一个Items的选项卡,通过选项卡中的Add按钮可以添加相应的功能按钮。点击Add,会出现以下对话框。

该对话框包含了很多已经封装好的工具,包括复杂的空间分析功能。双击其中的功能或拖拽,就可以讲该功能添加到ToolBarControl中。需要删除时,在Items中的按钮列表中将功能拖出即可,按钮列表如下图所示:

3 ArcGIS Engine二次开发入门

3.1 ArcGIS Engine开发起步——第一个简单的地图显示程序

这个例子将引导您创建第一个简单的地图显示程序,并添加基本的缩放和漫游功能。如果您之前没有接触过ArcGIS Engine的开发,那么这个例子是您迈入ArcGIS Engine二次开发大门的极好例子,如果您之前没有接触过Visual https://www.doczj.com/doc/9510001267.html,,也无需担心,这个例子将从零开始引导您一步一步完成任务。

3.1.1 创建一个新的工程

首先打开Microsoft Visual Studio 2005,点击菜单栏中的“文件”—>“新建”—>“项目”,在弹出的对话框中选择新建一个Visual Basic的Windows应用程序,之后更改项目名称为“MapView”,更改文件的路径为个人实习文件夹,点击“确定”即可。

图23 新建项目对话框

3.1.2 添加控件及引用

点击编译器最左侧的“工具箱”,在弹出的选择项中找到“ArcGIS Windows Forms”项,单击其中的MapControl,之后在Form1的空白处单击鼠标左键不放并拖拽鼠标,直到调整MapControl到合适的大小再松开鼠标(您也可以直接在工具箱中双击MapControl,该控件则会自动加入到Form1中)。用同样的方法,再将LicenseControl添加到Form1中。

图24 工具箱

如果您在工具箱中找不到MapControl,则请依次尝试以下两种解决方案。首先单击工具栏,待工具箱弹出之后,在工具箱的任意位置上单击鼠标右键,从弹出菜单中选择“重置工具箱”。如果这一步操作之后仍然无法看到MapControl,则请滑动工具栏右侧的滚动条至最底部,找到“常规”选项卡,然后在“常规”选项卡上单击鼠标右键,在弹出菜单中单击“选择项(I)…”,在弹出的对话框中找到“AxLicenseControl”和“AxMapControl”,将这两项前的复选框打上勾,最后点击确定即可(如果在“.NET Framework组件”这个面板中找不到这两项,则选择“COM 组件”面板,在“ESRI LicenseControl”和“ESRI MapControl”前面打勾)。

图25 重置工具箱

图26 选择项…

图27 选择工具箱项

图28 选择工具箱项

添加好MapControl和LicenseControl之后,调整Form1和MapControl的位置与大小,如下图所示:

图29 窗体布局

3.1.3 添加地图

在MapControl上单击鼠标右键,选择“属性”,则会弹出MapControl的属性设置面板,在之前也介绍过,通过这个面板可以完成许多简单的工作。

如图所示,点击“Map”面板,之后点击按钮,在弹出的对话框中选择下图所示的路

径(注:笔者的ArcGIS安装在D盘,若您的ArcGIS装在别的盘符,请做相应修改),再在此路径下选择“States”,点击“Open”。之后在MapControl的属性页上点击“确定”即可。

图30 文件添加路径

至此,我们已经完成了一个最简单的地图显示程序,下面一起来看一下成果吧。点击“启动调试”按钮(或者在“调试”菜单下选择相应命令,或者按键盘的F5键),可以得到如下的运行结果。

图31 “启动调试”按钮

地理信息系统课程设计报告

地理信息系统课程设计 实习报告 班级:地信10701班 学生姓名:陈鹏 学号:200701144 指导老师:何贞铭刘少华邵燕林 日期: 2010年9月

目录 一、课程设计目的 (1) 二、课程设计任务 (1) 三、空间数据建库 (1) 四、系统功能设计 (1) 五、系统界面设计 (2) 六、系统功能实现 (2) 七、实习成果展示 (2) 八、总结和体会 (2)

地理信息系统课程设计报告 一、课程设计目的 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 本次地理信息系统课程设计是在完成《地理信息系统原理》、《GIS软件工程》等课程 后开展的实践性课程设计。本次课程设计主要完成地图矢量化(空间数据库设计与建库)、 系统功能设计、系统界面设计和部分功能的实现;通过本次实习对三个GIS平台软件(SuperMap、ArcView、MapGIS)的各个功能模块有了较深入了解、熟悉和掌握;通过这 次课程设计也进一步熟悉了基于GIS平台提供的组件进行应用系统开发的一般方法、思路和 流程。其主要的目的概括为: 1、熟练掌握三种GIS的公共平台及其开发环境; 2、熟练掌握三种GIS二次开发组件开发GIS应用软件; 3、掌握GIS数据库建库方法和地物编码方法; 4、理解和掌握GIS工程原理及方法。 二、课程设计任务 课程设计的主要任务是利用G IS公共平台提供的二次开发环境开发一套“校园GIS软件”,在遵循国家基础地理编码的基础上建立更详细的校园地物编码系统,实现校园内的地面建筑、道路、绿化面积等地物信息的可视化管理和查询,并可据此进行简单的空间分析。 1.建立校园地物编码系统(各个教学设施,如各个楼层的编码等) 2.建立校园地物的空间拓扑关系; 3.建立空间数据及属性数据库(最好采用独立的商业数据库进行建库或设计数据库); 4.建立空间数据的查询系统; 5.实现空间分析的基本功能(包括缓冲区分析、叠加分析和路径分析等),如道路的 缓冲区分析; 6.提交书面报告(编码系统、数据库设计、软件设计流程和软件使用说明等)和校园 GIS系统软件运行程序及原始程序代码等。 三、空间数据库设计与建库 。。。。。。 (地图分层、属性库设计,数字化地图基本流程) 四、系统功能设计 。。。。。。 1

基于ANSYS的二次开发技术的实现方法

第24卷第5期辽宁工学院学报V o l.24 N o.5 2004年10月JOU RNAL O F L I AON I N G I N ST ITU T E O F T ECHNOLO GY O ct.2004① 基于AN SYS的二次开发技术的实现方法 吴 鹏1,曾 红1,韩 迈2 (1.辽宁工学院,辽宁锦州 121001;2.鞍山广播电视大学,辽宁鞍山 114000) 摘 要:基于大型通用有限元分析软件AN SYS8.0环境,对AN SYS二次开发技术进行了探讨,并对AN SYS 三种开发工具进行了详细的介绍。论述了采用二次开发方法设计产品的必要性和重要性,证实了以AN SYS为平台开发专业模块的可行性,提高了工作效率,缩短了产品的开发研制周期。 关键词:AN SYS;二次开发;A PDL;U I DL;U PF s 中图分类号:T P391.72 文献标识码:B 文章编号:100521090(2004)0520025205 Realization of Secondary D evelop m en t of Technology Based on ANS Y S W U Peng1,ZEN G Hong1,HAN M ai2 (1.L iaoning Institute of T echno logy,J inzhou121001,Ch ina;2.A nshan R adi o&TV U niversity,A nshan114000,Ch ina) Key words:AN SYS;Secondary developm en t;A PDL;U I DL;U PF s Abstract:T he m ethod of secondary developm en t of techno logy on the basis of large-scale fin ite elem en t analysis softw are—AN SYS is described and app roached,w h ich details th ree k inds of de2 velop ing too ls of AN SYS.It dem on strates the necessity and i m po rtance of the m ethod of sec2 ondary developm en t of techno logy.T he feasib ility of develop ing p rofessi onal m odu le on the AN2 SYS p latfo r m is verified,w o rk ing efficiency i m p roved,and the developm en t cycle of the p roducts sho rtened. 从20世纪70年代以来,随着计算技术的飞速发展,结构分析有了很大的突破,国外相继出现了许多大型通用有限元分析程序,如AN SYS, ABAQU S,M A RC和M SC NA STRAN等,这些程序具有良好的界面、方便的前后处理和强大的计算分析功能以及开放的二次开发系统。 AN SYS软件是融热、电、磁、流体、结构、声学于一体的大型通用有限元分析软件。具有强大的求解器和前、后处理功能,为解决复杂、庞大的工程项目提供了一个强有力的工具。然而,正是由于AN2 SYS的通用性特点,使其对不同行业的专业性模块的分析不具有针对性,复杂的英文界面和繁琐的分析步骤都给从事有限元分析的技术人员造成了很大的障碍。另外,虽然AN SYS有较强大的前、后处理功能,但使用者必须具有较高的相关力学知识和丰富的分析经验,在几何建模简化和力学建模等前处理方面需要花费很多时间和精力。因此,基于这些不便因素,在熟练应用AN SYS软件的基础上,结合具体各行业的实践经验,利用AN SYS内部提供的二次开发工具,用户可在AN SYS系统中开发出具有中文界面的、特定功能的专用模块,可以有效地提高设计的效率和质量,充分体现了专业化、用户化、便 ①收稿日期:2004206228 基金项目:辽宁省教育厅科研资助项目(20032086)作者简介:吴鹏(19792),男,辽宁盘锦人,硕士生。

MAPGIS67教程(制图详细步骤讲解)

第1章概述与安装 1.1 概述 MAPGIS 是中国地质大学(武汉)开发的、通用的工具型地理信息系统软件。它是在享有盛誉的地图编辑出版系统MAPCAD 基础上发展起来的,可对空间数据进行采集,存储,检索,分析和图形表示的计算机系统。MAPGIS 包括了MAPCAD的全部基本制图功能,可以制作具有出版精度的十分复杂的地形图、地质图,同时它能对图形数据与各种专业数据进行一体化管理和空间分析查询,从而为多源地学信息的综合分析提供了一个理想的平台。 MAPGIS 地理信息系统适用于地质、矿产、地理、测绘、水利、石油、煤炭、铁道、交通、城建、规划及土地管理专业,在该系统的基础上目前已完成了城市综合管网系统、地籍管理系统、土地利用数据库管理系统、供水管网系统、煤气管道系统、城市规划系统、电力配网系统、通信管网及自动配线系统、环保与监测系统、警用电子地图系统、作战指挥系统、GPS 导航监控系统、旅游系统等一系列应用系统的开发。 1.2安装 1)系统要求: 硬件:CPU 486 以上、16M RAM、200M 硬盘、256 色以上显示器; 操作系统:Win9x、Win2000、WinNT 、WinXP或Win7系统; 输入设备:本单位主要使用的是GRAPHTEC—RS200Pro型扫描仪; 输出设备:本单位主要使用的是Canon—IPF700型出图打印机。 2) 硬件的安装: MAPGIS 硬件部分有加密狗,ISA 卡、PCI 卡三种,本单位主要为MAPGIS USB 软件狗,在确保机器BIOS 设置中USB 设备未被禁止的条件下,Windows 98 和Windows2000 自带的标准USB 驱动程序均可支持MAPGIS USB 软件狗工作。 3)软件的安装: MAPGIS 安装程序的安装过程为:找到MAPGIS 系统安装软件,双击SETUP 图标,系统自动安装软件,在WIN2000/NT/XP 下安装时,应先运行WINNT_DRV,提示成功后才可选择SETUP 开始MAPGIS 程序的安装; 对于MAPGIS6.1 及MAPGIS6.5,则无关键字和安装选择,但须根据实际需要选择安装组件。 从上述组件中选择实际运用中需要的选项,根据提示即可完成安装。

地理信息系统课程设计报告

YANGTZE UNIVERSITY 地理信息系统课程设计 实习报告 班级: 地信10701班 学生姓名:陈鹏 学号: 200701144 指导老师:何贞铭刘少华邵燕林 日 2010 年9月 期 1 / 4

目录 一、课程设计目的 (1) 二、课程设计任务 (1) 三、空间数据建库 (1) 四、系统功能设计 (1) 五、系统界面设计 (2) 六、系统功能实现 (2) 七、实习成果展示 (2) 八、总结和体会 (2)

一、课程设计目的 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 本次地理信息系统课程设计是在完成《地理信息系统原理》、《GIS软件工程》等课程 后开展的实践性课程设计。本次课程设计主要完成地图矢量化(空间数据库设计与建库)、 系统功能设计、系统界面设计和部分功能的实现;通过本次实习对三个GIS平台软件(SuperMap、ArcView、MapGIS )的各个功能模块有了较深入了解、熟悉和掌握;通过这次课程设计也进一步熟悉了基于GIS平台提供的组件进行应用系统开发的一般方法、思路和流程。其主要的目的概括为: 1、熟练掌握三种GIS的公共平台及其开发环境; 2、熟练掌握三种GIS二次开发组件开发GIS应用软件; 3、掌握GIS数据库建库方法和地物编码方法; 4、理解和掌握GIS工程原理及方法。 二、课程设计任务 课程设计的主要任务是利用GIS公共平台提供的二次开发环境开发一套“校园GIS软件”,在遵循国家基础地理编码的基础上建立更详细的校园地物编码系统,实现校园内的地面建筑、道路、绿化面积等地物信息的可视化管理和查询,并可据此进行简单的空间分析。 1.建立校园地物编码系统(各个教学设施,如各个楼层的编码等)2.建立校园地物的空间拓扑关系; 3.建立空间数据及属性数据库(最好采用独立的商业数据库进行建库或设计数据库)4.建立空间数据的查询系统; 5.实现空间分析的基本功能(包括缓冲区分析、叠加分析和路径分析等),如道路的缓冲区分析; 6.提交书面报告(编码系统、数据库设计、软件设计流程和软件使用说明等)和校园 GIS系统软件运行程序及原始程序代码等。 三、空间数据库设计与建库 。。。。。。 (地图分层、属性库设计,数字化地图基本流程) 四、系统功能设计 O O O O O O C/S、B/S等等,系统总体结构图层次图,功能模块详细分述)(采用何种体系结构- 1 / 4

ANSYS的二次开发技术

ANSYS的二次开发技术 ANSYS 的二次开发技术 ANSYS 提供的二次开发工具有三个:参数化设计语言(ANSYS Parametric Design Language,APDL),用户界面设计语言(User Interface Design Language,UIDL)以及用户可编程特性(User Programmable Features,UPFs)。其中,前两种可归类为标准使用特性,后一种为非标准使用特性。 ANSYS 参数化设计语言(APDL)APDL 扩展了传统有限元分析范围之外的能力,提供了建立标准化零件库、序列化分析、设计修改、设计优化以及更高级 的数据分析处理能力,包括灵敏度研究等。ANSYS 用户可编程特性(UPFs)利 用UPFs,用户可以开发下列方面的功能程序:(1) 开发用户子程序实现从ANSYS 数据库中提取数据或将数据写入ANSYS 数据库。该种子程序可以编译 连接到ANSYS 中,此时ANSYS 提供了10 个数据库操作命令;如果作为外部 命令处理,可以在ANSYS 的任何模块中运行;(2) 利用ANSYS 提供的子程序 定义各种类型的载荷,其中包括BF 或BFE 载荷、压力载荷、对流载荷、热通 量和电荷密度等;(3) 利用ANSYS 提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、粘塑性、超弹、层单元失效准则等;(4) 利用ANSYS 提供 的子程序定义新单元和调整节点方向矩阵,ANSYS 最多可以有6 个独立的新 单元USER100-USER105;( 5) 利用ANSYS 提供的子程序修改或控制ANSYS 单元库中的单元;(6) 利用UEROP 创建用户优化程序,可以用自己的算法和 中断准则替换ANSYS 优化过程。(7) ANSYS 程序作为子程序在用户程序中调用,如用户自定义的优化算法。ANSYS 软件本身是通过FORTRAN 和C 语言 开发的。使用UPFs 进行二次开发,在安装ANSYS 的基础上,还需要Compaq Visual FORTRAN 和MS Visual C++的支持。

利用VB和MAPGIS基本控件做二次开发

利用VB和MAPGIS基本控件学做二次开发 摘要:本文介绍了利用VB进行MAPGIS二次开发的原理、方法和实现技术,为用户进行复杂的应用开发提供了技术基础。 关键词:VB,MAPGIS,二次开发 微软公司的Visual Basic是一个简单易学的可视化开发工具,MAPGIS提供了很多功能强大的图形和属性管理控件,并为二次开发提供了许多完备的功能接口。利用VB和MAPGIS 基本控件可以做一些基本的开发,满足用户的一些特殊需要。本文将以区文件操作开发为例,讲解二次开发的原理、方法、要点和实现技术。 第一步:首先建立VB开发环境。 安装MAPGIS SDK软件到MAPGIS安装路径下。 添加声明模块vbW60_Area.bas,该模块包含MAPGIS基本参数及结构定义、消息与版本定义等。添加的方法是:在VB程序中点取"Project"菜单下的"Add Module",添加vbW60_Area.bas文件,该文件在MAPGIS安装程序的Basic子目录下。 添加参照引用文件。这些文件是MAPGIS控件功能实现的外部参照。添加的方法是:在VB程序中点取"Project"菜单下的“References”,将MapGisBasCtl1 1.0 Type Library、MapGisBasCtl2 1.0 Type Library、MapGisBasCom 1.0 Type Library、MapGisBasCtl 1.0 Type Library四个参照文件打钩,如下图所示。 设置可执行文件输出目录。生成的可执行文件必须放在与MAPGIS安装目录的动态库和控件相同的目录中才能执行。设置的方法是:点取"File"菜单下的"Make *.exe..",选择

《GIS二次开发》课程设计报告

《GIS二次开发课程设计》报告

目录 1 设计目标 (1) 2 需求分析 (1) 2.1 业务构成... .. (1) 2.2 数据内容... .. (1) 3 系统设计 (1) 3.1 总体设计 (1) 3.2 数据库设计 (2) 3.3 平台选择 (2) 3.4 详细设计 (2) 4 功能实现 (3) 4.1 基本功能 (3) 4.2 符号化 (3) 小结 ............................ 错误!未定义书签。

1 设计目标 通过本系统的实施,建立全国各省人口分布和人均GDP排名系统,通过各种地图符号和色彩信息,将地图数据符号化,借此来制作全国各省人口比重、贫富差距大小等专题图。 2 需求分析 2.1 业务构成 中国人口在世界各国中位居首位,约占世界总人口的19%,根据2015年1月20日国家统计局网站公布2014年中国经济数据,2014年末,中国大陆总人口达136782万人,比上年末增加710万人。其中,男性人口70079万人,女性人口66703万人,男性人口比女性多3376万人。中国是人口大国,因此中国的人口分布情况和人口管理显得至关重要。 随着经济的发展,中国的经济状况日益增强。但是整体而言贫富差距还是很大,所以将地图数据符号化来更好地分析各地区的人均GDP对国家掌控各地经济情况是十分有用的。 2.2 数据内容 数据主要包括全国各省的人口数量、总的GDP和人均GDP。通过这些数据来处理地图,将地图做成不同属性的专题图。 3 系统设计 3.1 总体设计 此次设计的初衷即是开发一个可以制作专题地图的系统。以全国

人口数量和全国各省人均GDP为例进行制作和开发。 第一步就是找全国省区底图;接着找所需数据(全国各省人口数量和全国各省人均GDP。)最后,通过VS设计系统,实现专题图制作功能。 3.2 数据库设计 刚开始是想将找到的数据以表格的形式导入arccatalog中,希望经过处理可以直接使用,但是做到最后发现并不能将表格直接导入底图。解决办法是在arcmap中编辑底图的属性表将找到的数据输入,保存。 还有就是在用VS系统开发时的登录界面时,用到sqlserver。 在sqlserver中创建数据库,在已创建的数据库中创建表格,表格中输入“用户名”和“密码”相关信息。 3.3 平台选择 系统开发平台:VS2010和arcengine。 3.4 详细设计 1、首先设计登录界面:登录界面加入所需控件。

ansys二次开发及实例

ansys二次开发教程+实例 第3章ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现 3.1 概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的 一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能 支持分布式并行及共享内存式并行。该软件具有如下特点: (1) 完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有 限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边 界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出 反映实际结构的仿真计算模型。 (2) 强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、 非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于 不同的问题及不同的硬件配置。 (3) 方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4) 多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interf ace Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户 不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服 准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。 3.2 程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计 语言,它的全称是ANSYS Parametric Design Language。使用APD L语言可以更加有效地进行分析计算,可以轻松地进行自动化工作(循环、分支、宏等结构),而且,它是一种高效的参数化建模手段。使用APDL语言进行封装的系统可以只要求操作人员输入前处理 参数,然后自动运行ANSYS进行求解。但完全用APDL编写的宏还存在弱点。比如用APDL语言较难控制程序的进程,虽然它提供了 循环语句和条件判断语句,但总的来说还是难以用来编写结构清晰的程序。它虽然提供了参数的界面输入,但功能还不是太强,交互性 不够流畅。针对这种情况,本文用VC++6.0开发框筒结构-桩筏基础-土相互作用有限元分析程序(简称LW S程序)。

mapgis新手教程3

山西地信数码科技公司
MAPGIS 教程
8、系统弹出(如下图)对话框。在此对话框中选择我们新建好的空白文件夹。
此文件夹即为 新建好的空白 文件夹
9、选择要裁剪的文件。这儿有两种情况: ①如果(左面窗口中)所有的文件都需要进行裁剪时,我们直接点击“添加全部”即可。 ②如果(左面窗口中)只有一部分文件需裁剪时,我们要将所需裁剪的文件全部选中(即将 其选为蓝色) 。然后点击“添加”→选择全部→设置“参数” (参数的设置参照下图即可)→ →单击“参数应用” (此时左下角的窗口中会显示出我们将要进行裁剪的图形文件)→单击 “装入裁剪框” (即我们在“输入编辑”中新建好的区文件)→单击“开始裁剪”→在右下 角窗口中的任意位置单击右键,在弹出的下拉菜单中选择“复位窗口” 。这时裁剪后新的图 形文件就显示在此窗口中→退出。
5

山西地信数码科技公司
MAPGIS 教程
此处为裁剪 范围。 此图为裁剪 后的新文件。
10、最后,我们可以在“输入编辑”中打开裁剪后的文件。 (如下图)
6

山西地信数码科技公司
MAPGIS 教程
本次操作结束,如发现有不清或不对的地方请与我们联系(sxmapgis@https://www.doczj.com/doc/9510001267.html,) ,我们 会及时改正,谢谢! 这里只是讲一些快速的入门法, 如果想更深入的了解 MAPGIS 知识, 请看 MAPGIS 相关书 籍。
7

山西地信数码科技公司
MAPGIS 教程
MAPGIS 打

(作者:sxmapgis) 功能:打印出图. 当一张图绘制完后,我们需要把它打印出来,具体步骤如下:
如果在准备出图的过程中,如果还要进行一些修改,在菜单栏上单击“返回编辑” 。
1

GIS实验报告材料-地信

地理信息系统原理实验报告 班级: 学号: 姓名: 指导教师:

一、实验目的 1熟悉桌面GIS软件Super Map的界面环境 2初步掌握Super Map的主要工具及菜单命令的使用 3理解GIS软件应具有的基本功能 4结合对所选地图的矢量化的操作,具体掌握GIS软件的操作步骤 二、实验时间 1、第八周----第十六周进行实验绘图实体操作 2、第十七周----第十九周进行图片剪切,资料整理,总结报告 三、实验内容 ●Supermap Deskpro的认识 Supermap Deskpro是超图的专业桌面GIS软件之一。Super Map GIS桌面平台产品是基于Super Map GIS核心技术研制开发的一体化的GIS桌面软件,是Super Map GIS系列产品的重要组成部分,它界面友好、简单易用,不仅可以很轻松地完成对空间数据的浏览、编辑、查询、制图输出等操作,而且还能完成拓扑分析、三维建模、空间分析、网络分析等较高级的 GIS 功能。 SuperMap Deskpro 是一款专业桌面GIS软件,提供了地图编辑、属性数据管理、分析与辅助决策相关业务以及输出地图、打印报表、三维建模等方面的功能。SuperMap Deskpro 作为一个全面分析管理的工具,应用于土地管理、林业、电力、电信、交通、城市管网、资源管理、环境分析、旅游、水利、航空和军事等所有需要地图处理行业。 ●Supermap Deskpro的使用 通过该软件进行地图的矢量化,具体过程如下:

1、前期的准备 数据来源:纸质西安地图 地图的整体设计:遵循地图越详细越好的原则,我们对点、线、面数据集作了详细的规划,详情请看图层分层。考虑到以后做专题图,对数据集属性字段做了必要的添加,用以区分不同的地物。 本地图特色:采用Deskpro软件自带的矢量符号库符号分别作点、线、面专题图。 2、地图矢量 2.1纸质地图的扫描扫描之前对地图进行图面整理,扫描的分辨率设为 300-500dpi,扫描后得到*.jpg格式的原始栅格数据的地图 2.2创建相应的坐标系数据源启动Deskpro选择新建工作空间。 新建数据源

附代码基于C 的ANSYS二次开发

ansys二次开发 1概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能支持分布式并行及共享内存式并行。该软件具有如下特点:(1)完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出反映实际结构的仿真计算模型。 (2)强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于不同的问题及不同的硬件配置。 (3)方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4)多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interface Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。2程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计语言,它的全称是ANSYS Parametric

GIS课程设计实习报告

GIS课程设计实习 报告

GIS 课 程设计报告 院 、系、部 城市建设系 专 业 测绘工程 姓 名 杨波 学 号 0802601-20 指导教师 龙岳红 吴德华

07 月 01日 目录 一、课程设计时间 (3) 二、课程设计地点 ....................................................... 错误!未定义书签。 三、课程设计目的 ....................................................... 错误!未定义书签。 四、课程设计具体内容 ............................................... 错误!未定义书签。 1、(任务一)地图矢量化 .................................... 错误!未定义书签。 2、(任务一)市级行政区划图制作 .................... 错误!未定义书签。 3、(任务四)市区择房分析 ................................ 错误!未定义书签。 4、(任务五)数据转换及3D数据集成 .............. 错误!未定义书签。 五、课程设计心得体会 ................................................ 错误!未定义书签。参考文献........................................................................ 错误!未定义书签。

(推荐下载)MAPGIS67教程(制图详细步骤讲解)

(完整word版)MAPGIS67教程(制图详细步骤讲解) 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word 版)MAPGIS67教程(制图详细步骤讲解))的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)MAPGIS67教程(制图详细步骤讲解)的全部内容。

第1章概述与安装 1.1 概述 MAPGIS 是中国地质大学(武汉)开发的、通用的工具型地理信息系统软件。它是在享有盛誉的地图编辑出版系统 MAPCAD 基础上发展起来的,可对空间数据进行采集,存储,检索,分析和图形表示的计算机系统。MAPGIS 包括了 MAPCAD的全部基本制图功能,可以制作具有出版精度的十分复杂的地形图、地质图,同时它能对图形数据与各种专业数据进行一体化管理和空间分析查询,从而为多源地学信息的综合分析提供了一个理想的平台。 MAPGIS 地理信息系统适用于地质、矿产、地理、测绘、水利、石油、煤炭、铁道、交通、城建、规划及土地管理专业,在该系统的基础上目前已完成了城市综合管网系统、地籍管理系统、土地利用数据库管理系统、供水管网系统、煤气管道系统、城市规划系统、电力配网系统、通信管网及自动配线系统、环保与监测系统、警用电子地图系统、作战指挥系统、GPS 导航监控系统、旅游系统等一系列应用系统的开发。 1。2安装 1)系统要求: 硬件:CPU 486 以上、16M RAM、200M 硬盘、256 色以上显示器; 操作系统:Win9x、Win2000、WinNT 、WinXP或Win7系统; 输入设备:本单位主要使用的是GRAPHTEC—RS200Pro型扫描仪; 输出设备:本单位主要使用的是Canon—IPF700型出图打印机。 2)硬件的安装: MAPGIS 硬件部分有加密狗,ISA 卡、PCI 卡三种,本单位主要为 MAPGIS USB 软件狗,在确保机器 BIOS 设置中 USB 设备未被禁止的条件下,Windows 98 和 Windows2000 自带的标准 USB 驱动程序均可支持 MAPGIS USB 软件狗工作。 3)软件的安装: MAPGIS 安装程序的安装过程为:找到 MAPGIS 系统安装软件,双击SETUP 图标,系统自动安装软件,在 WIN2000/NT/XP 下安装时,应先运行 WINNT_DRV,提示成功后才可选择 SETUP 开始 MAPGIS 程序的安装; 对于 MAPGIS6。1 及 MAPGIS6。5,则无关键字和安装选择,但须根据实际需要选择安装组件。 从上述组件中选择实际运用中需要的选项,根据提示即可完成安装。

mapgis二次开发教程

mapgis二次开发教程 默认分类 2009-09-08 10:18:14 阅读898 评论1 字号:大中小订阅 目前MAPGIS二次开发库主要以API函数、MFC(Microsof t Foundation Class)类库、Com组件、Activ eX 控件四种方式提供。开发库被封装在若干动态链接库(DLL)中。 API函数在使用方法上与Windows的API函数完全一样,因此是独立于开发工具的。无论您使用VC++、VB还是BC++、Dephi…,您在这些工具中如何调用Windows的API函数,您就可以怎么调用这些二次开发函数。 MAPGIS类库是为基于MFC类库的C++开发者提供的多个可重用基类,它将应用程序所需的常见基本功能作了封装,使用便利,改动灵活。开发者只需从类库派生即可使自己的程序获得从窗口显示控制到图形查询编辑的各项功能。 MAPGIS COM组件是MAPGIS新一代体系结构的表现,功能更加强大,使用更加便利。具有二次开发方便、易于集成、无限 扩展等特点。支持多种开发软件,包括Visual C++、Visual Basic、Delphi、script、InterDev、Power Builder等,开发者可以多层次的 访问MAPGIS组件的数据层、功能层和界面层。 Activ eX 控件是MAPGIS完成组件化改造的成果之一,它们使得二次开发更为快捷便利,代码的可复用性更高。 上述各类开发接口提供了从最基本数据单元的读取、保存、更新和维护到MAPGIS地图库的建立和漫游,以及空间分析,图象 处理等一系列功能。其中,API函数是基础,使用上最灵活,但技巧性要求也最高。所以本书大量篇幅用于介绍C++ API函数。MAPGIS将不断丰富完善各类二次开发接口,以多种开发手段满足不同层次、不同应用的需求。这些函数所 在的C++头文件表4-1所示:

GIS课程设计报告模板

GIS 课程设计报告 2011年 07 月 01日 院、系、部 城市建设系 专 业 测绘工程 姓 名 xxx 学 号 Xxxxx 指导教师 xxxx

一实习时间 2011年上学期第十七周至第十九周。 二实习地点 湖南城市学院实验楼305机房。 三实习目的 通过ArcGIS9.2的使用,让学生参与到地理数据采集、编辑、管理和分析整个流程的各个环节,对地理信息系统主要功能有个全面深刻的了解,并通过一些实际的数据和任务(如电子地图数据生产,选址分析、道路拓宽分析等常见的GIS实际应用问题)设定,培养学生根据实际问题,选取合适的空间分析手段和方法,制定详细的解决方案,解决实际的问题的能力,培养严肃认真、积极思考的优良作风;使学生尽早接触GIS的应用,真正理解GIS的意义所在,为后续的专业课程打下必要的良好的理论和技能基础。同时ArcGIS9.2是目前功能最全面最为强大的商用GIS专业软件,ArcGIS9.2的良好掌握,也为以后解决实际的问题提供了很好技能基础。 四实习具体内容 1、设计任务及名称 (1)任务一:地图矢量化。 (2)任务二:市级行政区划图制作。 (3)任务三:入城高速公路配套停车场的选址分析。 (5)任务五:数据转换及3D数据集成。 2、实习内容及要求 (1)将昆明市西山区普吉地形图矢量化。因为地形图比较大,所以采用分块矢量化,矢量化完毕后再将分块的矢量地图拼接起来。 要求:此任务要求全班同学协作完成。具体包括以下部分: ①影像配准(控制点选取、影像校正、影像重采样)。 ②地图分幅编号(1人,矢量化图层命名规则制定,表结构确定等工作)。 ③地图分层矢量化(如建等高线层和居民地层,并根据影像图进行矢量化,录入高程数据和居民地地名信息,并完成自检)。

GIS实验报告+心得体会总结

GIS导论实验报告(实验总结) 年级:2013级 实验一 实验一,我感觉还不能很熟练的应用Mapinfo的功能以及菜单栏、工具栏中各个图标的功能,所以当我开始做实验一时碰到的问题还是不少的,首先是对Mapinfo软件的相关操作功能不太了解,比如加载数据的图标,如何使打开的图变大缩小,如何浏览做完后的实验成果图,以及在实验过程中,哪些步骤是不能省略掉的,比如使用控制图层在缩放范围内显示的这个小实验,就要注意打开几个图层的界面看起来非常复杂,通过图层控制来操作,可以使图层在缩放范围内显示,这就需要在图层控制的对话框中哪些框框该打钩,哪些不该打钩,这样所显示的效果就会不一样。只有熟练掌握了Mapinfo的基本操作,以及步骤间的衔接才能完成实验。最后还是自己耐心的看书和实践中去找答案和解决问题。在这个实验中我学会了如何Mapinfo软件的基本操作和怎么样制作地图图层以及如何使用模板创建专题地图。在制作这个实验的过程中体会了很多,也感觉在做专题地图和地图制作时的整个过程充满着趣味性,使我对地图的相关制作有了一定的了解。 实验二 实验二,因为已经对MapInfo软件操作功能有了一个初步的了解了,所以当在开始着手制作实验二是实验相关操作步骤时,在对FUZHOU.JPG图像进行屏幕跟踪化过程时和后面进行的图像加载和配准时碰到的问题也相对较少也比较熟练。从实验二开始要用ArcView 软件时由于刚接触这个软件所以在做这部分的实验时制作速度显然比较慢碰到的问题也还有的,面对许多功能按钮不熟悉时只能查找资料和问同学,但最终还是把实验二给做了,以下是我总结的注意点。 1. 做屏幕跟踪这个实验时,在MapInfo中打开图像文件时,注意选择文件类型是栅格图像,然后点击一下所要打开的福州市行政图,这样呈现出所要的画面。 2. 编辑控制点的时候,至少选择三个点且三个点不要都在一条直线上,那样配准不成功。 3. 选择合适的绘图工具,注意选中的是面状的绘图工具,选择线状的话跟踪完后不会出现实验所需的效果。 4在用鼠标画行政区时,注意拐点处必须点一下,画出来会更准确,注意在没画完不要双击,在画重叠部分时,注意激活。 5.在新建表示注意字段的类型时,图层分类要清晰。 6. 投影、坐标系设置时,要设置地图单位为米。 实验三 实验三是对MamInfo和ArcView这两个软件一起搭配操作的制图实验操作。从实验数据格式的转换到投影变换的过程,都需要对这两个软件功能有所了解。虽然通过书本中的案例可以很容易的得出操作结果,但为了进一步了解这个转换过程中每一个相关信息和转换的含义,自己还是在书本上查找答案,和在制图操作实验中的注意点。 1.在第一步的数据格式转换中,注意不要把底图文件也选进去。 注意文件的命名,不要存得太深,最好可以放在根目录下,用英文命名,勿用中文命名。 2.数据格式转换的对话框中,要指明文件类型为MapInfo TAB格式。 3. 打开属性表,查看相关属性时,要注意点击一下属性表再去操作相应的步骤,否则就找不到相关的工具图标。 4. 投影变换时先要打开ArcView程序,选择“file”命令,点击“extensions”命令,进行设置。

关于ansys与VC++Fortran程序的接口资料! [精华]

将ANSYS作为子程序调用 对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。具体调用方法如下: 1.在VC中调用ANSYS ::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL); 2.在FORTRAN中调用ANSYS LOGICAL(4) result RESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -p ansys_product_feature -i input_file -o output_file') 3.说明 1和2中,input_file为用APDL语言编写的ANSYS输入文件。 ansys_product_feature为你的ANSYS产品特征代码。 需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS 已经执行完毕。 在ANSYS中当然也可以以VC或FORTRAN作为子程序调用。可以参看有关ANSYS二次开发方面的资料。 这个方法应该是与系统无关的。 在FORTRAN中不需要判断,FORTRAN会等ANSYS执行完毕才继续执行下一条语句。 在VC中,我没有找到与FORTRAN类似的函数,只好加一条循环判断语句。 如果谁能找着这样的函数,请告诉我,谢谢! 判断方法很简单,只需判断错误文件file.err是否可写就可以了。 因为当ANSYS在运行时,file.err是不可写的,只有当它运行完毕,此文件才可写。 好贴,请教如何在VB中调用ansys? 这是我早期的帖子,请参考: https://www.doczj.com/doc/9510001267.html,/dispbb ... ID=2923&ID=2923 在第二页中已经对VC调用ANSYS的方法进行了更新,如下所示: VC调用ANSYS的示例程序。 //Test.cpp #include "stdio.h" #include"process.h" void main() { int result; printf("Solving..."); result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansysul -i test.txt -o test.out"); //不用::WinExec,就用不着等待语句,可以实现用FORTRAN调用一样的效果。 printf("Solution finished..."); }

相关主题
文本预览
相关文档 最新文档