OpenLayers v4.0.1 API - Class: EsriJSON

# Class: EsriJSON

This documentation is for OpenLayers v4.0.1. The latest is v.

## ol.format.EsriJSON

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

#### new ol.format.EsriJSON(opt_options)

src/ol/format/esrijson.js, line 33

  Name | Type | Description
  --- | --- | ---

  `options`

  Options.

  Name | Type | Description
  --- | --- | ---
  `geometryName` | string | undefined | Geometry name to use when creating features.

### Extends

- ol.format.JSONFeature

### Methods

#### readFeature(source, opt_options){ol.Feature}

src/ol/format/esrijson.js, line 439

  Read a feature from a EsriJSON Feature source. Only works for Feature, use `readFeatures` to read FeatureCollection source.

  Name | Type | Description
  --- | --- | ---
  `source` | ArrayBuffer | 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.
  `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/esrijson.js, line 452

  Read all features from a EsriJSON source. Works with both Feature and FeatureCollection sources.

  Name | Type | Description
  --- | --- | ---
  `source` | ArrayBuffer | 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.
  `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/esrijson.js, line 515

  Read a geometry from a EsriJSON source.

  Name | Type | Description
  --- | --- | ---
  `source` | ArrayBuffer | 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.
  `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/esrijson.js, line 536

  Read the projection from a EsriJSON source.

  Name | Type | Description
  --- | --- | ---
  `source` | ArrayBuffer | Document | Node | Object | string | Source.

  ##### Returns:

  Projection.

#### writeFeature(feature, opt_options){string}

src/ol/format/esrijson.js, line 604

  Encode a feature as a EsriJSON 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:

  EsriJSON.

#### writeFeatureObject(feature, opt_options){Object}

src/ol/format/esrijson.js, line 616

  Encode a feature as a esriJSON 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/esrijson.js, line 651

  Encode an array of features as EsriJSON.

  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:

  EsriJSON.

#### writeFeaturesObject(features, opt_options){Object}

src/ol/format/esrijson.js, line 663

  Encode an array of features as a EsriJSON 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:

  EsriJSON Object.

#### writeGeometry(geometry, opt_options){string}

src/ol/format/esrijson.js, line 576

  Encode a geometry as a EsriJSON 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:

  EsriJSON.

#### writeGeometryObject(geometry, opt_options){EsriJSONGeometry}

src/ol/format/esrijson.js, line 588

  Encode a geometry as a EsriJSON 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.