UNPKG

wkt-parser-helper

Version:

Module to help parse GeoJSONs to WKT and back

87 lines (86 loc) 3.34 kB
"use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.d = (exports1, definition)=>{ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, get: definition[key] }); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { convertFeatureCollection: ()=>convertFeatureCollection, convertFeatureToWK: ()=>convertFeatureToWK, convertGeometryToWK: ()=>convertGeometryToWK, convertToWK: ()=>convertToWK, parseFromWK: ()=>parseFromWK, convertFeatureCollectionToWktCollection: ()=>convertFeatureCollectionToWktCollection }); const external_betterknown_namespaceObject = require("betterknown"); function convertGeometryToWK(geojson) { return (0, external_betterknown_namespaceObject.geoJSONToWkt)(geojson); } function convertFeatureToWK(geojson) { return convertGeometryToWK(geojson.geometry); } function convertFeatureCollection(featureCollection) { if ('FeatureCollection' !== featureCollection.type) throw new Error('GeoJSON is not a FeatureCollection'); return `GEOMETRYCOLLECTION(${featureCollection.features.map((d)=>convertFeatureToWK(d)).join(',')})`; } function convertToWK(geojson) { switch(geojson.type){ case 'Feature': return convertFeatureToWK(geojson); case 'FeatureCollection': return convertFeatureCollection(geojson); default: return convertGeometryToWK(geojson); } } function convertFeatureCollectionToWktCollection(geojson) { return geojson.features.map((d)=>({ wkt: convertGeometryToWK(d.geometry), ...d.properties })); } function parseFromWK(item, asFeature = false, properties = {}) { const parsed = (0, external_betterknown_namespaceObject.wktToGeoJSON)(item); if (asFeature) return { type: 'Feature', geometry: parsed, properties }; return parsed; } exports.convertFeatureCollection = __webpack_exports__.convertFeatureCollection; exports.convertFeatureCollectionToWktCollection = __webpack_exports__.convertFeatureCollectionToWktCollection; exports.convertFeatureToWK = __webpack_exports__.convertFeatureToWK; exports.convertGeometryToWK = __webpack_exports__.convertGeometryToWK; exports.convertToWK = __webpack_exports__.convertToWK; exports.parseFromWK = __webpack_exports__.parseFromWK; for(var __webpack_i__ in __webpack_exports__)if (-1 === [ "convertFeatureCollection", "convertFeatureCollectionToWktCollection", "convertFeatureToWK", "convertGeometryToWK", "convertToWK", "parseFromWK" ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__]; Object.defineProperty(exports, '__esModule', { value: true });