Arcgis 生成離線數(shù)據(jù)庫(.geodatabase)

1.摘要

? ? ? 在上一篇文章我們說了Arcgis生成離線地圖的方法,但是一個(gè)地圖類應(yīng)用,只有底圖是不夠的。我們的應(yīng)用大多數(shù)情況下都需要地點(diǎn)查詢的功能,在離線的情況下,我們有兩種方式,一種是通過Android原生的SQLite數(shù)據(jù)庫,另一種就是通過Arcgis提供的geodatabase地理數(shù)據(jù)庫。在這里我們說一下基礎(chǔ)的geodatabase數(shù)據(jù)庫的生成以及生成geodatabase常見的信息丟失問題。本文Arcmap軟件用的版本是10.2.2,也是可以生成.geodatabase的最低版本

2.離線數(shù)據(jù)庫的生成

? ? ? 1.和生成.tpk離線地圖的方式差不多,我們需要先打開制作runtime content的界面【圖1】。在這里有個(gè)需要注意的地方,就是這個(gè)方式導(dǎo)出的是當(dāng)前可視區(qū)域內(nèi)要素,所以我們?nèi)绻枰烧麄€(gè)地圖范圍內(nèi)的geodatabase,那么請(qǐng)把地圖縮放到最小,讓整個(gè)地圖都顯示出來然后再進(jìn)行File->Share As->Runtime content。(還有種方式是使用工具箱中的System Toolboxes -> Data Management Tools ->Package -> Create Runtime Content,更加靈活,默認(rèn)導(dǎo)出的是所有的要素?cái)?shù)據(jù),但是比較麻煩,這里不推薦)打開之后如【圖2】

圖1

? ? ? 2.在Runtime Content標(biāo)簽頁面下的Save runtime content to 選擇.geodatabase要存儲(chǔ)的位置?!緢D2】

圖2

? ? ? 2.Feature and Tabular Data標(biāo)簽頁下的東西是問是否包含表格數(shù)據(jù)和一些其他信息,Basemap標(biāo)簽至今沒有用到過,這個(gè)我們一般保持原樣就行了,不動(dòng)它。

? ? ? 3.如果我們的應(yīng)用需要做離線的路徑規(guī)劃,那么我們需要把路網(wǎng)數(shù)據(jù)集集成到.geodatabase中,選擇Network Data標(biāo)簽,Include network data from the current map。(arcmap會(huì)自動(dòng)檢測(cè)你的圖層是否包含路網(wǎng)數(shù)據(jù)集,如果不包括,則這塊是不可選的。)如果不需要,請(qǐng)?zhí)^這一步?!緢D3】

圖3

? ? ? 4.如果你的應(yīng)用需要點(diǎn)擊地圖某個(gè)位置,自動(dòng)識(shí)別點(diǎn)擊位置的地理信息功能,我們就需要把地址定位器集成到.geodatabase里面去,選擇Locator標(biāo)簽下面的Use a locator from the current map,這里選擇你要集成進(jìn)去的地址定位器。如果本次打開的.mxd沒有生成過地址定位器,那么這里檢測(cè)不到,不可選用。正確的步驟是先生成地址定位器,再生成.geodatabase。如果不需要,請(qǐng)直接跳過這一步。【圖4】

圖4

? ? ? 5.Analyze,如果沒有錯(cuò)誤即可直接Share生成.geodatabase。

3.常見問題

1.生成的.geodatabase數(shù)據(jù)不全,發(fā)生了數(shù)據(jù)丟失的情況。

? ? ? 發(fā)生這種情況一般的有以下兩種原因:1、沒有調(diào)整到全部地圖的可見范圍生成地圖,本文的方法是導(dǎo)出的是當(dāng)前可視區(qū)域內(nèi)要素,我們通常把地圖全部可見之后再次縮放一點(diǎn),然后再進(jìn)行 runtime content 即可解決。2、通常是由于數(shù)據(jù)格式異常,錄入數(shù)據(jù)不規(guī)范導(dǎo)致,arcmap生成geodatabase的時(shí)候比較挑食,有些字段里的數(shù)據(jù)不合胃口就直接不管了。解決辦法是移動(dòng)端不需要展示的字段數(shù)據(jù)可以直接通過arcmap刪掉(別忘了備份),一方面可以減小數(shù)據(jù)包體積,一方面可以解決丟失數(shù)據(jù)的問題;如果字段必須存在,那么只能從數(shù)據(jù)本身著手,我處理的數(shù)據(jù)一般是由于中文標(biāo)點(diǎn)有問題,全文替換成英文的就可以了。比較常見的有中文的頓號(hào),句號(hào),逗號(hào),分號(hào),引號(hào)還有數(shù)據(jù)前面有空格,甚至是數(shù)據(jù)直接為空。也不排除別的字符問題,畢竟是國(guó)外的軟件,對(duì)中文支持不太好。這種情況就只能一個(gè)一個(gè)進(jìn)行嘗試了。

2.Analyze的時(shí)候報(bào)錯(cuò)Multiple workspaces for feature and tabular data are not supported for runtime content 。

? ? ? 通常來說,生成geodatabase的圖層shp必須存在于同一個(gè)文件夾下面,發(fā)生這種情況我們可以手動(dòng)把shp都放到一個(gè)文件夾下面;如果是在gdb數(shù)據(jù)庫當(dāng)中的,那么需要用ArcCatalog工具都導(dǎo)入到一個(gè)數(shù)據(jù)庫當(dāng)中,然后在進(jìn)行Share.如果存在路網(wǎng)數(shù)據(jù)集,那么只能把shp都導(dǎo)入到gdb數(shù)據(jù)庫當(dāng)中進(jìn)行圖層加載才可以,如果把gdb數(shù)據(jù)導(dǎo)出為shp生成會(huì)出問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容