【问题标题】:Mapbox - extruding buildings in custom layerMapbox - 在自定义图层中挤出建筑物
【发布时间】:2018-01-02 06:39:48
【问题描述】:

在此处的 mapbox 中看到 3d 建筑物后:https://www.mapbox.com/mapbox-gl-js/example/3d-buildings/ 我决定创建一个自定义图层,其中只有 3 个我自己的建筑物(自定义的,其中一个正在建设中),但我遇到了问题在 mapbox 视图中挤压这些建筑物。我使用与示例中相同的代码,只有建筑物轮廓出现在地面上,不能让它们看起来像 3d 建筑物。这里有什么建议吗?

更具体地说: 1. 使用 JOSM 创建建筑物, 2.导出到geojson文件 3.导入mapbox studio 4. 尝试在代码中使用图层,但地图中只出现建筑计数 - 而不是实际的 3d 形状。

这是我的 mapbox 工作室的截图:http://i.imgur.com/LZbKUvr.jpg - 建筑物层是默认显示建筑物的层,但 building_custom 不显示。另外,为什么我的 building_custom 层在其名称附近有绿线,而不是像 building 层那样的蓝线?

我已经尝试修复此问题 2 天,但不确定我在使用 mapbox 时做错了什么。作为建筑物确实存在的证据,请在此处查看正确显示的位置https://osmbuildings.org/?lat=40.71604&lon=-74.0362&zoom=17.8&rotation=-54&tilt=28(中间建筑物,正面倒 C 形)。

【问题讨论】:

    标签: mapbox mapbox-gl


    【解决方案1】:

    如果您的屏幕截图是最新的,则您当前正在将 building_custom 图层设置为填充图层。为了使它们成为 3D,您需要将其更改为填充挤压层(在“类型”旁边 - 填充挤压层类型是看起来像风车的那种)。一旦它是一个填充挤出层,您就可以在样式面板中调整它的高度。

    至于您的另一个问题,我想您要问的是为什么 building_custom 在其名称旁边有一条浅紫色线?如果这是您的问题,颜色编码与图层数据来自哪个源图层有关。默认的建筑图层来自 Mapbox Streets 中的“建筑”源图层;您的自定义构建层来自不同的源层。 (所有 place-* 层都来自同一个源层——Mapbox Streets 中的“place-label”——这就是为什么它们都具有相同的颜色。)

    【讨论】:

    • 是的,它确实突出了我的建筑,但它忽略了我使用 JOSM 添加的设置,例如 min_height、height、building:min_level、building:levels 等。因为我的建筑不是通常的形状,它看起来像这样 __[] ,其中下部为 9 层,较高的部分为 69 层。我想我可以创建 2 个图层并使其工作,但只是想知道是否有更好的方法在 mapbox 中显示复杂的建筑物?
    • 我明白了。 Mapbox 中的fill-extrusion 只是一个多边形棱柱,所以如果你想展示一个具有两个不同高度的建筑物,它需要是两个不同的特征(如果重叠,它们在渲染时会看起来像是连接在一起的,这可能是您正在寻找的效果)。至于您在 JOSM 中忽略的设置,您需要使用 property functionsfill-extrusion-heightfill-extrusion-base 设置为您想要的值。
    猜你喜欢
    • 1970-01-01
    • 2019-09-26
    • 2019-11-22
    • 2020-09-07
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    相关资源
    最近更新 更多