/// <summary>
/// 获取地图中所有的矢量图层
/// </summary>
/// <param name="pMap"></param>
/// <param name="puid"></param>
/// <returns></returns>
static public List<IFeatureLayer> GetFeatureLayers(IMap pMap)
{
//只读取IFeaturelayer
UID puid = new UIDClass();
puid.Value = "{40A9E885-5533-11d0-98BE-00805F7CED21}";
IFeatureLayer pFeatureLayer = null;
List<IFeatureLayer> featureLayers = new List<IFeatureLayer>();
IEnumLayer pEnumLayer = pMap.get_Layers(puid, true);
pEnumLayer.Reset();
pFeatureLayer = (IFeatureLayer)pEnumLayer.Next();
while (pFeatureLayer != null)
{
featureLayers.Add(pFeatureLayer);
pFeatureLayer = (IFeatureLayer)pEnumLayer.Next();
}
return featureLayers;
}
/// <summary>
/// 获取地图中的所有点图层
/// </summary>
/// <param name="pMap"></param>
/// <returns></returns>
static public List<IFeatureLayer> GetPointFeatureLayers(IMap pMap)
{
//获取所有的矢量图层
List<IFeatureLayer> featureLayers = GetFeatureLayers(pMap);
//获取所有的点图层
List<IFeatureLayer> pointFeatureLayers = new List<IFeatureLayer>();
//IFeatureLayer pLayer = pointFeatureLayers.First<IFeatureLayer>();
IFeatureLayer2 pLayer2 = null;
foreach (var pLayer in featureLayers)
{
pLayer2 = pLayer as IFeatureLayer2;
//判断是否为点图层
if (pLayer2.ShapeType == esriGeometryType.esriGeometryPoint)
{
pointFeatureLayers.Add(pLayer2 as IFeatureLayer);
}
}
return pointFeatureLayers;
}
获取所有的点图层
最新推荐文章于 2024-07-05 09:29:05 发布