You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Looker中基于JSON列绘制Polygon数据

在Looker中处理BigQuery的Polygon地理数据

直接给你最实用的处理步骤,不用绕弯路:

  • 第一步:把字符串类型的GeoJSON转成BigQuery的GEOGRAPHY类型
    你的polygon_shape是标准的GeoJSON字符串,直接用BigQuery的ST_GEOGFROMGEOJSON函数转成专门的地理类型就行,这是最关键的一步——Looker对BigQuery的GEOGRAPHY类型有原生支持,不管是画地图还是做空间聚合都能用。

    你可以直接在Looker的视图文件里定义这个维度,不用提前修改BigQuery表:

    dimension: polygon_geography {
      type: geography
      sql: ST_GEOGFROMGEOJSON(${TABLE}.polygon_shape) ;;
    }
    
  • 不需要单独提取coordinates字段
    单独拆坐标数组完全没必要,Looker需要的是完整的地理对象才能识别为Polygon并绘制,拆成零散的坐标反而没法直接用在地图上。

  • 不用转成JSON类型
    JSON类型只是存储格式,没有空间计算能力,而GEOGRAPHY类型是BigQuery专门为地理数据设计的,支持各种空间函数(比如计算面积、判断相交),Looker也能直接识别这个类型做可视化。

  • 可视化和聚合的具体用法

    • 绘制Polygon:在Looker探索里,把polygon_geography维度拖到地图组件,选择「Polygon」图层类型就能直接显示所有区域。
    • 空间聚合分析:比如统计和某个指定区域相交的Polygon数量,可以这么定义度量:
      measure: intersecting_polygon_count {
        type: count
        filters: {
          field: polygon_geography
          sql: ST_INTERSECTS(${polygon_geography}, ST_GEOGFROMTEXT('POLYGON((-11.7 36.6, -11.6 36.6, -11.6 36.7, -11.7 36.7, -11.7 36.6))')) ;;
        }
      }
      
    • 计算Polygon面积:
      dimension: polygon_area_sq_meters {
        type: number
        sql: ST_AREA(${polygon_geography}) ;;
        value_format_name: decimal_2
      }
      

内容的提问来源于stack exchange,提问作者Nina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 07:20:30