Class: WKB

ol/format/WKB~WKB


import WKB from 'ol/format/WKB.js';

Geometry format for reading and writing data in the Well-Known Binary (WKB) format. Also supports Extended Well-Known Binary (EWKB) format, used in PostGIS for example.

new WKB(options)

Name Type Description
splitCollection boolean (defaults to false)

Whether to split GeometryCollections into multiple features on reading.

hex boolean (defaults to true)

Returns hex string instead of ArrayBuffer for output. This also is used as a hint internally whether it should load contents as text or ArrayBuffer on reading.

littleEndian boolean (defaults to true)

Use littleEndian for output.

ewkb boolean (defaults to true)

Use EWKB format for output.

geometryLayout GeometryLayout (defaults to null)

Use specific coordinate layout for output features (null: auto detect)

nodataZ number (defaults to 0)

If the geometryLayout doesn't match with geometry to be output, this value is used to fill missing coordinate value of Z.

nodataM number (defaults to 0)

If the geometryLayout doesn't match with geometry to be output, this value is used to fill missing coordinate value of M.

srid number | boolean (defaults to true)

SRID for output. Specify integer value to enforce the value as a SRID. Specify true to extract from dataProjection. false to suppress the output. This option only takes effect when ewkb is true.

Extends

Methods

readFeature(source, options){Feature}

Read a single feature from a source.

Name Type Description
source string | ArrayBuffer | ArrayBufferView

Source.

options

Read options.

Name Type Description
dataProjection ProjectionLike | undefined

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.

extent Extent | undefined

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.

featureProjection ProjectionLike | undefined

Projection of the feature geometries created by the format reader. If not provided, features will be returned in the dataProjection.

Returns:
Feature.

readFeatures(source, options){Array<Feature>}

Read all features from a source.

Name Type Description
source string | ArrayBuffer | ArrayBufferView

Source.

options

Read options.

Name Type Description
dataProjection ProjectionLike | undefined

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.

extent Extent | undefined

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.

featureProjection ProjectionLike | undefined

Projection of the feature geometries created by the format reader. If not provided, features will be returned in the dataProjection.

Returns:
Features.

readGeometry(source, options){Geometry}

Read a single geometry from a source.

Name Type Description
source string | ArrayBuffer | ArrayBufferView

Source.

options

Read options.

Name Type Description
dataProjection ProjectionLike | undefined

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.

extent Extent | undefined

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.

featureProjection ProjectionLike | undefined

Projection of the feature geometries created by the format reader. If not provided, features will be returned in the dataProjection.

Returns:
Geometry.

readProjection(source){Projection | undefined}

Read the projection from a source.

Name Type Description
source string | ArrayBuffer | ArrayBufferView

Source.

Returns:
Projection.

writeFeature(feature, options){string | ArrayBuffer}

Encode a feature in this format.

Name Type Description
feature Feature

Feature.

options

Write options.

Name Type Description
dataProjection ProjectionLike | undefined

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.

featureProjection ProjectionLike | undefined

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.

rightHanded boolean | undefined

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.

decimals number | 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.

Returns:
Result.

writeFeatures(features, options){string | ArrayBuffer}

Encode an array of features in this format.

Name Type Description
features Array<Feature>

Features.

options

Write options.

Name Type Description
dataProjection ProjectionLike | undefined

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.

featureProjection ProjectionLike | undefined

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.

rightHanded boolean | undefined

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.

decimals number | 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.

Returns:
Result.

writeGeometry(geometry, options){string | ArrayBuffer}

Write a single geometry in this format.

Name Type Description
geometry Geometry

Geometry.

options

Write options.

Name Type Description
dataProjection ProjectionLike | undefined

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.

featureProjection ProjectionLike | undefined

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.

rightHanded boolean | undefined

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.

decimals number | 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.

Returns:
Result.