【发布时间】:2021-11-28 07:56:50
【问题描述】:
使用正常的矢量图层,我已经绘制了这样的定向天线符号:
基本上,这是一个有方向的点(以及水平光束宽度,但我们暂时先忘掉它)。这是我尝试在 OL 6.8.1 中使用 WebGLPoints 层重新创建的内容,但在创建正确样式时遇到问题。我可以旋转简单的三角形符号,但它们是重叠的,它们应该靠角接触:
我想问题的关键是设置一些偏移量,但这是我未能找到有效解决方案的地方。这是我目前使用的样式:
symbol: {
symbolType: 'triangle',
size: ['interpolate', ['exponential', 2.5], ['zoom'], 6, 10, 20, 100],
color: ['case',["==", ['get','band'],2100], '#aa0000',["==", ['get','band'],3500], '#00aa00', '#0000aa' ],
rotateWithView: true,
offset: [ 0,0 ],
opacity: 0.4,
rotation: ['-', ['*', ['get','azy'] , 0.01745329251 ], 3.1415926],
}
(注意:如您所见,符号大小取决于缩放,我使用基于 'band' 属性的 2 种不同颜色并使用 'azy' 属性旋转它(这是所需的度数方向,从 N为0,顺时针))
旋转工作正常,但对于偏移,我需要一些帮助。我什至不确定它是否受到轮换的影响......提前致谢!如果您对使用 WebGL 的问题有任何其他解决方案,我也将不胜感激!
【问题讨论】:
-
其中一个维度的偏移量将是大小的一半。请参阅openlayers.org/en/latest/examples/webgl-points-layer.html中的“旋转条”样式@
-
感谢@Mike,我之前尝试过,但没有成功。我现在重新审视了这个解决方案,发现我所要做的就是将偏移量乘以 -1 以获得正确的结果。很快就会在这里发布详细的答案。
标签: rotation openlayers offset openlayers-6