使用ArcMap進行數據編輯過程中,在平移、創建要素時,可能會遇到"坐標或測量值超出范圍"的錯誤。
一般地,將其導出Shp文件再導入地理數據庫可解決此問題,但這是為什么呢?閱讀完本文,你將得到答案。
官方幫助
官方幫助通常才是最好的老師!
ESRI的官方文檔更是強大到"令人發指",不是國產軟件能比擬的。關於此問題的描述與解決方案如下:
這段話要字斟句酌,因為它是"救命"最好的稻草。翻譯過來的讀起來有些拗口,但比直接看英文要好一些,它的大致意思是說:
(1)每個要素類都有一個XY屬性域(即坐標范圍,如"xMin yMin xMax yMax"),如果輸入的要素坐標超過這個范圍,則報錯(要素數據集、柵格數據也有XY屬性域,Shp文件沒有,下面均以要素類來說明);
(2)一般情況下,要素類XY屬性域不嚴格,即一般是坐標系的最大范圍,如"-180 -90 180 90",一般可以任意編輯;有的要素類則比較嚴格,只能在指定范圍內創建、平移、編輯要素;
(3)解決方案一:使用追加工具,將環境中"XY屬性域"設置"與輸入相同",如果目標數據集沒有坐標系統,需要先定義一個;(個人認為,這種方案的做法不對,后面分析原因)
(4)解決方案二:創建一個較大XY屬性域的新要素類。(這里說得也不完整,實際工作中,還需要把已有的數據導入到新建要素類中)
如果仔細閱讀官方幫助,反復測試數據,應該能解決問題,但官方解釋並沒說清楚原因,我們來仔細分析一下。
問題分析
遇到問題,一定要相信,你不是第一個人(或許只是你難以描述問題罷了),學會~科~學~上~網。據官方解釋和實踐證明,一切都是XY屬性域在作怪。
問:XY屬性域是什么時候創建的?
在新建要素類,根據要素類的空間參考它會自動計算XY屬性域,默認為空間參考的域(Domain),即要素類空間參考X、Y坐標最大范圍。當然,如果新建時不選擇坐標系統,它也會給你創建一個較大的范圍(-450359962737.05,450359962737.05,僅對9.2版本以后的地理數據庫),不信你試試。
問:XY屬性域怎么修改?
無法直接手動修改,可通過以下三種方式:導出Shp文件后再導入、設置工具XY屬性域環境、新建要素類。詳見"解決方案"。
問:為什么XY屬性域會變化?
既然創建要素類時,會自動創建一個較大的XY屬性域范圍,又無法手動修改,那么它為什么會變小,以至於報錯。對於本文所使用的測試數據,推測原因是導入了沒有空間參考的Shp文件,具體如下:
(1)由於原始的Shp文件空間參考是unkown,在編輯時,Shp文件沒有XY屬性域的概念,因此不會被限制,故不會報錯;
(2)編輯Shp文件完成后,在未定義坐標的情況下,直接導入地理數據庫,此時會按照數據的要素范圍(Extent)來生成XY屬性域(Domain),稍微編輯超出范圍則會報錯;
(3)編輯Shp文件完成后,先定義數據坐標系統后,然后導入地理數據庫,此時會按坐標系統的域(Domain)來生成XY屬性域(Domain),這樣就不會報錯了。
解決方案
下面綜合官方的解決方案,通過測試,可使用以下三種方法解決此問題:
方案一:導出導入法
方法:將數據導出為Shp文件,在保證有空間參考的情況下,再導入回去;
優點:此方法操作簡單,能方便保留要素類的原始數據。
缺點:導出Shp文件后可能會造成字段名稱被截取(Shp字段名不能超過10個字符);屬性域、制圖表達等(地理數據庫特有功能)信息會丟失。
方案二:環境設置法
方法:使用合並工具,重新生成新要素類,在執行工具前,通過設置"環境"-"高級地理數據庫"-"XY屬性域"設置為 "如下指定"(指定較大的新的XY屬性域);為什么使用追加工具不可以,是因為追加工具並未生成新的要素類(XY屬性域改變僅對生成新的輸出要素類有效),所以官方解決方案一不能實現。
優點:保留了導出導入法的優點,並避開其缺點。
缺點:如果要素類太多,批量操作麻煩;特別是遇到字段結構有差異的情況。
方法三:新建要素類法(推薦)
方法:先使用"創建要素類"工具批量創建空的要素類,模板文件選擇以前對應的要素類;然后使用"追加"工具把數據復制過去。
優點:安全、便捷。
問題小結
1、XY屬性域不是"屬性域",也不是"要素范圍",但它同屬性域一樣,可以限制數據有無效輸入,所以,在某種程度上,也有它存在的合理性。將數據結構導出為xml文件,可以查看和修改XY屬性域,如下圖所示:
2、數據處理時牢記:不要使用Shp文件編輯數據(Shp文件常用來數據交互),不要將無空間參考的Shp文件導入地理數據庫(先定義空間參考再導入);
參考資料
000594錯誤:http://resources.arcgis.com/zh-CN/help/main/10.2/#/na/00vp00000015000594/
輸出 XY 屬性域:http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//001w0000001m000000
科~學~上~網:http://www.ggfwzs.com/