@loaders.gl/kml
Version:
Framework-independent loader for the KML format
8 lines (7 loc) • 9.36 kB
Source Map (JSON)
{
"version": 3,
"sources": ["index.js", "gpx-loader.js", "kml-loader.js", "tcx-loader.js"],
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nexport { GPXLoader } from \"./gpx-loader.js\";\nexport { KMLLoader } from \"./kml-loader.js\";\nexport { TCXLoader } from \"./tcx-loader.js\";\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { geojsonToBinary } from '@loaders.gl/gis';\nimport { gpx } from '@tmcw/togeojson';\nimport { DOMParser } from '@xmldom/xmldom';\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.3.2\" !== 'undefined' ? \"4.3.2\" : 'latest';\nconst GPX_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gpx`;\n/**\n * Loader for GPX (GPS exchange format)\n */\nexport const GPXLoader = {\n dataType: null,\n batchType: null,\n name: 'GPX (GPS exchange format)',\n id: 'gpx',\n module: 'kml',\n version: VERSION,\n extensions: ['gpx'],\n mimeTypes: ['application/gpx+xml'],\n text: true,\n tests: [GPX_HEADER],\n parse: async (arrayBuffer, options) => parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n gpx: { shape: 'geojson-table' },\n gis: {}\n }\n};\nfunction parseTextSync(text, options) {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson = gpx(doc);\n const gpxOptions = { ...GPXLoader.options.gpx, ...options?.gpx };\n switch (gpxOptions.shape) {\n case 'object-row-table': {\n const table = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n case 'geojson-table': {\n const table = {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n features: geojson.features\n };\n return table;\n }\n case 'binary':\n return geojsonToBinary(geojson.features);\n default:\n throw new Error(gpxOptions.shape);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { kml } from '@tmcw/togeojson';\nimport { DOMParser } from '@xmldom/xmldom';\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.3.2\" !== 'undefined' ? \"4.3.2\" : 'latest';\nconst KML_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://www.opengis.net/kml/2.2\">`;\n/**\n * Loader for KML (Keyhole Markup Language)\n */\nexport const KMLLoader = {\n dataType: null,\n batchType: null,\n name: 'KML (Keyhole Markup Language)',\n id: 'kml',\n module: 'kml',\n version: VERSION,\n extensions: ['kml'],\n mimeTypes: ['application/vnd.google-earth.kml+xml'],\n text: true,\n tests: [KML_HEADER],\n parse: async (arrayBuffer, options) => parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n kml: { shape: 'geojson-table' },\n gis: {}\n }\n};\nfunction parseTextSync(text, options) {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson = kml(doc);\n const kmlOptions = { ...KMLLoader.options.kml, ...options?.kml };\n switch (kmlOptions.shape) {\n case 'geojson-table': {\n const table = {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n features: geojson.features\n };\n return table;\n }\n // case 'geojson':\n // return geojson;\n // case 'binary':\n // return geojsonToBinary(geojson.features);\n // case 'raw':\n // return doc;\n case 'object-row-table':\n const table = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n default:\n throw new Error(kmlOptions.shape);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { geojsonToBinary } from '@loaders.gl/gis';\nimport { tcx } from '@tmcw/togeojson';\nimport { DOMParser } from '@xmldom/xmldom';\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.3.2\" !== 'undefined' ? \"4.3.2\" : 'latest';\nconst TCX_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<TrainingCenterDatabase`;\n/**\n * Loader for TCX (Training Center XML) - Garmin GPS track format\n */\nexport const TCXLoader = {\n dataType: null,\n batchType: null,\n name: 'TCX (Training Center XML)',\n id: 'tcx',\n module: 'kml',\n version: VERSION,\n extensions: ['tcx'],\n mimeTypes: ['application/vnd.garmin.tcx+xml'],\n text: true,\n tests: [TCX_HEADER],\n parse: async (arrayBuffer, options) => parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n tcx: { shape: 'geojson-table' },\n gis: {}\n }\n};\nfunction parseTextSync(text, options) {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson = tcx(doc);\n const tcxOptions = { ...TCXLoader.options.tcx, ...options?.tcx };\n switch (tcxOptions.shape) {\n case 'object-row-table': {\n const table = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n case 'geojson-table': {\n const table = {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n schema: { metadata: {}, fields: [] },\n features: geojson.features\n };\n return table;\n }\n case 'binary':\n return geojsonToBinary(geojson.features);\n default:\n throw new Error(tcxOptions.shape);\n }\n}\n"],
"mappings": "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",
"names": ["import_togeojson", "import_xmldom", "VERSION", "parseTextSync", "table", "import_gis", "import_togeojson", "import_xmldom", "VERSION", "parseTextSync"]
}