Cesium本地影像与地形服务发布
推荐:将 NSDT场景编辑器 加入你的3D开发工具链。
1 数据切片
目前遥感影像及数字高程模型切片主要包括 gdal 和 ctb 两种方式,相应的开源工具包可以在 Cesium 交流群(QQ 群:115883691)中下载到。最近在进行 Cesium 本地影像与地形服务发布时,发现一款软件 Cesiumlab。Cesiumlab 是一款专为 Cesium 开源数字地球平台打造的免费数据处理工具集。目前包含 地形数据处理、影像数据处理、点云数据处理、数据下载、建筑物矢量面处理、倾斜数据处理、三维场景 (max,maya) 处理、BIM 数据 (revit,ifc) 处理等工具。同时提供一套 java 开发的数据服务器。形成从数据处理、服务发布、到代码集成的完整工具链。备注:Cesiumlab可以处理CGCS2000和WGS84坐标系数据,可借助ArcGIS实现。
1.1 影像处理
1.2 地形处理
2 Web 应用服务器安装与配置
2.1 Tomcat 安装及配置
- Tomcat 安装、配置与使用
- Tomcat 安装及配置教程
- Tomcat 解决跨域问题
2.2 IIS 安装及配置
- win7 系统要怎样安装和配置信息服务(IIS)
- Win10 IIS Web 服务器安装与配置
- CORS .net 跨域解决方案
- IIS 配置支持跨域请求
3 本地影像与地形服务发布
Cesium 本地影像与地形服务发布的文件目录如下图所示,image_tiles
与 terrain_tiles
分别为 DOM 切片数据和 DEM 切片数据。
test_Cesium.html
源码如下:
<!DOCTYPE html>
<html lang="en">
<head><!-- Use correct character set. --><meta charset="utf-8"><!-- Tell IE to use the latest, best version. --><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- Make the application on mobile take up the full browser screen and disable user scaling. --><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"><title>Cesium本地影像与地形服务发布</title><script src="Cesium-1.5.1/Build/Cesium/Cesium.js"></script><link href="Cesium-1.5.1/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body><div id="cesiumContainer"></div><script src="tiles.js"></script>
</body>
</html>
tiles.js
源码如下:
//加载天地图在线地图var tdtImagerLayerProvider = new Cesium.WebMapTileServiceImageryProvider({url: "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles",layer: "tdtBasicLayer",style: "default",format: "image/jpeg",tileMatrixSetID: "GoogleMapsCompatibleg",show: true,credit: new Cesium.Credit("天地图全球影像服务"),subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],tilingScheme: new Cesium.WebMercatorTilingScheme(),maximumLevel: 18
});//加载本地影像数据
/*
var imageryProvider = new Cesium.UrlTemplateImageryProvider({url: "http://localhost:8888/image_tiles/{z}/{x}/{y}.png",tilingScheme: new Cesium.WebMercatorTilingScheme(),fileExtension: 'png',minimumLevel: 0,maximumLevel: 20
});
*/
//跨域操作-Cesiumlab影像服务
/*
var imageryProvider = new Cesium.UrlTemplateImageryProvider({url: 'http://localhost:9002/api/wmts/gettile/931e1757c93743199219badb10a2e0df/{z}/{x}/{y}',tilingScheme: new Cesium.WebMercatorTilingScheme(),minimumLevel: 0,maximumLevel: 20,credit: 'http://www.bjxbsj.cn',
}, {show: true
});
*///加载本地地形数据var terrainLayer = new Cesium.CesiumTerrainProvider({url: "http://localhost:8888/terrain_tiles",// 请求照明requestVertexNormals: true,// 请求水波纹效果requestWaterMask: true
});
//查看器
var viewer = new Cesium.Viewer('cesiumContainer', {//需要进行可视化的数据源集合imageryProvider: tdtImagerLayerProvider,terrainProvider: terrainLayer,
});//新增测试图层
var layers = viewer.scene.imageryLayers;
var showTest = layers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({url: "http://localhost:8888/image_tiles/{z}/{x}/{y}.png",tilingScheme: new Cesium.WebMercatorTilingScheme(),fileExtension: 'png',minimumLevel: 0,maximumLevel: 20
}));//设置边界矩形框
//设定矩形框左上及右下点的经纬度坐标
var rectangle = new Cesium.Rectangle(Cesium.Math.toRadians(xx1), Cesium.Math.toRadians(yy1),
Cesium.Math.toRadians(xx2), Cesium.Math.toRadians(yy1));//视图切换到指定区域
viewer.scene.camera.flyTo({ destination: rectangle });
web.config
源码如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><directoryBrowse enabled="true" /><staticContent><mimeMap fileExtension=".terrain" mimeType="application/vnd.quantized-mesh" /><mimeMap fileExtension=".json" mimeType="application/json" /></staticContent><httpProtocol><customHeaders><add name="Access-Control-Allow-Headers" value="Content-Type, api_key, Authorization" /><add name="Access-Control-Allow-Origin" value="*" /></customHeaders></httpProtocol></system.webServer><system.web><compilation debug="true" /></system.web>
</configuration>
4 参考资料
- CesiumLab 地形处理成果在 Tomcat 和 IIS 上发布
- Cesium 中地形数据的加载
- Cesium 官方教程 4-- 影像图层
- Cesium 官方教程 5-- 地形图层
- Cesium: 局域网离线影像及瓦片影像地图加载
- Cesium 加载几种离线和在线地图
- Cesium 离线切片地图服务器搭建和代码实现
Sign up for more like this.
Cesium本地影像与地形服务发布相关推荐
- Cesium本地加载地形(dem高程)数据
cesium本地加载dem数据,首先需要下载地区的高程数据,一般通常在地理空间数据云里面下载:http://www.gscloud.cn/ 这里一般可以下载到90m和30m精度的数据,当然也可以用自己 ...
- cesium从入门到进阶(一):Viewer、Scene、Camera、加载第三方影像、地形服务
cesium从入门到进阶(一) 目录 cesium从入门到进阶(一) 视图 Viewer 场景 Scene 相机 Camera viewer Scene Camera 常用
- Cesium基本使用,包括加载影像,地形,模型等,设置地图样式
加载球体 1.下载cesium包https://download.csdn.net/download/weixin_39150852/20303629,在html里引入 <link href=& ...
- 14 Cesium—地形服务
文章中所有操作均是在 Cesium 1.91 版本下进行的,其它版本差异请自行适配 地形服务 一些应用场景中我们需要操作地形数据,为此 Cesium 还提供方便的地形服务 TerrainProvide ...
- SuperMap 影像服务发布流程
影像服务发布流程 1. iServer 1.1 测试环境 硬件 操作系统: win10 CPU :Intel® Core™ i7-10875H CPU @ 2.3GHz, 8物理核 内存: 32GB ...
- Cesium 加载离线地图服务
Cesium 可以加载自定义的地图服务,一般在私有云上应用比较广. 原始地图数据有很多地方都可以下载.比如常用的下载工具,付费的有水经注.91助手等,还有国家空间地理服务的官网上也有可用的数据.假设你 ...
- Cesium开源三维地球离线地图发布源码示例功能
一.概述 Cesium开源三维地球离线地图发布源码提供了地图切换.查询定位.模型加载.专题图叠加显示和测量功能等,旨在为用户提供一个可以在Cesium快速加载离线地图或在线地图的解决方案,并提供技术支 ...
- 在cesium中使用3D地形数据terrain builder的打开步骤
本来题目名字叫做(大龄无经验程序员终成正果----纪念上班第三天),后加之后再,不行,必须把这篇博文发出去了.本篇用cesium-terrain-builder生成cesium可以使用的地形数据并用c ...
- dubbo服务发布一之服务暴露
整体流程以调试 om.alibaba.dubbo.demo.provider.DemoProvider来演示dubbo服务的发布流程. 1.启动Spring容器 参照dubbo容器的启动, https ...
最新文章
- 我们单位里新来的应届毕业生(转贴)
- 模板 - 一般图最大匹配(带花树)
- python excel数据框_使用python pandas使用新数据框附加现有excel表
- DBUtils的使用之增删改的操作
- Mac上实现ProxyChains-NG终端代理
- AHOI2009 中国象棋
- CMM (培训计划-Training Program)
- 服务的默认端口_Informatica端口管理
- 从css样式表中抽取元素尺寸
- 阿里云ECS开放批量创建实例接口,实现弹性资源的创建
- el表达式的转义字符。
- CentOs 虚拟LINUX系统安装与虚拟环境配置
- phpcms移动端和pc端_phpcms 实现PC端、手机端的双模版
- php sns 源码,ThinkSNS v4
- 【论文阅读笔记】MFRDet:A single-shot multi-level feature reused neural network for object detection
- Undetected
- 公租自行车-北京经济技术开发区
- 反脆弱 : 如何在复杂世界越变越强
- ant design Upload组件上传文件类型
- 今日总结:错误码配置,关于TXT文件下载问题
热门文章
- 游戏音乐制作应该注意什么呢?
- Educational Codeforces Round 67 (Rated for Div. 2)(D思维题 线段树/E树形dp(换根dp) 二次扫描与换根法)
- 全国各地区怎么注册公司????
- Python编辑器之jupyter使用介绍(基本功能)
- Python调用函数,带扩和和不带括号的区别
- 还有人在用集团电话交换机吗
- mysqli php 安装,mysqli模块的安装
- python网络安全操作_ZoomEye-python 使用指南
- EasyExcel复杂表头的生成方法
- vux 选择器_vue项目中安装和使用vux组件