var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); /** * @module ol/format/GML32 */ import GML2 from './GML2.js'; import GML3 from './GML3.js'; import GMLBase from './GMLBase.js'; import { makeArrayExtender, makeArrayPusher, makeChildAppender, makeReplacer, } from '../xml.js'; import { writeStringTextNode } from '../format/xsd.js'; /** * @classdesc Feature format for reading and writing data in the GML format * version 3.2.1. * @api */ var GML32 = /** @class */ (function (_super) { __extends(GML32, _super); /** * @param {import("./GMLBase.js").Options} [opt_options] Optional configuration object. */ function GML32(opt_options) { var _this = this; var options = /** @type {import("./GMLBase.js").Options} */ (opt_options ? opt_options : {}); _this = _super.call(this, options) || this; /** * @type {string} */ _this.schemaLocation = options.schemaLocation ? options.schemaLocation : _this.namespace + ' http://schemas.opengis.net/gml/3.2.1/gml.xsd'; return _this; } return GML32; }(GML3)); GML32.prototype.namespace = 'http://www.opengis.net/gml/3.2'; /** * @const * @type {Object>} */ GML32.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'pos': makeReplacer(GML3.prototype.readFlatPos), 'posList': makeReplacer(GML3.prototype.readFlatPosList), 'coordinates': makeReplacer(GML2.prototype.readFlatCoordinates), }, }; /** * @const * @type {Object>} */ GML32.prototype.FLAT_LINEAR_RINGS_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'interior': GML3.prototype.interiorParser, 'exterior': GML3.prototype.exteriorParser, }, }; /** * @const * @type {Object>} */ GML32.prototype.GEOMETRY_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'Point': makeReplacer(GMLBase.prototype.readPoint), 'MultiPoint': makeReplacer(GMLBase.prototype.readMultiPoint), 'LineString': makeReplacer(GMLBase.prototype.readLineString), 'MultiLineString': makeReplacer(GMLBase.prototype.readMultiLineString), 'LinearRing': makeReplacer(GMLBase.prototype.readLinearRing), 'Polygon': makeReplacer(GMLBase.prototype.readPolygon), 'MultiPolygon': makeReplacer(GMLBase.prototype.readMultiPolygon), 'Surface': makeReplacer(GML32.prototype.readSurface), 'MultiSurface': makeReplacer(GML3.prototype.readMultiSurface), 'Curve': makeReplacer(GML32.prototype.readCurve), 'MultiCurve': makeReplacer(GML3.prototype.readMultiCurve), 'Envelope': makeReplacer(GML32.prototype.readEnvelope), }, }; /** * @const * @type {Object>} */ GML32.prototype.MULTICURVE_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'curveMember': makeArrayPusher(GML3.prototype.curveMemberParser), 'curveMembers': makeArrayPusher(GML3.prototype.curveMemberParser), }, }; /** * @const * @type {Object>} */ GML32.prototype.MULTISURFACE_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'surfaceMember': makeArrayPusher(GML3.prototype.surfaceMemberParser), 'surfaceMembers': makeArrayPusher(GML3.prototype.surfaceMemberParser), }, }; /** * @const * @type {Object>} */ GML32.prototype.CURVEMEMBER_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'LineString': makeArrayPusher(GMLBase.prototype.readLineString), 'Curve': makeArrayPusher(GML3.prototype.readCurve), }, }; /** * @const * @type {Object>} */ GML32.prototype.SURFACEMEMBER_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'Polygon': makeArrayPusher(GMLBase.prototype.readPolygon), 'Surface': makeArrayPusher(GML3.prototype.readSurface), }, }; /** * @const * @type {Object>} */ GML32.prototype.SURFACE_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'patches': makeReplacer(GML3.prototype.readPatch), }, }; /** * @const * @type {Object>} */ GML32.prototype.CURVE_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'segments': makeReplacer(GML3.prototype.readSegment), }, }; /** * @const * @type {Object>} */ GML32.prototype.ENVELOPE_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'lowerCorner': makeArrayPusher(GML3.prototype.readFlatPosList), 'upperCorner': makeArrayPusher(GML3.prototype.readFlatPosList), }, }; /** * @const * @type {Object>} */ GML32.prototype.PATCHES_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'PolygonPatch': makeReplacer(GML3.prototype.readPolygonPatch), }, }; /** * @const * @type {Object>} */ GML32.prototype.SEGMENTS_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'LineStringSegment': makeArrayExtender(GML3.prototype.readLineStringSegment), }, }; /** * @const * @type {Object>} */ GML32.prototype.MULTIPOINT_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'pointMember': makeArrayPusher(GMLBase.prototype.pointMemberParser), 'pointMembers': makeArrayPusher(GMLBase.prototype.pointMemberParser), }, }; /** * @const * @type {Object>} */ GML32.prototype.MULTILINESTRING_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'lineStringMember': makeArrayPusher(GMLBase.prototype.lineStringMemberParser), 'lineStringMembers': makeArrayPusher(GMLBase.prototype.lineStringMemberParser), }, }; /** * @const * @type {Object>} */ GML32.prototype.MULTIPOLYGON_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'polygonMember': makeArrayPusher(GMLBase.prototype.polygonMemberParser), 'polygonMembers': makeArrayPusher(GMLBase.prototype.polygonMemberParser), }, }; /** * @const * @type {Object>} */ GML32.prototype.POINTMEMBER_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'Point': makeArrayPusher(GMLBase.prototype.readFlatCoordinatesFromNode), }, }; /** * @const * @type {Object>} */ GML32.prototype.LINESTRINGMEMBER_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'LineString': makeArrayPusher(GMLBase.prototype.readLineString), }, }; /** * @const * @type {Object>} */ GML32.prototype.POLYGONMEMBER_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'Polygon': makeArrayPusher(GMLBase.prototype.readPolygon), }, }; /** * @const * @type {Object>} */ GML32.prototype.RING_PARSERS = { 'http://www.opengis.net/gml/3.2': { 'LinearRing': makeReplacer(GMLBase.prototype.readFlatLinearRing), 'Ring': makeReplacer(GML32.prototype.readFlatCurveRing), }, }; /** * @type {Object>} */ GML32.prototype.RING_SERIALIZERS = { 'http://www.opengis.net/gml/3.2': { 'exterior': makeChildAppender(GML3.prototype.writeRing), 'interior': makeChildAppender(GML3.prototype.writeRing), }, }; /** * @type {Object>} */ GML32.prototype.ENVELOPE_SERIALIZERS = { 'http://www.opengis.net/gml/3.2': { 'lowerCorner': makeChildAppender(writeStringTextNode), 'upperCorner': makeChildAppender(writeStringTextNode), }, }; /** * @type {Object>} */ GML32.prototype.SURFACEORPOLYGONMEMBER_SERIALIZERS = { 'http://www.opengis.net/gml/3.2': { 'surfaceMember': makeChildAppender(GML3.prototype.writeSurfaceOrPolygonMember), 'polygonMember': makeChildAppender(GML3.prototype.writeSurfaceOrPolygonMember), }, }; /** * @type {Object>} */ GML32.prototype.POINTMEMBER_SERIALIZERS = { 'http://www.opengis.net/gml/3.2': { 'pointMember': makeChildAppender(GML3.prototype.writePointMember), }, }; /** * @type {Object>} */ GML32.prototype.LINESTRINGORCURVEMEMBER_SERIALIZERS = { 'http://www.opengis.net/gml/3.2': { 'lineStringMember': makeChildAppender(GML3.prototype.writeLineStringOrCurveMember), 'curveMember': makeChildAppender(GML3.prototype.writeLineStringOrCurveMember), }, }; /** * @type {Object>} */ GML32.prototype.GEOMETRY_SERIALIZERS = { 'http://www.opengis.net/gml/3.2': { 'Curve': makeChildAppender(GML3.prototype.writeCurveOrLineString), 'MultiCurve': makeChildAppender(GML3.prototype.writeMultiCurveOrLineString), 'Point': makeChildAppender(GML32.prototype.writePoint), 'MultiPoint': makeChildAppender(GML3.prototype.writeMultiPoint), 'LineString': makeChildAppender(GML3.prototype.writeCurveOrLineString), 'MultiLineString': makeChildAppender(GML3.prototype.writeMultiCurveOrLineString), 'LinearRing': makeChildAppender(GML3.prototype.writeLinearRing), 'Polygon': makeChildAppender(GML3.prototype.writeSurfaceOrPolygon), 'MultiPolygon': makeChildAppender(GML3.prototype.writeMultiSurfaceOrPolygon), 'Surface': makeChildAppender(GML3.prototype.writeSurfaceOrPolygon), 'MultiSurface': makeChildAppender(GML3.prototype.writeMultiSurfaceOrPolygon), 'Envelope': makeChildAppender(GML3.prototype.writeEnvelope), }, }; export default GML32; //# sourceMappingURL=GML32.js.map