当前位置: 首页 > news >正文

初识cesium----加载不同JSON格式例子

    最近研究了几天cesium.js,有些入门级的收获,随手记录下来,方便以后来查阅!

    cesium支持topojson,GEOjson和普通的json格式,下面展示三种不同的格式的例子

    一、topojson

<body>
    <div id="cesiumContainer"></div>
    <script>
    //加载topojson
    var viewer = new Cesium.Viewer('cesiumContainer');
    var promise= viewer.dataSources.add(Cesium.GeoJsonDataSource.load('../../Apps/china.topojson', {
    stroke: Cesium.Color.BLACK,
    fill: Cesium.Color.RED,
    strokeWidth: 3,
    markerSymbol: '?'
    }));
    viewer.flyTo(promise);
    </script>
</body>

二、GEOjson

<body>
    <div id="cesiumContainer"></div>
    <script>
    var viewer = new Cesium.Viewer('cesiumContainer');
 //Seed the random number generator for repeatable results.
    Cesium.Math.setRandomNumberSeed(0);
    var promise=Cesium.GeoJsonDataSource.load('../../Apps/testone.json');
    promise.then(function(dataSource) {
        viewer.dataSources.add(dataSource);
        var entities = dataSource.entities.values;
        var colorHash = {};
        for (var i = 0; i < entities.length; i++) {
            var entity = entities[i];
            var name = entity.name;
            var color = colorHash[name];
            if (!color) {
                color = Cesium.Color.fromRandom({
                    alpha : 1.0
                });
                colorHash[name] = color;
            }
            entity.polygon.material = color;
            entity.polygon.outline = false;            
            entity.polygon.extrudedHeight =5000.0;
            }
        });
        viewer.flyTo(promise);
    </script>
</body>

三、普通json

<body>
  <div id="cesiumContainer"></div>
  <script>
    var viewer = new Cesium.Viewer('cesiumContainer');
    Cesium.Math.setRandomNumberSeed(0);
    Cesium.loadJson('/../Apps/Points.json').then(function(jsonData) {
      for (var i =0 ;i<=jsonData.features.length-10; i++) {
              var ifeature=jsonData.features[i]; 
         for (var k = 0;k<ifeature.geometry.paths[0].length-10; k++) {
               if (ifeature.geometry.paths[0][k].length==2) {
                    viewer.entities.add({
                    position : Cesium.Cartesian3.fromDegrees(ifeature.geometry.paths[0][k][0],ifeature.geometry.paths[0][k][1]),
                    point : {
                        pixelSize : 10,
                        color :Cesium.Color.YELLOW
                     }
               });
             }           
           }
      }           
   }).otherwise(function(error) {
});
 </script>
</body>

普通json转GEOjson参考http://blog.csdn.net/liyan_gis/article/details/50540842

转载于:https://www.cnblogs.com/lilyxusi/p/6628056.html

相关文章:

  • 《React Native高效开发》之create-react-native-app
  • 算法(Algorithms)第4版 练习 2.3.25
  • Matlab中imnoise函数的用法
  • docker 配置缓存代理服务apt-cacher-ng
  • TCP状态统计 - 脚本命令
  • Flask的Jinja2模板引擎 - 全局函数
  • 二叉树性质
  • Win10系列:C#应用控件基础2
  • Ubuntu下搭建tftp服务器最简单方法
  • PHP基础笔记【2】字符串操作
  • 深入分析Java单例模式的各种方案
  • 左手书法二十七篇
  • Flink - NetworkEnvironment
  • 修改Jmeter配置使能支持更大并发
  • 关于grep正则表达式-1
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CSS相对定位
  • ES6语法详解(一)
  • JavaScript服务器推送技术之 WebSocket
  • Java超时控制的实现
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • node.js
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Objective-C 中关联引用的概念
  • Python 反序列化安全问题(二)
  • 诡异!React stopPropagation失灵
  • 基于 Babel 的 npm 包最小化设置
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 每天一个设计模式之命令模式
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 自制字幕遮挡器
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • elasticsearch-head插件安装
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • #NOIP 2014#Day.2 T3 解方程
  • (06)金属布线——为半导体注入生命的连接
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (9)目标检测_SSD的原理
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)hibernate配置管理
  • (分类)KNN算法- 参数调优
  • (规划)24届春招和25届暑假实习路线准备规划
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (力扣)循环队列的实现与详解(C语言)
  • (论文阅读30/100)Convolutional Pose Machines
  • (十八)SpringBoot之发送QQ邮件
  • (转载)hibernate缓存
  • .CSS-hover 的解释
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core 中的路径问题
  • .Net语言中的StringBuilder:入门到精通
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @Transactional类内部访问失效原因详解
  • [ NOI 2001 ] 食物链