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三维可视化平台 | 火星科技

相关推荐
码上淘金22 分钟前
在 YAML 中如何将 JSON 对象作为字符串整体赋值?——兼谈 Go Template 中的 fromJson 使用
java·golang·json
不说别的就是很菜41 分钟前
【前端面试】HTML篇
前端·html
前端一小卒1 小时前
生产环境Sourcemap策略:从苹果事故看前端构建安全架构设计
前端·javascript
im_AMBER1 小时前
React 18
前端·javascript·笔记·学习·react.js·前端框架
老前端的功夫1 小时前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
集成显卡2 小时前
AI取名大师 | PM2 部署 Bun.js 应用及配置 Let‘s Encrypt 免费 HTTPS 证书
开发语言·javascript·人工智能
han_2 小时前
前端高频面试题之Vue(高级篇)
前端·vue.js·面试
不说别的就是很菜2 小时前
【前端面试】CSS篇
前端·css·面试
by__csdn3 小时前
nvm安装部分node版本后没有npm的问题(14及以下版本)
前端·npm·node.js
by__csdn3 小时前
Node与Npm国内最新镜像配置(淘宝镜像/清华大学镜像)
前端·npm·node.js