You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
230 lines
11 KiB
230 lines
11 KiB
|
3 years ago
|
/**
|
||
|
|
* @param {import("../geom/Geometry.js").default} geometry Geometry.
|
||
|
|
* @param {boolean} write Set to true for writing, false for reading.
|
||
|
|
* @param {WriteOptions|ReadOptions} [options] Options.
|
||
|
|
* @return {import("../geom/Geometry.js").default} Transformed geometry.
|
||
|
|
*/
|
||
|
|
export function transformGeometryWithOptions(geometry: import("../geom/Geometry.js").default, write: boolean, options?: ReadOptions | WriteOptions | undefined): import("../geom/Geometry.js").default;
|
||
|
|
/**
|
||
|
|
* @param {import("../extent.js").Extent} extent Extent.
|
||
|
|
* @param {ReadOptions} [options] Read options.
|
||
|
|
* @return {import("../extent.js").Extent} Transformed extent.
|
||
|
|
*/
|
||
|
|
export function transformExtentWithOptions(extent: import("../extent.js").Extent, options?: ReadOptions | undefined): import("../extent.js").Extent;
|
||
|
|
export default FeatureFormat;
|
||
|
|
export type ReadOptions = {
|
||
|
|
/**
|
||
|
|
* Projection of the data we are reading.
|
||
|
|
* If not provided, the projection will be derived from the data (where possible) or
|
||
|
|
* the `dataProjection` of the format is assigned (where set). If the projection
|
||
|
|
* can not be derived from the data and if no `dataProjection` is set for a format,
|
||
|
|
* the features will not be reprojected.
|
||
|
|
*/
|
||
|
|
dataProjection?: import("../proj.js").ProjectionLike;
|
||
|
|
/**
|
||
|
|
* Tile extent in map units of the tile being read.
|
||
|
|
* This is only required when reading data with tile pixels as geometry units. When configured,
|
||
|
|
* a `dataProjection` with `TILE_PIXELS` as `units` and the tile's pixel extent as `extent` needs to be
|
||
|
|
* provided.
|
||
|
|
*/
|
||
|
|
extent?: import("../extent.js").Extent | undefined;
|
||
|
|
/**
|
||
|
|
* Projection of the feature geometries
|
||
|
|
* created by the format reader. If not provided, features will be returned in the
|
||
|
|
* `dataProjection`.
|
||
|
|
*/
|
||
|
|
featureProjection?: import("../proj.js").ProjectionLike;
|
||
|
|
};
|
||
|
|
export type WriteOptions = {
|
||
|
|
/**
|
||
|
|
* Projection of the data we are writing.
|
||
|
|
* If not provided, the `dataProjection` of the format is assigned (where set).
|
||
|
|
* If no `dataProjection` is set for a format, the features will be returned
|
||
|
|
* in the `featureProjection`.
|
||
|
|
*/
|
||
|
|
dataProjection?: import("../proj.js").ProjectionLike;
|
||
|
|
/**
|
||
|
|
* Projection of the feature geometries
|
||
|
|
* that will be serialized by the format writer. If not provided, geometries are assumed
|
||
|
|
* to be in the `dataProjection` if that is set; in other words, they are not transformed.
|
||
|
|
*/
|
||
|
|
featureProjection?: import("../proj.js").ProjectionLike;
|
||
|
|
/**
|
||
|
|
* When writing geometries, follow the right-hand
|
||
|
|
* rule for linear ring orientation. This means that polygons will have counter-clockwise
|
||
|
|
* exterior rings and clockwise interior rings. By default, coordinates are serialized
|
||
|
|
* as they are provided at construction. If `true`, the right-hand rule will
|
||
|
|
* be applied. If `false`, the left-hand rule will be applied (clockwise for
|
||
|
|
* exterior and counter-clockwise for interior rings). Note that not all
|
||
|
|
* formats support this. The GeoJSON format does use this property when writing
|
||
|
|
* geometries.
|
||
|
|
*/
|
||
|
|
rightHanded?: boolean | undefined;
|
||
|
|
/**
|
||
|
|
* Maximum number of decimal places for coordinates.
|
||
|
|
* Coordinates are stored internally as floats, but floating-point arithmetic can create
|
||
|
|
* coordinates with a large number of decimal places, not generally wanted on output.
|
||
|
|
* Set a number here to round coordinates. Can also be used to ensure that
|
||
|
|
* coordinates read in can be written back out with the same number of decimals.
|
||
|
|
* Default is no rounding.
|
||
|
|
*/
|
||
|
|
decimals?: number | undefined;
|
||
|
|
};
|
||
|
|
export type Type = 'arraybuffer' | 'json' | 'text' | 'xml';
|
||
|
|
/**
|
||
|
|
* @typedef {Object} ReadOptions
|
||
|
|
* @property {import("../proj.js").ProjectionLike} [dataProjection] Projection of the data we are reading.
|
||
|
|
* If not provided, the projection will be derived from the data (where possible) or
|
||
|
|
* the `dataProjection` of the format is assigned (where set). If the projection
|
||
|
|
* can not be derived from the data and if no `dataProjection` is set for a format,
|
||
|
|
* the features will not be reprojected.
|
||
|
|
* @property {import("../extent.js").Extent} [extent] Tile extent in map units of the tile being read.
|
||
|
|
* This is only required when reading data with tile pixels as geometry units. When configured,
|
||
|
|
* a `dataProjection` with `TILE_PIXELS` as `units` and the tile's pixel extent as `extent` needs to be
|
||
|
|
* provided.
|
||
|
|
* @property {import("../proj.js").ProjectionLike} [featureProjection] Projection of the feature geometries
|
||
|
|
* created by the format reader. If not provided, features will be returned in the
|
||
|
|
* `dataProjection`.
|
||
|
|
*/
|
||
|
|
/**
|
||
|
|
* @typedef {Object} WriteOptions
|
||
|
|
* @property {import("../proj.js").ProjectionLike} [dataProjection] Projection of the data we are writing.
|
||
|
|
* If not provided, the `dataProjection` of the format is assigned (where set).
|
||
|
|
* If no `dataProjection` is set for a format, the features will be returned
|
||
|
|
* in the `featureProjection`.
|
||
|
|
* @property {import("../proj.js").ProjectionLike} [featureProjection] Projection of the feature geometries
|
||
|
|
* that will be serialized by the format writer. If not provided, geometries are assumed
|
||
|
|
* to be in the `dataProjection` if that is set; in other words, they are not transformed.
|
||
|
|
* @property {boolean} [rightHanded] When writing geometries, follow the right-hand
|
||
|
|
* rule for linear ring orientation. This means that polygons will have counter-clockwise
|
||
|
|
* exterior rings and clockwise interior rings. By default, coordinates are serialized
|
||
|
|
* as they are provided at construction. If `true`, the right-hand rule will
|
||
|
|
* be applied. If `false`, the left-hand rule will be applied (clockwise for
|
||
|
|
* exterior and counter-clockwise for interior rings). Note that not all
|
||
|
|
* formats support this. The GeoJSON format does use this property when writing
|
||
|
|
* geometries.
|
||
|
|
* @property {number} [decimals] Maximum number of decimal places for coordinates.
|
||
|
|
* Coordinates are stored internally as floats, but floating-point arithmetic can create
|
||
|
|
* coordinates with a large number of decimal places, not generally wanted on output.
|
||
|
|
* Set a number here to round coordinates. Can also be used to ensure that
|
||
|
|
* coordinates read in can be written back out with the same number of decimals.
|
||
|
|
* Default is no rounding.
|
||
|
|
*/
|
||
|
|
/**
|
||
|
|
* @typedef {'arraybuffer' | 'json' | 'text' | 'xml'} Type
|
||
|
|
*/
|
||
|
|
/**
|
||
|
|
* @classdesc
|
||
|
|
* Abstract base class; normally only used for creating subclasses and not
|
||
|
|
* instantiated in apps.
|
||
|
|
* Base class for feature formats.
|
||
|
|
* {@link module:ol/format/Feature~FeatureFormat} subclasses provide the ability to decode and encode
|
||
|
|
* {@link module:ol/Feature~Feature} objects from a variety of commonly used geospatial
|
||
|
|
* file formats. See the documentation for each format for more details.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @api
|
||
|
|
*/
|
||
|
|
declare class FeatureFormat {
|
||
|
|
/**
|
||
|
|
* @protected
|
||
|
|
* @type {import("../proj/Projection.js").default|undefined}
|
||
|
|
*/
|
||
|
|
protected dataProjection: import("../proj/Projection.js").default | undefined;
|
||
|
|
/**
|
||
|
|
* @protected
|
||
|
|
* @type {import("../proj/Projection.js").default|undefined}
|
||
|
|
*/
|
||
|
|
protected defaultFeatureProjection: import("../proj/Projection.js").default | undefined;
|
||
|
|
/**
|
||
|
|
* A list media types supported by the format in descending order of preference.
|
||
|
|
* @type {Array<string>}
|
||
|
|
*/
|
||
|
|
supportedMediaTypes: Array<string>;
|
||
|
|
/**
|
||
|
|
* Adds the data projection to the read options.
|
||
|
|
* @param {Document|Element|Object|string} source Source.
|
||
|
|
* @param {ReadOptions} [options] Options.
|
||
|
|
* @return {ReadOptions|undefined} Options.
|
||
|
|
* @protected
|
||
|
|
*/
|
||
|
|
protected getReadOptions(source: Document | Element | any | string, options?: ReadOptions | undefined): ReadOptions | undefined;
|
||
|
|
/**
|
||
|
|
* Sets the `dataProjection` on the options, if no `dataProjection`
|
||
|
|
* is set.
|
||
|
|
* @param {WriteOptions|ReadOptions|undefined} options
|
||
|
|
* Options.
|
||
|
|
* @protected
|
||
|
|
* @return {WriteOptions|ReadOptions|undefined}
|
||
|
|
* Updated options.
|
||
|
|
*/
|
||
|
|
protected adaptOptions(options: WriteOptions | ReadOptions | undefined): WriteOptions | ReadOptions | undefined;
|
||
|
|
/**
|
||
|
|
* @abstract
|
||
|
|
* @return {Type} The format type.
|
||
|
|
*/
|
||
|
|
getType(): Type;
|
||
|
|
/**
|
||
|
|
* Read a single feature from a source.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @param {Document|Element|Object|string} source Source.
|
||
|
|
* @param {ReadOptions} [options] Read options.
|
||
|
|
* @return {import("../Feature.js").FeatureLike} Feature.
|
||
|
|
*/
|
||
|
|
readFeature(source: Document | Element | any | string, options?: ReadOptions | undefined): import("../Feature.js").FeatureLike;
|
||
|
|
/**
|
||
|
|
* Read all features from a source.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @param {Document|Element|ArrayBuffer|Object|string} source Source.
|
||
|
|
* @param {ReadOptions} [options] Read options.
|
||
|
|
* @return {Array<import("../Feature.js").FeatureLike>} Features.
|
||
|
|
*/
|
||
|
|
readFeatures(source: Document | Element | ArrayBuffer | any | string, options?: ReadOptions | undefined): Array<import("../Feature.js").FeatureLike>;
|
||
|
|
/**
|
||
|
|
* Read a single geometry from a source.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @param {Document|Element|Object|string} source Source.
|
||
|
|
* @param {ReadOptions} [options] Read options.
|
||
|
|
* @return {import("../geom/Geometry.js").default} Geometry.
|
||
|
|
*/
|
||
|
|
readGeometry(source: Document | Element | any | string, options?: ReadOptions | undefined): import("../geom/Geometry.js").default;
|
||
|
|
/**
|
||
|
|
* Read the projection from a source.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @param {Document|Element|Object|string} source Source.
|
||
|
|
* @return {import("../proj/Projection.js").default|undefined} Projection.
|
||
|
|
*/
|
||
|
|
readProjection(source: Document | Element | any | string): import("../proj/Projection.js").default | undefined;
|
||
|
|
/**
|
||
|
|
* Encode a feature in this format.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @param {import("../Feature.js").default} feature Feature.
|
||
|
|
* @param {WriteOptions} [options] Write options.
|
||
|
|
* @return {string|ArrayBuffer} Result.
|
||
|
|
*/
|
||
|
|
writeFeature(feature: import("../Feature.js").default, options?: WriteOptions | undefined): string | ArrayBuffer;
|
||
|
|
/**
|
||
|
|
* Encode an array of features in this format.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @param {Array<import("../Feature.js").default>} features Features.
|
||
|
|
* @param {WriteOptions} [options] Write options.
|
||
|
|
* @return {string|ArrayBuffer} Result.
|
||
|
|
*/
|
||
|
|
writeFeatures(features: Array<import("../Feature.js").default>, options?: WriteOptions | undefined): string | ArrayBuffer;
|
||
|
|
/**
|
||
|
|
* Write a single geometry in this format.
|
||
|
|
*
|
||
|
|
* @abstract
|
||
|
|
* @param {import("../geom/Geometry.js").default} geometry Geometry.
|
||
|
|
* @param {WriteOptions} [options] Write options.
|
||
|
|
* @return {string|ArrayBuffer} Result.
|
||
|
|
*/
|
||
|
|
writeGeometry(geometry: import("../geom/Geometry.js").default, options?: WriteOptions | undefined): string | ArrayBuffer;
|
||
|
|
}
|
||
|
|
//# sourceMappingURL=Feature.d.ts.map
|