C#-ArcEngine 图层属性查询的部分代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#-ArcEngine 图层属性查询的部分代码相关的知识,希望对你有一定的参考价值。
private AxMapControl m_MapCtl;
ILayer pLayer=m_MapCtl.get_Layer(0);
IFeatureLayer pFLayer=pLayer as IFeatureLayer;//as 起到什么作用?
IFeatureClass pFC = pFLayer.FeatureClass;
IFeatureCursor pFCursor = pFC.Search(null, false);
这几句话中ILayer、IFeatureLayer、IFeatureClass 、IFeatureCursor都是普通类吗?他们之间有什么联系吗?这几句话都是什么意思?希望大侠们给个注释把!!
ILayer、IFeatureLayer、IFeatureClass 、IFeatureCursor都不是普通类,你见过类前面有I吗??呵呵,这些都是接口,把msdn上ILayer的介绍你看下:
Provides access to members that work with all layers. Note: the ILayer interface has been superseded by ILayer2. Please consider using the more recent version.
Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
Description
ILayer is a generic interface for all layer objects. This interface has a method to draw the layer and provides access to generic layer properties.
建议多看看msdn吧。
这几句话的意思,楼上说的也都差不多了,我就不补充了。 参考技术A pLayer as IFeatureLayer
这其实是VB过来的语法,表示强制转换
相当于(IFeatureLayer)pLayer
将pLayer强制转换为IFeatureLayer
因为在打开远程数据时必须使用IFeatureLayer
-----------------------------------------------------------
private AxMapControl m_MapCtl;
//这句不用解释吧
ILayer pLayer=m_MapCtl.get_Layer(0);
//获得这个控件中的第0个图层
IFeatureLayer pFLayer=pLayer as IFeatureLayer;//as 起到什么作用?
//已经解释
IFeatureClass pFC = pFLayer.FeatureClass;
//将图层转换成要素类,为后来的数据过滤做准备
IFeatureCursor pFCursor = pFC.Search(null, false);
//这个应该是过滤作用的
//我说的专业术语可能不准确,但是意思是这个意思 参考技术B as是类型转换,如果转换失败不会报错,会返回null
你说的这几个类都是自定义的吧.具体情况等待知情者回答了.
以上是关于C#-ArcEngine 图层属性查询的部分代码的主要内容,如果未能解决你的问题,请参考以下文章
求ArcEngine 选择属性表内字段,然后在地图高亮显示选择要素的C#代码