Mapbox GL 3D 上建筑物的太阳阴影

问题描述 投票:0回答:1

我想使用 Mapbox GL 3D 投影建筑物的太阳阴影。我找到了这个插件示例Shademap,但它正在处理服务器响应,我想在本地解决它。

我使用 SunCalc 库对给定日期时间的太阳位置做了一些填充拉伸属性的草稿。

SunCalc 返回具有以下属性的对象:

  • altitude:以弧度表示的太阳在地平线以上的高度
  • 方位角:以弧度为单位的太阳方位角(沿地平线的方向,从南到西测量)

所以,很容易取代建筑物填充挤压:

'fill-extrusion-translate': [sunPosition.azimuth - 180, 0]

但这不是阴影投影,它只是一个位移。我需要像下面左边的例子那样投射阴影,而不是像右边那样简单的位移。

甚至(希望)我想对填充应用一些模糊。我找不到如何用 mapbox 做到这一点,我不知道它是否可能。我找到了一个属性来模糊线条,而不是填充。

想法?

javascript mapbox mapbox-gl-js
1个回答
0
投票

ShadeMap 作者在这里。我整理了一个使用 Mapbox 自定义层在本地完成建筑物阴影的要点(您当然必须连接以加载包含建筑物足迹和高度本身的 Mapbox tile 数据)

构建阴影的 Github 问题线程:https://github.com/mapbox/mapbox-gl-js/issues/7976

带有建筑物阴影的 Mapbox 示例要点:https://gist.github.com/ted-piotrowski/420a31bf3c157664fdda14bf45692785

© www.soinside.com 2019 - 2024. All rights reserved.