UNPKG

backendless

Version:

Backendless JavaScript SDK for Node.js and the browser

92 lines (87 loc) 2.65 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _spatialReferenceSystem = _interopRequireDefault(require("./spatial-reference-system")); var _geoJsonParser = _interopRequireDefault(require("./geo-json-parser")); var _wktParser = _interopRequireDefault(require("./wkt-parser")); var Geometry = /*#__PURE__*/function () { function Geometry(srs) { (0, _classCallCheck2["default"])(this, Geometry); this.srs = srs || _spatialReferenceSystem["default"].DEFAULT; } (0, _createClass2["default"])(Geometry, [{ key: "getSRS", value: function getSRS() { return this.srs; } /** * @abstract * @description It is an abstract method and it must be overridden in an inherited class */ }, { key: "getGeojsonType", value: function getGeojsonType() {} /** * @abstract * @description It is an abstract method and it must be overridden in an inherited class */ }, { key: "getWktType", value: function getWktType() {} /** * @abstract * @description It is an abstract method and it must be overridden in an inherited class */ }, { key: "wktCoordinatePairs", value: function wktCoordinatePairs() {} /** * @abstract * @description It is an abstract method and it must be overridden in an inherited class */ }, { key: "jsonCoordinatePairs", value: function jsonCoordinatePairs() {} }, { key: "asGeoJSON", value: function asGeoJSON() { return { type: this.getGeojsonType(), coordinates: this.jsonCoordinatePairs() }; } }, { key: "asWKT", value: function asWKT() { return this.getWktType() + '(' + this.wktCoordinatePairs() + ')'; } }, { key: "toJSON", value: function toJSON() { return this.asGeoJSON(); } }, { key: "toString", value: function toString() { return '\'' + this.asWKT() + '\''; } }], [{ key: "fromWKT", value: function fromWKT(wellKnownText, srs) { return new _wktParser["default"](srs).read(wellKnownText); } }, { key: "fromGeoJSON", value: function fromGeoJSON(geoJSON, srs) { return new _geoJsonParser["default"](srs).read(geoJSON); } }]); return Geometry; }(); var _default = Geometry; exports["default"] = _default;