從零開始釋出一個ArcGIS Server地圖服務

三分惡發表於2020-04-04

@[Toc]


此前從未接觸過ArcGIS,對Oracle和postGre SQL也比較陌生。本文介紹了從零開始,到搭建環境,再到釋出第一個ArcGIS地圖服務的完整過程。


一、軟體環境搭建


由於在地圖製作時我們需要在 arcMap 中讀取資料庫中的地理資料,並且在釋出地圖服務時。arcGIS Server 也需要從資料庫中讀取資料併發布。所以我們需要建立起 arcMap----> 資料庫 和 arcGIS Server----->資料庫的連線。並且,由於我們可以在 arcMap 對 arcGIS Server 進行管理,所以也需要建立起這兩者的連線。具體關係如下(以 postgreSQL為例:)

在這裡插入圖片描述


本文中ArcGis相關軟體版本為10.2,Oracle版本為11g,PostgreSQL版本為9.1。

本文用到的軟體下載地址:

度盤:pan.baidu.com/s/1fdAiJW1Y…    提取碼:a41c

在軟體的安裝過程中,有一些賬號密碼的配置,建議使用記事本等工具記錄,以免忘記。


1、資料庫安裝

ArcGIS支援若干資料庫,我們這裡用了兩種,Oracle和開源的postGre SQL,選用其中一種即可。相比較而言,使用Oracle作為地理資料庫的搭建要簡單一些,條件允許的話,推薦使用Oracle資料庫。

1.1、Oracle(可選)

1.1.1、安裝Oracle服務端

這裡選擇的是Oracle11g 64位。

  • 執行安裝

在這裡插入圖片描述

  • 出現下圖警告,不用理會

    在這裡插入圖片描述

  • 電子郵件可以不填

    在這裡插入圖片描述

  • 安裝選項選擇建立和配置資料庫

    在這裡插入圖片描述

  • 根據機器的配置情況自行選擇,這裡選擇的是桌面類

    在這裡插入圖片描述

  • 自定義Oracle的基目錄,管理口令自行設定

    在這裡插入圖片描述

  • 完成

    在這裡插入圖片描述

  • 安裝產品,時間會比較長,喝杯茶慢慢等待吧

在這裡插入圖片描述
在這裡插入圖片描述


  • 產品安裝完成後記得要做口令管理
    在這裡插入圖片描述

  • 這裡主要配置3個賬戶,sys賬戶,相當於MySQL的root賬戶;system賬戶,普通管理員,客戶端配置的時候會用到;scott賬戶,普通賬戶。
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述

  • 測試Oracle是否安裝完成:在Dos視窗裡輸入命令sqlplus,使用者名稱和口令輸入system賬戶的使用者名稱和口令,如下,Oracle服務端安裝完成。

    在這裡插入圖片描述

  • Oracle配置,由於這裡Oracle和Arcgis是安裝在一臺機器上,所以配置基本不用變更

在這裡插入圖片描述


  • 檢視Oracle的配置:服務名、網路地址。

在這裡插入圖片描述
在這裡插入圖片描述

  • 如果要配置Oracle非本地的訪問,可以檢視參考【1】

1.1.2、安裝Oracle客戶端

Oracle客戶端需要安裝32位客戶端,因為ArcGIS DeskTop是32位。

  • 開始安裝

    在這裡插入圖片描述

  • 警告不管

    在這裡插入圖片描述

  • 選擇管理員

    在這裡插入圖片描述

  • 選擇簡體中文

在這裡插入圖片描述

  • 自定義安裝路徑

    在這裡插入圖片描述

  • 完成

    在這裡插入圖片描述

  • 安裝中,時間會比較長

    在這裡插入圖片描述

  • 客戶端安裝完成

在這裡插入圖片描述

客戶端安裝完成後,需要進行配置

  • 進入配置介面
    在這裡插入圖片描述

  • 選擇本地網路服務名配置

    在這裡插入圖片描述

  • 選擇新增

    在這裡插入圖片描述

  • 填寫服務名

    在這裡插入圖片描述

  • 選擇TCP

    在這裡插入圖片描述

  • 填入主機名,選擇埠號

    在這裡插入圖片描述


  • 選擇
    在這裡插入圖片描述

  • 測試未成功,選擇更改登入

在這裡插入圖片描述


  • 填入system的使用者名稱、密碼

在這裡插入圖片描述


  • 連線測試成功

在這裡插入圖片描述

接下來選擇下一步直到結束,至此,Oracle客戶端安裝配置完成。

1.2、PostgreSQL(可選)

需要注意的是,PostgreSQL作為地理資料庫的時候需要安裝它的擴充套件postgis.

1.2.1、安裝PostgreSQL

  • 點選安裝包

在這裡插入圖片描述

  • 選擇安裝路徑,資料存放路徑

在這裡插入圖片描述

在這裡插入圖片描述


  • 設定超級使用者postgres的密碼
    在這裡插入圖片描述

  • 選擇埠

在這裡插入圖片描述

  • postgresql語言環境(預設)

在這裡插入圖片描述

  • 取消勾選使用Stack Builder

在這裡插入圖片描述

  • 完成安裝後window選單會有pgAdminⅢ的資料庫管理程式,開啟後使用剛才的密碼成功連線資料庫

在這裡插入圖片描述

在這裡插入圖片描述


1.2.2、postgis安裝

PostgreSQL安裝完成後,安裝postgis。

  • 執行可安裝檔案

在這裡插入圖片描述


  • 勾選Create spatial database(完成安裝後自動建立空間資料庫檢驗安裝)

在這裡插入圖片描述

  • 安裝目標路徑需要選擇剛才postgresql的安裝目錄

    在這裡插入圖片描述

  • 輸入剛才設定的密碼

在這裡插入圖片描述

  • 設定空間資料庫模板名稱(預設即可)

在這裡插入圖片描述

  • 安裝即將完成時彈出三個確認框:都選擇是

在這裡插入圖片描述

  • 開啟pgAdmin發現多了一個模板

在這裡插入圖片描述
postgis安裝完成。

2、ArcGIS相關軟體安裝

ArcGIS相關軟體按照如下順序安裝。


2.1、ArcGIS Server安裝

  • 點選

    在這裡插入圖片描述

  • 下一步……

    在這裡插入圖片描述

在這裡插入圖片描述


  • 選擇安裝路徑

    在這裡插入圖片描述

  • 選擇Python27安裝路徑

    在這裡插入圖片描述

  • 配置ArcGis Server Account的賬號、密碼

    在這裡插入圖片描述

  • 不匯出配置檔案

    在這裡插入圖片描述


  • 安裝
    在這裡插入圖片描述

  • 安裝中,時間會比較長,再喝一杯茶

    在這裡插入圖片描述

  • 安裝完成

    在這裡插入圖片描述


  • 選擇許可檔案

在這裡插入圖片描述

在這裡插入圖片描述


  • 配置完許可後,會開啟ArcGis管理頁面,選擇建立新站點

    在這裡插入圖片描述

  • 填入使用者名稱和密碼

在這裡插入圖片描述

  • 選擇根服務目錄

    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述

  • 登入ArcgisServer站點

    在這裡插入圖片描述

  • 在站點上已經有一個世界地圖的服務

    在這裡插入圖片描述

  • 用當前機器的ip也可以訪問服務站點

    在這裡插入圖片描述


2.2、ArcGIS License Manager安裝

許可證管理器。

  • 點選

在這裡插入圖片描述

  • 下一步……

在這裡插入圖片描述
在這裡插入圖片描述

  • 自定義安裝路徑
    在這裡插入圖片描述

在這裡插入圖片描述


  • 安裝中,時間也得一會兒
    在這裡插入圖片描述
    在這裡插入圖片描述

為了後面的破解ArcGis Desktop:

  • 進入許可證服務管理介面

在這裡插入圖片描述

  • 停止

    在這裡插入圖片描述
    在這裡插入圖片描述

  • 開啟破解工具的資料夾,點選註冊器

    在這裡插入圖片描述

  • 手動輸入Version,點選All

在這裡插入圖片描述

  • 生成的文字全部複製

    在這裡插入圖片描述

  • 新建一個文字,命名為service.txt,將上面複製的文字貼上進去

    在這裡插入圖片描述

  • 將將破解檔案 ARCGIS.exe、service.txt複製到License Manager 安裝路徑bin目錄下替換掉已有的這兩個檔案。

    在這裡插入圖片描述
    在這裡插入圖片描述

  • 啟動,重新讀取許可

    在這裡插入圖片描述
    在這裡插入圖片描述

2.3、ArcGIS Desktop安裝

  • 點選可執行檔案

    在這裡插入圖片描述

  • 下一步……

    在這裡插入圖片描述
    在這裡插入圖片描述


  • 選擇Complete

    在這裡插入圖片描述

  • 選擇安裝路徑

    在這裡插入圖片描述

  • 選擇Python27路徑

    在這裡插入圖片描述


  • 不選
    在這裡插入圖片描述

  • 安裝中,再喝一杯茶
    在這裡插入圖片描述
    在這裡插入圖片描述

  • 安裝完成後,進入如下頁面,選擇如下

    在這裡插入圖片描述

  • 在 License Manager看到如下,破解成功

    在這裡插入圖片描述

  • 點選下圖所示圖示,可以啟動ArcMap

    在這裡插入圖片描述


二、釋出地圖服務

1、建立空白地圖

  • 開啟ArcMap後,建立空白地圖。

在這裡插入圖片描述

  • 儲存地圖
    在這裡插入圖片描述

在這裡插入圖片描述

可以直接把shp格式的檔案給拉進去,會建立新的圖層。

在這裡插入圖片描述

  • 到了這裡,其實就已經可以釋出地圖服務了。
    在這裡插入圖片描述
    當然了,為了對資料進行管理,還是要進行接下來的操作。

2、建立資料夾連線

  • 在CateLog裡選擇資料夾連線

在這裡插入圖片描述

在這裡插入圖片描述

  • 建立和我們的測試資料資料夾的連線

在這裡插入圖片描述


3、建立與ArcGIS Server的連線

為了釋出地圖服務,得建立和Arcgis Server的連線

  • 新增ArcGIS Server連線
    在這裡插入圖片描述

  • 選擇管理ArcGIS Server

    在這裡插入圖片描述

  • 填入ArcGis Server站點的相關資訊

在這裡插入圖片描述

  • 連線上Arcgis Server,可以把Arcgis Server的地圖直接拖進去
    在這裡插入圖片描述

3、建立企業級地理資料庫

可以從ArcGIS Desktop(Desktop Standard 或 Desktop Advanced)執行建立企業級地理資料庫工具,或從 ArcGIS Desktop、ArcGIS Server 或 ArcGIS Engine 客戶端執行 Python 指令碼,來建立 sde 使用者、方案、表空間和地理資料庫。

這裡通過建立企業級地理資料庫工具來建立企業級空間資料庫,該工具位於“資料管理”工具箱的“地理資料庫管理”工具集中:

在這裡插入圖片描述

3.1、Oracle

  • 開啟建立企業級地理資料庫工具,從資料庫平臺下拉選單中選擇 Oracle。 需要填寫連線到 Oracle 例項的相關資訊: ♦ 如果已經將 Oracle 客戶端配置為使用 TNS 網路別名,則在例項文字框中輸入 Net 服務別名。 ♦ 如果尚未配置 Oracle 客戶端的網路別名,並且 Oracle 資料庫和客戶端均配置為使用 Easy Connect 字串,則在例項文字框中提供 Oracle Easy Connect 字串。 ♦ 必須以資料庫管理員身份連線到資料庫才能建立地理資料庫管理員和表空間。因此,資料庫管理員文字框中應填入sys 使用者名稱。 ♦在資料庫管理員密碼文字框中輸入 sys 使用者的密碼。 ♦在地理資料庫管理員文字框中輸入 sde——如果資料庫中不存在 sde 使用者,則該工具會建立此使用者並授予其建立地理資料庫所需的許可權。如果使用者已存在,則會向其授予所需的許可權。 ♦在地理資料庫管理員密碼文字框中輸入 sde 使用者的密碼——如果資料庫中已存在 sde 使用者,需要確保為現有使用者輸入正確的密碼;此工具不會更改密碼。如果建立的是 sde 使用者,則輸入的密碼會在建立 sde 使用者時使用。 ♦為 sde 使用者指定表空間(可選)——如果擁有可用於地理資料庫資料檔案庫的預配置表空間,則可在表空間名稱文字框中輸入其名稱。 ♦如果想要此工具建立表空間,可在表空間名稱文字框中輸入有效的名稱,該工具會在 Oracle 預設位置建立一個 400 MB 的表空間。如果不輸入表空間名稱,則會建立 SDE_TBS 表空間,並將其設定為 sde 使用者的預設表空間。 ♦ 要指定授權檔案,使用授權 ArcGIS Server Enterprise 的授權檔案。

在這裡插入圖片描述
在這裡插入圖片描述

  • 建立中,得一會兒

    在這裡插入圖片描述

  • 建立完成

在這裡插入圖片描述


3.2、PostgreSQL

3.2.1、st_geometry.dll複製

  • 在Desktop安裝目錄 --> DatabaseSupport資料夾 --> postgreSQL資料夾 --> 9.2資料夾 --> Window64資料夾中找到st_geometry.dll檔案。
  • 將st_geometry.dll檔案複製到postgresql安裝目錄 --> lib資料夾中。

在這裡插入圖片描述
在這裡插入圖片描述

3.2.2、5個用於連線的dll檔案複製

由於desktop是32位,postgresql是64位,我們需要將:

  • libeay32.dll

  • libiconv-2.dll

  • libintl.dll

  • ibpd.dll

  • ssleay.dll

    5個檔案複製到Desktop安裝目錄 --> bin資料夾中,複製時選擇全部替換。

在這裡插入圖片描述
在這裡插入圖片描述

3.2.3、建立postgresql資料庫

  • 在pgAdmin中新建資料庫名稱為sample,所有者為postgres,模板為postgis_20

    在這裡插入圖片描述

  • 建立模式(從ArcGIS Catalog連線postgresql資料庫匯入資料時,資料庫中必須有postgres模式)。執行如下語句並顯示成功:

create schema postgres;

複製程式碼

在這裡插入圖片描述

OK,PostgreSQL的相關配置完成了,可以建立建立企業級地理資料庫。

3.2.4、建立企業級地理資料庫(postgresql)

  • 資料庫平臺選擇PostgreSQL。

  • 例項填入localhost(本機)。

  • 資料庫選擇剛才建立的sample資料庫。

  • 資料庫管理員為超級使用者postgres。

  • 資料庫管理員密碼為自己設定的密碼

  • 地理資料庫管理員密碼自己設定

  • 授權檔案選擇arcgis server的授權檔案。

    在這裡插入圖片描述

  • 建立成功:

    在這裡插入圖片描述


4、建立資料庫連線

企業級地理資料庫建立完成之後,就可以連線了。

4.1、Oracle

  • 資料庫連線中新建連線

    在這裡插入圖片描述

  • 輸入上一步中的資料庫相關配置

    在這裡插入圖片描述

  • 連線成功之後,可以看到資料庫連線

在這裡插入圖片描述


4.2、PostgreSQL

資料庫平臺選擇PostgreSQL 例項為localhost 資料庫身份驗證:使用者名稱為超級使用者。密碼為自己設定的密碼 資料庫選擇剛才建立的sample資料庫

在這裡插入圖片描述
在這裡插入圖片描述


6、地理資料庫匯入資料

地理資料庫連線之後,可以為地理資料庫匯入資料了。這裡有兩種匯入的方式。

6.1、直接匯入

  • 資料庫連線,右鍵,import,可以選擇匯入單個或多個

在這裡插入圖片描述

  • 匯入單個

    在這裡插入圖片描述

  • 資料成功匯入地理資料庫,可以將導進去的資料直接拖出來

    在這裡插入圖片描述

6.2、通過檔案空間資料庫匯入

上面的方式比較快捷,但是匯入失敗的概率相對要大一些,所以推薦用下面的方式。


  • 在資料夾連線,右鍵,建立檔案空間資料庫

在這裡插入圖片描述

  • 新建的檔案空間資料庫匯入資料

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

  • 匯入成功

    在這裡插入圖片描述

  • 可以直接拖拽進地理空間資料庫

    在這裡插入圖片描述
    在這裡插入圖片描述

  • 直接拖入可能會因為空間座標系不一致的原因失敗,還可以在空間資料庫上直接import

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

7、釋出地圖服務

資料已經成功匯入企業級地理資料庫,接下里可以釋出地圖服務了。

  • 將資料拖進去

    在這裡插入圖片描述

  • 可以對圖層進行編輯,分類等操作

    在這裡插入圖片描述

  • 釋出地圖服務

在這裡插入圖片描述
在這裡插入圖片描述


  • 選擇之前建立的和Arcgis Server的連線

在這裡插入圖片描述

  • 選擇服務目錄,這裡新建了一個目錄

在這裡插入圖片描述

  • 釋出之前可以先分析一下

    在這裡插入圖片描述

  • 釋出

    在這裡插入圖片描述
    在這裡插入圖片描述

8、檢視釋出的地圖服務

成功釋出的服務可以在Arc Map裡預覽,這裡從Arcgis Server站點檢視

  • 登入站點,可以找到我們釋出的地圖服務

    在這裡插入圖片描述

  • 在功能裡可以看到地圖服務提供給第三方呼叫的介面

    在這裡插入圖片描述

  • 點選進去,在這裡可以選擇通過ArcGis JavaScript的方式預覽

    在這裡插入圖片描述
    在這裡插入圖片描述

三、遇到的問題


1、ArcGIS直連Oracle失敗

Executing: CreateEnterpriseGeodatabase Oracle localhost/orcl # DATABASE_AUTH sys ***** SDE_SCHEMA sde ***** # D:\SoftwareFile\易智瑞版\arcgisserver10.2.ecp
Start Time: Thu Apr 02 18:07:32 2020
Cannot connect to database because the database client software failed to load.  Be sure the database client software is installed and configured correctly.
Failed to execute (CreateEnterpriseGeodatabase).
Failed at Thu Apr 02 18:07:32 2020 (Elapsed Time: 0.01 seconds)
複製程式碼

在這裡插入圖片描述


這個問題通常是這些原因導致的:

  • 在ArcGIS for Desktop計算機上未安裝Oracle客戶端
  • 嘗試從ArcMap或ArcCatalog(這是32位應用程式)連線到Oracle時,僅安裝64位客戶端
  • 嘗試從ArcGIS for Server或ArcGIS Pro(64位應用程式)連線到Oracle時,僅安裝32位客戶端。

解決辦法:

  • 要解決此問題,請確保已安裝Oracle客戶端,並且客戶端的位級別與連線的應用程式的位級別匹配。
  • 如果32位客戶端和64位客戶端都安裝在同一臺計算機上,則必須在Windows作業系統的PATH環境變數中首先列出64位客戶端。

我的錯誤原因是隻安裝了64位的客戶端,再裝一個32位的客戶端,把Path中64位的變數列在前面。

在這裡插入圖片描述


然後,重啟電腦,問題解決。


2、PostgreSQL作為資料庫沒有資料表

PostgreSQL作為企業級地理資料庫,剛連線的時候沒有資料

在這裡插入圖片描述
正常應該是這種:
在這裡插入圖片描述

另外,PostgreSQL匯入資料時,偶爾會失敗,原因還未排查出啦。



End!

ps:本人是一個Gis純小白,文中有錯漏之處,歡迎指出。希望能夠相互學習,共同進步!




參考:

【1】:Oracle 11g 服務端、客戶端的安裝配置 【2】:arcgis連結oracle釋出地圖服務 【3】:Oracle 教程 【4】:在 Oracle 中建立地理資料庫 【5】:ArcSDE直連總結 【6】:Error: Client software failed to load. Be sure the database client software is installed and configured correctly 【7】:ArcGIS server 10.2安裝教程詳細版 【8】:Arcgis License的安裝及破解 【9】:ArcGIS Desktop 10.2 安裝與破解圖文教程 【10】:連線 arcMap、arcGIS Server 和 postgreSQL 【11】:arcgis10.2與postgresql9.2.2從安裝到釋出服務教程

相關文章