ArcMap的mxd檔案沒有資料、顯示感嘆號怎麼辦?

疯狂学习GIS發表於2024-03-22

  本文介紹在ArcMap軟體中,匯入.mxd地圖文件檔案後圖層出現感嘆號地圖顯示空白等情況的解決辦法。

  在ArcMap軟體使用過程中,我們經常會需要將包含有多個圖層的.mxd地圖文件檔案匯入軟體中;例如,如下圖所示,我們希望將名為測量標識1.mxd的地圖文件檔案匯入ArcMap軟體。

image

  隨後,我們可能會遇到如下圖所示的錯誤情況——ArcMap軟體左側圖層列表中的每一個圖層名稱前都帶有一個紅色的感嘆號,且在ArcMap軟體右側的地圖顯示區域也不包含任何圖層。

  出現這種問題的原因在於,ArcGIS中的.mxd地圖文件檔案雖然含有各類圖層,但其實際上僅僅包含了對這些圖層的引用,而非圖層資料本身;圖層資料還是儲存在其各自的.shp檔案或地理資料庫中。因此,一旦我們匯入一個新的.mxd地圖文件檔案(例如從其他電腦中複製過來的一個.mxd地圖文件檔案),就可能導致ArcMap軟體雖然知道這個.mxd地圖文件檔案應該包含有哪些圖層(即可以顯示圖層數量與圖層名稱),但是這些圖層的具體資料ArcMap軟體沒有辦法找到(即在圖層名稱左側出現紅色感嘆號)。

  針對這一情況,其解決辦法也是很簡單的。首先,我們需要保證當前電腦中含有.mxd地圖文件檔案所涉及到的全部圖層的資料檔案(即其各自的.shp檔案或地理資料庫);隨後,在出現紅色感嘆號的圖層名稱處右鍵,選擇“Data”→“Repair Data Source...”選項。

  接下來,在彈出的“Data Source”視窗中,找到當前圖層對應的其自身的資料檔案。例如,我剛剛是在測量標識1_mxd這個圖層上右鍵的,那麼我就需要在這個視窗中找到其對應的資料檔案——測量標識1_mxd.shp,並單擊“Add”即可。

  隨後,可以看到測量標識1_mxd這個圖層已經不再顯示紅色感嘆號,且右側亦可以正常顯示其具體地圖。

  這裡還有一點需要注意,由上圖可以看出,我們儘管僅對測量標識1_mxd這一個圖層進行了上述操作,但是整個.mxd地圖文件檔案所包含的三個圖層都已經可以正常顯示了。這是因為這三個圖層的自身資料都儲存在同一個路徑下(在同一個資料夾裡),因此當我們對.mxd地圖文件檔案其中的任何一個圖層進行上述操作時,ArcMap軟體會自動將其他同一路徑下的圖層也匹配起來,從而使得.mxd地圖文件檔案的全部圖層一次性都完成了匹配。

  如下圖所示,可以看到剛剛我們在彈出的“Data Source”視窗中不僅包含了測量標識1_mxd這個圖層的資料檔案測量標識1_mxd.shp,同時還包含了.mxd地圖文件檔案中另一個圖層測量點(帶經緯度)的資料檔案測量點(帶經緯度).shp

  再如下圖所示,可以看到同樣是在同一路徑下,還包含了.mxd地圖文件檔案中第三個圖層(就是這個名字很長的.bmp檔案)的資料檔案。

  因此,我們只需要對上述.mxd地圖文件檔案中的一個圖層執行操作,剩餘兩個圖層都會自動匹配。當然,如果一個.mxd地圖文件檔案中的圖層資料儲存在不同的資料夾下,那麼就沒有辦法實現一次性匹配了,有多少個資料夾就至少需要執行上述操作多少次。

  此外,我們可以透過兩種辦法來避免每一次開啟新的.mxd地圖文件檔案就出現紅色感嘆號、需要手動匹配資料的情況。

  首先,第一種方法是在ArcMap軟體上方選擇“Customize”→“ArcMap Options...”選項。

  隨後,在彈出的“ArcMap Options”視窗中選擇“General”一欄,並將“Make relative paths the default for new map documents”這一項選中。

  透過這樣的方式,ArcMap軟體在今後儲存.mxd地圖文件檔案時,都會自動將其所包含圖層的自身資料的相對儲存路徑記錄下來;這樣子在其他電腦開啟.mxd地圖文件檔案檔案時,ArcMap軟體就可以依據這個相對儲存路徑自動匹配圖層資料,就不用我們透過上述操作來手動匹配了。這一種方法是一勞永逸的,今後不論是哪一個.mxd地圖文件檔案,都會自動儲存圖層資料的相對路徑。

  此外,還有一種方法,就是在要儲存.mxd地圖文件檔案時,選擇“File”→“Map Document Properties...”選項。

  在彈出的“Map Document Properties”視窗中,選擇將“Store relative pathnames to data sources”這一項選中。

  這一方法和前述第一種方法的原理一致,只不過第一種方法是讓ArcMap軟體在今後儲存所有的.mxd地圖文件檔案時預設儲存相對路徑,第二種方法是僅僅針對當前這一.mxd地圖文件檔案儲存相對路徑;因此,推薦大家直接用第一種方法來實現。

相關文章