在ArcMap中發布FeatureLayer(要素圖層)


FeatureLayer(要素圖層)是ArcGIS Server發布的一種很重要的地圖服務,發布后使用提供的url地址就可以在代碼中調用並在地圖上顯示、編輯這個FeatureLayer。在HTML頁面中,點擊FeatureLayer的要素,還可以彈出相應的popup對話框以顯示FeatureLayer字段值的信息(在編寫代碼時需要設置)。下面講解用ArcMap發布FeatureLayer的過程。


一、使用SQL Server創建一個數據庫

  FeatureLayer中要素的字段信息保存在地理數據庫中,我們可以使用SQL Server創建一個數據庫,在ArcCatalog中升級成地理數據庫。

  打開SSMS,使用Windows身份驗證連接數據庫,也可以使用SQL Server的身份登錄,但要記住登錄名和密碼,后面會用到。連接面板中的Server name的值也要記住,后面會用到。創建一個新的數據庫。

  打開SSMS

  創建數據庫

二、打開ArcCatalog,將數據庫升級成地理數據庫

  在ArcCatalog左側的Catalog Tree(目錄樹)中,打開Database Connections文件夾,雙擊Add Database Connection。在打開的對話框中,Instance是剛才記住的Server name的名字,Authentication Type可以是Windows身份驗證或SQL Server身份驗證,最下方的數據庫選擇剛才新建的數據庫。

  增加數據庫連接

  數據庫連接成功

  右鍵剛才添加的數據庫連接,選擇Enable Geodatabase,打開對話框。

  Enable Geodatabase

  這里要添加keycodes許可文件,它的目錄地址是C盤-Program Files-ESRI-License 10.x-sysgen-keycodes。

  選擇keycodes文件  keycodes目錄地址

  添加keycodes文件成功

  添加keycodes文件后,點擊確定,等待幾秒鍾后彈出數據庫成功升級成地理數據庫的提示框。

  數據庫升級成地理數據庫成功的提示框

  右鍵這個地理數據庫,選擇Import-FeatureClass(single)。

  導入要素到地理數據庫中

  Input Features是要導入到地理數據庫的數據,Output Location是這個地理數據庫的位置路徑,Output Feature Class是我們為導入到數據庫后的數據起的名字。在Field Map面板中列出了要素包含的字段名,要注意字段名不能包含括號(讀者可以試一試為字段名添加中文或英文括號,應該都是會報錯的)。輸入完成后點擊確定,彈出導入成功的提示框。

  導入要素的對話框

  導入成功

  數據庫中的這個數據就是我們要導入到ArcMap中,並發布成FeatureLayer的數據。這里有兩點要注意的地方:①在ArcMap中不能使用普通的shapefile發布FeatureLayer,應該先將shapefile導入到地理數據庫中,再將地理數據庫中的這個數據發布成FeatureLayer ②在將普通shapefile導入到地理數據庫中時,不能直接復制-粘貼,而要通過上面Import導入的方式。

  地理數據庫中的數據

三、打開ArcMap,發布FeatureLayer服務

  添加地理數據庫中的數據。

  在ArcMap中添加地理數據庫中的數據

  更改Table Of Contents(TOC,內容列表)中數據圖層的名字和符號。這里根據“類別”這個字段進行了唯一值符號繪制。這里對數據圖層的符號進行了更改,在發布成FeatureLayer后,FeatureLayer的要素符號也會這樣顯示。但在調用ArcGIS JavaScript API時可以編寫代碼進行符號的又一次渲染,而且渲染后的符號比在ArcMap中繪制的符號更飽滿、好看。

  更改數據圖層名字和符號

  更改數據圖層名字和顏色后

  在ArcMap中,File-Share As-Service,打開發布服務的對話框。

  發布服務

  發布服務對話框1

  選擇已有連接或者新建連接

  這里可以選擇已有連接或者新建一個ArcGIS Server連接,這里選擇Publish和Administer都可以。

  新建ArcGIS Server連接 

  輸入url和賬戶密碼

  這里有兩種方法添加ArcGIS server的連接:

  ①在Server URL中輸入ArcGIS Server的url。打開ArcGIS Server管理器,頁面上方地址欄上的url去掉manager就是我們需要的url。在Authentication中輸入ArcGIS Server的賬號和密碼。

  ArcGIS Server url

   ②如果已將ArcGIS Server托管到portal中,則也可以輸入portal的url和賬戶密碼。

  portal url

  下面輸入ArcGIS Server的url及賬戶密碼:

  輸入ArcGIS Sever的url及賬號密碼

  新建ArcGIS Server連接成功

  輸入portal的url及賬戶密碼:

  新建portal連接 

  新建portal連接成功

  選擇一個連接並更改Service name。選擇服務發布到的文件夾,這里選擇我們新建的test文件夾,也可以放在根目錄(root)里。

  選擇一個連接並更改服務名字

  選擇服務發布的文件夾

  彈出發布服務的對話框。

  彈出發布服務的對話框

  在左側的列表中,選擇Capabilities,在右側面板中勾選Feature Access。在Feature Access面板下,可以查看並設置相關信息,這里我們不進行更改。

  勾選Feature Access 

  Featue Access的相關信息

  點擊上方"Analyze"進行分析檢查,如果報錯要改正。提示的警告可以不更改,但是會影響服務發布的質量。這里不進行警告的更改。

  analyze分析服務

  點擊上方"Publish",因為剛才的第一條警告沒有更改,所以等待一會兒后會彈出"Copying Data to Server"的提示框,點擊確定進行下一步。進行等待。這里有個小提示,如果ArcMap很卡頓,等待的時間很長,那么服務很有可能發布不成功。我在發布服務時經常會出現服務發布失敗的情況,也沒有找到解決辦法,過一段時間再發布就好了(是什么東西沒有開啟?)。

  publish 

  等待

  服務發布成功

  服務發布成功,打開ArcGIS Server管理器進行查看。

  在ArcGIS Server Manager中進行查看

  點擊左側“功能”,在“選擇與配置功能”面板下選中“Feature Access”,下方的REST URL就是我們使用JS API在代碼中調用的url。

  在ArcGIS Server Manager查看FeatureAccess

 

文中使用SQL Server 2017、ArcCatalog10.6、ArcMap10.6,可能會與其他版本發布服務時出現不同。

推薦文章:https://blog.csdn.net/LoveCarpenter/article/details/52462207


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM