ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Cesium基础知识-加载json数据

2022-01-20 10:03:30  阅读:369  来源: 互联网

标签:polygon viewer geojson 基础知识 var json Cesium 加载


  1. viewer = new Cesium.Viewer('cesiumContainer');
  2. //加载json数据生成线
  3. function CreateLineFromJson(params) {
  4.     //加载线性的geojson数据,加载之后自动获取geojson的经纬度
  5.     var line1 = Cesium.GeoJsonDataSource.load(
  6.         '../Apps/SampleData/geojson/lineback_1.json', {
  7.             //修改线性对象的颜色
  8.             stroke: Cesium.Color.BLUE,
  9.             //修改线性的宽度
  10.             strokeWidth: 3,
  11.             //是否贴地
  12.             clampToGround: true
  13.         }
  14.     )
  15.     //加载geojson图层到场景内部
  16.     viewer.dataSources.add(line1);
  17.     //定位场景摄像头位置
  18.     viewer.zoomTo(line1);
  19. }
  20. //CreateLineFromJson();
  21. //加载json数据生中国省市轮廓线
  22. function CreateLineFromJson1(params) {
  23.     //加载线性的geojson数据,加载之后自动获取geojson的经纬度
  24.     var line2 = Cesium.GeoJsonDataSource.load(
  25.         '../Apps/SampleData/geojson/中国_1.json', {
  26.             stroke: Cesium.Color.GREEN,
  27.             strokeWidth: 3,
  28.             height: 50000
  29.         }
  30.     )
  31.     //加载geojson图层到场景内部
  32.     viewer.dataSources.add(line2);
  33.     //定位场景摄像头位置
  34.     viewer.zoomTo(line2);
  35. }
  36. //CreateLineFromJson1();
  37. //加载json数据生地球水轮廓
  38. function CreateLineFromJson2(params) {
  39.     //加载线性的geojson数据,加载之后自动获取geojson的经纬度
  40.     var line3 = Cesium.GeoJsonDataSource.load(
  41.         '../Apps/SampleData/geojson/water_R.json', {
  42.             stroke: Cesium.Color.RED,
  43.             strokeWidth: 3
  44.         }
  45.     )
  46.     //加载geojson图层到场景内部
  47.     viewer.dataSources.add(line3);
  48.     //定位场景摄像头位置
  49.     viewer.zoomTo(line3);
  50. }
  51. //CreateLineFromJson2();
  52. //生成点
  53. function CreatePointFromJson(params) {
  54.     var point = Cesium.GeoJsonDataSource.load(
  55.         '../Apps/SampleData/geojson/point.json', {
  56.             //修改marker的icon符号在cesium源码的API对应的ID改一下就可以
  57.             markerSymbol: '!' //'village'
  58.         }
  59.     )
  60.     //可以设置名字方便清除
  61.     point.name = "Point";
  62.     var data = {
  63.         type: 'Feature',
  64.         geometry: {
  65.             type: 'Polygon',
  66.             coordinates: [
  67.                 [
  68.                     [113.490283, 28.88435],
  69.                     [113.596823, 28.895413],
  70.                     [113.626349, 28.784167],
  71.                     [113.299369, 28.775197],
  72.                     [113.490283, 28.88435]
  73.                 ]
  74.             ]
  75.         }
  76.     }
  77.     //point.data=data;
  78.     //加载geojson图层到场景内部
  79.     viewer.dataSources.add(point);
  80.     //定位场景摄像头位置
  81.     viewer.zoomTo(point);
  82. }
  83. //CreatePointFromJson();
  84. //加载polygon,生成中国polygon
  85. function CreatePolygonFromJson() {
  86.     var polygon = Cesium.GeoJsonDataSource.load(
  87.         '../Apps/SampleData/geojson/china/china.json', {
  88.             fill: Cesium.Color.MEDIUMAQUAMARINE.withAlpha(0.5),
  89.             stroke: Cesium.Color.MEDIUMAQUAMARINE,
  90.             strokeWidth: 10,
  91.         }
  92.     );
  93.     //面数据加载并拉伸事件
  94.     polygon.then(function (dataSource) {
  95.         viewer.dataSources.add(dataSource)
  96.         var entities = dataSource.entities.values
  97.         var colorHash = {}
  98.         for (var i = 0; i < entities.length; i++) {
  99.             //     //设置不同颜色的单值专题图
  100.             var entity = entities[i]
  101.             var name = entity.name
  102.             //     //根据json的名字设置
  103.             //     //设置每个面的颜色
  104.             entity.polygon.material = Cesium.Color.GRAY
  105.             //     //设置外边界是否显示
  106.             //entity.polygon.outline = false
  107.              entity.polygon.outline = true
  108.             //     //设置Z轴的拉伸高度
  109.             entity.polygon.extrudedHeight = 50000.0
  110.         }
  111.     })
  112.     //加载geojson图层到场景内部
  113.     //viewer.dataSources.add(polygon);
  114.     //定位场景摄像头位置
  115.     viewer.zoomTo(polygon);
  116. }
  117. ///CreatePolygonFromJson();
  118. //加载polygon,生成天津polygon
  119. function CreatePolygonFromJson1() {
  120.     var polygon1 = Cesium.GeoJsonDataSource.load(
  121.         '../Apps/SampleData/geojson/china/province/120000-天津市.json', {
  122.             fill: Cesium.Color.PINK,
  123.             outline:true,
  124.         }
  125.     );
  126.     //面数据加载并拉伸事件
  127.     polygon1.then(function (dataSource) {
  128.         viewer.dataSources.add(dataSource)
  129.         var entities = dataSource.entities.values
  130.         for (var i = 0; i < entities.length; i++) {
  131.           //设置不同颜色的单值专题图
  132.           var entity = entities[i]
  133.           var name = entity.name
  134.           //根据json的名字设置
  135.           //设置每个面的颜色
  136.           entity.polygon.material = Cesium.Color.GRAY
  137.           //设置外边界是否显示
  138.           entity.polygon.outline = true
  139.           entity.polygon.outlineColor = Cesium.Color.WHITE
  140.           entity.polygon.outlineWidth = 500
  141.   
  142.           //设置Z轴的拉伸高度
  143.           entity.polygon.extrudedHeight = 20000.0
  144.         }
  145.       })
  146.     //加载geojson图层到场景内部
  147.     //viewer.dataSources.add(polygon1);
  148.     //定位场景摄像头位置
  149.     viewer.zoomTo(polygon1);
  150. }
  151. CreatePolygonFromJson1();

标签:polygon,viewer,geojson,基础知识,var,json,Cesium,加载
来源: https://blog.csdn.net/QQhelphelp/article/details/122586925

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有