ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)

Windows更新或者安装应用导致的ArcGIS Server发布服务失败解决方案及WCS影像图层加载到网页地图后的透明度设置

  • 1、前提环境
  • 2、ArcGIS中发布服务到ArcGIS Server失败的原因及解决方案
  • 3、利用ArcMap将tif图像发布为ArcGIS Server上的WCS影像服务
  • 4、在ArcGIS网页地图中加载WCS影像图层并设置透明度

1、前提环境

        电脑安装了10.2.2版本的ArcGIS Desktop、ArcGIS Server(可访问http://localhost:6080/arcgis/manager/服务管理器)
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第1张图片
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第2张图片
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第3张图片

2、ArcGIS中发布服务到ArcGIS Server失败的原因及解决方案

        通常来说,在ArcGIS Desktop中将矢量要素类可以发布为WFS服务,将栅格影像可以发布为WCS服务,将单个地理处理GP工具或自定义模型(包含多个GP工具)发布为WPS服务,还可将地图文档发布为WMS地图服务,但可能在发布服务时会遇到发布失败或者ArcGIS Server中的服务管理器出现卡顿及反应缓慢、电脑安装其他应用后导致ArcGIS Server服务端口被占用等等问题,这通常是因为电脑安装了Windows更新后导致的。
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第4张图片
        上图中,ArcGIS Server Manager中的地理处理服务状态为正在停止…,这说明服务器异常,肯定无法发布服务(当然也可以在ArcMap中直接发布服务测试ArcGIS Server是否正常运行)。
         解决办法:这时可以考虑安装补丁ArcGIS Server Geoprocessing Service Startup Patch
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第5张图片
        确保电脑已经安装了ArcGIS Server,选择好对应版本的补丁包,这里选择了ArcGIS-1022-S-GSS-Patch.msp,下载后保存到了ArcGIS Server安装目录下。
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第6张图片
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第7张图片
        双击补丁进行安装,安装完成后需要按照后续步骤重启ArcGIS Server对应的服务.
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第8张图片
        打开任务管理器,点击其中的服务,找到ArcGIS Server后选中右键,选择重新启动,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第9张图片
        然后浏览器访问ArcGIS Server Manager,输入用户名和密码(这里用户名:arcgis 密码:123456)登录进去,可以看到System下的地理处理服务状态为已启动.,说明ArcGIS Server服务器正常运行,可以正常发布服务了。
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第10张图片

ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第11张图片

3、利用ArcMap将tif图像发布为ArcGIS Server上的WCS影像服务

        第一步,用ArcMap打开tif图像,在Catalog中右键选择共享为影像服务,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第12张图片
        弹出Share as Service窗口,选择Publish a service后点击下一步,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第13张图片
        在Publish a Service窗口中,选择本地服务器并输入服务名称后点击下一步,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第14张图片
        在publish a Service窗口中可以使用现存的root根目录,也可新建目录,点击Continue,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第15张图片
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第16张图片
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第17张图片
        在Service Editor窗口的Capabilities中选中WCS,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第18张图片
        在Item Description中输入Summary、Tags和Desciption,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第19张图片
        点击analyze后,在下方查看分析结果
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第20张图片
        点击preview可以进行预览,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第21张图片
        点击Publish进行发布,弹出Copying Data to Server选择tif影像文件后点击OK,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第22张图片
        最后,服务发布成功。
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第23张图片
        此时影像服务发布成功,在浏览器中打开ArcGIS Server Manager查看发布的影像服务,
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第24张图片
        在功能的影像配置中获取影像服务的REST URL地址:http://localhost:6080/arcgis/rest/services/MLClassification/ImageServer
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第25张图片

4、在ArcGIS网页地图中加载WCS影像图层并设置透明度


        对于ArcGIS 网页地图来说,发布在ArcGIS Server上的WCS影像服务可以通过url在底图上添加ImageryLayer图层来显示,具体在ArcGIS API for JavaScript中参考ImageryLayer - client side rendering rules,

        在具体的ImageryLayer的属性设置中查找到了Opacity属性来设置ImageryLayer的透明度,数值在0~1之间。对于图层的属性设置可以在图层的构造函数初始化时直接赋值。
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第26张图片

ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第27张图片
ArcGIS Server发布服务失败解决办法及ArcGIS Server for Javascript影像图层加载透明度设置(2021.2.12)_第28张图片
在ArcGIS 网页地图中加载影像图层效果如下:

opacity = 1

opacity = 0.9

opacity = 0.6

opacity = 0.3

        网页地图使用的servermap.jsp文件:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MapLayer</title>
<link rel="stylesheet" href="https://js.arcgis.com/4.16/esri/themes/light/main.css">
  <script src="https://js.arcgis.com/4.16/"></script>
   <style>
    html,
    body,
    #viewDiv {
     
      padding: 0;
      margin: 0;
      height: 100%;
      width: 100%;
    }
  </style>
</head>
<body>
    <%
		String url = request.getParameter("url");
	%>
<div id="viewDiv"></div>
</body>
  <script>
    require([
        "esri/Map",
        "esri/views/MapView",
        "esri/layers/ImageryLayer",
        "dojo/domReady!"
      ],
      function(
        Map, MapView,
        ImageryLayer
      ) {
     
        /********************
         * Create image layer
         ********************/
         var layer = new ImageryLayer({
     
             url: "http://localhost:6080/arcgis/rest/services/MLClassification/ImageServer",
             format: "jpgpng", // server exports in either jpg or png format
             opacity: 0.5 //影像图层透明度设置          
           });
           /**************************
            * Add image layer to map
            *************************/
           var map = new Map({
     
             basemap: "streets-navigation-vector",
             layers: [layer]
           });
   		  //map.add(maplayer);
           var view = new MapView({
     
             container: "viewDiv",
             map: map,
             center: [118.536450, 36.684521],
             zoom: 15
           });
    });
  </script>
</html>

你可能感兴趣的:(arcgis,arcgis,server,js,windows)