抽空研究了下API,目前1.4版本,还不错。

记录下

DatasetRelationshipTypes类型
-		DatasetRelationshipTypes	{string[18]}	string[]
[0] "SyncDatasetInSyncReplica" string
[1] "ReplicaDatasetInReplica" string
[2] "DatasetOfReplicaDataset" string
[3] "FeatureClassInParcelFabric" string
[4] "DatasetsRelatedThrough" string
[5] "FeatureClassInTopology" string
[6] "DatasetInFolder" string
[7] "FeatureClassInGeometricNetwork" string
[8] "FeatureClassInNetworkDataset" string
[9] "FolderInFolder" string
[10] "FeatureClassInTerrain" string
[11] "DatasetOfSyncDataset" string
[12] "TableInParcelFabric" string
[13] "ItemInFolder" string
[14] "RepresentationOfFeatureClass" string
[15] "DomainInDataset" string
[16] "DatasetInFeatureDataset" string
[17] "TableInNetworkDataset" string

  DataSetTypes类型

-		DataSetTypes	{string[34]}	string[]
[0] "Network Dataset" string
[1] "Mosaic Dataset" string
[2] "Terrain" string
[3] "Survey Dataset" string
[4] "Dataset" string
[5] "Extension Dataset" string
[6] "Item" string
[7] "Geometric Network" string
[8] "Table" string
[9] "Sync Replica" string
[10] "Workspace" string
[11] "Sync Dataset" string
[12] "Resource" string
[13] "Tin" string
[14] "Feature Dataset" string
[15] "Coded Value Domain" string
[16] "Representation Class" string
[17] "Replica Dataset" string
[18] "Raster Dataset" string
[19] "Historical Marker" string
[20] "AbstractTable" string
[21] "Catalog Dataset" string
[22] "Range Domain" string
[23] "Replica" string
[24] "Feature Class" string
[25] "Toolbox" string
[26] "Topology" string
[27] "Relationship Class" string
[28] "Parcel Fabric" string
[29] "Raster Catalog" string
[30] "Schematic Dataset" string
[31] "Workspace Extension" string
[32] "Domain" string
[33] "Folder" string

  demo代码如下

                string db = @"Z:\data\DK.gdb";
Geodatabase geodatabase = Geodatabase.Open(@"Z:\data\DK.gdb");
string[] pArrayDST = geodatabase.DataSetTypes;
string[] pArrayDRT = geodatabase.DatasetRelationshipTypes;
string[] pArrayFC = geodatabase.GetChildDatasets("\\", "Feature Class");
string[] pArrayFD = geodatabase.GetChildDatasets("\\", "Feature Dataset");
string[] pArrayFC2 = geodatabase.GetChildDatasets(pArrayFD[0], "Feature Class");

  目前,对于字段别名有点问题,FieldDefs始终为null,至于FieldInformation中,没有字段别名。估计是漏掉了?

这个问题倒是好解决,做一张字段对照表,导出的时候就可以了。

看demo会发现,似乎esri对这个api采用的是py的路子,通过字符串进行识别,把gdb当作文件夹来操作。

而且对于创建表之类的采用了xml思路,如果不是偷懒,就是为了跨平台。

esri GDB API的更多相关文章

  1. File GDB API

    bbs一问一答 https://blogs.esri.com/esri/arcgis/2010/12/13/file-geodatabase-api-details/ 下载页面 http://www. ...

  2. ArcEngine介绍

    一.ArcEngine简介ArcEngine被定位为一个嵌入式的产品,它并非面向最终用户,而是一个面向开发者的产品.对于繁冗的GIS开发工作而言,理想的解决方案是一个基于组件的实用的开发框架,且该框架 ...

  3. HeatMap(热图)的原理和实现

    先来看两张图: (1)10年世界杯决赛,冠军西班牙队中门将.后卫.中场及前锋的跑位热图 通过热图,我们可以很清楚的看出四个球员在比赛中跑动位置的差异. (2)历史地震震源位置的热图 也可以很清楚的看出 ...

  4. TRACE32 Simulator License

    链接:https://www.lauterbach.com/frames.html?sim_license.html Which Features of the TRACE32 Instruction ...

  5. 聊聊GIS数据的四个分层与GIS服务

    本篇不讨论矢量栅格数据的结构,也不讨论矢量与栅格的区别(即设定读者有这方面的基础). 版权声明:原创.博客园/B站/小专栏/知乎/CSDN @秋意正寒 转载请标注原地址并声明转载: https://w ...

  6. ArcGIS Js/Flex等前端API(Query(StatisticDefinition)时)针对SDE的SHAPE.AREA/SHAPE.LEN知道查询无效,而对GDB的SHAPE_Area/SHAPE_Length有效探索。

    FIeld 'SHAPE.AREA' and 'SHAPE.LEN' of SDE For Oracle,Field 'SHAPE_Area' and 'SHAPE_Length' of gdb(ge ...

  7. ArcGIS API for Javascript 使用缓冲区结果做query查询出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误

    1.前言 在研究ArcGIS API for JavaScript时会遇到这样的问题,比如我们在做缓冲区分析时,用分析的范围作为空间查询query的参数,在执行结果中总是会看到“esri.config ...

  8. arcgis api for flex 除去 esri map控件中的logo标志

    在程序的applicationComplete方法中添加下列代码 private function reallyHideESRILogo(map : Map) : void { for(var i : ...

  9. ArcGIS Server JavaScript API中ESRI字体下载

    ---------------------------------------------------------------------------------- import sys, os im ...

随机推荐

  1. redux超易学三篇之二(开始使用react-redux)

    其实 redux 真正让人感到混乱的还是在 react-redux 的使用中. 请配合完整代码参考~:完整源代码 也不是说混乱,主要是网上 推崇 最佳实践.学习一个新东西的时候,本来就很陌生,上来就用 ...

  2. 不要重复发明轮子-C++STL

    闫常友 著. 中国铁道出版社. 2013/5 标准的C++模板库,是算法和其他一些标准组件的集合. . 1.类模板简介 2.c++中的字符串 3.容器 4.c++中的算法 5.迭代器 6.STL 数值 ...

  3. java的Spring学习2- junit

    1.maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  4. Oracle date和timestamp区别

    <转自> http://blog.csdn.net/huaguoming/article/details/8693679 在今天的工作中,学到了以下几个知识点: 一.date和timest ...

  5. Linux kvm虚拟机的基本操作命令

    Linux 虚拟化kvm virsh常用命令篇 1.创建虚拟机 virsh define damo.xml //创建的虚拟机不是活动的 virsh create damo.xml //创建的虚拟机是活 ...

  6. linux 登陆失败处理

    1.备份要操作的两个配置文件 cp /etc/pam.d/sshd /etc/pam.d/sshd.bak cp /etc/pam.d/login /etc/pam.d/login.bak 2.检查是 ...

  7. springboot项目中引用其他springboot项目jar

    1. 剔除要引入的springboot项目中不需要的文件:如Application和ApplicationTests等 2.打包 不能使用springboot项目自带的打包插件进行打包: 3.打包 4 ...

  8. baidumapapi点线面的绘制已离线化

    百度API离线化 baidumapapi2.0商用是要收费的,开发者使用也要申请个Key. 有个项目要用到点线面的绘制功能,在百度的API示例中发现有这样js封装(DrawingManager_min ...

  9. (转)Linux系统sersync数据实时同步

    Linux系统sersync数据实时同步 原文:http://blog.csdn.net/mingongge/article/details/52985259 前面介绍了以守护进程的方式传输或同步数据 ...

  10. Java for循环的几种用法分析

    J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象.本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类 ...