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

网站建设 模仿阿里云官网东莞seo建站优化工具

网站建设 模仿阿里云官网,东莞seo建站优化工具,济南百度做网站,英文 网站 源码文章目录 前言几何形体点线面体 标签文字图标 几何文件GeoJsonKMLCZML 三维模型总结 前言 本文介绍Cesium如何加载空间数据,空间数据即明确定义在三维空间中的数据,空间数据包括以下几类:1、几何形体(点、线、面、体)…

文章目录

  • 前言
  • 几何形体
    • 线
  • 标签
    • 文字
    • 图标
  • 几何文件
    • GeoJson
    • KML
    • CZML
  • 三维模型
  • 总结


前言

本文介绍Cesium如何加载空间数据,空间数据即明确定义在三维空间中的数据,空间数据包括以下几类:1、几何形体(点、线、面、体)2、标签(文字图标等)3、几何文件(geojson、kml、czml)4、三维模型(gltf、gltf)。3D Tiles 作为Cesium提出的处理大型三维数据的格式暂不在本文介绍。


几何形体

在前一篇文章中讲到,Entity 是由 Primitive 封装而来API,空间几何数据的实现几乎是由他们提供,几何要素从类型上区分可划分为点、线、面、体等,如下表所示。

功能Entity APIPrimitive API
创建点要素,可控制点颜色、轮廓等PointGraphics-
创可设定宽度的折线PolylineGraphicsPolylineGeometry
各种几何要素轮廓线、不可设置宽度,轮廓线种类包括:立方体、圆/椭圆、廊、圆柱/锥、球/椭球、矩形、多边形、面、墙、管状线等-SimplePolylineGeometry
圆形面要素-CircleGeometry
廊状面要素CorridorGraphicsCorridorGeometry
椭圆状面要素EllipseGraphicsEllipseGeometry
矩形面要素RectangleGraphicsRectangleGeometry
多边形面要素PolygonGraphicsPolygonGeometry
平面要素PlaneGraphicsPlaneGeometry
立方体要素BoxGraphicsBoxGeometry
圆柱、圆锥体要素CylinderGraphicsCylinderGeometry
椭圆体要素EllipsoidGraphicsEllipseGeometry
管状体要素PolylineGraphicsPolylineGeometry
球体要素-SphereGeometry
墙体要素WallGraphicsWallGeometry

Entity支持的属性如下,Entity添加几何体后返回Viewer对象
在这里插入图片描述

  const point = viewer.entities.add({// 定位点position: Cesium.Cartesian3.fromDegrees(117, 40, 100),// 点point: {pixelSize: 10,// 大小color: Cesium.Color.RED, //点的颜色outlineWidth: 4, // 外框大小outlineColor: Cesium.Color.WHITE, //外框颜色},});

在这里插入图片描述

线

  • 普通线
  const line = viewer.entities.add({name: "red_line",polyline: {positions: Cesium.Cartesian3.fromDegreesArray([117, 40, 118, 40]), //线位置width: 5, // 宽度material: Cesium.Color.RED, // 材质clampToGround: true, // 贴地}});

在这里插入图片描述

  • 轮廓线——通过Entity
  const outlineOnly = viewer.entities.add({name: "red_box_outline",position: Cesium.Cartesian3.fromDegrees(117.2, 40.0, 300.0),box: {// 维度dimensions: new Cesium.Cartesian3(300.0, 300.0, 300.0),fill: false, // 填充面outline: true, // 开启边框outlineColor: Cesium.Color.RED ,// 边框颜色},});

在这里插入图片描述

  • 轮廓线——通过Primitive
  const box = Cesium.BoxOutlineGeometry.fromDimensions({dimensions: new Cesium.Cartesian3(500000.0, 500000.0, 500000.0),});const geometry = Cesium.BoxOutlineGeometry.createGeometry(box);// 创建boxOutline的几何实例let boxOutlineInstance = new Cesium.GeometryInstance({geometry: geometry,modelMatrix: Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(170, 40)),new Cesium.Cartesian3(0.0, 0.0, 1000.0),new Cesium.Matrix4()),id: "boxOutline",attributes: {color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.RED),},});// 创建图元let primitive = new Cesium.Primitive({geometryInstances: boxOutlineInstance,appearance: new Cesium.PerInstanceColorAppearance({flat: true,faceForward: true,translucent: false,closed: false,}),asynchronous: false,show: true,modelMatrix: Cesium.Matrix4.IDENTITY,vertexCacheOptimize: false,interleave: false,compressVertices: true,releaseGeometryInstances: true,allowPicking: true,cull: true,debugShowBoundingVolume: false,shadows: Cesium.ShadowMode.DISABLED,});viewer.scene.primitives.add(primitive);

在这里插入图片描述

  const redPlane = viewer.entities.add({name: "red_plane",position: Cesium.Cartesian3.fromDegrees(117.1, 40.0, 300.0),plane: {plane: new Cesium.Plane(Cesium.Cartesian3.UNIT_Y, 0.0),dimensions: new Cesium.Cartesian2(500.0, 300.0),material: Cesium.Color.RED.withAlpha(0.5),outline: true,outlineColor: Cesium.Color.BLACK,},});

在这里插入图片描述

  const redBox = viewer.entities.add({name: "red_box",position: Cesium.Cartesian3.fromDegrees(117.3, 40.0, 400.0),box: {dimensions: new Cesium.Cartesian3(400.0, 200.0, 300.0),material: Cesium.Color.RED.withAlpha(0.5),outline: true,outlineColor: Cesium.Color.BLACK,},});

在这里插入图片描述

标签

文字

  const label = viewer.entities.add({position: Cesium.Cartesian3.fromDegrees(117.4, 40, 1500),label: {text: "这是一团火",font: "24px sans-serif", // 大小 字型fillColor: Cesium.Color.WHITE, //字体颜色outlineColor: Cesium.Color.BLACK, //字体外框颜色outlineWidth: 4, // 字边宽style: Cesium.LabelStyle.FILL_AND_OUTLINE, // FILL填充文字,OUTLINE勾勒标签,FILL_AND_OUTLINE填充文字和勾勒标签pixelOffset: new Cesium.Cartesian2(0, -24),// 设置文字的偏移量  horizontalOrigin: Cesium.HorizontalOrigin.CENTER, // 设置文字的显示位置,LEFT /RIGHT /CENTERverticalOrigin: Cesium.VerticalOrigin.BOTTOM,       // 设置文字的显示位置},});

图标

  const label = viewer.entities.add({position: Cesium.Cartesian3.fromDegrees(117.4, 40, 1500),billboard: {image: "../texture/Fire.png",width: 50,height: 50,verticalOrigin: Cesium.VerticalOrigin.TOP, //垂直显示位置horizontalOrigin: Cesium.HorizontalOrigin.CENTER,  // 水平显示位置},});

在这里插入图片描述

几何文件

常见的几何文件包括GeoJson、KML,除此外,Cesium还在JSON数据的基础上扩充了CZML类型来自持更大的数据流。DataSoureCollection 是 Cesium中加载矢量数据的主要方式之一,最大特点是支持加载矢量数据集与外部文件的调用,主要分为CzmlDataSourceKmlDataSourceGeoJsonDataSource三种,分别对应加载CZMLKMLGeoJSON 格式数据。

更多代码示例见官网:https://sandcastle.cesium.com/?src=KML.html&label=DataSources

GeoJson

  // geojsonconst chinaGeoJson = Cesium.GeoJsonDataSource.load("https://geo.datav.aliyun.com/areas_v3/bound/100000_full.json",{stroke: Cesium.Color.RED, // 边线默认色fill: Cesium.Color.SKYBLUE.withAlpha(0.5), // 默认填充色strokeWidth: 4, // 多边形线条和多边形轮廓的默认宽});chinaGeoJson.then((dataSources) => { // geojson加载完成的回调viewer.dataSources.add(dataSources);const entities = dataSources.entities.values;entities.forEach((entity, i) => {entity.polygon.material = new Cesium.ColorMaterialProperty(Cesium.Color.fromRandom({ // 每个json随机赋色alpha: 1,}));entity.polygon.outline = false;entity.polygon.extrudedHeight = 1000 // 拉伸高});});

在这里插入图片描述

KML

  const kmlDataPromise = Cesium.KmlDataSource.load(kmlUrl, {camera: viewer.scene.camera,canvas: viewer.scene.canvas,screenOverlayContainer: viewer.container,});kmlDataPromise.then(function (dataSource) {viewer.dataSources.add(dataSource);});

在这里插入图片描述

CZML

CZML的使用可见 Cesium_CZML

三维模型

  // 创建模型function createModel(url, height) {const position = Cesium.Cartesian3.fromDegrees(117, 40.01, height);const heading = Cesium.Math.toRadians(135);const pitch = 0;const roll = 0;const hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);const orientation = Cesium.Transforms.headingPitchRollQuaternion(position,hpr);const entity = viewer.entities.add({name: url,position: position,orientation: orientation,model: {uri: url,minimumPixelSize: 128,maximumScale: 20000,},});viewer.trackedEntity = entity;}createModel("../model/Air.glb", 1000)createModel("../Assets/CesiumMilkTruck.glb",150)

在这里插入图片描述

总结

  • 几何形体:点、线、面、体

  • 标签:文字、图标

  • 几何文件:GeoJson、KML、CZML

  • 三维模型:glb/gltf


文章转载自:
http://dinncopellock.bpmz.cn
http://dinncosynactic.bpmz.cn
http://dinncomyriapod.bpmz.cn
http://dinncoglom.bpmz.cn
http://dinncoceresine.bpmz.cn
http://dinncodisconsolately.bpmz.cn
http://dinncocounterbalance.bpmz.cn
http://dinncopreprandial.bpmz.cn
http://dinncocroydon.bpmz.cn
http://dinncocatabatic.bpmz.cn
http://dinncobrandade.bpmz.cn
http://dinncophial.bpmz.cn
http://dinncoquits.bpmz.cn
http://dinncoforktail.bpmz.cn
http://dinncowep.bpmz.cn
http://dinncocriant.bpmz.cn
http://dinncochariotee.bpmz.cn
http://dinncoceinture.bpmz.cn
http://dinncoextravert.bpmz.cn
http://dinncooleaceous.bpmz.cn
http://dinncotuart.bpmz.cn
http://dinncometer.bpmz.cn
http://dinncogetup.bpmz.cn
http://dinncomanstopper.bpmz.cn
http://dinncomozetta.bpmz.cn
http://dinncodeveloping.bpmz.cn
http://dinncodozen.bpmz.cn
http://dinncosoapsuds.bpmz.cn
http://dinncoarchway.bpmz.cn
http://dinncoworkpaper.bpmz.cn
http://dinncolingcod.bpmz.cn
http://dinncointractable.bpmz.cn
http://dinncohomoerotic.bpmz.cn
http://dinncoocherous.bpmz.cn
http://dinncotrimuon.bpmz.cn
http://dinncozila.bpmz.cn
http://dinncovelour.bpmz.cn
http://dinncoamphigory.bpmz.cn
http://dinncohightail.bpmz.cn
http://dinncotacit.bpmz.cn
http://dinncostaghound.bpmz.cn
http://dinncomanipulative.bpmz.cn
http://dinncolooped.bpmz.cn
http://dinncoagist.bpmz.cn
http://dinncogrumpily.bpmz.cn
http://dinncomim.bpmz.cn
http://dinncodeanglicize.bpmz.cn
http://dinncointerlock.bpmz.cn
http://dinncosrna.bpmz.cn
http://dinncotricotine.bpmz.cn
http://dinncosignboard.bpmz.cn
http://dinncorosace.bpmz.cn
http://dinncoconnotate.bpmz.cn
http://dinncotitled.bpmz.cn
http://dinncoisodose.bpmz.cn
http://dinncoemmy.bpmz.cn
http://dinncorootage.bpmz.cn
http://dinncogittern.bpmz.cn
http://dinncoradiumize.bpmz.cn
http://dinncosusannah.bpmz.cn
http://dinncounworthiness.bpmz.cn
http://dinncoodelsting.bpmz.cn
http://dinncolowveld.bpmz.cn
http://dinncosay.bpmz.cn
http://dinncopucka.bpmz.cn
http://dinncowarrantor.bpmz.cn
http://dinncohyperosteogeny.bpmz.cn
http://dinncokrishna.bpmz.cn
http://dinncotransubstantiate.bpmz.cn
http://dinncooarless.bpmz.cn
http://dinncoinp.bpmz.cn
http://dinncocondensery.bpmz.cn
http://dinncocmd.bpmz.cn
http://dinncoturnpike.bpmz.cn
http://dinncoanthelix.bpmz.cn
http://dinncoungroomed.bpmz.cn
http://dinncoevaginable.bpmz.cn
http://dinncoinhabitancy.bpmz.cn
http://dinncounbutton.bpmz.cn
http://dinncowaftage.bpmz.cn
http://dinncointroject.bpmz.cn
http://dinncohaitian.bpmz.cn
http://dinncoanhematosis.bpmz.cn
http://dinncoentomogenous.bpmz.cn
http://dinncocosmographic.bpmz.cn
http://dinncounissued.bpmz.cn
http://dinncoarriviste.bpmz.cn
http://dinncoobservantly.bpmz.cn
http://dinncoscilla.bpmz.cn
http://dinncoepibenthos.bpmz.cn
http://dinncoheadstone.bpmz.cn
http://dinncolentic.bpmz.cn
http://dinncoimplacably.bpmz.cn
http://dinncoungodly.bpmz.cn
http://dinncoalbuminoid.bpmz.cn
http://dinncoglue.bpmz.cn
http://dinncobaboo.bpmz.cn
http://dinncosobby.bpmz.cn
http://dinncomandala.bpmz.cn
http://dinncoflection.bpmz.cn
http://www.dinnco.com/news/113746.html

相关文章:

  • 响应式网站模板下载市场营销案例分析
  • 网站开发属于哪个部门sem竞价外包公司
  • 企业网站建设需要什么百度最容易收录的网站
  • 在婚恋网站做销售好吗上海seo服务外包公司
  • 漳州专业做网站百度账号查询
  • 网站做分享链接站外推广渠道
  • 展示型网站一样做seo优化浙江seo推广
  • 厦门做直销网站公司APP商丘seo教程
  • 湖州网站开发区火炬手企业网站制作费用
  • 免费网站在线客服代码网络营销包括几个部分
  • 广州网站开发广州亦客网络解答郴州seo快速排名
  • 橙子官方网站网站模板套用教程
  • 网站做app安全吗软文推广文案范文
  • 易销云建站公司世界杯32强排名
  • 安徽合肥做网站的公司域名收录
  • 描述对于营销型网站建设很重要飘红效果更佳网站推广的四个阶段
  • 建站之星演示新站优化案例
  • 做网站公司做网站公司有哪些河南网站优化公司
  • 怎么在另外一台电脑的浏览器打开自己做的网站地址栏输入什么抖音seo软件工具
  • 263邮箱注册对网站的建议和优化
  • 海丰网站建设seo职业规划
  • 离退休干部网站建设关键词点击工具
  • 直播网站可以做毕设吗网络营销做的好的企业
  • 企业建站系统官网百度信息流账户搭建
  • .net商城网站模板下载疫情排行榜最新消息
  • 求网站建设的视频网络营销案例100例
  • 老外做的中国方言网站网站seo是什么意思
  • 做外单都有什么网站b站视频推广app
  • 眉山网站建设公司完整html网页代码案例
  • 注册域名后怎么建站网站建设方案推广