




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ArcEngine接口大全(三)转自ESRI中国社区9. 关于IArea接口(esriGeometry)IArea接口的第一个属性Area(只读,返回一个double类型的数值,为此Area的面积)IArea接口的第二个属性Centroid(只读,返回一个IPoint类型的变量,为此Area的重心)IArea接口的第三个属性LablePoint(只读,返回一个IPoint类型的变量,为此Area的标签的位置,一般都在此Area的内部)IArea接口的第四个方法QueryCentroid (Center ) (方法,Center参数为一个IPoint类型的变量,通过调用此方法将重心点赋值给参数Center)IArea接口的第五个方法QueryLablePoint (LablePoint ) (方法,LablePoint参数为设置IPoint类型的变量,通过调用此方法将标签点赋值给参数LablePoint)10. 关于IEnvelope接口(esriGeometry)应用:(中心放大)IEnvelope接口的第一个方法CenterAt(pPoint) (方法,将这个矩形的边框移动到参数pPoint的位置,但是其他属性不变,如它的Width和Height)IEnvelope接口的长宽属性Height和Width属性(读写,可以通过该属性获取或设置该边框的长和宽)IEnvelope接口的4个顶点属性UpperLeft、UpperRight、LowerLeft和LowerRight(读写,返回IPoint类型的四个顶点,比直接获得最值坐标更加方便严谨)IEnvelope接口的最值坐标属性XMax、XMin、YMax和YMin(读写,可以通过该属性获取或设置该边框的四个顶点的坐标)IEnvelope接口的第五个方法Union (inEnvelope ) (方法,将参数输入的几何边框和调用该方法的几何边框求并集,并将结果赋值给第一个边框,即调用此方法的object)IEnvelope接口的第六个方法intersect (inEnvelope ) (方法,返回与输入参数相交的区域的几何边框,并将结果赋值给第一个边框,即调用此方法的object)IEnvelope接口的第七个方法PutCoords (XMin, YMin,XMax,YMax) (方法,将新建的一个边框的4个极坐标设置为输入的参数)IEnvelope接口的第八个方法QueryCoords (XMin, YMin,XMax,YMax)(方法,将已有的一个边框的4个极坐标输出到参数当中以备后用)IEnvelope接口的第九个方法Expand (dx, dy, asRatio) (方法,按照输入的dx与dy参数来放大或者缩小当前的边框,用与对ArcMap窗体的中心放大或缩小,或者点击屏幕获得点击点的坐标,并将中心点设置成点击点,并进行一定比例的放大或者缩小)IEnvelope接口的第十个方法Offset (X, Y) (方法,将已有的一个边框的按照输入参数的大小来进行水平竖直的移动)11. 关于IFeature接口(esriGeoDatabase)IFeature接口的第一个属性Class(只读)IFeature接口的第二个方法Delete(方法,删除该行。因为一个Feature在表格中对应的就是一行数据,删除该行就能相应的删除这个Feature)IFeature接口的第三个属性Extent(只读,获取该Feature要素在地图上的一个矩形范围,返回值为IEnvelope类型)IFeature接口的第四个属性FeatureType(只读,获取该Feature要素的要素类型,返回值为枚举类型的esriFeatureType)IFeature接口的第五个属性Fields(只读,获取该Feature要素的字段集合,返回值为IFields类型)IFeature接口的第六个属性Shape(读写,获取该Feature要素的图形,返回值为IGeometry类型,或者各种实体化的类型,如IPolyline)IFeature接口的第七个属性ShapeCopy(只读,克隆该Feature要素的几何图形,返回值为IGeometry类型)IFeature 接口的第八个方法Store(方法,保存该行。)此属性可用于对Feature要素的几何图形进行操作,步骤如下:用IFeature.ShapeCopy方法获取一个已经存在的Geometry,或者新建一个Geometry对Geometry进行操作通过IFeature.Shape属性将Geometry写入通过IFeature.Store方法保存该Feature要素IFeature接口的第九个属性Value(读写,利用字段的索引进行对该要素该字段的值的读写)注意,索引Index是从0开始的。object.Value(Index ) = value IFeature 接口的第十个属性Table(只读,将该行要素转换成ITable格式的数据,即可对一张表进行数据操作,具体方法查看ITable接口)12. 关于IRow接口(esriGeoDatabase)IRow接口的第一个方法Delete(方法,删除该行)IRow接口的第二个属性Fields(只读,获取该Feature要素的字段集合,返回值为IFields类型)此方法类似于IFeature接口的Fields属性IRow 接口的第三个方法Store(方法,保存该行。)此方法类似于IFeature接口的Store方法IRow接口的第四个属性Table(只读,获取该行所在的表格,返回值为ITable类型)IRow接口的第五个属性Value(Index) (读写,获取该行在参数索引的字段的值,注意,索引Index是从0开始的。)object.Value(Index ) = value IRow接口的第六个属性HasOID(只读,判断指出该行是否有OID)IRow接口的第七个属性OID(只读,获取该行的OID值)13. 关于IFeatureClass接口(esriGeoDatabase)IFeatureClass接口的第一个方法AddField(Field) (方法,增加一个属性字段到这个要素类,其中传入的参数为一个IField接口的变量,此变量可以由其他要素类获得并赋值给要操作的要素类,可用IFeilds接口的Field属性来获得)IFeatureClass接口的第二个方法DeleteField(Field) (方法,删除一个属性字段,其中传入的参数为一个IField接口的变量)IFeatureClass接口的第三个属性Fields(只读,获取该要素类的全部属性字段,返回一个IFields类型的变量)IFeatureClass接口的第四个方法FindField(Name) (方法,去查找在该要素类里面是否含有参数名字的属性字段,如果有,则返回索引,没有,则返回-1)IFeatureClass接口的第五个属性AreaField(只读,获取属性字段为geometry的那一个Field)IFeatureClass接口的第六个方法Search (filter, Recycling) (方法,去得到一个IFeatureCursor类型的游标,该游标由filter来控制赛选,如果filter等于null,则返回整个featureclass的游标,再用IfeatureCursor的NextFeature的方法依次得到每一个Feature)IFeatureClass接口的第七个方法Insert(useBuffering) (方法,去得到一个IFeatureCursor类型的游标,来用作插入新的Features,useBuffering是一个布尔型参数,当为True时即可以插入新的Feature,再用IFeatureCursor的InsertFeature (buffer )的方法去插入一个新的Feature)IFeatureClass接口的第八个方法CreateFeatureBuffer(方法,新建一个缓冲,返回一个IFeatureBuffer类型的变量,然后再对这个变量进行操作)14. 关于ITable接口(esriGeoDatabase)ITable是把要素类当成一个表格来看,每一列对应一个字段(Field),每一行对应一个要素(Feature),所以对要素类(Ifeatureclass)接口的操作均可以类似的在Itable接口中找到。ITable接口的第一个方法AddField(Field) (方法,增加一个属性字段到这个表,其中传入的参数为一个IField接口的变量,此变量可以由其他表获得并赋值给要操作的表,可用IFeilds接口的Field属性来获得)ITable接口的第二个方法GetRow(OID) (方法,通过OID来从表格数据库中获取一行,返回一个IRow接口的变量)此方法类似于IFeatureClass接口的GetFeature方法ITable接口的第三个方法GetRows(oids, Recycling) (方法,得到一个游标ICursor,通过一个oids的OID数组参数和一个Recycling的布尔类型的参数,一般为True)此方法类似于IFeatureClass接口的GetFeatures方法ITable接口的第四个方法RowCount(QueryFilter) (方法,得到满足查询过滤器条件的行数。此方法IFeatureClass接口没有,所以是一个很好的有条件查询要素数量的一个方法)15. 关于IFeatureCursor接口(esriGeoDatabase)IFeatureCursor接口的第一个方法NextFeature(方法,将游标向前跳到下一个位置,并且返回该位置的Feature)IFeatureCursor接口的第二个方法UpdateFeature(Feature) (方法,对当前游标位置的Feature进行更新)IFeatureCursor接口的第三个方法InsertFeature(buffer) (方法,用参数传进来的属性值插入一个新的要素到数据库中,返回该插入新的Feature的ID值,其中参数类型为IFeatureBuffer)16. 关于IQueryFilter接口(esriGeoDatabase)IQueryFilter接口的第一个属性WhereClause(读写,为过滤器设置条件语句)注意!各种不同的数据,设置条件查询语句的语法是不相同的,如一个shp文件在设置字段的时候要加“”双引号,而在SDE数据连接中,则什么都不加;在gdb文件的语句中,符号是“*”,而在SDE或者shp文件查询中则是“%”IQueryFilter接口的第二个属性SubFields(读写,为过滤器设置提供赛选的字段,用逗号来分隔每一个逗号,如果不设置该属性,则当做所有字段均为查找字段)17. 关于IFeatureLayer接口(esriCarto)IFeatureLayer接口的第一个属性FeatureClass(读写,设置或者读取此layer的要素类)IFeatureLayer接口的第二个属性MaximumScale(读写,设置或者读取此layer显示的最大比例尺)IFeatureLayer接口的第三个属性MinimumScale(读写,设置或者读取此layer显示的最小比例尺)IFeatureLayer接口的第四个方法Search (queryFilter, recycling ) (方法,创建一个游标去查询相应设置的过滤器的查询)IFeatureLayer接口的第五个属性Visible(读写,设置或者读取此layer的可见性)IFeatureLayer接口的第六个属性AreaOfInterest(只读,读取此layer的最大范围,回返一个IEnvelope接口的变量)18. 关于IFeatureSelection接口(esriCarto)IFeatureSelection接口的第一个方法SelectFeatures (Filter, Method, justOne ) (方法,根据指定的标准过滤器filter和方法,选择要素,第一个参数为QueryFilter类型的变量,第二个参数为esriSelectionResultEnum类型的变量,第三个参数为布尔型变量,通常为false)19. 关于IMap接口(esriCarto)IMap接口的第一个属性Layers (uid, recursive ) (只读,第二个参数为True的时候,该属性获取第一个参数uid指定的Layers,赋值给一个IEnumLayer的变量)其中比较常用的UID参数值如下:6CA416B1-E160-11D2-9F4E-00C04F6BC78E IDataLayer40A9E885-5533-11d0-98BE-00805F7CED21 IFeatureLayerE156D7E5-22AF-11D3-9F99-00C04F6BC78E IGeoFeatureLayer34B2EF81-F4AC-11D1-A245-080009B6F22B IGraphicsLayer5CEAE408-4C0A-437F-9DB3-054D83919850 IFDOGraphicsLayer0C22A4C7-DAFD-11D2-9F46-00C04F6BC78E ICoverageAnnotationLayerEDAD6644-1810-11D1-86AE-0000F8751720 IGroupLayerIMap接口的第二个属性LayerCount(只读,返回该map里面Layer的个数)IMap接口的第三个属性Layer(Index) (只读,返回指定索引index位置的Layer)IMap接口的第四个方法AddLayer(Layer) (方法,向该map添加一个Layer)IMap接口的第五个方法AddLayers(Layers, autoArrange) (方法,添加一个EnumLayer变量的layers到该map,第一个参数为IEnumLayer类型,第二个参数为bool型变量)IMap接口的第六个方法ClearLayers(方法,将所有的layer从map中移除)IMap接口的第七个方法ClearSelection(方法,将该map中选择的要素清空)IMap接口的第八个属性SelectionCount(只读,返回该map被选中要素的个数)IMap接口的第九个方法SelectFeature(Layer, Feature) (方法,从一个Layer中选择一个Feature)IMap接口的第十个属性MapScale(读写,获取或者设置当前map的地图比例尺,double类型)IMap接口的第十一个方法MoveLayer(Layer, toIndex) (方法,把一个Layer从当前的位置移动到指定的索引位置)IMap接口的第十二个方法SelectByShape(Shape, env, justOne) (方法,从Layer中依靠一个图形的范围shape和一个选择的环境env来选择要素,而在所有图层中只从IFeatureLayer的图层中进行选择)20. 关于IPropertySet接口(esriSystem)IPropertySet接口的第一个方法SetProperties (names, values ) (方法,设置属性)IPropertySet接口的第二个方法SetProperty (name, value ) (方法,设置属性)21. 关于IFeatureWorkspace接口(esriGeoDatabase)IFeatureWorkspace接口的第一个方法OpenFeatureClass (Name) (方法,从一个要素工作空间打开一个要素,返回一个IFeatureClass类型的变量)22. 关于IWorkspaceEdit接口(esriGeoDatabase)在实际问题中,如果有多次操作需要更改Feature的时候,切记要将操作对象重新赋值,不然在pWorkspaceEdit.StopEditing(true)的时候会出现错误,报错代码为-2147467259。(详细代码可见WindowsApplication6的代码,其中详细操作了对字段的编辑过程,其中涉及到很多对字段Field的方法Add(Field),Delete(Field),get_value(object value),set_value(int index, object value)等等操作,其中还涉及到Feature经过ICursor类选取与经过FeatureClass类的方法GetFeature选取的区别)23. 关于IWorkspaceFactory接口(esriGeoDatabase)IWorkspaceFactory接口的第一个方法Open (ConnectionProperties, hWnd ) (方法,从一个工作工厂打开一个工作空间,并返回IWorkspace类型的变量,方法中的第一个参数ConnectionProperties是IPropertySet接口的变量)IWorkspaceFactory接口的第二个方法OpenFromFile (fileName, hWnd ) (方法,从一个路径打开一个工作空间,并返回IWorkspace类型的变量)24. 关于ITopologicalOperator接口(esriGeometry)ITopologicalOperator接口的第一个方法ConstructUnion(geometries ) (方法,合并图形的工具,输入的参数是一个IEnumGeometry类型的参数,此方法效率甚高)ITopologicalOperator接口的第二个方法Cut(cutter, leftGeom, rightGeom) (方法,剪切图形,第一个参数为剪切的线要素,为IPloyline类型,第二个第三个参数均为剪切后的图形,为输出参数)ITopologicalOperator接口的第三个方法Boundary(方法,获取一个图形的边框,一个Polygon的boundary是一个Polyline类型的要素,一个Polyline的boundary是一个nultipoint类型的要素,一个Point的boundary是为空的)ITopologicalOperator接口的第四个方法Buffer(distance) (方法,创造一个Polygon的要素来显示缓冲区域,参数为缓冲距离)ITopologicalOperator接口的第五个方法Clip (clipperEnvelope ) (方法,输入一个IEnvelope类型的变量,来获取被这个边框剪切的要素,并将切割后的变量返回给调用方法的变量)ITopologicalOperator接口的第六个方法QueryClipped (clipperEnvelope, clippedGeometry ) (方法,与Clip类似,但是第二个参数为剪切后返回输出的参数,本身不会改变)ITopologicalOperator接口的第七个方法ConvexHull(方法,构造一个Geometry,大部分为Polygon类型的几何要素,该要素为调用此方法的ITopologicalOperator类型的变量最小的外边框)ITopologicalOperator接口的第八个方法SymmetricDifference (other ) (方法,并集减去交集的部分,调用次方法的变量为第一个参数,other为第二个参数,最后返回变量到一个Geometry类型的变量,该变量的范围均在两个参数范围内,但不在两个参数相交的部分)25. 创建Buffer并选择里面的要素=怎样创建buffer:(来源于管网线处理删除冗余节点)=1. Dim pTopOper As ITopologicalOperator2. Set pTopOper = pfeature.Shape3. Dim pGeometry As IGeometry4. Set pGeometry = pTopOper.Buffer(1) 复制代码(注意,这个pfeature是在前面定义的pfeature=pFeatureCursor.NextFeature,不用重新定义一个)=怎样在buffer里面选择要素:=1. Dim pSpFilter As ISpatialFilter 2. Set pSpFilter = New SpatialFilter 3. Dim pTopOper As ITopologicalOperator 4. Set pTopOper = pfeature.Shape 5. Dim pGeometry As IGeometry 6. Set pGeometry = pTopOper.Buffer(1) 7. Set pSpFilter.Geometry = pGeometry 8. pSpFilter.SpatialRel = esriSpatialRelContains 9. (esriSpatialRelContains是ISpatialFilter里面SpatialRel的一种参数esriSpatialRelEnum,值为8,代表在这个区域内包含的要素) 10. 11. Set m_pSelGW_D = pLyr_D 12. m_pSelGW_D.SelectFeatures pSpFilter, esriSelectionResultNew, False 13. (m_pSelGW_D是IfeatureSelection类型的变量) 14. pSpFilter.SpatialRel = esriSpatialRelIntersects1. Set m_pSelGW_X = pLyr 2. m_pSelGW_X.SelectFeatures pSpFilter, esriSelectionResultNew, False 26. Merge要素Union要素1. Private Sub UnionSel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育培训心得体会总结简短(汇编10篇)
- 第二章 函数2026年高三数学第一轮总复习
- 职高简单高考题目及答案
- 酒店工作心得体会怎么写(例文10篇)
- 美食餐厅推广营销案例分析
- 体育产业市场分析与投资机会研究
- 医药行业创新发展模式探讨
- 农产品检测技术革新-2025年无损检测技术应用创新报告
- 2025年车工考试题及答案
- 2025年山西省晋城市事业单位工勤技能考试题库及答案
- 产品需求分析模板及开发计划表
- 抗战胜利八十周年纪念-2025-2026学年高二上学期爱国主义教育主题班会
- 2025年成人高考大专试卷及答案
- 2025年安徽省综合评标评审专家库考试历年参考题库含答案详解(5卷)
- 天津市河西区2024-2025学年八年级下学期期末物理试题(含答案)
- 2025年保密教育线上培训考试题带答案
- 中成药合理使用培训课件
- 国企公司合并方案(3篇)
- 2025年海南省通信网络技术保障中心招聘事业编制人员考试笔试试卷【附答案】
- 2025年江苏省昆山市辅警招聘考试试题题库及答案详解(典优)
- 外委人员管理办法
评论
0/150
提交评论