Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
Thor5233 opened this issue Sep 11, 2023 · 12 comments
Closed

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

Thor5233 opened this issue Sep 11, 2023 · 12 comments
Labels
good first issue Good for newcomers

Comments

@Thor5233
Copy link

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

@github-actions
Copy link
Contributor

hi @Thor5233, welcome!

@github-actions
Copy link
Contributor

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

@github-actions github-actions bot added the good first issue Good for newcomers label Sep 11, 2023
@lzxue
Copy link
Contributor

lzxue commented Sep 11, 2023

试了一下,不是浮点数据精度的问题,你数据本身就不是直线 ,可以看看这个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
Copy link
Author

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

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

麻烦再看一下呢?

@lzxue
Copy link
Contributor

lzxue commented Sep 12, 2023

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

@lzxue
Copy link
Contributor

lzxue commented Sep 12, 2023

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

@lzxue
Copy link
Contributor

lzxue commented Sep 12, 2023

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

@Sh1-5
Copy link

Sh1-5 commented Sep 12, 2023

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

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

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

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

@Sh1-5
Copy link

Sh1-5 commented Sep 12, 2023

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

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

@lzxue
Copy link
Contributor

lzxue commented Sep 12, 2023

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

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

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

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

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

@Thor5233
Copy link
Author

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

@lvisei
Copy link
Member

lvisei commented May 15, 2024

数据精度问题已经修复 #2416

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Development

No branches or pull requests

4 participants