抽空研究了下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. 洛谷 P3391【模板】文艺平衡树(Splay)

    题目背景 这是一道经典的Splay模板题--文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1, ...

  2. vue框架组件之父子组件之间的通信

    1.如图看解说: 你子标签要给我父标签传递信息,你总得有个触发机制告诉我这是怎么回事对吧  要不我怎么知道你要传数据给我呢!

  3. 【算法笔记】B1035 插入与归并

    1035 插入与归并 (25 分) 根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列.每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置.如此迭代直 ...

  4. ssm框架中的乱码问题的解决

    在搭建ssm框架过程中可能会出现乱码的问题,解决的最好方法就是不管在哪儿都设置为utf-8: 统一编码格式,所有的都设置为utf-8: 首先的就是将所有的请求设置为utf-8: 设置post请求的编码 ...

  5. P2762 太空飞行计划问题

    传送门 经典的最大权闭合子图问题 实验有正的价值,仪器的价值为负 为了实验我们必须选择相应的仪器 所以从 S 连向实验,边权为实验的价值 实验与相应仪器之间连边,边权为 INF 仪器连向 T 边权为仪 ...

  6. CF E2 - Array and Segments (Hard version) (线段树)

    题意给定一个长度为n的序列,和m个区间.对一个区间的操作是:对整个区间的数-1可以选择任意个区间(可以为0个.每个区间最多被选择一次)进行操作后,要求最大化的序列极差(极差即最大值 - 最小值).ea ...

  7. C# Win7下隐藏手势提示

    点击这里是原版答案 Stylus.IsFlicksEnabled="False" 手势是什么样子的

  8. npm install 卡住的时候的处理

    [From] http://www.eguidedog.net/doc/what-to-do-when-npm-install-hangs.php 翻译一下,npm install 经常卡在下载某个包 ...

  9. Linux下Tomcat启动报 The BASEDIR environment variable is not defined

    今天是2017年2月27.在Linux下部署Tomcat官网下载的Tomcat 8.5,结果启动startup.sh报如下错,即使只是跑version.sh也报同样的错. $ ./version.sh ...

  10. 联想g400怎么进bios设置u盘启动图文教程

    联想g400怎么进bios设置u盘启动图文教程 转自http://www.kqidong.com/bios/3940.html 虽然成功学会u盘装系统的人很多,但是设置u盘启动在小白们的眼中却没有那么 ...