antvis / antvis/L7VP

🐛 [BUG]geoJSON在特定经度上绘制发生形变问题

Open
#162 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
232
Forks
28
PR merge metrics
No merged PRs in 30d

Description

### 🐛 Bug description [Please make everyone to understand it]
L7VP 在使用geoJson进行数据渲染,或者使用绘图工具进行绘制时,在特定的经度以及缩放比例上会出现变形
【由于公司网络限制,待回家补图】

### 📷 Step to reproduce
1、l7 editor使用如下geoJSON:
`{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[116.511132,39.868786],[116.511463,39.868773],[116.51179,39.868733],[116.51211,39.868667],[116.512419,39.868576],[116.512715,39.868461],[116.512992,39.868322],[116.51325,39.868162],[116.513484,39.867982],[116.513693,39.867785],[116.513873,39.867572],[116.514023,39.867345],[116.514142,39.867108],[116.514228,39.866862],[116.51428,39.866611],[116.514297,39.866357],[116.51428,39.866103],[116.514228,39.865852],[116.514142,39.865606],[116.514023,39.865369],[116.513873,39.865142],[116.513692,39.864929],[116.513484,39.864732],[116.51325,39.864552],[116.512992,39.864392],[116.512714,39.864253],[116.512419,39.864138],[116.51211,39.864047],[116.51179,39.863981],[116.511463,39.863941],[116.511132,39.863928],[116.510801,39.863941],[116.510474,39.863981],[116.510154,39.864047],[116.509845,39.864138],[116.50955,39.864253],[116.509272,39.864392],[116.509014,39.864552],[116.50878,39.864732],[116.508572,39.864929],[116.508391,39.865142],[116.508241,39.865369],[116.508122,39.865606],[116.508036,39.865852],[116.507984,39.866103],[116.507967,39.866357],[116.507984,39.866611],[116.508036,39.866862],[116.508122,39.867108],[116.508241,39.867345],[116.508391,39.867572],[116.508571,39.867785],[116.50878,39.867982],[116.509014,39.868162],[116.509272,39.868322],[116.509549,39.868461],[116.509845,39.868576],[116.510154,39.868667],[116.510474,39.868733],[116.510801,39.868773],[116.511132,39.868786]]]}}`

2、L7VP 使用如下配置进行项目导入:
`{"version":"v0.1","metadata":{"name":"错误示例项目","description":"无描述信息","assetPackageIds":["@antv/li-core-assets","@antv/li-analysis-assets"],"creatTime":"2024-8-14 14:49:35"},"datasets":[{"id":"daa7cc49-e1f5-433a-bd1a-0657487df81e","metadata":{"name":"错误示例数据"},"data":[{"version":"v0.1","metadata":{"type":"Polygon","coordinates":[[[116.511132,39.868786],[116.511463,39.868773],[116.51179,39.868733],[116.51211,39.868667],[116.512419,39.868576],[116.512715,39.868461],[116.512992,39.868322],[116.51325,39.868162],[116.513484,39.867982],[116.513693,39.867785],[116.513873,39.867572],[116.514023,39.867345],[116.514142,39.867108],[116.514228,39.866862],[116.51428,39.866611],[116.514297,39.866357],[116.51428,39.866103],[116.514228,39.865852],[116.514142,39.865606],[116.514023,39.865369],[116.513873,39.865142],[116.513692,39.864929],[116.513484,39.864732],[116.51325,39.864552],[116.512992,39.864392],[116.512714,39.864253],[116.512419,39.864138],[116.51211,39.864047],[116.51179,39.863981],[116.511463,39.863941],[116.511132,39.863928],[116.510801,39.863941],[116.510474,39.863981],[116.510154,39.864047],[116.509845,39.864138],[116.50955,39.864253],[116.509272,39.864392],[116.509014,39.864552],[116.50878,39.864732],[116.508572,39.864929],[116.508391,39.865142],[116.508241,39.865369],[116.508122,39.865606],[116.508036,39.865852],[116.507984,39.866103],[116.507967,39.866357],[116.507984,39.866611],[116.508036,39.866862],[116.508122,39.867108],[116.508241,39.867345],[116.508391,39.867572],[116.508571,39.867785],[116.50878,39.867982],[116.509014,39.868162],[116.509272,39.868322],[116.509549,39.868461],[116.509845,39.868576],[116.510154,39.868667],[116.510474,39.868733],[116.510801,39.868773],[116.511132,39.868786]]]}}],"type":"local","columns":[{"type":"string","name":"version"},{"type":"geo","name":"metadata"}]}],"spec":{"map":{"basemap":"Gaode","config":{"zoom":3,"center":[120.153576,30.287459],"pitch":0,"bearing":0,"style":"dark","WebGLParams":{"preserveDrawingBuffer":true},"token":"f0230f884bbd54e2913c890cdf45aa7e"},"logoPosition":"leftbottom"},"layers":[{"id":"ChoroplethLayer_3db9e94c-51c6-48aa-b960-4c13405400a6","type":"ChoroplethLayer","metadata":{"name":"错误示例数据"},"sourceConfig":{"datasetId":"daa7cc49-e1f5-433a-bd1a-0657487df81e","parser":{"type":"json","geometry":"metadata"}},"visConfig":{"visible":true,"fillColor":"#238443","opacity":0.8,"strokeColor":"#a9abb1","lineWidth":0.5,"lineOpacity":0.7,"label":{"style":{"fill":"#c0c0c0","fontSize":14,"textAnchor":"center","textOffset":[0,0]}},"state":{"active":{"strokeColor":"yellow","fillColor":false},"select":{"fillColor":false,"strokeColor":"red"}},"minZoom":0,"maxZoom":24,"blend":"normal"}}],"widgets":[{"id":"AnalysisLayout","type":"AnalysisLayout","metadata":{"name":"布局组件"},"properties":{"showFloatPanel":false,"showSidePanel":false,"showBottomPanel":false}},{"id":"AdministrativeSelectControl","type":"AdministrativeSelectControl","metadata":{"name":"行政区域选择器"},"properties":{"position":"lefttop"},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"LocationSearchControl","type":"LocationSearchControl","metadata":{"name":"地名查询"},"properties":{"position":"lefttop"},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"ZoomControl","type":"ZoomControl","metadata":{"name":"缩放器"},"properties":{"position":"bottomright"},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"PropertiesPanel","type":"PropertiesPanel","metadata":{"name":"属性面板"},"properties":{"isOpen":false,"items":[]},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"LayerPopup","type":"LayerPopup","metadata":{"name":"信息框"},"properties":{"isOpen":true,"trigger":"hover","items":[{"layerId":"ChoroplethLayer_3db9e94c-51c6-48aa-b960-4c13405400a6","fields":[{"field":"version"}]}]},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"FullscreenControl","type":"FullscreenControl","metadata":{"name":"全屏切换"},"properties":{"position":"topright"},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"LegendWidget","type":"LegendWidget","metadata":{"name":"图例"},"properties":{"position":"topright"},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"MapThemeControl","type":"MapThemeControl","metadata":{"name":"底图主题切换"},"properties":{"position":"bottomright"},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"MouseLocationControl","type":"MouseLocationControl","metadata":{"name":"光标经纬度"},"properties":{"position":"leftbottom"},"container":{"id":"AnalysisLayout","slot":"controls"}},{"id":"ea0b8946-3e3d-4a87-a4a0-5dd08e7a2eed","type":"ExportImageControl","metadata":{"name":"地图截图"},"properties":{"position":"topright"},"container":{"id":"AnalysisLayout","slot":"controls"}}]}}`

3、调整缩放,在缩放大于11时,显示正常。在缩放小于等于11时,显示错误
### 🏞 Expected result
能够正常展示
### 🚑 Any additional [like screenshots]

- **Version**:
L7VP L7Editor均使用官网即可复现
- **Platform**:
Windows

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in L7VP or L7Editor using the supplied GeoJSON and project configuration, focusing on the ChoroplethLayer at zoom levels 11 and below. Start from the map rendering path for GeoJSON geometry and compare its behavior across zoom levels. Done means the polygon displays without deformation at the reported longitude and zoom range.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.