從零開始發布一個ArcGIS Server地圖服務



@


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


一、軟件環境搭建


由於在地圖制作時我們需要在 arcMap 中讀取數據庫中的地理數據,並且在發布地圖服務時。arcGIS Server 也需要從數據庫中讀取數據並發布。所以我們需要建立起 arcMap----> 數據庫 和 arcGIS Server----->數據庫的連接。並且,由於我們可以在 arcMap 對 arcGIS Server 進行管理,所以也需要建立起這兩者的連接。具體關系如下(以 postgreSQL為例:)
在這里插入圖片描述


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

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

度盤:https://pan.baidu.com/s/1fdAiJW1YSBlQcj7Siu4kpg    提取碼: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從安裝到發布服務教程


免責聲明!

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



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