当前位置: 首页 > wzjs >正文

重庆手机网站制作seo分析案例

重庆手机网站制作,seo分析案例,济南做网站优化价格,c 手机网站开发模板背景 经过测试,Server 10.8.1、11.0、11.1发布相关服务设置动态空间之后,前端都无法自动读取同名的clr色彩映射表文件进行渲染,服务都是由ArcGIS Pro进行发布。 原因 基于ArcMap发布的服务才支持,但是10.8.1之后不支持ArcMap发…

背景

经过测试,Server 10.8.1、11.0、11.1发布相关服务设置动态空间之后,前端都无法自动读取同名的clr色彩映射表文件进行渲染,服务都是由ArcGIS Pro进行发布。

原因

基于ArcMap发布的服务才支持,但是10.8.1之后不支持ArcMap发布服务。自动读取clr色彩映射表文件,需要ArcMap Runtime后台支持,已废弃,可以加载切换数据源,但是不支持渲染,需要采用新的开发方式。
在这里插入图片描述

首先,如何发布服务并开启动态空间?

通过Pro发布服务后在Manager设置开启即可。
在这里插入图片描述
测试示例代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>加载ArcGIS Server服务</title><!-- <link rel="stylesheet" href="https://js.arcgis.com/4.25/esri/themes/light/main.css"><script src="https://js.arcgis.com/4.25/"></script> --><link rel="stylesheet" href="https://js.arcgis.com/4.32/esri/themes/light/main.css" /><script src="https://js.arcgis.com/4.32/"></script><style>#viewDiv {height: 100vh;width: 100%;}</style>
</head>
<body><div id="viewDiv"></div><script>require(["esri/Map","esri/views/MapView","esri/layers/MapImageLayer"], function(Map, MapView, MapImageLayer) {// 创建一个地图实例const map = new Map({basemap: "streets"});// 创建一个地图视图实例const view = new MapView({container: "viewDiv",map: map,center: [120.0916129,30.2487992],zoom: 8});// 定义 token//const tkstr = "iN8hBNamZvCpIeo_-QD-dHAg8afm1y4ZUWuj1RmswuM";// 创建一个动态地图服务图层const dynamicLayer = new MapImageLayer({//url: "http://xxxx:6080/geoscene/rest/services/demstyletest/MapServer",url: "http://xxxx:6080/geoscene/rest/services/demstyletest/MapServer",sublayers: [{id: 0,source: {type: "data-layer",dataSource: {type: "raster",workspaceId: "kkk123",dataSourceName: "aster84.tif"}}}]});// 将地图服务图层添加到地图中map.add(dynamicLayer);});</script>
</body>
</html>

动态空间路径下即使,存放了同名clr色彩映射表,也是不支持读取渲染的。
在这里插入图片描述

在这里插入图片描述

解决方案

1. 导出为 RGB 方案的栅格数据

这种方法主要针对较为固定的成果数据,如果渲染也是动态的则无法满足。

具体方法可以参考:https://www.cnblogs.com/wigis/p/11065631.html

2. 将数据作为在线数据资源,使用ImageTileLayer加载

这种方法主要针对用户查看的栅格数据,tif栅格数据可以放在Tomcat或其他服务器都可以,渲染通过前端设置render控制,示例代码可以参考:

<html><head><meta charset="utf-8" /><meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no" /><title>hello</title><style>html,body,#viewDiv {padding: 0;margin: 0;height: 100%;width: 100%;}</style><linkrel="stylesheet"href="https://js.arcgis.com/4.30/esri/themes/light/main.css"/><script src="https://js.arcgis.com/4.30/"></script><script>require(["esri/config","esri/WebMap","esri/views/MapView","esri/views/SceneView","esri/layers/ImageryTileLayer","esri/layers/TileLayer","esri/layers/support/RasterFunction","esri/renderers/RasterShadedReliefRenderer","esri/smartMapping/raster/support/colorRamps","esri/renderers/RasterStretchRenderer","esri/rest/support/MultipartColorRamp","esri/rest/support/AlgorithmicColorRamp","esri/Color",], function(esriConfig,Map, MapView, SceneView,ImageryTileLayer, TileLayer, RasterFunction, RasterShadedReliefRenderer, colorRamps, RasterStretchRenderer, MultipartColorRamp, AlgorithmicColorRamp, Color) {const colorRamp = new MultipartColorRamp({colorRamps: [new AlgorithmicColorRamp({fromColor: new Color([20, 100, 150, 255]),toColor: new Color([70, 0, 150, 255])}),new AlgorithmicColorRamp({fromColor: new Color([70, 0, 150, 255]),toColor: new Color([170, 0, 120, 255])}),new AlgorithmicColorRamp({fromColor: new Color([170, 0, 120, 255]),toColor: new Color([230, 100, 60, 255])}),new AlgorithmicColorRamp({fromColor: new Color([230, 100, 60, 255]),toColor: new Color([255, 170, 0, 255])}),new AlgorithmicColorRamp({fromColor: new Color([255, 170, 0, 255]),toColor: new Color([255, 255, 0, 255])})]});const stretchRenderer = new RasterStretchRenderer({colorRamp: colorRamp,type: "raster-stretch",bandIds: [0], // 使用第一个波段stretchType: "min-max", // 最小值-最大值拉伸statistics: [[0, 255]], // 波段的最小值和最大值gamma: [1] // Gamma 值});let layer = new ImageryTileLayer({url: "http://localhost/data/red.tif",renderer: stretchRenderer})const map = new Map({layers: [layer]});const view = new MapView({map: map,container: "viewDiv"});function updateImageTileLayerUrl(newUrl) {// 移除旧图层map.remove(layer);// 创建新图层let newLayer = new ImageryTileLayer({url: newUrl,renderer: stretchRenderer});// 将新图层添加到地图map.add(newLayer);}let btn = document.getElementById("click")btn.onclick = () => {updateImageTileLayerUrl("http://127.0.0.1:5500/static/fanred.tif")}})</script></head><body><div id="viewDiv"></div><button id="click">change</button></body>
</html>

在这里插入图片描述

2. 发布单景栅格数据的 ImageServer

需要通过代码层面,替换服务下的同名栅格数据源,同样,渲染也需要通过前端renderer控制。可以参考:
https://blog.csdn.net/suntongxue100/article/details/130303795?spm=1011.2415.3001.5331

http://www.dtcms.com/wzjs/426605.html

相关文章:

  • 沈阳高端网站定制开发国内手机搜索引擎十大排行
  • 西宁好的网站建设公司焦作seo公司
  • 哪个网站可以做平面兼职微信指数查询入口
  • 女性时尚网站模板数字营销平台有哪些
  • 外贸商城b2c网站建设网站页面seo
  • 路由器带u盘接口的做网站吸引人的软文
  • 做网站的前途seo和sem分别是什么
  • 成都it公司排名小程序seo
  • 佛山哪里做网站品牌营销策划网站
  • 做网站的服务器要什么格式百度百家
  • 简洁大气网站源码视频剪辑培训机构哪个好
  • 武汉网站建设求职简历seo整站优化哪家专业
  • 下模板做网站福州短视频seo网红
  • 手机怎么做图纸设计seo的优化策略有哪些
  • 内网建站工具app拉新渠道商
  • 建设银行网站用户注册不了免费推广网站入口
  • wordpress资料分享网站html简单网页设计作品
  • 好用的wordpress代码编辑器廊坊seo关键词排名
  • 沈阳网站搭建类似58的推广平台有哪些平台
  • eclipse做网站网页搜索排名提升
  • 怎样建立网站天津搜索引擎推广
  • 给朋友做的相册网站没有了西安做网站哪家好
  • 怎样做网站优化 关键词青岛网站设计公司哪家好
  • c mvc 大型网站开发网页制作三大软件
  • 学ui三个月是骗学费吗谷歌搜索优化
  • 做网站的公司那家好如何引流推广
  • 外贸建站模板下载如何联系百度人工客服
  • 武汉网站建设whjzyh免费的外贸网站推广方法
  • 想查客户信息做网站青岛网站seo
  • 成都效果图公司有哪些泽成seo网站排名