Arcgis Engine复习知识点整理

第一章

1.什么是组件

组件(Component)是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象,比较流行的组件模型有COM/DCOM、.NET组件、CORBA,不同的组件遵循不同的接口规范。

         A. 组件与对象主要区别是:

        ※组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用 ;

        ※组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序;

        ※组件为模块重用,而对象为代码重用

2.※ COM

(Component Object Model)是组件之间相互接口的技术规范,其作用是使各种组件和应用软件能够用统一的标准方式进行交互。COM是一种与源代码无关的二进制

3.什么是接口,接口与类的关系 

接口可以看作是一个特殊的类形式,除了不能别实例化为一个对象外,它可以实现类能够完成的任何任务,如声明对象为某种接口类型,接口也可以继承等。

4.基本类库

基本类库:System、SystemUI、Server、Geometry、Display、OutPut

数据访问:GeoDatabase、DatasourceOleDB、DatasourceFile、DatasourceGDB、DatasourceRaster、DatasourceDistributed

 地图表达:Carto

 地图分析:GeoAnalyst、 3DAnalyst、 NetWorkAnalysis、SpatialAnalyst、GlobeCore、Location

  开发控件:Controls

第二章 控件

1.控件类型

        制图控件: MapControl 和PageLayoutControl

        3D控件: SceneControl和GlobeControl

        框架控件: TOCControl (实现地图内容目录的展示。)和ToolbarControl

        符号库管理控件: SymbologyControl

        许可管理控件: LicenseControl

2.MapControl控件

该控件用于对空间数据进行分析和浏览,它封装了Map类(coclass)暴露了鼠标和绘制事件,支持地图文档(*.mxd)的装载。

主要属性:

 ActiveView

Extent、FullExtent、(Extent属于IEnvelope接口(实现Geometry接口),该属性表示当前地图的视图范围。FullExtent表示的是Map的视图。)MapLayer、LayerCount

主要方法:

AddLayerAddLayerFromFile、AddShapeFile、DeleteLayer、ClearLayers、MoveLayerTo

CenterAt、Pan

CheckMxFile、LoadMxFile、ReadMxMaps、DrawShape、DrawText、FlashShape、Refresh

FromMapPoint、ToMapPoint、TrackCircle、TrackLine、TrackPolygon、TrackRectangle

主要事件:

OnAfterDraw(OnAfterScreenDraw、OnBeforeScreenDraw)

OnExtentUpdated、OnFullExtentUpdated、OnMapReplaced

OnKeyDown、OnKeyUp

OnDoubleClick(OnMouseDown、OnMouseMove、OnMouseUp)

第三章 空间数据库管理

1.什么是空间数据库?

①空间数据库是被统一存储起来的空间数据的集合。

②它是GIS的重要组成部分,在GIS中处于核心地位。

2.空间数据模型有哪些?

①矢量模型(Vector)

②栅格模型(Raster)

③数字高程模型(DEM)

3.Geodatabase中的基本对象

要素类(包括拓扑,网络数据集,地形数据,宗地),栅格类,表

4.Geodatabase的三种存储方案:

                        

 

5.featureWorkspace

主要方法:CreatTable、CreateFeatureDataset、 CreateFeatureClass

OpenTable、OpenFeatureDataset、OpenFeatureClass

6.几何对象模型

 

(1) Geometry对象

 

(2) Envelope对象

√ Envelope是一个矩形框,至少有四个坐标属性,XMin,XMax,YMin,YMax,CenterAt方法就是根据坐标点来进行操作的。

√ Envelope对象还作为地图的视图范围或地理数据库的空间范围。(CenterAt、矩形对象缩放Expand)

 (3)  Polycure、Path与Segment

 

 (4)Polyline对象:Polyline是多义线对象,是路径(Path)的集合。

 

8.要素存储

获取编辑工作空间,并开始编辑操作

第四章 地图对象与图层控制

1.地图控件读取地图文档

使用MapControl控件读取地图文档,需要使用到CheckMxFile、LoadMxFile、ReadMxMaps等方法。

    一般思路是:

      ①通过CheckMxFile方法检测地图文档文件的有效性;

      ②使用LoadMxFile方法加载地图文档;

      ③运用ReadMxMaps方法读取地图文档中的地图集合,并通过MapControl控件Map属性,可视化指定电子地图

2.地图文档修改方法 —— 思路

  • 先借助Map对象、 MapControl控件、 PageLayoutControl控件等设置并修改Map、PageLayout、ActiveView;

        ②然后利用ReplaceContents方法实现地图文档的修改。

地图文档包含多个地图框架(MapFrame),也就是包含多个Map对象;

◆地图控件(MapControl)只能可视化1个地图框架,不提供管理地图框架的功能;

◆布局控件可同时可视化多个地图框架,通过AddElement、 DeleteElement方法实现了地图框架的创建与删除;

3.地图对象(Map

√地图对象(Map)是用户与空间数据交互的核心对象,实现了图层管理与空间对象交互式操作等相关方法。

√借助MapControl控件、PageLayoutContrl控件,可实现地图对象的可视化。

√ Map对象实现了IMap、IActiveView 、IActiveViewEvents

  1. Imap接口主要方法AddLayer、AddLayers、 MoveLayer、ClearLayers、DeleteLayer、SelectByShape、SelectFeature、ClearSelection

IActiveView接口主要方法:RefreshPartialRefreshPartialRefresh方法让视图对象使用不同的方式进行局部刷新,以提高地图可视化效率!)

IActiveViewEvents接口主要方法:AfterDraw、AfterItemDraw、ContentsChanged

ItemAdded、ItemDeleted、SelectionChanged、SpatialReferenceChanged、ViewRefreshed

4.图层对象与图层管理

layer

Layer 是图层对象,是数据的外壳,必须建立在数据的基础上才有意义。在 ArcMap 中,它可以表示任何图层,例如要素图层( IFeatureLayer ),栅格图层( IRasterLayer ),图形图层集合( ICompositeGraphicsLayer )

IfeatureLayer

继承自ILayer,提供了访问基于矢量数据图层的属性和方法,图层的数据可以是Geodatabase、Shapefile或Coverage数据。如果使用FeatureLayer组件类,还可以通过IGeoFeatureLayer接口获得更多的属性和方法。提供了控制要素图层的属性和方法,例如标记属性( AnnotationProperties )、注记显示设置( DisplayAnnotation )

FeatureClass对象:

要素类由要素组成(Feature),要素对应要素类中的一行,要素相当于空间对象(Geometry )+相应的属性信息。IFeatureClass 定义了对要素的查询,更新,删除等操作。

IFeatureSelection接口:

IFeatureSelection 接口负责管理一个图层中的要素选择集的方法和属性。 IFeatureSelection 接口 的 Add 方法可以把本图层中的一个要素添加到图层的选择集中;SelectFeatures 方法则利用过滤器对象将 符合条件的要素放入到图层的选择集中。使用 IFeatureSelection 接口可以实现要素的高亮显示。

Search与Select的区别:

Search 返回游标,Select 返回选择集;

游标:必须遍历游标才能得到所有的结果,不必太关注内存;

选择集:查询后既可得到,但是通常只保留 OID 字段,数据量打的时候要考虑内存压力。

Cursor与FeatureCursor对象的区别:

 Cursor对象,本质上是一个指向数据的指针,本身不包含数据内容,他是连接到Row对象或要素对象的桥梁;

 游标有三种类型:查询游标、插入游标、更新游标;每种游标通过对应方法获得,如Search(),Insert(),Update();

  Cursor 中文‘游标“,它本质上是一个指向数据的指针,自身并不包含数据。游标有三类,查询游标, 插入游标和更新游标,每一游标都是又其相应的方法得到,如查询游标是由 ITable.Search 方法得到。游 标是 GIS 中使用频率很高的,凡是和数据的查询,更新,删除等都跟他有关。ICursor 定义了对游标的操 作。当我们通过 ITable.Search 对数据进行查询,要获取具体 Row 的信息的时候,要通过 ICursor.NextRow 方法向前遍历,游标是不能后退的。游标是和 Table 相对应的。IFeatureCursor 继承了 ICursor, IFeatureCursor 是和要素类相对应。

QueryFilter与SpatialFilter对象:

而 QueryFilter (用于table表查询)对象和 SpatialFilter (用于Featureclass要素类表查询)对象分别对 应了 ArcGIS Engine 中的属性查询和空间查询。

第五章 地图符号化

地图符号由形状不同、大小不一、色彩有别的图形和文字组成,是一种图形语言。

地图符号不仅具有确定的客观事物空间位置、分布特点、质量和数量特征的基本功能,还包括事物之间的相互联系及区域总体特征。

 Arc Engine提供了丰富的符号组件来满足地图设计中的各种需求,这些组件包括Color、Symbol、 Renderer三大系列,地图符号化就是通过多个组件间的合作来完成的。

Color对象

RGB

RGB主要用于彩色光栅图形显示器中。由红(R)、绿(G)、蓝(B)原色混合而成。AE中提供RgbColor颜色对象

 IColor接口:可进行颜色类型的相互转换,定实现透明度等颜色的全局设置

 IRgbColorr接口:方法:GetCIELAB、SetCIELAB,属性:Blue、Green、Red

CMYK

在印刷行业,主要采用青(C)、品红(M)、黄(Y)、黑(BK)四色印刷 。由于青、品、黄无法混合出纯正的黑色,因此单独将黑色设置为一个颜色,就是CMYK模型。AE中提供CmykColor颜色对象。

   ICmykColor接口:方法:GetCIELAB、SetCIELAB,属性:Black、Cyan、Magenta、Yellow

HSV

此颜色模型由色调(H)、饱和度(S)色明度(V)表示,HSV模型对应圆柱体坐标系中的一个圆锥形子集。AE中提供HsvColor颜色对象。

  IHsvColor接口:方法:GetCIELAB、SetCIELAB,属性:Hue、Value、Saturation

 HIS:

此颜色模型由色调(H)、饱和度(S)和明亮度(I)来表示。AE中提供HlsColor颜色对象。。

Gray模型:

无彩色的灰度模型,以256级灰色模拟颜色层次,从0(黑色)到255(白色)之间的值。AE中提供GrayColor颜色对象。

IGrayColor接口:方法:GetCIELAB、SetCIELAB,属性:Level

CIELAB模型:

是人类视觉感应的数字化表示,颜色种类全面丰富,色彩空间广阔。

        L——亮度值(0-100)

        a——正端红色,负端绿色

        b——正端黄色,负端蓝色

ColorRamp对象(色带)

  1. 设置起止颜色的渐变颜色集合:AlgorithmicColorRamp
  2. 多颜色产生新色带PresetColorRam
  3. 多色带产生新色带:MultiPartColorRamp
  4. 随机产生新色带:RandomColorRamp

Symbol:

在 GIS 中我们简单的空间实体抽象为点,线,面三种要素,在 ArcGIS Engine 中对符号也抽象为和前 者对应的 MarkerSymbol,LineSymbol 和 FillSymbol。此外还有两种特殊的符号,一种是用于显示 3D 的 3D Chart,另一种是用来标注文字的 TextSymbol。

专题图制作

 

地图标注

文本标注,

 

自动标注

    

第六章 空间查询与分析

  1. FeatureCursor
  2. 空间查询

使用QueryFilter对象(主要属性:WhereClause设定筛选条件,主要方法AddField添加字段)

使用SpatialFilter对象(主要属性:WhereClause、Geometry、GeometryField、SearchOrder)

空间关系分析(P292IrelationalOperator接口实现 

 空间拓扑处理(P284) ItopologicalOperator接口实现

拓扑邻接、拓扑关联、拓扑包含是三种最基本的拓扑关系。

关联关系是指不同类图形元素之间的拓扑关系,如节点与弧段的关系,弧段与多边形的关系等。邻接关系是指同类图形元索之间的拓扑关系,如节点与节点、弧段与弧段、多.边形与多边形等之间的拓扑关系。连通关系指的是由节点和弧段构成的有向网络图形中,节点之间是否存在通达的路径,即是否具有连接性,是一种隐含于网络中的关系,其描述通过连接关系定义。包含关系是指多边形内是否包含了其他弧段或多边形。

拓扑关系对GIS具有以下重要意义:

(1)不需要利用坐标或者计算距离,能够清楚地反映某一要素与另一要素的空间位置关系。

(2)某些空间分析功能是基于拓扑关系而实现的。例如,要求某条河流的流域面积、流经的城市,查询有哪些国家与某个国家相邻等等。

(3)在进行某些空间分析之前必须检查数据的拓扑关系的合理性。这样的空间分析功能有计算最佳路径、缓冲分析、裁剪、建立封闭多边形等。

拓扑元素是拓扑关系的描述单元。

GeoDatabase数据模型包括一般性的常见3类要素类:点状要素类、线状要素类和面状要素类。

在二维空间中,它们分别对应的是3种拓扑元素,即结点、弧和面域(多边形)。

拓扑关系是不考虑度量和方向的空间实体之间的空间关系,它讲究的是拓扑元素彼此间的相对位置关系。

空间距离计算

 

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: b'arcgis engine c#\xe7\x94\xbb\xe7\x82\xb9\xe7\xba\xbf\xe9\x9d\xa2' 是一个基于 C# 的 ArcGIS Engine 应用程序开发框架,可用于创建点、线、面等图形元素来表示地图数据。 ### 回答2: ArcGIS Engine是一款由美国Esri公司开发的软件开发工具包,它可以帮助开发人员将ArcGIS技术集成到自己开发的桌面应用程序和服务器应用程序中。通过ArcGIS Engine开发人员能够访问和操作地图、空间数据、地理处理和地图服务等GIS资源。 ArcGIS Engine提供了一套完整的GIS工具箱,包括地图浏览、地图查询、空间分析、数据编辑、地理编码、网络分析等功能模块,这些模块可以让开发人员快速构建出功能齐全的GIS应用程序。同时,ArcGIS Engine还提供了各种编程接口,包括COM、.NET和Java等,使得开发人员能够使用自己熟悉的编程语言进行开发。 除此之外,ArcGIS Engine还支持多种开发环境,包括Visual Studio、Eclipse、Delphi等,这样使得开发人员可以在自己习惯的开发环境中进行开发。而且,ArcGIS Engine还具备完善的文档和示例库,这些资源可以帮助开发人员更快地了解和掌握如何使用ArcGIS Engine进行开发。 总的来说,ArcGIS Engine是一款非常优秀的GIS软件开发工具包,它可以帮助开发人员快速构建出功能强大的GIS应用程序,提高开发效率和开发质量。如果您是一位GIS开发人员,认真学习和使用ArcGIS Engine将会是您不错的选择。 ### 回答3: ArcGIS Engine C++ ArcGIS Engine是由Esri开发的一个软件平台,可以用于创建和部署专业级GIS应用程序。ArcGIS Engine C++是ArcGIS Engine平台上的一种编程语言,也是一种面向对象的编程语言。它使用C++语言作为主要的开发语言,可以利用ArcObjects来访问和管理地理空间数据,并将它们用于地图制作、空间分析等任务。 ArcGIS Engine C++提供给开发者一个底层的GIS编程框架,可以利用该框架自定义地理空间应用程序的各种组件,比如地图工具,地图符号,地图导航器等等。它可以让开发者自由组合各种地理空间组件,以达到用户所需的功能和体验,从而满足各种地理空间应用的需求。 ArcGIS Engine C++可以采用多种不同的方法开发,包括使用Esri提供的API和开发工具,或使用第三方的开发工具。当开发ArcGIS Engine C++应用程序时,可以使用ArcGIS Desktop应用程序中所使用的相同的技术和工具。同时,它可以与多种编程语言和开发工具集成,可以使开发者与其他编程领域的开发人员进行协同作业,同时也可以轻松地实现外部与内部应用程序之间的交互和数据共享。 总之,ArcGIS Engine C++是一个功能强大的GIS开发框架,可以支持多种应用程序开发模式以及多种编程语言和工具,并提供完整的GIS解决方案。它可以让开发人员轻松快捷地开发出符合用户需求的GIS应用程序,以及实现与其他应用程序无缝衔接的数据共享和交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值