cesium可视化空间数据2

圆柱圆锥体

<!DOCTYPE html>
<html>
<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>Hello World!</title>
  <script src="../Cesium/Build/Cesium/Cesium.js"></script>
  <style>
 @import url(../Cesium/Build/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
  <div id="cesiumContainer"></div>
  <script>
var viewer = new Cesium.Viewer(‘cesiumContainer‘);

var greenCylinder = viewer.entities.add({//Cylinder圆柱体
    name : ‘Green cylinder with black outline‘,
    position: Cesium.Cartesian3.fromDegrees(-100.0, 40.0, 200000.0),
    cylinder : {
        length : 400000.0,
        topRadius : 200000.0,//圆柱体的顶部半径。
        bottomRadius : 200000.0,//    圆柱体底部的半径。
        material : Cesium.Color.GREEN.withAlpha(0.5),//绿色半透明
        outline : true,//轮廓
        outlineColor : Cesium.Color.DARK_GREEN//轮廓颜色深绿色
    }
});

var redCone = viewer.entities.add({//红色圆锥体
    name : ‘Red cone‘,
    position: Cesium.Cartesian3.fromDegrees(-105.0, 40.0, 200000.0),
    cylinder : {
        length : 400000.0,
        topRadius : 0.0,
        bottomRadius : 200000.0,
        material : Cesium.Color.RED
    }
});

viewer.zoomTo(viewer.entities);
  </script>
</body>
</html>

<!DOCTYPE html>
<html>
<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>Hello World!</title>
  <script src="../Cesium/Build/Cesium/Cesium.js"></script>
  <style>
 @import url(../Cesium/Build/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
  <div id="cesiumContainer"></div>
  <script>
var viewer = new Cesium.Viewer(‘cesiumContainer‘);

var redPolygon = viewer.entities.add({//红色多边形
    name : ‘Red polygon on surface‘,
    polygon : {
        hierarchy : Cesium.Cartesian3.fromDegreesArray([-115.0, 37.0,
                                                        -115.0, 32.0,
                                                        -107.0, 33.0,
                                                        -102.0, 31.0,
                                                        -102.0, 35.0]),//hierarchy多边形层次
        material : Cesium.Color.RED
    }
});

var greenPolygon = viewer.entities.add({//绿色多边形
    name : ‘Green extruded polygon‘,
    polygon : {
        hierarchy : Cesium.Cartesian3.fromDegreesArray([-108.0, 42.0,
                                                        -100.0, 42.0,
                                                        -104.0, 40.0]),
        extrudedHeight: 500000.0,//多边形的挤出面和椭圆面之间的距离(以米为单位)
        material : Cesium.Color.GREEN,
        closeTop : false,
        closeBottom : false
    }
});

var orangePolygon = viewer.entities.add({//橙色多边形
    name : ‘Orange polygon with per-position heights and outline‘,
    polygon : {
        hierarchy : Cesium.Cartesian3.fromDegreesArrayHeights([-108.0, 25.0, 100000,
                                                               -100.0, 25.0, 100000,
                                                               -100.0, 30.0, 100000,
                                                               -108.0, 30.0, 300000]),
        extrudedHeight: 0,//多边形的挤出面和椭圆面之间的距离(以米为单位)。
        perPositionHeight : true,//对每个位置使用options.positions的height,而不使用options.height来确定高度
        material : Cesium.Color.ORANGE.withAlpha(0.5),//橘色半透明
        outline : true,
        outlineColor : Cesium.Color.BLACK//黑色轮廓线
    }
});

var bluePolygon = viewer.entities.add({//蓝色多边形
    name : ‘Blue polygon with holes and outline‘,
    polygon : {
        hierarchy : {
            positions : Cesium.Cartesian3.fromDegreesArray([-99.0, 30.0,
                                                            -85.0, 30.0,
                                                            -85.0, 40.0,
                                                            -99.0, 40.0]),
            holes : [{
                positions : Cesium.Cartesian3.fromDegreesArray([
                    -97.0, 31.0,
                    -97.0, 39.0,
                    -87.0, 39.0,
                    -87.0, 31.0
                ]),
                holes : [{
                    positions : Cesium.Cartesian3.fromDegreesArray([
                        -95.0, 33.0,
                        -89.0, 33.0,
                        -89.0, 37.0,
                        -95.0, 37.0
                    ]),
                    holes : [{
                        positions : Cesium.Cartesian3.fromDegreesArray([
                            -93.0, 34.0,
                            -91.0, 34.0,
                            -91.0, 36.0,
                            -93.0, 36.0
                        ])
                    }]
                }]
            }]
        },
        material : Cesium.Color.BLUE.withAlpha(0.5),
        outline : true,
        outlineColor : Cesium.Color.BLACK
    }
});

viewer.zoomTo(viewer.entities);

  </script>
</body>
</html>

<!DOCTYPE html>
<html>
<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>Hello World!</title>
  <script src="../Cesium/Build/Cesium/Cesium.js"></script>
  <style>
 @import url(../Cesium/Build/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
  <div id="cesiumContainer"></div>
  <script>
var viewer = new Cesium.Viewer(‘cesiumContainer‘);

var redLine = viewer.entities.add({
    name : ‘Red line on the surface‘,
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArray([-75, 35,
                                                        -125, 35]),
        width : 5,//多段线的宽度(以像素为单位)。
        material : Cesium.Color.RED
    }
});

var glowingLine = viewer.entities.add({
    name : ‘Glowing blue line on the surface‘,
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArray([-75, 37,
                                                        -125, 37]),
        width : 10,
        material : new Cesium.PolylineGlowMaterialProperty({
            glowPower : 0.2,//发光强度的属性,以总线宽度的百分比表示。
            color : Cesium.Color.BLUE
        })
    }
});

var orangeOutlined = viewer.entities.add({
    name : ‘Orange line with black outline at height and following the surface‘,
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights([-75, 39, 250000,
                                                               -125, 39, 250000]),
        width : 5,
        material : new Cesium.PolylineOutlineMaterialProperty({
            color : Cesium.Color.ORANGE,
            outlineWidth : 2,
            outlineColor : Cesium.Color.BLACK
        })
    }
});

var purpleArrow = viewer.entities.add({
    name : ‘Purple straight arrow at height‘,
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights([-75, 43, 500000,
                                                               -125, 43, 500000]),
        width : 10,
        followSurface : false,
        material : new Cesium.PolylineArrowMaterialProperty(Cesium.Color.PURPLE)
    }
});

viewer.zoomTo(viewer.entities);
  </script>
</body>
</html>

  </script>
</body>
</html>

时间: 2024-10-20 06:59:56

cesium可视化空间数据2的相关文章

cesium可视化空间数据

1.多边形 我们要从经度和纬度列表中为美国怀俄明州添加一个多边形.(怀俄明被选中是因为它是一个简单的多边形.)我们可以复制并粘贴以下代码到Sandcastle中: <!DOCTYPE html> <html> <head> <!-- Use correct character set. --> <meta charset="utf-8"> <!-- Tell IE to use the latest, best vers

手把手教你学习R语言

本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反而会让人挑花了眼. 为了构建R语言学习方法,我们在Vidhya和DataCamp中选一组综合资源,帮您从头学习R语言.这套学习方法对于数据科学或R语言的初学者会很有用;如果读者是R语言的老用户,则会由本文了解这门语言的部分最新成果. R语言学习方法会帮助您快速.高效学习R语言. 前言 在开始学习之前

Cesium 概述 (二) 空间数据可视化

                                                              空间数据可视化 Cesium提供Entity API来绘制空间数据,例如点.标记.标签.线.3D模型.形状.立体形状(volume). Entity API简介 Cesium提供两类API: (1)面向图形开发人员的底层API,通常称为"Primitive API".该API暴露最小限度的抽象,使用图形学术语,具有很大的灵活性,需要具有图形学编程的知识 (2)高级

Ceisum官方教程3 -- 空间数据可视化

原文地址:https://cesiumjs.org/tutorials/Visualizing-Spatial-Data/这篇教程教你如何使用Cesium的Entity API去绘制空间数据,如点,图标,文字标注,折线,模型,图形和立体图形.虽然这章不需要什么前提,但是如果你对Cesium一无所知,最好从第一个教程开始.Entity API是什么?Cesium丰富的空间数据可视化API分为两部分:Primitive API 面向三维图形开发者,更底层一些.Entity API 是数据驱动更高级一

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

基于浏览器的三维地图还算是一个比较高冷的东西,最主要的技术难点是如何在浏览器上 多快好省 的显示三维数据,很遗憾,还真的没有太好的的方案,只能说还有可行的方案. 很久之前用过skyline,使用CS居多,也可以在浏览器使用actviex插件显示:另外就是arcgis globe,我没看到在项目中用的.后来google有一个globe,算是差的比较远. 一直到有一天,看到nokia的地图,没错,就是那个做手机的nokia,他们做的那个一个here.com 的地图,能够看三维地图,使用webgl在浏

react 地图可视化 cesium 篇

Vue Function-based API RFC 一出来,感觉 vue 越来越像 react 了.新立项目,决定尝试下 react.js.下面是 react 集成 cesium,核心部分是 webpack 的配置. 一.安装 create-react-app npm install -g create-react-app 二.react 工程创建 create-react-app cesium-react 三.cesium 安装 npm install cesium --save 四.cop

空间数据可视化:ArcGIS JavaScript API 二、三维数据一体化

  ESRI不愧为GIS业界巨头,从本科起就开始接触ArcGIS系列,桌面端从ArcMap 到 ArcPro,服务端从ArcIMS 到 ArcServer,无不体现了这个了不起的公司在与时俱进.不断创新.现在的一些列产品好多我都没有用过,像 portal,pro,webbuilder.........网络GIS 现在好像是只更新JavaScript了,GIS与计算机的关系,都被ESRI公司的产品体现的淋漓尽致.今天来劲,就看了下新的API,果然是集美貌与才华于一身的API-- 先上个官方的案例,

空间数据可视化之ArcLayer详解

deck-overlay中 首先使用d3中的scaleQuantile将数据进行分类,scaleQuantile方法是d3中的一种数据分类方法(https://www.cnblogs.com/kidsitcn/p/7182274.html)https://raw.githubusercontent.com/uber-common/deck.gl-data/master/examples/arc/counties.json _getArcs({data, selectedFeature}) { i

Cesium简介

一.Cesium介绍 Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎.Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile. 二.Cesium特点 1.一个API - 三种视图 Cesium支持三维地球(3D),二维地图(2D)以及2.5D哥伦布视图(2.5D).      2.动态地理空间数据的可视化 通过CZML创建数据驱动的时间动态场景. 高分辨率的世界地形可视化. 使用WM