backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
92 lines (87 loc) • 2.65 kB
JavaScript
;
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;