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範圍屬性控制。
同步部落格:http://www.cnblogs.com/gis-luq
作者:gis-luq
郵箱:[email protected]