1、前言
利用ArcGIS桌面提供的share as -> ArcGIS Runtiem Content工具在導出.geodatabase文件時經常會發生數據缺失問題,比如數據表中數據有4w多條,但是導出成Geodatabase時,有時候就會發現數據只有1w多條,數據丟失,那這個數據去哪了呢?為啥會有丟失?之前也是沒有深究過這樣一個問題,也不是很清楚確切的問題點在哪里,就是簡單的知道將當前可視區域覆蓋全部地圖,就可以將數據全部導出了,大概猜測是可視區域的問題。今天針對這塊仔細研究了下,做個簡單的總結。
轉載請注明出處:http://www.cnblogs.com/gis-luq/p/4867251.html
2、問題研究
- 方式一:利用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范圍屬性控制。