Fix TypeScript errors in ol/format/GML
This commit is contained in:
@@ -179,7 +179,7 @@ class GML2 extends GMLBase {
|
|||||||
writeFeatureElement(node, feature, objectStack) {
|
writeFeatureElement(node, feature, objectStack) {
|
||||||
const fid = feature.getId();
|
const fid = feature.getId();
|
||||||
if (fid) {
|
if (fid) {
|
||||||
node.setAttribute('fid', fid);
|
node.setAttribute('fid', /** @type {string} */ (fid));
|
||||||
}
|
}
|
||||||
const context = /** @type {Object} */ (objectStack[objectStack.length - 1]);
|
const context = /** @type {Object} */ (objectStack[objectStack.length - 1]);
|
||||||
const featureNS = context['featureNS'];
|
const featureNS = context['featureNS'];
|
||||||
@@ -285,7 +285,7 @@ class GML2 extends GMLBase {
|
|||||||
writeGeometryElement(node, geometry, objectStack) {
|
writeGeometryElement(node, geometry, objectStack) {
|
||||||
const context = /** @type {import("./Feature.js").WriteOptions} */ (objectStack[objectStack.length - 1]);
|
const context = /** @type {import("./Feature.js").WriteOptions} */ (objectStack[objectStack.length - 1]);
|
||||||
const item = assign({}, context);
|
const item = assign({}, context);
|
||||||
item.node = node;
|
item['node'] = node;
|
||||||
let value;
|
let value;
|
||||||
if (Array.isArray(geometry)) {
|
if (Array.isArray(geometry)) {
|
||||||
if (context.dataProjection) {
|
if (context.dataProjection) {
|
||||||
@@ -588,9 +588,9 @@ class GML2 extends GMLBase {
|
|||||||
/**
|
/**
|
||||||
* @const
|
* @const
|
||||||
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
* @private
|
* @protected
|
||||||
*/
|
*/
|
||||||
GML2.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS_ = {
|
GML2.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = {
|
||||||
'http://www.opengis.net/gml': {
|
'http://www.opengis.net/gml': {
|
||||||
'coordinates': makeReplacer(GML2.prototype.readFlatCoordinates_)
|
'coordinates': makeReplacer(GML2.prototype.readFlatCoordinates_)
|
||||||
}
|
}
|
||||||
@@ -599,9 +599,9 @@ GML2.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS_ = {
|
|||||||
/**
|
/**
|
||||||
* @const
|
* @const
|
||||||
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
* @private
|
* @protected
|
||||||
*/
|
*/
|
||||||
GML2.prototype.FLAT_LINEAR_RINGS_PARSERS_ = {
|
GML2.prototype.FLAT_LINEAR_RINGS_PARSERS = {
|
||||||
'http://www.opengis.net/gml': {
|
'http://www.opengis.net/gml': {
|
||||||
'innerBoundaryIs': GML2.prototype.innerBoundaryIsParser_,
|
'innerBoundaryIs': GML2.prototype.innerBoundaryIsParser_,
|
||||||
'outerBoundaryIs': GML2.prototype.outerBoundaryIsParser_
|
'outerBoundaryIs': GML2.prototype.outerBoundaryIsParser_
|
||||||
@@ -623,9 +623,9 @@ GML2.prototype.BOX_PARSERS_ = {
|
|||||||
/**
|
/**
|
||||||
* @const
|
* @const
|
||||||
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
* @private
|
* @protected
|
||||||
*/
|
*/
|
||||||
GML2.prototype.GEOMETRY_PARSERS_ = {
|
GML2.prototype.GEOMETRY_PARSERS = {
|
||||||
'http://www.opengis.net/gml': {
|
'http://www.opengis.net/gml': {
|
||||||
'Point': makeReplacer(GMLBase.prototype.readPoint),
|
'Point': makeReplacer(GMLBase.prototype.readPoint),
|
||||||
'MultiPoint': makeReplacer(
|
'MultiPoint': makeReplacer(
|
||||||
|
|||||||
+15
-14
@@ -183,7 +183,7 @@ class GML3 extends GMLBase {
|
|||||||
*/
|
*/
|
||||||
readPolygonPatch_(node, objectStack) {
|
readPolygonPatch_(node, objectStack) {
|
||||||
return pushParseAndPop([null],
|
return pushParseAndPop([null],
|
||||||
this.FLAT_LINEAR_RINGS_PARSERS_, node, objectStack, this);
|
this.FLAT_LINEAR_RINGS_PARSERS, node, objectStack, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -194,7 +194,7 @@ class GML3 extends GMLBase {
|
|||||||
*/
|
*/
|
||||||
readLineStringSegment_(node, objectStack) {
|
readLineStringSegment_(node, objectStack) {
|
||||||
return pushParseAndPop([null],
|
return pushParseAndPop([null],
|
||||||
this.GEOMETRY_FLAT_COORDINATES_PARSERS_,
|
this.GEOMETRY_FLAT_COORDINATES_PARSERS,
|
||||||
node, objectStack, this);
|
node, objectStack, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -357,9 +357,9 @@ class GML3 extends GMLBase {
|
|||||||
} else if (node.getAttribute('dimension')) {
|
} else if (node.getAttribute('dimension')) {
|
||||||
dim = readNonNegativeIntegerString(
|
dim = readNonNegativeIntegerString(
|
||||||
node.getAttribute('dimension'));
|
node.getAttribute('dimension'));
|
||||||
} else if (node.parentNode.getAttribute('srsDimension')) {
|
} else if (/** @type {Element} */ (node.parentNode).getAttribute('srsDimension')) {
|
||||||
dim = readNonNegativeIntegerString(
|
dim = readNonNegativeIntegerString(
|
||||||
node.parentNode.getAttribute('srsDimension'));
|
/** @type {Element} */ (node.parentNode).getAttribute('srsDimension'));
|
||||||
} else if (contextDimension) {
|
} else if (contextDimension) {
|
||||||
dim = readNonNegativeIntegerString(contextDimension);
|
dim = readNonNegativeIntegerString(contextDimension);
|
||||||
}
|
}
|
||||||
@@ -387,7 +387,7 @@ class GML3 extends GMLBase {
|
|||||||
writePos_(node, value, objectStack) {
|
writePos_(node, value, objectStack) {
|
||||||
const context = objectStack[objectStack.length - 1];
|
const context = objectStack[objectStack.length - 1];
|
||||||
const hasZ = context['hasZ'];
|
const hasZ = context['hasZ'];
|
||||||
const srsDimension = hasZ ? 3 : 2;
|
const srsDimension = hasZ ? '3' : '2';
|
||||||
node.setAttribute('srsDimension', srsDimension);
|
node.setAttribute('srsDimension', srsDimension);
|
||||||
const srsName = context['srsName'];
|
const srsName = context['srsName'];
|
||||||
let axisOrientation = 'enu';
|
let axisOrientation = 'enu';
|
||||||
@@ -443,7 +443,7 @@ class GML3 extends GMLBase {
|
|||||||
writePosList_(node, value, objectStack) {
|
writePosList_(node, value, objectStack) {
|
||||||
const context = objectStack[objectStack.length - 1];
|
const context = objectStack[objectStack.length - 1];
|
||||||
const hasZ = context['hasZ'];
|
const hasZ = context['hasZ'];
|
||||||
const srsDimension = hasZ ? 3 : 2;
|
const srsDimension = hasZ ? '3' : '2';
|
||||||
node.setAttribute('srsDimension', srsDimension);
|
node.setAttribute('srsDimension', srsDimension);
|
||||||
const srsName = context['srsName'];
|
const srsName = context['srsName'];
|
||||||
// only 2d for simple features profile
|
// only 2d for simple features profile
|
||||||
@@ -731,7 +731,7 @@ class GML3 extends GMLBase {
|
|||||||
writeGeometryElement(node, geometry, objectStack) {
|
writeGeometryElement(node, geometry, objectStack) {
|
||||||
const context = /** @type {import("./Feature.js").WriteOptions} */ (objectStack[objectStack.length - 1]);
|
const context = /** @type {import("./Feature.js").WriteOptions} */ (objectStack[objectStack.length - 1]);
|
||||||
const item = assign({}, context);
|
const item = assign({}, context);
|
||||||
item.node = node;
|
item['node'] = node;
|
||||||
let value;
|
let value;
|
||||||
if (Array.isArray(geometry)) {
|
if (Array.isArray(geometry)) {
|
||||||
if (context.dataProjection) {
|
if (context.dataProjection) {
|
||||||
@@ -757,7 +757,7 @@ class GML3 extends GMLBase {
|
|||||||
writeFeatureElement(node, feature, objectStack) {
|
writeFeatureElement(node, feature, objectStack) {
|
||||||
const fid = feature.getId();
|
const fid = feature.getId();
|
||||||
if (fid) {
|
if (fid) {
|
||||||
node.setAttribute('fid', fid);
|
node.setAttribute('fid', /** @type {string} */ (fid));
|
||||||
}
|
}
|
||||||
const context = /** @type {Object} */ (objectStack[objectStack.length - 1]);
|
const context = /** @type {Object} */ (objectStack[objectStack.length - 1]);
|
||||||
const featureNS = context['featureNS'];
|
const featureNS = context['featureNS'];
|
||||||
@@ -805,6 +805,7 @@ class GML3 extends GMLBase {
|
|||||||
const context = /** @type {Object} */ (objectStack[objectStack.length - 1]);
|
const context = /** @type {Object} */ (objectStack[objectStack.length - 1]);
|
||||||
const featureType = context['featureType'];
|
const featureType = context['featureType'];
|
||||||
const featureNS = context['featureNS'];
|
const featureNS = context['featureNS'];
|
||||||
|
/** @type {Object<string, Object<string, import("../xml.js").Serializer>>} */
|
||||||
const serializers = {};
|
const serializers = {};
|
||||||
serializers[featureNS] = {};
|
serializers[featureNS] = {};
|
||||||
serializers[featureNS][featureType] = makeChildAppender(
|
serializers[featureNS][featureType] = makeChildAppender(
|
||||||
@@ -921,9 +922,9 @@ class GML3 extends GMLBase {
|
|||||||
/**
|
/**
|
||||||
* @const
|
* @const
|
||||||
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
* @private
|
* @protected
|
||||||
*/
|
*/
|
||||||
GML3.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS_ = {
|
GML3.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = {
|
||||||
'http://www.opengis.net/gml': {
|
'http://www.opengis.net/gml': {
|
||||||
'pos': makeReplacer(GML3.prototype.readFlatPos_),
|
'pos': makeReplacer(GML3.prototype.readFlatPos_),
|
||||||
'posList': makeReplacer(GML3.prototype.readFlatPosList_)
|
'posList': makeReplacer(GML3.prototype.readFlatPosList_)
|
||||||
@@ -934,9 +935,9 @@ GML3.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS_ = {
|
|||||||
/**
|
/**
|
||||||
* @const
|
* @const
|
||||||
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
* @private
|
* @protected
|
||||||
*/
|
*/
|
||||||
GML3.prototype.FLAT_LINEAR_RINGS_PARSERS_ = {
|
GML3.prototype.FLAT_LINEAR_RINGS_PARSERS = {
|
||||||
'http://www.opengis.net/gml': {
|
'http://www.opengis.net/gml': {
|
||||||
'interior': GML3.prototype.interiorParser_,
|
'interior': GML3.prototype.interiorParser_,
|
||||||
'exterior': GML3.prototype.exteriorParser_
|
'exterior': GML3.prototype.exteriorParser_
|
||||||
@@ -947,9 +948,9 @@ GML3.prototype.FLAT_LINEAR_RINGS_PARSERS_ = {
|
|||||||
/**
|
/**
|
||||||
* @const
|
* @const
|
||||||
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
* @private
|
* @protected
|
||||||
*/
|
*/
|
||||||
GML3.prototype.GEOMETRY_PARSERS_ = {
|
GML3.prototype.GEOMETRY_PARSERS = {
|
||||||
'http://www.opengis.net/gml': {
|
'http://www.opengis.net/gml': {
|
||||||
'Point': makeReplacer(GMLBase.prototype.readPoint),
|
'Point': makeReplacer(GMLBase.prototype.readPoint),
|
||||||
'MultiPoint': makeReplacer(
|
'MultiPoint': makeReplacer(
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ const ONLY_WHITESPACE_RE = /^[\s\xa0]*$/;
|
|||||||
* gml:MultiPolygon. Since the latter is deprecated in GML 3.
|
* gml:MultiPolygon. Since the latter is deprecated in GML 3.
|
||||||
* @property {string} [schemaLocation] Optional schemaLocation to use when
|
* @property {string} [schemaLocation] Optional schemaLocation to use when
|
||||||
* writing out the GML, this will override the default provided.
|
* writing out the GML, this will override the default provided.
|
||||||
|
* @property {boolean} [hasZ=false] If coordinates have a Z value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -126,7 +127,6 @@ class GMLBase extends XMLFeature {
|
|||||||
'featureMember': makeReplacer(this.readFeaturesInternal),
|
'featureMember': makeReplacer(this.readFeaturesInternal),
|
||||||
'featureMembers': makeReplacer(this.readFeaturesInternal)
|
'featureMembers': makeReplacer(this.readFeaturesInternal)
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -189,9 +189,11 @@ class GMLBase extends XMLFeature {
|
|||||||
featureNS = {};
|
featureNS = {};
|
||||||
featureNS[defaultPrefix] = ns;
|
featureNS[defaultPrefix] = ns;
|
||||||
}
|
}
|
||||||
|
/** @type {Object<string, Object<string, import("../xml.js").Parser>>} */
|
||||||
const parsersNS = {};
|
const parsersNS = {};
|
||||||
const featureTypes = Array.isArray(featureType) ? featureType : [featureType];
|
const featureTypes = Array.isArray(featureType) ? featureType : [featureType];
|
||||||
for (const p in featureNS) {
|
for (const p in featureNS) {
|
||||||
|
/** @type {Object<string, import("../xml.js").Parser>} */
|
||||||
const parsers = {};
|
const parsers = {};
|
||||||
for (let i = 0, ii = featureTypes.length; i < ii; ++i) {
|
for (let i = 0, ii = featureTypes.length; i < ii; ++i) {
|
||||||
const featurePrefix = featureTypes[i].indexOf(':') === -1 ?
|
const featurePrefix = featureTypes[i].indexOf(':') === -1 ?
|
||||||
@@ -227,7 +229,7 @@ class GMLBase extends XMLFeature {
|
|||||||
context['srsName'] = node.firstElementChild.getAttribute('srsName');
|
context['srsName'] = node.firstElementChild.getAttribute('srsName');
|
||||||
context['srsDimension'] = node.firstElementChild.getAttribute('srsDimension');
|
context['srsDimension'] = node.firstElementChild.getAttribute('srsDimension');
|
||||||
/** @type {import("../geom/Geometry.js").default} */
|
/** @type {import("../geom/Geometry.js").default} */
|
||||||
const geometry = pushParseAndPop(null, this.GEOMETRY_PARSERS_, node, objectStack, this);
|
const geometry = pushParseAndPop(null, this.GEOMETRY_PARSERS, node, objectStack, this);
|
||||||
if (geometry) {
|
if (geometry) {
|
||||||
return (
|
return (
|
||||||
/** @type {import("../geom/Geometry.js").default} */ (transformWithOptions(geometry, false, context))
|
/** @type {import("../geom/Geometry.js").default} */ (transformWithOptions(geometry, false, context))
|
||||||
@@ -383,7 +385,7 @@ class GMLBase extends XMLFeature {
|
|||||||
*/
|
*/
|
||||||
readFlatLinearRing_(node, objectStack) {
|
readFlatLinearRing_(node, objectStack) {
|
||||||
const ring = pushParseAndPop(null,
|
const ring = pushParseAndPop(null,
|
||||||
this.GEOMETRY_FLAT_COORDINATES_PARSERS_, node,
|
this.GEOMETRY_FLAT_COORDINATES_PARSERS, node,
|
||||||
objectStack, this);
|
objectStack, this);
|
||||||
if (ring) {
|
if (ring) {
|
||||||
return ring;
|
return ring;
|
||||||
@@ -412,7 +414,7 @@ class GMLBase extends XMLFeature {
|
|||||||
readPolygon(node, objectStack) {
|
readPolygon(node, objectStack) {
|
||||||
/** @type {Array<Array<number>>} */
|
/** @type {Array<Array<number>>} */
|
||||||
const flatLinearRings = pushParseAndPop([null],
|
const flatLinearRings = pushParseAndPop([null],
|
||||||
this.FLAT_LINEAR_RINGS_PARSERS_, node, objectStack, this);
|
this.FLAT_LINEAR_RINGS_PARSERS, node, objectStack, this);
|
||||||
if (flatLinearRings && flatLinearRings[0]) {
|
if (flatLinearRings && flatLinearRings[0]) {
|
||||||
const flatCoordinates = flatLinearRings[0];
|
const flatCoordinates = flatLinearRings[0];
|
||||||
const ends = [flatCoordinates.length];
|
const ends = [flatCoordinates.length];
|
||||||
@@ -434,7 +436,7 @@ class GMLBase extends XMLFeature {
|
|||||||
* @return {Array<number>} Flat coordinates.
|
* @return {Array<number>} Flat coordinates.
|
||||||
*/
|
*/
|
||||||
readFlatCoordinatesFromNode_(node, objectStack) {
|
readFlatCoordinatesFromNode_(node, objectStack) {
|
||||||
return pushParseAndPop(null, this.GEOMETRY_FLAT_COORDINATES_PARSERS_, node, objectStack, this);
|
return pushParseAndPop(null, this.GEOMETRY_FLAT_COORDINATES_PARSERS, node, objectStack, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -469,6 +471,37 @@ class GMLBase extends XMLFeature {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @const
|
||||||
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
|
* @protected
|
||||||
|
*/
|
||||||
|
GMLBase.prototype.FLAT_LINEAR_RINGS_PARSERS = {
|
||||||
|
'http://www.opengis.net/gml': {}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @const
|
||||||
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
|
* @protected
|
||||||
|
*/
|
||||||
|
GMLBase.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = {
|
||||||
|
'http://www.opengis.net/gml': {}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @const
|
||||||
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
|
* @protected
|
||||||
|
*/
|
||||||
|
GMLBase.prototype.GEOMETRY_PARSERS = {
|
||||||
|
'http://www.opengis.net/gml': {}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @const
|
* @const
|
||||||
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
* @type {Object<string, Object<string, import("../xml.js").Parser>>}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import {douglasPeuckerArray} from '../geom/flat/simplify.js';
|
|||||||
class MultiLineString extends SimpleGeometry {
|
class MultiLineString extends SimpleGeometry {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Array<Array<import("../coordinate.js").Coordinate>|import("../geom.js").MultiLineString>|Array<number>} coordinates
|
* @param {Array<Array<import("../coordinate.js").Coordinate>|LineString>|Array<number>} coordinates
|
||||||
* Coordinates or LineString geometries. (For internal use, flat coordinates in
|
* Coordinates or LineString geometries. (For internal use, flat coordinates in
|
||||||
* combination with `opt_layout` and `opt_ends` are also accepted.)
|
* combination with `opt_layout` and `opt_ends` are also accepted.)
|
||||||
* @param {GeometryLayout=} opt_layout Layout.
|
* @param {GeometryLayout=} opt_layout Layout.
|
||||||
@@ -58,7 +58,7 @@ class MultiLineString extends SimpleGeometry {
|
|||||||
this.ends_ = opt_ends;
|
this.ends_ = opt_ends;
|
||||||
} else {
|
} else {
|
||||||
let layout = this.getLayout();
|
let layout = this.getLayout();
|
||||||
const lineStrings = /** @type {Array<import("../geom.js").MultiLineString>} */ (coordinates);
|
const lineStrings = /** @type {Array<LineString>} */ (coordinates);
|
||||||
const flatCoordinates = [];
|
const flatCoordinates = [];
|
||||||
const ends = [];
|
const ends = [];
|
||||||
for (let i = 0, ii = lineStrings.length; i < ii; ++i) {
|
for (let i = 0, ii = lineStrings.length; i < ii; ++i) {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class MultiPolygon extends SimpleGeometry {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Array<Array<Array<import("../coordinate.js").Coordinate>>|Polygon>|Array<number>} coordinates Coordinates.
|
* @param {Array<Array<Array<import("../coordinate.js").Coordinate>>|Polygon>|Array<number>} coordinates Coordinates.
|
||||||
* For internal use, flat coordinats in combination with `opt_layout` and `opt_endss` are also accepted.
|
* For internal use, flat coordinates in combination with `opt_layout` and `opt_endss` are also accepted.
|
||||||
* @param {GeometryLayout=} opt_layout Layout.
|
* @param {GeometryLayout=} opt_layout Layout.
|
||||||
* @param {Array<Array<number>>=} opt_endss Array of ends for internal use with flat coordinates.
|
* @param {Array<Array<number>>=} opt_endss Array of ends for internal use with flat coordinates.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user