arcgis engine中怎样获取arcgis图层的图元,用的是C#,求代码
6个回答
展开全部
IFeayureLayer是ILayer的子类 ,
IFeature是IFeatureLayer中的一个要素,
可以从IFeatureLayer中得到IFeatureClass
再利用游标IFeatureCursor就可以把这些IFeature一个个遍历出来了。
ArcGIS Engine是ArcGIS的一套软件开发引擎,可以让程序员创建自定义的GIS桌面程序。
ArcGIS Engine支持多种开发语言,包括COM、.NET框架、Java和C++,能够运行在Windows、Linux和Solaris等平台上。这套API提供了一系列比较高级的可视化控件,大大方便了程序员构建基于ArcGIS的应用程序。
是ESRI在ArcGIS9版本才开始推出的新产品,它是一套完备的嵌入式GIS 组件库和工具库,使用ArcGIS Engine开发的GIS应用程序可以脱离ArcGIS Desktop而运行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个思路吧:
IFeayureLayer是ILayer的子类 ,
IFeature是IFeatureLayer中的一个要素,
可以从IFeatureLayer中得到IFeatureClass
再利用游标IFeatureCursor就可以把这些IFeature一个个遍历出来了!
代码还是自己写吧……错了再改就是了,加油 ^+^
IFeayureLayer是ILayer的子类 ,
IFeature是IFeatureLayer中的一个要素,
可以从IFeatureLayer中得到IFeatureClass
再利用游标IFeatureCursor就可以把这些IFeature一个个遍历出来了!
代码还是自己写吧……错了再改就是了,加油 ^+^
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以下是代码。
public IFeatureLayer GetLayerByName(IScene _pGlobe, string pGraphicLayerName)
{
UID pUid = new UIDClass();
pUid.Value = "{40A9E885-5533-11d0-98BE-00805F7CED21}";//要素图层
IEnumLayer pEnumLayer = _pGlobe.get_Layers(pUid, true);
ILayer pRetureLayer = null;
ILayer pLayer = pEnumLayer.Next();
while (pLayer != null)
{
if (pLayer.Name == pGraphicLayerName)
{
pRetureLayer = pLayer;
return pRetureLayer as IFeatureLayer;
}
pLayer = pEnumLayer.Next();
}
return pRetureLayer as IFeatureLayer;
}
public IFeatureLayer GetLayerByName(IScene _pGlobe, string pGraphicLayerName)
{
UID pUid = new UIDClass();
pUid.Value = "{40A9E885-5533-11d0-98BE-00805F7CED21}";//要素图层
IEnumLayer pEnumLayer = _pGlobe.get_Layers(pUid, true);
ILayer pRetureLayer = null;
ILayer pLayer = pEnumLayer.Next();
while (pLayer != null)
{
if (pLayer.Name == pGraphicLayerName)
{
pRetureLayer = pLayer;
return pRetureLayer as IFeatureLayer;
}
pLayer = pEnumLayer.Next();
}
return pRetureLayer as IFeatureLayer;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你先看看开发文档帮助,里面有具体的代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分类错误,收回吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询