美文网首页
[原创.数据可视化系列之二]使用CESIUM三维地图展示美国全球

[原创.数据可视化系列之二]使用CESIUM三维地图展示美国全球

作者: 数据秀 | 来源:发表于2017-01-23 14:59 被阅读0次

基于浏览器的三维地图还算是一个比较高冷的东西,最主要的技术难点是如何在浏览器上 多快好省 的显示三维数据,很遗憾,还真的没有太好的的方案,只能说还有可行的方案。

很久之前用过skyline,使用CS居多,也可以在浏览器使用actviex插件显示;另外就是arcgis globe,我没看到在项目中用的。后来google有一个globe,算是差的比较远。

一直到有一天,看到nokia的地图,没错,就是那个做手机的nokia,他们做的那个一个here.com 的地图,能够看三维地图,使用webgl在浏览器渲染,对当时的我来说,简直是惊为天人,流畅,效果好,百度也在用,对,就是百度,我是搞不明白,这么大一个公司,每年这么多研发费用,不能自己搞一个吗,去用here.com的东西?难道都去搞外卖了?我就hehe了;这是题外的牢骚,回归正题把代码拔下来看一下,代码加密了8000多行的代码,这下就懵逼了;flex的也有了,无疾而终;另外还有个webglearth,效果也不太好,现在直接修改成另一个引擎。

接下来才是重点,几年前在git上看到一个项目cesium.一个开源的三维地图引擎,作者曾经写过一本书,c#的三维地球的。后来改JS了,做出这个开源项目,一直一直发布,现在好几年了。

这个引擎是我目前看到的效果最好、功能最完整的开源的三维地图引擎了。基本上你只要1句话,就可以显示一个三维地图了。

下面,我们把美帝国主义在全球和国内的军事基地在cesium上展示,涉及到基础底图、增加要素、和要素交互的功能:

代码如下:

1:初始化cesium对象:

//初始化地图

this.viewer = new Cesium.Viewer('map', {

scene3DOnly: true,

baseLayerPicker: false,

imageryProvider: 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: "GoogleMapsCompatible",

show: true

}), //初始背景

animation: false,

fullscreenButton: false,

geocoder: false,

homeButton: false,

infoBox: true,

sceneModePicker: false,

selectionIndicator: false,

timeline: false,

navigationHelpButton: false,

navigationInstructionsInitiallyVisible: false

}

);

2:在地图上增加要素:

$.getJSON(options.url, function(result) {

$(result).each(function(i, val) {

that.viewer.entities.add(

{

parent:layer,

name: "jd"+i,

position : Cesium.Cartesian3.fromDegrees(val.lat, val.lng),

point : {

pixelSize : 10,

color : Cesium.Color.RED

},

data:val

});

});

});

相关文章

  • [原创.数据可视化系列之二]使用CESIUM三维地图展示美国全球

    基于浏览器的三维地图还算是一个比较高冷的东西,最主要的技术难点是如何在浏览器上 多快好省 的显示三维数据,很遗憾,...

  • Vue中集成Cesium

    1.Cesium是什么? Cesium是一个地图可视化框架,只是支持三维场景[渲染三维地球] Cesium中的图层...

  • Cesium是什么

    cesium是一个跨平台、跨浏览器的展示三维地球和地图的javascript库。 cesium使用webGL来进行...

  • cesium编程入门(一)cesium简介

    cesium编程入门 cesium是什么 Cesium 是一个跨平台、跨浏览器的展示三维地球和地图的 javasc...

  • CesiumJS入门

    一、cesium 基本了解 cesium 是一个跨平台、跨浏览器的展示三维地球和地图的开源 JavaScript ...

  • cesium核心类Viewer简介

    1.简单描述ViewerViewer类是cesium的核心类,是地图可视化展示的主窗口,cesium程序应用的切入...

  • Cesium资料大全

    前言 Cesium是一个用于显示三维地球和地图的开源js库。它可以用来显示海量三维模型数据、影像数据、地形高程数据...

  • cesium调用天地图服务

    cesium调用天地图服务 cesium调用天地图服务 全球影像中文注记服务 全球矢量中文注记服务

  • Cesium Viewer常用属性介绍

    之前在做大屏系统的时候,包含了一个三维地图,前端使用的地图引擎用的是Cesium,一直想抽时间来研究下Cesium...

  • 使用高德地图添加点标记及聚合标记(滑动弹出气泡)

    随着大数据发展,可视化在前端的应用越来越广泛。近期利用高德地图做了一个关于数据可视化展示的项目,由于数据量大,使用...

网友评论

      本文标题:[原创.数据可视化系列之二]使用CESIUM三维地图展示美国全球

      本文链接:https://www.haomeiwen.com/subject/zpyabttx.html