apache/superset · error · Error
Start and end spatial configurations are required for Arc ch
Error message
Start and end spatial configurations are required for Arc charts
What it means
Thrown by the deck.gl Arc layer's buildQuery when form data lacks start_spatial or end_spatial. An arc needs two endpoints, each defined by a spatial configuration (latlong pair, delimited column, or geohash); without both, no meaningful SQL columns can be derived and query building stops. It is a chart-configuration guard, not a runtime/network failure.
Source
Thrown at superset-frontend/plugins/preset-chart-deckgl/src/layers/Arc/buildQuery.ts:43
getSpatialColumns,
addSpatialNullFilters,
SpatialFormData,
} from '../spatialUtils';
import { addTooltipColumnsToQuery } from '../buildQueryUtils';
export interface DeckArcFormData extends SqlaFormData {
start_spatial: SpatialFormData['spatial'];
end_spatial: SpatialFormData['spatial'];
dimension?: string;
tooltip_contents?: unknown[];
tooltip_template?: string;
}
export default function buildQuery(formData: DeckArcFormData) {
const { start_spatial, end_spatial, dimension, tooltip_contents } = formData;
if (!start_spatial || !end_spatial) {
throw new Error(
'Start and end spatial configurations are required for Arc charts',
);
}
return buildQueryContext(formData, baseQueryObject => {
const startSpatialColumns = getSpatialColumns(start_spatial);
const endSpatialColumns = getSpatialColumns(end_spatial);
let columns = [
...(baseQueryObject.columns || []),
...startSpatialColumns,
...endSpatialColumns,
];
if (dimension) {
columns = [...columns, dimension];
}
View on GitHub (pinned to f4587218dd)
Solutions
- Open the Arc chart in Explore and configure both the start and end spatial controls (latlong columns, delimited column, or geohash), then save.
- Verify the saved slice params JSON actually contains start_spatial and end_spatial objects (check via chart GET /api/v1/chart).
- For programmatic use, populate both fields in formData before calling buildQuery.
Example fix
// before
buildQuery({ ...formData, end_spatial: undefined }); // throws
// after
if (!formData.start_spatial || !formData.end_spatial) {
return showConfigWarning('Arc chart needs start and end spatial controls');
}
buildQuery(formData); Defensive patterns
Strategy: validation
Validate before calling
if (!formData.start_spatial || !formData.end_spatial) {
// mark chart misconfigured; do not build query
}
buildQuery(formData); Type guard
const hasBothSpatial = (fd: DeckArcFormData): boolean => Boolean(fd.start_spatial?.type) && Boolean(fd.end_spatial?.type);
Try / catch
try { buildQuery(formData); } catch (e) { if (e.message.includes('Start and end spatial')) showExploreWarning(e.message); else throw e; } Prevention
- Block 'Run' until both arc endpoints are configured
- Check saved params include start_spatial/end_spatial after imports
When it happens
Trigger: Building the query for a Deck.gl Arc chart whose 'Start latitude/longitude' or 'End latitude/longitude' spatial control is unset, or whose saved form params (imported dashboard, API-created chart) omit start_spatial/end_spatial.
Common situations: Half-configured arc charts saved before both endpoints were chosen; dashboards imported from another instance where spatial controls did not serialize; dataset column renames leaving the spatial config empty after re-binding.
Related errors
- Spatial configuration is required for Scatter charts
- Spatial configuration is required for this chart
- GeoJSON column is required for GeoJSON charts
- Line column is required for Path charts
- Polygon column is required for Polygon charts
AI-assisted analysis of apache/superset@f4587218dd (2026-08-14).
Data as JSON: /api/errors/abd100527a00a030.
Report an issue: GitHub.