《ArcGIS Runtime SDK for Android开发笔记》——问题集:.geodatabase创建,创建时内容缺失问题总结

1、前言

利用ArcGIS桌面提供的share as -> ArcGIS Runtiem Content工具在导出.geodatabase文件时经常会发生数据缺失问题,比如数据表中数据有4w多条,但是导出成Geodatabase时,有时候就会发现数据只有1w多条,数据丢失,那这个数据去哪了呢?为啥会有丢失?之前也是没有深究过这样一个问题,也不是很清楚确切的问题点在哪里,就是简单的知道将当前可视区域覆盖全部地图,就可以将数据全部导出了,大概猜测是可视区域的问题。今天针对这块仔细研究了下,做个简单的总结。

转载请注明出处:http://www.cnblogs.com/gis-luq/p/4867251.html

 

2、问题研究

在ArcMAP中导出.geodatabase格式的矢量数据一般来说共有两种方式:(好像还有Python脚本生成具体没研究过)
  • 方式一:利用File -> Share As ->ArcGIS Runtime Content导出

  • 方式二:使用工具箱中的System Toolboxes -> Data Management Tools ->Package -> Create Runtime Content

这两种方式之间有什么区别呢?

方式一:导出范围默认为当前可视区域。 方式二:导出范围默认为全图,可以依据Extent范围选择。

对于方式一笔者做了以下测试:

首先全图范围如图1所示,将地图放大到图2的情况,保存地图文档(.mxd)。接着打开File -> Share As ->ArcGIS Runtime Content工具,在弹出的窗口中,ArcGIS Runtime Content选项卡内设置文件存储路径,Feature and Tabular Data选项卡内设置设置导出所有数据选项(全部导出)。导出完成之后,我们会获得一个后缀为.geodatabase的文件。该文件可以利用工具箱内的Copy Runtime Geodatabase to File Geodatabase工具导出成FileGDB,将导出结果与原始结果叠加得到了如图3的显示效果,这也说明了为啥我们使用方式一导出数据经常会有数据缺失的情况。原因是以当前可视区域做了限制。

 

 

对于方式二,设置过程比较简单按照说明提示设置就好,其中有一个需要注意的参数就是Extent范围参数(指定用于选择或裁剪要素的范围)。

  • Default——默认 - 该范围将基于所有参与图层的最大范围设定。这是默认设置。
  • Union of Inputs——输入的并集 - 所有输入的最大范围。
  • Insersection of Input——输入的交集 - 所有输入共用的最小范围。
  • As Specified Below——如下面的指定 - 指定最小和最大范围值。
  • Same as Display——与显示相同 - 范围等于数据框或可见显示范围。

 

3、问题总结

方式一:利用File -> Share As ->ArcGIS Runtime Content导出当前可视区域内要素。

方式二:使用工具箱中的System Toolboxes -> Data Management Tools ->Package -> Create Runtime Content默认导出所有要素,具体可以更具Extent范围属性控制。

 

posted on 2015-10-10 21:08  gis-luq  阅读(4004)  评论(1编辑  收藏  举报