Class: GeoJSON

ol.format.GeoJSON


Feature format for reading and writing data in the GeoJSON format.

new ol.format.GeoJSON(opt_options)

src/ol/format/geojson.js, line 31
Name Type Description
options

Options.

Name Type Description
defaultDataProjection ol.ProjectionLike

Default data projection. Default is EPSG:4326.

featureProjection ol.ProjectionLike

Projection for features read or written by the format. Options passed to read or write methods will take precedence.

geometryName string | undefined

Geometry name to use when creating features.

Extends

Methods

readFeature(source, opt_options){ol.Feature}

src/ol/format/geojson.js, line 341

Read a feature from a GeoJSON Feature source. Only works for Feature or geometry types. Use ol.format.GeoJSON#readFeatures to read FeatureCollection source. If feature at source has an id, it will be used as Feature id by calling ol.Feature#setId internally.

Name Type Description
source Document | Node | Object | string

Source.

options

Read options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are reading. If not provided, the projection will be derived from the data (where possible) or the defaultDataProjection of the format is assigned (where set). If the projection can not be derived from the data and if no defaultDataProjection is set for a format, the features will not be reprojected.

extent ol.Extent

Tile extent of the tile being read. This is only used and required for ol.format.MVT. Required.

featureProjection ol.ProjectionLike

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

Returns:
Feature.

readFeatures(source, opt_options){Array.<ol.Feature>}

src/ol/format/geojson.js, line 355

Read all features from a GeoJSON source. Works for all GeoJSON types. If the source includes only geometries, features will be created with those geometries.

Name Type Description
source Document | Node | Object | string

Source.

options

Read options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are reading. If not provided, the projection will be derived from the data (where possible) or the defaultDataProjection of the format is assigned (where set). If the projection can not be derived from the data and if no defaultDataProjection is set for a format, the features will not be reprojected.

extent ol.Extent

Tile extent of the tile being read. This is only used and required for ol.format.MVT. Required.

featureProjection ol.ProjectionLike

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

Returns:
Features.

readGeometry(source, opt_options){ol.geom.Geometry}

src/ol/format/geojson.js, line 426

Read a geometry from a GeoJSON source.

Name Type Description
source Document | Node | Object | string

Source.

options

Read options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are reading. If not provided, the projection will be derived from the data (where possible) or the defaultDataProjection of the format is assigned (where set). If the projection can not be derived from the data and if no defaultDataProjection is set for a format, the features will not be reprojected.

extent ol.Extent

Tile extent of the tile being read. This is only used and required for ol.format.MVT. Required.

featureProjection ol.ProjectionLike

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

Returns:
Geometry.

readProjection(source){ol.proj.Projection}

src/ol/format/geojson.js, line 447

Read the projection from a GeoJSON source.

Name Type Description
source Document | Node | Object | string

Source.

Returns:
Projection.

writeFeature(feature, opt_options){string}

src/ol/format/geojson.js, line 486

Encode a feature as a GeoJSON Feature string.

Name Type Description
feature ol.Feature

Feature.

options

Write options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are writing. If not provided, the defaultDataProjection of the format is assigned (where set). If no defaultDataProjection is set for a format, the features will be returned in the featureProjection.

featureProjection ol.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.

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:
GeoJSON.

writeFeatureObject(feature, opt_options){GeoJSONFeature}

src/ol/format/geojson.js, line 498

Encode a feature as a GeoJSON Feature object.

Name Type Description
feature ol.Feature

Feature.

options

Write options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are writing. If not provided, the defaultDataProjection of the format is assigned (where set). If no defaultDataProjection is set for a format, the features will be returned in the featureProjection.

featureProjection ol.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.

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:
Object.

writeFeatures(features, opt_options){string}

src/ol/format/geojson.js, line 535

Encode an array of features as GeoJSON.

Name Type Description
features Array.<ol.Feature>

Features.

options

Write options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are writing. If not provided, the defaultDataProjection of the format is assigned (where set). If no defaultDataProjection is set for a format, the features will be returned in the featureProjection.

featureProjection ol.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.

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:
GeoJSON.

writeFeaturesObject(features, opt_options){GeoJSONFeatureCollection}

src/ol/format/geojson.js, line 547

Encode an array of features as a GeoJSON object.

Name Type Description
features Array.<ol.Feature>

Features.

options

Write options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are writing. If not provided, the defaultDataProjection of the format is assigned (where set). If no defaultDataProjection is set for a format, the features will be returned in the featureProjection.

featureProjection ol.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.

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:
GeoJSON Object.

writeGeometry(geometry, opt_options){string}

src/ol/format/geojson.js, line 570

Encode a geometry as a GeoJSON string.

Name Type Description
geometry ol.geom.Geometry

Geometry.

options

Write options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are writing. If not provided, the defaultDataProjection of the format is assigned (where set). If no defaultDataProjection is set for a format, the features will be returned in the featureProjection.

featureProjection ol.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.

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:
GeoJSON.

writeGeometryObject(geometry, opt_options){GeoJSONGeometry|GeoJSONGeometryCollection}

src/ol/format/geojson.js, line 582

Encode a geometry as a GeoJSON object.

Name Type Description
geometry ol.geom.Geometry

Geometry.

options

Write options.

Name Type Description
dataProjection ol.ProjectionLike

Projection of the data we are writing. If not provided, the defaultDataProjection of the format is assigned (where set). If no defaultDataProjection is set for a format, the features will be returned in the featureProjection.

featureProjection ol.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.

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:
Object.