antvis / L7

🌎 Large-scale WebGL-powered Geospatial Data Visualization analysis engine.
https://l7.antv.antgroup.com
MIT License
3.68k stars 637 forks source link

BUG 着色器精度不足导致L7+maoboxapi时渲染线出现扭曲 #1850

Closed Thor5233 closed 6 months ago

Thor5233 commented 1 year ago

实例化底图为mapbox时绘制线出现异常扭曲,高德地图时渲染正常 image image

github-actions[bot] commented 1 year ago

hi @Thor5233, welcome!

github-actions[bot] commented 1 year ago

Hi @Thor5233, Please star this repo if you find it useful! Thanks :star:! 你好 @Thor5233。如果该仓库对你有用,可以 star 一下,感谢你的 :star:!

lzxue commented 1 year ago

试了一下,不是浮点数据精度的问题,你数据本身就不是直线 ,可以看看这个demo https://codesandbox.io/s/nostalgic-mayer-vqw5hy?file=/index.js 修改过后的数据,经度数值一样,你提供的数据不一样 [116.26191, 40.01346243590182], [116.26191, 40.01341607545047], [116.26191, 40.01337305146164], [116.26191, 40.01332966034864], [116.26191, 40.01328598892853]

Thor5233 commented 1 year ago

感谢回复,不过能否再确认一下?

  1. 这个数据,并不是与经度完全垂直的数据,它是个斜线,所以只是把数据改成经度一致这个方法并不是解决方案
  2. 如果数据本身渲染就会有折线,L7+高德为底图时为什么没有出现波折?
  3. 目前用其他gis软件/webgis引擎渲染包括mapboxgljs本身渲染也都是一条直线,确实也没有办法向上反馈说是数据问题。

麻烦再看一下呢?

lzxue commented 1 year ago

1.如果不少完全垂直的,说明显示没问题,我改成一致只是说明,数据显示没问题。 2.高德坐标处理的时候会有四舍五入

lzxue commented 1 year ago

感谢的你反馈,我看一下不同平台差异

lzxue commented 1 year ago

排查确实是精度的问题,如需修复需要较长时间,短时间内不能够解决,主要什么场景使用mapbox ?

Sh1-5 commented 1 year ago

目前我们业务上有两个功能L7暂时还实现不了:

1.fill-extrusion,https://docs.mapbox.com/style-spec/reference/layers/#fill-extrusion 通过图层的叠加实现室内地图效果,大致效果是这样 image

2.标注功能,目前L7的标注是基于点图层的,但是在某些情况下,需要根据线图层加标注,所以有点不方便,大致效果是这样 image

因为这两点,还不能完全弃用mapbox,一般两个都会用

Sh1-5 commented 1 year ago

排查确实是精度的问题,如需修复需要较长时间,短时间内不能够解决,主要什么场景使用mapbox ?

之前业务一直用的是mapbox,因为老项目用了你这个库 https://github.com/lzxue/echartsLayer 后面因为模块化规范的问题用不了想联系你才了解到L7的,现在日常使用的添加图层工具函数已经大部分转向L7了

lzxue commented 1 year ago

目前我们业务上有两个功能L7暂时还实现不了:

1.fill-extrusion,https://docs.mapbox.com/style-spec/reference/layers/#fill-extrusion 通过图层的叠加实现室内地图效果,大致效果是这样 image

2.标注功能,目前L7的标注是基于点图层的,但是在某些情况下,需要根据线图层加标注,所以有点不方便,大致效果是这样 image

因为这两点,还不能完全弃用mapbox,一般两个都会用

提个新 issue 吧,这个功能开发成本不高

Thor5233 commented 1 year ago

我们需要叠加很多比较细节的3D要素到底图上,用户要求可以精确到1m级别(22级),高德除了标准底图,其他的在超过一定层级时都会出现缩放抖动/卫星底图19级以后就没有影像了

lvisei commented 6 months ago

数据精度问题已经修复 https://github.com/antvis/L7/pull/2416