UNPKG

well-known-parser

Version:

A WKT/WKB/EWKT/EWKB/TWKB/GeoJSON parser and serializer

50 lines (49 loc) 1.55 kB
import { Point as t } from "./well-known-parser4.js"; import { decode as c } from "./well-known-parser13.js"; function m(a, e) { const r = new t(); if (r.srid = e.srid, r.hasZ = e.hasZ ?? !1, r.hasM = e.hasM ?? !1, a.isMatch(["EMPTY"])) return r; a.expectGroupStart(); const n = a.matchCoordinate({ hasZ: r.hasZ, hasM: r.hasM }); return r.x = n.x, r.y = n.y, r.z = n.z, r.m = n.m, a.expectGroupEnd(), r; } function M(a, e) { const r = a.readDouble(), n = a.readDouble(), d = e.hasZ ? a.readDouble() : void 0, h = e.hasM ? a.readDouble() : void 0; return new t(r, n, d, h, e.srid); } function o(a, e) { if (e.isEmpty) { const r = new t(void 0, void 0, void 0, void 0, e.srid); return r.hasZ = e.hasZ ?? !1, r.hasM = e.hasM ?? !1, r; } return i( a, e, new t(0, 0, e.hasZ ? 0 : void 0, e.hasM ? 0 : void 0) ); } function i(a, e, r) { const n = e.precisionFactor ?? 1, d = e.zPrecisionFactor ?? 1, h = e.mPrecisionFactor ?? 1; return r.x += c(a.readVarInt()) / n, r.y += c(a.readVarInt()) / n, e.hasZ && (r.z += c(a.readVarInt()) / d), e.hasM && (r.m += c(a.readVarInt()) / h), new t( r.x, r.y, r.z, r.m, e.srid ); } function w(a) { return a.length === 0 ? new t(void 0, void 0, void 0, void 0) : a.length > 2 ? new t(a[0], a[1], a[2], void 0) : new t(a[0], a[1], void 0, void 0); } export { w as parsePointGeoJSON, o as parsePointTwkb, M as parsePointWkb, m as parsePointWkt, i as parseRelativePointTwkb }; //# sourceMappingURL=well-known-parser16.js.map