ArcGIS 发布高程服务。10.4
ArcGIS 发布高程必须是10.21以上,我用10.4。
前端用ArcGIS For API 4.x。
ARCGIS很早之前有CS版本的ArcScene,可查看高程TIF文件,但机制和BS的完全不同。
BS显示高程,前端是用ArcGIS的JS在Canvas上画的三维图形,后端提供的是瓦片高程数据。
1、首先要有DEM文件,DEM只能是单波段TIF文件,要从里属性查看。
2、发布高程服务。
首先,ArcGIS强制要求此TIF必须是WKID为3857的坐标系,如不是,需要栅格工具转换。
然后,发布ImageService服务,要求必须切片,切必须是ArcGIS Online/Bing/Google方案。
最后,Cacheing-Advance Settings里,选择切片必须是LERC格式。
3、发布后,使用JS代码验证。
ArcGIS使用Elevation Layer图层,把此图层,赋予map.ground里即可。默认有个高程服务地址,可用来测试。详情参看官方API。
https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="initial-scale=1,maximum-scale=1,user-scalable=no"
/>
<title>Intro to SceneView - Create a 3D map - 4.12</title>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style> <link
rel="stylesheet"
href="https://js.arcgis.com/4.12/esri/themes/light/main.css"
/>
<script src="https://js.arcgis.com/4.12/"></script> <script>
var G={};
require(["esri/Map",
"esri/views/SceneView",
"esri/layers/ElevationLayer",
"esri/Camera",
"esri/layers/ImageryLayer"],
function(Map,
SceneView,
ElevationLayer,
Camera,
ImageryLayer) {
var map = new Map({
basemap: "streets",
//ground: "world-elevation"
});
G.map=map;
var elevationLayer = new ElevationLayer();
//elevationLayer.url = "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer";
var evaurl="http://xxx/ImageServer"
elevationLayer.url =evaurl;
map.ground.layers.add(elevationLayer); var view = new SceneView({
container: "viewDiv",
map: map,
alphaCompositingEnabled: true,
environment: {
starsEnabled: true,
atmosphereEnabled: true
},
scale: 500000,
//center: [-128.9, -73.01]
center: [-128.9, -73.01]
});
var layer = new ImageryLayer({
// URL to the imagery service
url: evaurl,
format:"jpg"
});
map.layers.add(layer);
var cam = new Camera({
heading: 9, // face due east
tilt: 80, // looking from a bird's eye view
position: {
latitude: -73.22,
longitude: -129.07,
z: 6800,
spatialReference: { wkid: 3857 }
}
});
view.camera = cam;
view.environment.lighting.cameraTrackingEnabled = true
view.environment.lighting.directShadowsEnabled=true
G.view=view;
//G.map.ground.layers.items[0].visible=false; });
</script>
</head> <body>
<div id="viewDiv"></div>
</body>
</html>
4.效果。高程默认是没有颜色的,只有凹凸起伏。颜色是另附一层Image上去的,默认是黑白色,若要彩色覆盖,则需要设置Raster Function。
5、遗憾。
现在ArcGIS For JS API 4.12 并未支持前端高程拉伸。想要看更突出的效果,必须后端数据拉伸,重新发布。
其实ArcSence中有拉伸因子,但BS的遗憾还未出现。
ArcGIS 发布高程服务。10.4的更多相关文章
- 天地图应用ArcGIS发布的服务
本文包含三个部分:利用ArcMap将Excel的数据转化为ArcGIS MXD文件.利用ArcMap发布服务.天地图添加ArcGIS发布的服务. 一 MXD文件的生成 假设在Excel中存有两个点的坐 ...
- 天地图应用ArcGIS发布的服务(转)
天地图应用ArcGIS发布的服务 本文包含三个部分:利用ArcMap将Excel的数据转化为ArcGIS MXD文件.利用ArcMap发布服务.天地图添加ArcGIS发布的服务. 一 MXD文件的生成 ...
- ArcGIS 发布Feature服务
运行环境: Win10 ArcGIS10.4 具体操作: 1.打开ArcMap,加载sde中导入的文件,也可以加载shp数据源指向sde中文件 2.保存成mxd,然后点share as-Service ...
- ArcGIS发布地图服务
一般做完矢量图绘制工作后,生成的.mxd文件只能在ArcMap中查看,为了方便用户进行浏览,我们需要发布地图服务. 目前为止最常用的就是在ArcGIS中发布地图服务. 今天也算是在做“发布地图服务”的 ...
- ArcGIS发布地图服务时报错Error: ArcGIS Server site is currently being configured by another administrative operation. Please try again later.
2017-06-06试图发布ArcGIS Server站点托管的服务时,返回以下错误消息: ERROR: Service 'test'.'MapServer' in folder '/' is cur ...
- ArcGIS发布地图服务后直接调用查看方法
做项目配置了一个地理底图,不知道有没有问题,如何给到客户查看并确认呢? 首先在ArcGIS上发布该地图: 打开地图后->文件->共享为->服务…… 发布成功后,得到可以访问的地图服务 ...
- arcgis 发布地图服务
arcgis中,地图文档需要发布,才能为WEB所用. 咋发布呢? 1.在arcmap里面,点击 文件 - 共享为 - 服务 2.在弹出的对话框里选"发布服务",然后 3.这里面有点 ...
- JavaWeb和WebGIS学习笔记(六)——使用ArcGIS for Server发布地图服务
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- arcgis 10.1 导入数据到oracle 发布地图服务
机器配置说明 数据库服务器 系统:linux 软件:oracle 11G 64位 Arcgis server服务器 系统:win7 专业版 软件:arcgis server 10.1.win64_11 ...
随机推荐
- HDFS读数据的过程
- 跟我一起了解koa(二)
koa中路由动态传值 1.路由 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等) 组成的,涉及到应用如何响应客户端对某个网站节点的访问. 通俗的 ...
- .NET2.0引用.NET3.5的System.Core.dll&Dapper在.NET2.0下的配置
微软MSDN对.NET2.0,3.0,3.5的描述: .NET Framework 版本 2.0.3.0 和 3.5 是使用同一 CLR 版本 (CLR 2.0) 生成的. 这些版本表示单个安装的连续 ...
- json字符串和对象的相互转换
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式. 同时,JSON是 JavaScript 原生格式,这 ...
- Docker搭建ELK的javaweb应用日志收集存储分析系统
1.启动elasticsearch docker run -d --name myes -p 9200:9200 elasticsearch:2.3 2.启动kibana docker run --n ...
- SPOJ GSS5
GSS5 - Can you answer these queries V #tree You are given a sequence A[1], A[2], ..., A[N] . ( |A[i] ...
- SQL竖表转横表Json数据
1.数据准备 create table Vertical( Id int , ProjectName varchar(20), ProjectValue int ) insert into ...
- vi中如何跳转到指定行数
输入:n,代表跳转到第n行,如:100,就跳转到第100行.
- 错觉-Info:让你难以置信的视错觉
ylbtech-错觉-Info:让你难以置信的视错觉 1.返回顶部 1. 看下图:如果你看到舞者逆时针旋转说明你用左脑,如果看到顺时针旋转说明你用右脑思维. 据说这是耶鲁大学五年的研究成果. 下图 ...
- SpingBoot myBatis neo4j整合项目案例
此项目为spring boot - myBatis - neo4j数据库整合项目. 有增删改查(节点关系).动态分页条件排序等一些示例. git下载地址:git clone https://githu ...