您的位置:首页 > 移动开发 > Android开发

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

2015-10-10 21:08 260 查看

1、前言

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

转载请注明出处:/article/5994581.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范围属性控制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: