{"record":{"id":"314f73167eedff26","repo":"apache/echarts","slug":"unknown-coordinate-system","errorCode":null,"errorMessage":"Unknown coordinate system {}","messagePattern":"Unknown coordinate system (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/chart/lines/LinesSeries.ts","lineNumber":310,"sourceCode":"            return {\n                flatCoordsOffset: new Uint32Array(coordsOffsetAndLenStorage.buffer, 0, offsetCursor),\n                flatCoords: coordsStorage,\n                count: dataCount\n            };\n        }\n\n        return {\n            flatCoordsOffset: null,\n            flatCoords: null,\n            count: data.length\n        };\n    }\n\n    getInitialData(option: LinesSeriesOption, ecModel: GlobalModel) {\n        if (__DEV__) {\n            const CoordSys = CoordinateSystem.get(option.coordinateSystem);\n            if (!CoordSys) {\n                throw new Error('Unknown coordinate system ' + option.coordinateSystem);\n            }\n        }\n\n        const lineData = new SeriesData(['value'], this);\n        lineData.hasItemOption = false;\n\n        lineData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {\n            // dataItem is simply coords\n            if (dataItem instanceof Array) {\n                return NaN;\n            }\n            else {\n                lineData.hasItemOption = true;\n                const value = dataItem.value;\n                if (value != null) {\n                    return value instanceof Array ? value[dimIndex] : value;\n                }\n            }","sourceCodeStart":292,"sourceCodeEnd":328,"githubUrl":"https://github.com/apache/echarts/blob/30076aedcd7b7f65d8dd8e8d9ece46ce778133a3/src/chart/lines/LinesSeries.ts#L292-L328","documentation":"DEV-only guard in LinesSeries.getInitialData: looks up option.coordinateSystem in the CoordinateSystem registry via CoordinateSystem.get. If no coordinate system of that name is registered, it throws. The most common cause on modular builds is referencing 'geo' (or 'bmap') without importing/registering that coordinate system.","triggerScenarios":"Setting a lines series coordinateSystem to a name that no registered CoordinateSystem matches — typically 'geo' on a tree-shaken build that never imported the geo component.","commonSituations":"Using a minimal 'echarts/core' modular build that omits geo; typo in coordinateSystem; referencing bmap without the bmap extension.","solutions":["On modular builds, register the coordinate system you need (e.g. echarts.use([GeoComponent]))","Use the full 'echarts' build which registers everything","Fix typos in the coordinateSystem value"],"exampleFix":"// before (modular build, geo missing)\nimport * as echarts from 'echarts/core';\nimport { LinesChart } from 'echarts/charts';\necharts.use([LinesChart]);\n\n// after\nimport * as echarts from 'echarts/core';\nimport { LinesChart } from 'echarts/charts';\nimport { GeoComponent } from 'echarts/components';\necharts.use([LinesChart, GeoComponent]);","handlingStrategy":"validation","validationCode":"const KNOWN = ['geo', 'cartesian2d', 'polar', 'bmap', 'calendar', 'singleAxis'];\n(option.series || []).forEach((s: any) => {\n  if (s.type === 'lines' && s.coordinateSystem && !KNOWN.includes(s.coordinateSystem)) {\n    console.error('[lines] unknown coordinateSystem: ' + s.coordinateSystem);\n  }\n});\n// also: ensure echarts.use([...GeoComponent]) was called on modular builds","typeGuard":null,"tryCatchPattern":null,"preventionTips":["On modular builds, register every coordinate system/component you reference","Use echarts.use([GeoComponent]) for lines-on-map","Validate coordinateSystem names against the registered set"],"tags":["lines-series","coordinate-system","modular-build","dev-only"],"backgroundTag":null,"analyzedSha":"30076aedcd7b7f65d8dd8e8d9ece46ce778133a3","analyzedAt":"2026-08-12T12:42:28.134Z","schemaVersion":2},"datasetVersion":"2026-08-13T09:17:06.757Z"}