Class: Feature


import Feature from 'ol/Feature';

A vector object for geographic features with a geometry and other attribute properties, similar to the features in vector file formats like GeoJSON.

Features can be styled individually with setStyle; otherwise they use the style of their vector layer.

Note that attribute properties are set as module:ol/Object~BaseObject properties on the feature object, so they are observable, and have get/set accessors.

Typically, a feature has a single geometry property. You can set the geometry using the setGeometry method and get it with getGeometry. It is possible to store more than one geometry on a feature using attribute properties. By default, the geometry used for rendering is identified by the property name geometry. If you want to use another geometry property for rendering, use the setGeometryName method to change the attribute property associated with the geometry for the feature. For example:

import Feature from 'ol/Feature';
import Polygon from 'ol/geom/Polygon';
import Point from 'ol/geom/Point';

var feature = new Feature({
  geometry: new Polygon(polyCoords),
  labelPoint: new Point(labelCoords),
  name: 'My Polygon'

// get the polygon geometry
var poly = feature.getGeometry();

// Render the feature as a point using the coordinates from labelPoint

// get the point geometry
var point = feature.getGeometry();

new Feature(opt_geometryOrProperties)

Feature.js, line 55
Name Type Description
geometryOrProperties module:ol/geom/Geometry~Geometry | Object.<string, *>=

You may pass a Geometry object directly, or an object literal containing properties. If you pass an object literal, you may include a Geometry associated with a geometry key.



Feature.js, line 120

Clone this feature. If the original feature has a geometry it is also cloned. The feature id is not set in the clone.

The clone.


Feature.js, line 142

Get the feature's default geometry. A feature may have any number of named geometries. The "default" geometry (the one that is rendered by default) is set when calling module:ol/Feature~Feature#setGeometry.

The default geometry for the feature.


Feature.js, line 166

Get the name of the feature's default geometry. By default, the default geometry is named geometry.

Get the property name associated with the default geometry for this feature.


Feature.js, line 155

Get the feature identifier. This is a stable identifier for the feature and is either set when reading data from a remote source or set explicitly by calling module:ol/Feature~Feature#setId.


Get the feature's style. Will return what was provided to the module:ol/Feature~Feature#setStyle method.

The feature style.


Feature.js, line 186

Get the feature's style function.

Return a function representing the current style of this feature.


Feature.js, line 220

Set the default geometry for the feature. This will update the property with the name returned by module:ol/Feature~Feature#getGeometryName.

Name Type Description
geometry module:ol/geom/Geometry~Geometry | undefined

The new geometry.


Feature.js, line 259

Set the property name to be used when getting the feature's default geometry. When calling module:ol/Feature~Feature#getGeometry, the value of the property with this name will be returned.

Name Type Description
name string

The property name of the default geometry.


Feature.js, line 247

Set the feature id. The feature id is considered stable and may be used when requesting features or comparing identifiers returned from a remote source. The feature id can be used with the module:ol/source/Vector~VectorSource#getFeatureById method.

Name Type Description
id number | string | undefined

The feature id.



Feature.js, line 232

Set the style for the feature. This can be a single style object, an array of styles, or a function that takes a resolution and returns an array of styles. If it is null the feature has no style (a null style).

Name Type Description
style module:ol/style/Style~Style | Array.<module:ol/style/Style~Style> | module:ol/style/Style~StyleFunction

Style for this feature.