Mapbox GL JS - 数据驱动样式 - 在图层中查找最小值和最大值或数据范围



我使用数据驱动的样式来创建choropleth地图,可以使用下拉菜单选择不同的字段,并在对图层的'paint'进行样式化时更改'fill-color'中的property

问题是,每层的stops涉及不同的最小值和最大值,因此选择不同的字段/属性需要重新定义最小值;在stops中设置max以获得适当的choropleth。

是否有一个内置的解决方案,从一个层内的特定字段拉min/max值?

我很高兴听到你在GL JS中用数据驱动样式构建很酷的东西。

没有内置的解决方案来从层中的特定字段中提取最小/最大值。这是一个不幸的技术限制。如果你有一个1TB的矢量贴图集,横跨整个世界,我们需要下载所有1TB的数据来找到最小/最大值。

一些选项:

  • 如果你从GeoJSON文件中获取数据,你可以自己解析它来找到最小/最大值
  • 如果你只关心当前视口内可见的数据,你可以使用querySourceFeatures获取所有值并自己解析以找到最小/最大值
  • 如果你愿意做一些侦查,并使用一个未记录的mapbox特定的API,我们有一个API,会给你关于最小/最大值的数据在一个上传的贴图集。

最新更新