/// <summary>
/// 从FGDB中获取
/// </summary>
/// <param name="fileGDBPath">fileGDB文件路径</param>
/// <returns>FeatureClass的列表</returns>
public static List<IFeatureClass> getFClFromFGDB(string fileGDBPath)
{
//获取工作空间
IWorkspaceFactory pWorkspaceFactory = new FileGDBWorkspaceFactoryClass();
IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(fileGDBPath, 0);
IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace; IEnumDataset pEnumDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTAny) as IEnumDataset;
pEnumDataset.Reset();
//获取dataset
IDataset pDataset = pEnumDataset.Next();
List<IFeatureClass> fcls = new List<IFeatureClass>();
//判断dataset是IFeatureDataset
if (pDataset is IFeatureDataset)
{
IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(pDataset.Name);
IEnumDataset pEnumDataset1 = pFeatureDataset.Subsets;
pEnumDataset1.Reset();
IDataset pDataset1 = pEnumDataset1.Next();
//如果子类是FeatureClass且不为空
while (pDataset1 is IFeatureClass &&pDataset1 !=null)
{
IFeatureClass fcl= pFeatureWorkspace.OpenFeatureClass(pDataset1.Name);
fcls.Add(fcl);
pDataset1 = pEnumDataset1.Next();
}
}
return fcls;
}

从fileGDB中获取List的更多相关文章

  1. nodejs中获取时间戳、时间差

    Nodejs中获取时间戳的方法有很多种,例如: new Date().getTime() Date.now() process.uptime() process.hrtime() 平时想获取一个时间戳 ...

  2. 记录一次bug解决过程:velocity中获取url中的参数

    一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...

  3. [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作

    这篇博客将介绍如何在UWP程序中获取联系人/邮件发送/SMS发送的基础操作. 1. 获取联系人 UWP中联系人获取需要引入Windows.ApplicationModel.Contacts名称空间. ...

  4. Android Studio中获取SHA1或MD5的方法

    原来在Eclipse中获取SHA1或者MD5,在IDE界面上就可以查找到. 切换到Android Studio后,如何查看呢?找了半天没找到.那就老办法命令行. 第一步.打开Android Studi ...

  5. Android中获取选择图片与获取拍照返回结果差异

    导语: 如今的安卓应用在选择图片的处理上大多合并使用拍照和从相册中选择这两种方式 今天在写一个这样的功能时遇到一个尴尬的问题,同样是拍照获取图片功能,在不同手机上运行的效果不一样,下面是在某型手机上测 ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (40) ------ 第七章 使用对象服务之从跟踪器中获取实体与从命令行生成模型(想解决EF第一次查询慢的,请阅读)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-5  从跟踪器中获取实体 问题 你想创建一个扩展方法,从跟踪器中获取实体,用于数 ...

  7. 在IHttpHandler中获取session

    因为业务要异步通过IHttpHandler获得数据,但还要根据当前登录人员的session过滤,因此要在在IHttpHandler中获取session 方法是HttpHandler容器中如果需要访问S ...

  8. 9.Struts2在Action中获取request-session-application对象

    为避免与Servlet API耦合在一起,方便Action类做单元测试. Struts2对HttpServletRequest.HttpSession.ServletContext进行了封装,构造了三 ...

  9. iOS中获取cell中webview的内容尺寸

    最近项目中遇到在cell中获取webView的内容的尺寸的需求 实现的思路其实很简单 就是通过执行js 获取尺寸即可 为了后面用着方便我直接封装了一个HTML的cell 起名就叫 STHTMLBase ...

随机推荐

  1. crond服务总结

    昨天翻阅程序发现服务器端管理程序的启动方式很特别,在之前是由init进程启动程序脚本里的进程,昨天发现服务程序并没有在任何脚本中有启动的体现,但是服务程序确实是启动了,经过一番查找发现原来是crond ...

  2. 用番茄工作法提升工作效率 (四)ToDoList的持续优化

    一.写在前面 前面三篇文章,系统介绍了我如何使用番茄工作法,并结合“自制”的桌面ToDoList工具来实现自己的任务管理. 自制ToDoList的初衷是自我管理,但是好友看到我的桌面(程序)后,建议我 ...

  3. ENVI-IDL的MATH_DOIT和CF_DOIT函数(对FID和POS参数的讨论)

    MATH_DOIT相当于ENVI的band math,可以完成各种波段运算.参数比较简单,EXP为运算公式的字符串,其他参数均为常见参数. CF_DOIT可以将已有的文件保存为ENVI格式文件,相当于 ...

  4. HCL试验3

    PC端配置:配置ip地址 配置网关 交换机(左)配置:①创建VLAN system-view vlan 10 vlan 20 ②配置PC端接口 interface gi 1/0/1 port link ...

  5. ubuntu16.04离线安装nvidia-docker2

    目前需要离线对ubuntu 进行封装docker环境 在熟悉docker环境过程中,有网络条件下,还处于懵逼状态 离线安装…… 大佬救救我 来了: 首先下载安装docker最新版 我的OS是Ubunt ...

  6. Logistic回归实战篇之预测病马死亡率

    利用sklearn.linear_model.LogisticRegression训练和测试算法. 示例代码: import numpy as np import matplotlib.pyplot ...

  7. jqueryweui关于switch css与js结合

    .invoice_wrapper{ .comm_con{ .weui-switch-cp{ .weui-switch-cp__box{ height:0.4rem; margin:0.25rem 0; ...

  8. Python 类的私有属性与私有方法

    1.隐藏的使用场景 在Python类中,有些属性和方法只希望在对象的内部被使用,而不希望在外部被访问到, 2.定义方式, 在属性名或方法名前增加两个下划线,定义的就是私有属性或方法 #其实这仅仅这是一 ...

  9. 教你用 Netty 实现一个简单的 RPC!

    众所周知,dubbo 底层使用了 Netty 作为网络通讯框架,而 Netty 的高性能我们之前也分析过源码,对他也算还是比较了解了. 今天我们就自己用 Netty 实现一个简单的 RPC 框架. 1 ...

  10. 【6.18校内test】T2分数线划定

    分数线划定[题目链接] 这道题也不是什么难题,思路一带而过吧: SOLUTION: First.输入n,m,计算m*1.5的值,接着输入编号和成绩,然后我的做法是在输入编号成绩之后,开一个101大小的 ...