代码之家  ›  专栏  ›  技术社区  ›  Paul

数据驱动圆半径的Destringing Geojson元素

  •  2
  • Paul  · 技术社区  · 7 年前

    当我将geojson作为tileset上传到Mapbox中时,所有字段都作为字符串导入。假设我希望访问频率更高的坐标(访问次数从10到10000不等)的圆更大。我使用的代码如下。但因为“访问”是作为字符串导入的,所以在我的地图上,所有坐标都以相同的圆大小绘制。

    'circle-radius': ["sqrt", ["/", ["get", "visits"], 10000]  ],    
    

    我该如何消除“访问”,使圆半径可以变化?谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   Scarysize    7 年前

    很简单,使用 to-number 要转换字符串的表达式:

    [
      "sqrt",
      [
        "/",
        ["to-number", ["get", "visits"]],
        10000
      ]
    ]
    

    请参见此处的文档: https://www.mapbox.com/mapbox-gl-js/style-spec#expressions-types-to-number

    但正如Andrew在下面所建议的那样:在作为tileset导入时,您可能应该找到一种保存数字的方法。

    推荐文章