在CesiumLab中加载ArcGIS Server切片数据

在CesiumLab中加载ArcGIS Server切片数据,第1张

ArcGIS Server发布服务的方式有多种,最常用的就是通过ArcMap发布。

1、首先在打开您要发布的地图文档,将坐标系切换到3857,具体 *** 作如下:右键Layers,打开属性,切换到Coordinate System标签下,在搜索栏中搜索3857,选中WGS 1984 Web Mercator(auxiliary sphere),确定即可。

2、然后点击File->Share As->Service…,打开Share as Service窗口,如下:

3、选择Publish a service,点击下一步

4、选择ArcGIS Server连接以及设置服务名称,点击下一步,直到ServiceEditor

5、ArcGIS Server的参数非常丰富,可以适应各种需求。目前cesiumlab支持的ArcGIS Server切片必须进行如下设置:

6、在Caching中,

    Draw this map service:选择Using tiles from a cache;

    Tiling Scheme:选择ArcGIS Online/Bing Maps/Google Maps;

    Levels of Detail:默认即可;

7、在Caching->Advanced Settings->Advanced中,将Storage Format切换为EXPLODED,确定。注:该界面的Cache directory是设置切片存储路径的,请记下该路径。

8、最后点击右上角的Publish,等待几秒后d出Copying Data Server窗口,点OK,之后就是复制数据,打包,处理,生成缓存切片等过程

9、完成时将会提示Service Publishing Result

默认情况下,切片数据存储在<Cache directory>/ <mapservername>/Layers下面。

1、打开cesiumlab,切换到分发服务页面,点击添加,d出添加数据窗口

2、点击选择文件夹,选择<Cache directory>/ <mapservername>/Layers,数据名称可以随意设置,然后点击确定。

3、这时,在服务列表中会多出一条记录,通过点击服务路径可跳转至三维视图查看该数据。

至此,cesiumlab完成加载ArcGIS Server切片数据,小伙伴们快来动手试试吧!

采用JavaScript的方式来加载图片。

以Cesium默认加载的bingmapstilesystem为例。其地图以一种四叉树的方式进行存储和加载。每当放大地图时,会根据放大层级以及当前区域加载对应子层级的地图图片,在浏览器进行拼接展示。

如果考虑网络不可用的场景,就需要构建本地Maps的服务。比较可行的方案是根据url规则,将需要的地图瓦片数据批量下载到本地服务器,并根据quadkey和TileXY的映射关系配置路由,cesium的地图源的请求改成从本地服务器获取。当前有对应脚本工具对瓦片数据进行批量下载,唯一问题是数据量有些大。中国范围内如果地图缩放支持到16级的卫星地图影像,中国的地图数据有图片约1.17亿张。放大到16级大概是下面效果,地面分辨率2.39m每像素。所以如果使用此方案,需要:首先根据我们实际需要下载对应区域、对应缩放层级的瓦片数据,如国外区域只下载部分层级,国内下载到16级,避免用到的数据占用太大。然后有足够空间、有服务器存放瓦片数据,同时在此服务器上部署Maps服务,并配置好请求路由映射。最后修改cesium对应的配置,改成三维地图图片加载走自己部署的Maps服务器,对应Viewer初始化时候配置imageryProvider参数。

Cesium开发中,如果想要看到真实感,地形数据(DEM)不可或缺。

首先,地形数据是什么?拿DEM数据来说,DEM数据就是数字高程模型,就是描述每个点位的高程数据而已,没有其他附加信息,更不会包含影像图,单独展示是看不出什么名堂的。DEM数据在ArcGIS中打开只能看到是灰度图。

其次,如何展示呢?地形数据需要结合影像图或者普通瓦片来展示才能看到地球表面的高低起伏状态;结合影像图展示效果最佳。

下面我将从获取DEM数据到最后成功展示到Cesium中,详细描述其中的各个步骤,希望对大家有所帮助。

7.运行页面,打开之后,定位到有地形数据的地方。

从正上方俯视,地形数据已经很明显了

按住Ctrl键,旋转地球,从地平线方向看,地形数据更明显,效果更好。

最后再重复一下,地形数据单独是没法展示出来看的,只是一堆高程数据而已。结合影像图来展示,效果最佳。

注意:最好把项目服务和高程数据服务部署在同一个服务器和端口下,避免跨域。

本文主要参考了 https://www.jianshu.com/p/62d6f03f44e3 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11545223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存