[原创.数据可视化系列之二]使用cesium三维地图展示美国全球军事基地分布

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

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

  一直到有一天,看到nokia的地图,没错,就是那个做手机的nokia,他们做的那个一个here.com 的地图,能够看三维地图,使用webgl在浏览器渲染,对当时的我来说,简直是惊为天人,流畅,效果好;把代码拔下来看一下,代码加密了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
});
});

});

3:效果如下:

   

老规矩:源代码:http://dataxiu.com/xius/www/admin/js/map3d.js

另外,你可以关注 arcgis 最新的webgl的三维地图;worldwind的地图webgl版本。

时间: 2024-08-09 08:30:58

[原创.数据可视化系列之二]使用cesium三维地图展示美国全球军事基地分布的相关文章

[原创.数据可视化系列之六]使用openlyaers进行公网地图剪切

进行地图开发的过程中,我一般使用天地图或者微软的地图作为地图,因为这两种地图的经纬度偏差最小,基本可以满足用户需求,比如: 不用说,都是全部地图,这也是最常用的一种方法. 但是用户说,我只看大连的地图,就要大连这一块.这样需要一个整个大连地区的面,使用这个面去切地图,结果就可以了,如下图: 这样的图有点类似自己的发布的图.切图代码原理openlayers 3例子参见: http://openlayers.org/en/latest/examples/layer-clipping.html?q=c

[原创.数据可视化系列之七]阿里竞赛作品技术展示

今年9月份,数据秀(dataxiu.com)团队参与阿里和国家公共气象服务中心主办,浙江大学和阿里云承办的“公益云图数据可视化创新大赛”. “公益云图数据可视化创新大赛”将融合开放气象.空气质量监测.企业排放和公共环境等领域的数据的,基于阿里云天池大数据平台开发一批关注环境公益的可视化技术,借助阿里云的计算能力及可视化工具,挖掘复杂异构多源数据之间的关联关系,以数据可视化的方式呈现给决策者和公众,共同促进环境治理和绿色产业创新. 数据秀团队开发的“公益云图”作品使用了美国国家环境预报中心GFS(

[原创.数据可视化系列之五]韩国"萨德"系统防御图

自从7月8日美国和韩国共同宣布将在韩国部署萨德反导系统后,韩国国内对此事的巨大争议以及本地区一些国家的强烈不满情绪在持续发酵.“萨德”(THAAD)全称“末段高空区域防御系统”,是美国导弹防御局和美国陆军隶下的陆基战区反导系统.韩国无视中.俄等地区国家的利益关切,执意将“萨德”引入韩国,其宣称的理由是出于保卫国家安全的考虑.但是“萨德”入韩不仅无益于韩国的安全,而且还将如同“冷战幽灵”一般威胁东北亚的和平与稳定. 现在,我们用数据可视化的方法来看看萨德的探测范围,对民用航空的影响和的防御范围,由

[原创.数据可视化系列之四]跨平台,多格式的等值线和等值面的生成

这些年做项目的时候,碰到等值面基本都是arcgis server来支撑的,通过构建GP服务,一般的都能满足做等值线和等值面的需求.可是突然有一天,我发现如果没有arcgis server 的话,我既然没法生成等值面等值线了.况且,还有许多别的要求: 没有arcgis server支持,arcgis server毕竟是很大一笔开销,个人基本无法负担: 跨平台,有的服务器是linux,有的是windows,看来,只能是java的类库了: 免费,生成等值线和等值面的程序不能有费用: 输出多种格式,既能

[原创.数据可视化系列之三]使用Ol3加载大量点数据

不管是百度地图还是高德地图,都很难得见到在地图上加载大量点要素,比如同屏1000的,因为这样客户端性能会很低,尤其是IE系列的浏览器,简直是卡的要死.但有的时候,还真的需要,比如,我要加载全球的AQI的测站和数据,这些站点在全球有4000多个,如何加载这些点并提高,OL3的ImageVector是一个很好地选择,简单的说,就是把这些要素渲染到一张图上,这样提高性能.代码如下: //加载JSON数据    mainxiu.loaddata=function(options)    {       

WPF技术触屏上的应用系列(二): 嵌入百度地图、API调用及结合本地数据库在地图上进行自定义标点的实现

原文:WPF技术触屏上的应用系列(二): 嵌入百度地图.API调用及结合本地数据库在地图上进行自定义标点的实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体机.要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作.当然满足客户的要求也可以有其它途径.但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用.所以在项目接来以后,也就赶鸭子上架了,经过

如何设计成功而有价值的数据可视化解决方案(二)

上篇关于如何设计成功而有价值的数据可视化解决方案,我们已经就规划方案的思路这一大版块展开了详细的讲解,本篇继续干货放送,分享下方案的可视化展示该如何进行设计?仅仅只需要好看就可以了吗?如果不是又该注意些什么? 一.给数据可视化一个清晰的标题 当你的报告像一份报纸.杂志的新闻一样.从这个标题,就能给阅读者强烈的冲击.一个清晰的标题是能够很好地阐释报告和故事的主题,是对整个报告和故事概括的信息.当然,并不是鼓励运营分析人员去做“标题党”.好的标题,既不要模棱两可,也不要画蛇添足,只要解释清楚图表即可

数据可视化系列--svg入门基础(一)

一.前言 1.SVG(Scalable Vector Graphics)可伸缩矢量图形 特点: (1)使用xml格式来定义图形: (2)用来定义web上的使用的矢量图: (3)改变图像尺寸,图片质量不受损: (4)所有元素属性可以使用动画: (5)继承了W3C标准,在html中使用方式,html直接嵌入svg内容,或者直接引入svg文件. /* svg标签,这里的rect为矩形,在后面的图形元素中会详细说明 */ <svg width="200" height="200

大数据学习系列之二 ----- HBase环境搭建(单机)

引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G 2,配置选择 JDK:1.8 (jdk-8u144-linux-x64.tar.gz) Hadoop:2.8.2 (hadoop-2.8.2.tar.gz) HBase:1.6.2 (hbase-1.2.6-bin.tar.gz) 3,下载地址 官网地址: JDK: http