- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
无法将 Ilayer 转换为 IPolygon。
我正在为 ArcMap 开发一个工具栏,我通过代码从副目录中获取一个图层。 Layer 是一个多边形,但代码不会将其转换为 IPolygon。
谁能帮帮我?这是我用来尝试将其转换为 IPolygon 的代码...
IPolygon poly = m_document.Maps.get_Item(0).get_Layer(0) as IPolygon;
我能做到:
ILayer layer = m_document.Maps.get_Item(0).get_Layer(0) as ILayer;
这行得通,只是不将其转换为 IPloygon..
最佳答案
如果要访问 shapefile 图层中包含的几何图形,则必须获取图层的要素类。这是 IFeatureLayer 接口(interface)的一个属性,因此您必须先转换您的层(这是一个 ILayer):
IFeatureLayer FLayer = layer as IFeatureLayer;
IFeatureClass FClass = FLayer.FeatureClass;
如果您有一个要素类,您可以通过索引(慢)或通过在要素类上定义游标来获取要素(这是快速的,并且是您想要处理大量要素时的首选方式。搜索 IFeatureCursor;ESRI文档通常带有好的代码片段)。
如果您的要素类只包含一个要素,或者您只想要一个要素,您可以使用 GetFeature 方法:
IFeature MyFeature = FClass.GetFeature(0);
现在你快到了。要素的几何形状隐藏在其 Shape 属性中:
IPolygon MyPoly = MyFeature.Shape as IPolygon;
需要额外的转换,因为 Shape 属性是一个 IPolygon,它是一个更具体的 IGeometry。
关于c# - 如何在 ArcObjects 中将 ILayer 转换为 IPolygon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850586/
我正在尝试使用 vba/arcobjects 枚举文件地理数据库的内容(要素类和要素数据集,对表不感兴趣等)。 我将文件 GDB 设置为 IGxDatabase 对象,但找不到进一步了解的方法。我查看
这是一个长镜头,最近有人用过 Esri ArcObjects 吗? 根据文档: 一个新的要求是运行时绑定(bind)。运行时绑定(bind)是指在调用任何 ArcObjects 代码(包括许可初始化)
我正在开发一个用于处理地理数据的 .NET 应用程序,该应用程序通过 ESRI 自己的 .NET 互操作程序集使用 ESRI 的 ArcObjects COM 库。 在生产环境中运行时,由于达到每个进
我正在开发一个用于处理地理数据的 .NET 应用程序,该应用程序通过 ESRI 自己的 .NET 互操作程序集使用 ESRI 的 ArcObjects COM 库。 在生产环境中运行时,由于达到每个进
我正在编写一个外部 Python/comtypes 脚本(在 PythonWin 中),它需要获取对当前 ArcGIS 10.0 ArcMap session 的引用(通过 ArcObjects CO
无法将 Ilayer 转换为 IPolygon。 我正在为 ArcMap 开发一个工具栏,我通过代码从副目录中获取一个图层。 Layer 是一个多边形,但代码不会将其转换为 IPolygon。 谁能帮
我需要表示平面图形结构,即将平面的一部分划分为多边形,以便我可以轻松找到多边形的邻居等(如在 map 上)。最好用的图书馆是什么?弧形对象? CGAL(二维排列)?还有什么吗? 我在 Windows
我正在 Python 2.6.5 和 ArcGIS 10 SP1 下试验 comtypes 和 ArcObjects。我使用纯 Python 方法来包装 this answer 中描述的 ArcObj
我刚开始使用 GDAL + python 来支持 ArcGIS python 地理处理脚本无法完成的操作。我主要从事栅格和矢量数据的空间建模/分析/编辑。 我有点困惑什么时候需要 ArcObject
我是一名优秀的程序员,十分优秀!