在vb中用 mo做GIS二次开发, 怎么选中一条线啊?

如题所述

你要知道矢量图层其实是一张表,所以你要选择线图层中的一条线,就可以理解为,选择表里的一条记录。那么这样理解起来就简单多了。
就拿 Shape 图层(.shp)来说,它至少包含两个字段 FID 和 Shape。其中 FID 是唯一编号,可以当做索引来用;Shape 是定义图层类型的(即:点图层、线图层等)。一般情况下在你用ArcGIS创建图层时会有三个字段 FID 、Shape和Id,当然你也可以向表(图层)里面添加其它字段。表中的每一行,记录图层中的一个相应的图形(在线图层中则代表一条线,面图层中则代表一个面)。而对矢量图层的部分操作,也可以理解为对表的操作。
如果说你要选择图层中的一个图型的话,可以通过 FID 来选择。

如(C# ):获取图层中的第一条记录。
IFeature pFeature = IFeatureLayer.FeatureClass.GetFeature(0);
(VB )
Dim pFeature As IFeature
Set pFeature = IFeatureLayer.FeatureClass.GetFeature 0
这里要强调 FID 编号是从0开始的。

http://user.qzone.qq.com/441856317/infocenter 在ArcEngine中看图层
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-21
你用MAP加进线层的时候,线层本身是有个属性表的,表里至少有两个字段的属性,一个是FID,另一个是SHAPE,你可以用ARCGIS给这个线层的属性表再添一个属性ID,用不重复的数字给他们标号,然后回到MO里就可以用过LAYER.FIELD(“ID”).VALUE来找到你所想要的线了。

在vb中用 mo做GIS二次开发, 怎么选中一条线啊?
如果说你要选择图层中的一个图型的话,可以通过 FID 来选择。如(C# ):获取图层中的第一条记录。IFeature pFeature = IFeatureLayer.FeatureClass.GetFeature(0);(VB )Dim pFeature As IFeature Set pFeature = IFeatureLayer.FeatureClass.GetFeature 0 这里要强调 FID 编号是从0开始的。htt...

使用vb进行gis二次开发的高手给看一下
Setm_pEnvelope = sender.VisibleBounds 这个赋值语句出问题了,所以你的变量没有初始化

GIS 专业的学生应该掌握什么知识???
VB是一个很容易上手的语言,通过很短时间的学习,就能做出像模像样的东西,这对于学习GIS二次开发来说是个很不错的工具,编程的难度降低了,可以把重心放在怎么设计开发GIS功能上面去。所以,在学习VB的时候,如果你听说过MO,尝试着用一用,并做一些小程序。你还可以去用VB写一些程序来操作word,excel,cad等,这些东西...

用MapObjects进行GIS二次开发,VB\/VC那个环境更好一些?
我个人的观点是如果你vc掌握的更好,那最好就用vc,不行就用vb.另外,要看你做什么深度的开发,初级的应用vb就可以胜任,但是比较深的开发还是要靠更接近底层的vc.

怎么学好gis
如果学校开了VB的课程,那就要多去做点小应用。VB是一个很容易上手的语言,通过很短时间的学习,就能做出像模像样的东西,这对于学习GIS二次开发来说是个很不错的工具,编程的难度降低了,可以把重心放在怎么设计开发GIS功能上面去。所以,在学习VB的时候,如果你听说过MO,尝试着用一用,并做一些小程序。你还可以去...

基于MO的GIS组件开发技术
AGEIS系统采用面向对象的开发方式,利用组件式GIS 二次开发技术,以MapObjects 对象利用Visual Basic 6.0 开发语言来实现。其特征主要体现在以下几方面。1)高效无缝的系统集成。允许将专业模型、GIS控件、其他控件紧密地结合在统一的界面下。2)无须专门的GIS开发语言。只要掌握基于Windows平面的通用环境(...

VB中如何复制指定文件到指定文件夹,并以当前日期存放
VB,将文件复制到指定目录下的同名文件夹中 (2008-09-19 09:43:17)转载标签: it分类: GIS二次开发界面如下: '———'名称:FindFolderInAppointFolder '作者:罗简单 '日期:2008-9-19 '功能:查找指定文件夹下的所有文件夹 '———Public Sub FindFolderInAppointFolder1(ByVal myPath As ...

vb课程设计 关于GIS的
测距就用AO的INewLineFeedback画线判断一个IPolyline的长度 缓冲就用AO的ITopologicalOperator 接口的Buffer方法来做。地图坐标显示功能比较简单,给MapControl加一个onmousemove事件,移动时获得地图的坐标mapx,mapy,显示在状态条中。SQL查询就用IQueryFilter根据你输入的SQL进行查询,查询后,通过IFeature...

安装MapGis后怎么在VB中找不到其组件
“安装MAPGIS67 的SDK 后,在VB 的“工程”的“引用”中看不到需要添加的MAPGIS组件,网上有的说是系统中毒了,于是乎重装了一次系统,但是还是没有发现相应组件。浏览安装文件,强制添加,还是无果。因为装的破解狗.怀疑是软件和破解狗的问题,然后跑到老师那拿了个正版的软件和USB 狗.这回倒是...

用VC++把MapGis线文件(.wl)的属性导入到Excel中
'打开工作簿,strDestination为一个EXCEL报表文件 Set xlsheet = xlbook.Worksheets(1) '设定工作表 这个有点像是vb6的、vb.net也有相应的方法的.总之是 excel.application 用到这个就可以了.必要的话导入excel的dll文件.这样你就发现、可以用vb.net来对excel来操作.你可以查下微软的msdn、有具体的...

相似回答