[ArcGIS]ArcGIS Server環境搭建,發布服務,以及使用ArcGIS API for JavaScript


環境搭建

  1. 安裝Web服務器 IIS
    控制面板-程序-程序和功能-啟用或關閉Windows功能,勾選以下
  2. 安裝VisualStudio,選擇包括ASP.NET模塊
  3. 安裝ArcGIS服務器 ArcGIS Server10
    資源及教程鏈接:
    https://blog.csdn.net/nominior/article/details/80211963。
  4. 安裝ArcGIS Desktop
    ArcGIS Desktop 中包含ArcGatalog、ArcMap兩個客戶端軟件,用來管理GIS服務。
    資源鏈接:
    https://malagis.com/arcgis-10-6-desktop-install-download.html
    安裝ArcGIS Desktop遇到的問題:
    問題1:注意,安裝的Arcgis Desktop必須和Arcgis Server是同一個版本號。
    問題2:安裝后license無法啟動
    解決:拿360把license和desktop卸了重安。license要重安到原路徑。license360了卸了,再重安好幾次終於正常。保證license可以啟動,再關閉它,安desktop。
    第二次是license和desktop都安到默認路徑搞好的。

發布ArcGIS Server服務

我的圖層數據是.shp等ArcScence可打開的數據,而不是ArcMap可打開的.mxd格式,要發布服務,必須轉為.mxd格式。
做法:
第一步,在ArcCatalog中:先連接mysql數據庫,並把數據庫升級到物理數據庫;把.shp數據存到數據庫。
第二步,在ArcMap中:連接相應數據庫;加載數據庫中文件到ArcMap;發布服務。
具體參考以下鏈接
http://www.cnblogs.com/wangmengdx/p/9739466.html
如下圖即發布ArcGIS Server服務成功

我們想要的即發布的服務的REST API,如下圖

使用ArcGIS API for JavaScript,在前端調用REST API,顯示地圖。

在VS中,新建.Net項目,自動使用IIS作為Web服務器。
調用接口,使用服務以顯示圖層代碼如下。

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta charset="utf-8" />
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
    <title>building Map</title>

    <style>
        html,
        body,
        #viewDiv {
            padding: 0;
            margin: 0;
            height: 100%;
        }
    </style>
    <link rel="stylesheet" href="https://js.arcgis.com/3.12/esri/css/esri.css" />
    <script src="https://js.arcgis.com/3.12/"></script>
    <script>
        var myMap;
        require(["esri/map", "esri/layers/ArcGISTiledMapServiceLayer", "dojo/domReady!"], function (Map, ArcGISTiledMapServiceLayer) {
            myMap = new Map("viewDiv");

            var buildingUrl = "http://localhost:6080/arcgis/rest/services/BuildingServiceTest2/MapServer";
            var layer = new esri.layers.ArcGISDynamicMapServiceLayer(buildingUrl);
            myMap.addLayer(layer);
        });
    </script>
</head>

<body>
    <div id="viewDiv"></div>
</body>
</html>

效果如下

特別注意

1 ArcGIS API for JavaScript的版本號不同可能帶來差別。
2 底圖和疊加圖層坐標范圍差異過大可能造成不現實圖層的問題。此例中,無底層,顯示的圖層為疊加的圖層。
3 在ArcCatalog和arcMap連接地理數據庫的用戶要一樣,否則發布服務選Feature Access會報Error 0090。


免責聲明!

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



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