【问题标题】:Can I highlight specific rivers with Mapbox?我可以用 Mapbox 突出显示特定的河流吗?
【发布时间】:2021-06-30 23:03:45
【问题描述】:

是否可以在 Mapbox 中突出显示河流?

我想看看这个世界,并看到一个突出的特定河流列表,就像在纸质地图上用黄色标记突出显示一样。当我放大时,高光会变得更加精确,最终与河流的实际几何形状相吻合,或者至少沿着一条与河岸等距的线……

这可能吗?

我知道我可以在特定的地理坐标处绘制任何我想要的东西,但我不知道如何从 Mapbox 中提取河流几何图形来计算我的荧光笔笔划的路径……

或者也许这种事情与其他供应商一起会更容易?人们通常如何处理这种事情?

【问题讨论】:

    标签: gis mapbox shapefile


    【解决方案1】:

    您可以尝试以下方法:

    1. 在 Mapbox Streets 矢量瓦片集中使用 the waterway line layer 并设置过滤器以仅显示 river 要素类型。这将以低缩放级别显示所有河流,但由于这是一个线图层,因此不会以高(接近地面)缩放级别显示河流的宽度。在更高的缩放级别将图层设置为 0 不透明度,使其消失。

    2. 在更高的缩放级别下,您可以在 Mapbox Streets 矢量图块集中使用the water polygon layer,但它包括海洋、河流、湖泊、池塘、水库和喷泉,所有这些都被粉碎成一个简单的多边形层,由未区分、合并的形状组成:

    无法过滤或突出显示特定水体或其中的一部分。

    如果您想隔离一条特定的水道(例如仅里奥格兰德河),您需要自己导入该数据as @tylerben suggests

    1. 如果您喜欢冒险,可以尝试使用mask in Turf.js 隐藏water 图层中距离waterway 图层的河流中心线超过10 英里的要素。

    您可以在the core tilesets documentation了解更多关于 Mapbox 地图数据的信息。

    【讨论】:

      【解决方案2】:

      据我所知,没有办法通过名称等属性突出显示 Mapbox 的水相关图层中的特定河流。但是,如果您希望根据大小/显着性过滤要素,则可以使用 Mapbox 水道图层上的“类”或“类型”属性过滤要素。这至少允许您根据类型(即河流、溪流、运河等)过滤/样式化特征。

      另一种方法是将 Mapbox 平台之外的空间数据整合在一起,然后将其作为您自己的 tilset 或数据集引入 Mapbox。我在使用National Hydrography Dataset(这仅适用于美国)之前已经这样做了,当时我想突出显示特定的河流(即只显示里奥格兰德河、阿肯色河和科罗拉多河)。我将 NHD 引入我的桌面 GIS 应用程序 (QGIS),将特征过滤到那些河流,将过滤后的特征导出为 GeoJSON,然后上传到 Mapbox,并在 Mapbox Studio 中完成所有所需的样式。

      希望这会有所帮助!我一直在为您可能感兴趣的 Mapbox 编写一系列指南。以下是一些链接:

      【讨论】:

        猜你喜欢
        • 2012-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-21
        相关资源
        最近更新 更多