ArcGIS Pro開發Web3D應用(1)——環境搭建與初始實例

1、搭建環境

1.1 ArcGIS Web3D軟件環境

  • ArcGIS Pro 2.0(必須)
  • ArcGIS for Enterprise 10.5.1 (從10.5開始稱呼為Enterprise)
    包括:
  • ArcGIS Server 10.5.1(必須)
  • Portal for ArcGIS 10.5.1(必須)
  • ArcGIS Web Adpter (IIS) (必須,理論上一臺服務器可安裝20+個)
  • ArcGIS Data Store 10.5.1(必須,三維緩存,關係數據庫PostgreSQL)
  • ArcGIS for Desktop 10.5.1(一般都安裝)
  • WebAppBuilder 2.4 (無代碼即應用)
  • ArcGIS Earth 1.0 (Web3D 瀏覽器,Option)
  • CityEgnine 2016/3d Max/Sketch Up(Option)
  • Oracle11G/12C\\PostgreSQL\\MongoDB(SDE託管,Option)

1.2 硬件配置

  推薦內存16G+(8G卡出翔),4G+獨立顯卡(三維很耗性能)

2、先看幾張成圖

1、Portal 中的三維Scene場景

ArcGIS Pro開發Web3D應用(1)——環境搭建與初始實例

2、WebAppBuilder中的三維場景

ArcGIS Pro開發Web3D應用(1)——環境搭建與初始實例

3、環境搭建要點

1、軟件安裝授權許可,安裝沒有順序,不過一般還是先Arcgis Desktop——ArcGIS Pro——ArcGIS Server——ArcGIS WebAdapter——ArcGIS Data Store過程,其他軟件後續安裝。

此處詳細見《實踐 ArcGIS Web 3D》.

2、ArcGIS Pro授權許可要點

  現階段不存在破解可能,ESRI重點推薦產品,前期提供60天授權試用時間,後面只有21天試用了,試用申請地址:http://www.esri.com/arcgis/trial

  如果有正版授權最好了,試用許可提供5個Named User,200個credit。

3、ArcGIS WebAdapter配置

  從ArcGIS Server10.4(貌似10.3.1也有)開始,提供http和https雙重標準,推薦https安全協議。

  ArcGIS Server和Portal for ArcGIS默認都使用https,為此WebAdapter需要配置https方可使用,並且一般需要安裝2個WebAdapter來分別匹配Server和Portal。

  IIS/Tomcat配置https安全協議,如果有獨立域名可以申請正式SSL協議證書,如果沒有就使用自簽名證書(以IIS為例,如何創建自行搜索)。

  Portal for ArcGIS的WebAdapter要創建在默認80端口上,可以配置默認443的HTTPS;ArcGIS Server的WebAdapter可以任意端口配置。

4、ArcGIS Data Store安裝使用

  ArcGIS Data Store專用於Portal for ArcGIS使用,高性能,分佈式部署備份(主從複製備份),此處參考《ArcGIS Data Store空間數據庫的那點事兒》,詳細描述安裝使用。

  注意1:這裡安裝不能安裝在有空格的文件夾(比如Program Files)、不能有中文、最好根目錄的文件夾、一般需要10G多的空間;

  注意2:關係、切片緩存、時空3個類型的最好分開安裝,而且為了保存主從複製備份機制,一般需要2個數據庫存儲計算機。

  注意3:千萬要注意ArcGIS Data Store的通信端口(好幾個),在諸如VMVare\\VSphere虛擬環境中,要開放端口(建立出入站規則);

  注意4:為了遠程訪問,一般建議使用IP來配置,比如輸入ArcGIS Server站點名稱:https://IP:6443,協議為https。

  

ArcGIS Pro開發Web3D應用(1)——環境搭建與初始實例

5、Portal for ArcGIS與ArcGIS Server聯合服務器

  1)註冊託管存儲器必須通過門戶WebAdapter的方式來進行,即不能通過7443的內部端口訪問;

  2)添加聯合服務器的時候分WebAdapter和內部6443的形式,碰到IP配置不成功的情況下,使用服務器機器名。

6、三維場景發佈(Scene Layer)

  從CityEngine或其他三維軟件導入的要素,可以先導入GDB或通過“Layer 3D to Feature Class"預先處理下,為多面體要素(MultiPatch)。

  此處可參考《深度技術向:ArcGIS如何發佈場景圖層》

 1)一般登錄ArcGIS Pro後默認激活的是ArcGIS Online,需要切換到自己的Portal門戶。(在無網絡情況下,需要首先切換到offline模式)

  

ArcGIS Pro開發Web3D應用(1)——環境搭建與初始實例

  2)在Share Web Layer/Web Scene時出現發佈失敗時可以,先”Create Scene Layer Package",然後再上傳發布共享使用。

4、前端開發初始實例

  WebStorm/VSCode,

<code>//define(function () {
var myMap, view;
require([
"esri/Basemap",
"esri/layers/TileLayer",
"esri/Map",
"esri/views/MapView",
"esri/views/SceneView",
"esri/WebScene",
"vue",
"dojo/domReady!"
], function (Basemap, TileLayer, Map, MapView, SceneView, WebScene, Vue) {
//esriConfig.portalUrl = "https://10.0.0.65/myportal";

//創建VUE對象
Vue.component("camara-info",{
props:["camera"],
template:"
"+
"

視角:

"+
"

Heading:{{camera.heading.toFixed(3)}}

"+
"

Tilt:{{camera.tilt.toFixed(3)}}

"+
"

經度:{{camera.position.longitude.toFixed(3)}}

"+
"

緯度:{{camera.position.latitude.toFixed(3)}}

"+
"
"
});

myMap = new Map({
basemap: "hybrid",
ground: "world-elevation"
});

// basemap: "osm",
// ground: "world-elevation"
var scene = new WebScene({
portalItem: {
id: "a38bd1cf11f548aaafe0b86560e6a5cd" //Web Scene Layer在Portal中的ID
}
});


view = new SceneView({
container: "sceneviewDiv",
map: scene
//scale: 50000000,
//center: [117.265, 34.57]
});

view.then(function () {
var info = new Vue({
el:"#info",
data:{camera:view.camera}
});
view.ui.add(info.$el,"top-right");
view.watch("camera",function () {
info.camera = view.camera;
});

});


});
//});/<code>

  到此,基於ArcGIS 的3D環境搭建和初始實例完成。


分享到:


相關文章: