mars3d实现geojson文件xxx.json格式等实现贴地效果

说明:

1.mars3d.js我们的这个sdk内部参数clampToGround是异步计算贴地效果的,最好的贴地方式是,给json数据准确的带高度的经纬度值。

补充前置知识说明,本身的geojson数据格式每个字段代表的意思需要掌握,

GeoJSON 是一种对地理数据进行编码的格式,可以表示各种地理特征,如点、线、多边形等。GeoJSON 对象可以嵌套,允许复杂的地理特征。

GeoJSON 中的常见对象包括:

  • Point: 一个点特征,用 [经度, 纬度] 数组表示。

  • MultiPoint: 多个点的数组。

  • LineString: 线特征,由两个或多个点构成的数组。

  • MultiLineString: 多条线构成的数组。

  • Polygon: 多边形特征,第一个环是外环,后面的环是内环。

  • MultiPolygon: 多个多边形构成的数组。

  • GeometryCollection: 几种几何类型的组合。

  • Feature: 包含几何对象以及属性的特征。

  • FeatureCollection: 包含一组特征的对象。

在 GeoJSONLayer 中,这些对象通常被转换为图层可以理解的格式,并在地图上显示。

已我们示例的json文件做最简单的说明,

type 字段指定了对象的要素特征(如 "Feature"),properties 包含与特征相关的数据字段,而 geometry (几何形状)字段包含实际的几何信息。

//data.mars3d.cn/file/geojson/hfty-point.json

需要一层层找到经纬度代表的字段值:

一般的coordinates(坐标)是包含经纬度含高度值的,当高度值是准确的海拔高的时候,我们是不需要通过clampToGround做贴地效果的。

很多时候如果数据没有这个准确的高度值,那么我们就可以通过clampToGround:true来得到这个贴地效果,但是由于sdk是异步计算需要时间,一般我们建议是推荐修改数据,给准确的含高度值的数据。


通过以下方法计算后,拿到数据给后端,让后端修改数据。http://mars3d.cn/api/PolyUtil.html?classFilter=polyutil#.computeSurfacePoints

一次性请求渲染带准确的高度值可以节省计算时间,大幅提高渲染效率。

具体使用可以参考示例功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技


这个是不含高度值的数据:

计算后,得到的含有高度值的数据:

由此,我们可以逐渐掌握geojson文件的字段含义与gis相关的基础信息知识

结合我们mars3d如何做简单的矢量图层效果渲染。

单个的不同类型的演示数据来源与演示示例效果:

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

相关推荐
无限大.3 小时前
前端知识速记:节流与防抖
前端
十八朵郁金香3 小时前
【VUE案例练习】前端vue2+element-ui,后端nodo+express实现‘‘文件上传/删除‘‘功能
前端·javascript·vue.js
学问小小谢3 小时前
第26节课:内容安全策略(CSP)—构建安全网页的防御盾
运维·服务器·前端·网络·学习·安全
LCG元4 小时前
Vue.js组件开发-实现全屏图片文字缩放切换特效
前端·javascript·vue.js
还是鼠鼠5 小时前
图书管理系统 Axios 源码__新增图书
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
customer085 小时前
【开源免费】基于SpringBoot+Vue.JS体育馆管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
还是鼠鼠8 小时前
图书管理系统 Axios 源码 __删除图书功能
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
轻口味8 小时前
Vue.js `Suspense` 和异步组件加载
前端·javascript·vue.js
m0_zj9 小时前
8.[前端开发-CSS]Day08-图形-字体-字体图标-元素定位
前端·css
还是鼠鼠9 小时前
图书管理系统 Axios 源码__编辑图书
前端·javascript·vscode·ajax·前端框架