{"record":{"id":"a92770faa8f84c72","repo":"apache/superset","slug":"polygon-column-is-required-for-polygon-charts","errorCode":null,"errorMessage":"Polygon column is required for Polygon charts","messagePattern":"Polygon column is required for Polygon charts","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"superset-frontend/plugins/preset-chart-deckgl/src/layers/Polygon/buildQuery.ts","lineNumber":65,"sourceCode":"  reverse_long_lat?: boolean;\n  filter_nulls?: boolean;\n  cross_filter_column?: string | null;\n  tooltip_contents?: unknown[];\n  tooltip_template?: string;\n}\n\nexport default function buildQuery(formData: DeckPolygonFormData) {\n  const {\n    line_column,\n    metric,\n    point_radius_fixed,\n    filter_nulls = true,\n    cross_filter_column,\n    tooltip_contents,\n  } = formData;\n\n  if (!line_column) {\n    throw new Error('Polygon column is required for Polygon charts');\n  }\n\n  return buildQueryContext(formData, (baseQueryObject: QueryObject) => {\n    let columns: QueryFormColumn[] = [\n      ...ensureIsArray(baseQueryObject.columns || []),\n      line_column,\n    ];\n\n    if (cross_filter_column && !columns.includes(cross_filter_column)) {\n      columns.push(cross_filter_column);\n    }\n\n    columns = addTooltipColumnsToQuery(columns, tooltip_contents);\n\n    const metrics = [];\n    if (metric) {\n      metrics.push(metric);\n    }","sourceCodeStart":47,"sourceCodeEnd":83,"githubUrl":"https://github.com/apache/superset/blob/f4587218dd19d046c3e4d00063e7d27f8a2ed354/superset-frontend/plugins/preset-chart-deckgl/src/layers/Polygon/buildQuery.ts#L47-L83","documentation":"Thrown by the deck.gl Polygon layer's buildQuery when line_column is missing. Despite the name, in the Polygon layer line_column holds the polygon geometry (closed coordinate string) for each row; the metric just colors it. Without that column the layer has nothing to render, so query building aborts.","triggerScenarios":"Running a Deck.gl Polygon chart whose polygon geometry control (stored as line_column) is unset, or saved/API params omitting it.","commonSituations":"Polygon chart saved before the geometry column was chosen; dataset schema drift; dashboards imported with incomplete form params; converting another deck.gl chart type to Polygon without filling the geometry control.","solutions":["Open the Polygon chart in Explore and select the polygon geometry column, then save.","Check the dataset still contains the geometry column; fix renames in the dataset editor.","Supply line_column when constructing the chart or query context programmatically."],"exampleFix":"// before\nbuildQuery(formData); // line_column undefined\n\n// after\nif (!formData.line_column) {\n  throw new Error('Polygon chart requires a geometry column');\n}\nbuildQuery(formData);","handlingStrategy":"validation","validationCode":"if (!formData.line_column) {\n  throw new Error('Polygon chart requires a geometry column');\n}\nbuildQuery(formData);","typeGuard":"const hasPolygonColumn = (fd: DeckPolygonFormData): boolean => Boolean(fd.line_column);","tryCatchPattern":"try { buildQuery(formData); } catch (e) { if (e.message.includes('Polygon column')) showConfigToast(e.message); else throw e; }","preventionTips":["Remember line_column is the polygon geometry in this layer","Validate saved params after dataset re-binds"],"tags":["deckgl","polygon","buildquery","validation"],"backgroundTag":null,"analyzedSha":"f4587218dd19d046c3e4d00063e7d27f8a2ed354","analyzedAt":"2026-08-14T22:39:27.425Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}