Represents the type of feature's shape. Default type is inferred from the 'shape' passed to the constructor.
Represents the type of feature's properties. Default type is inferred from the 'properties' passed to the constructor. If the 'properties' is not provided the type is defaulted to FeatureProperties.
// Creates a type-guarded Feature with the Point shape and specific properties
const leuvenCity = new Feature(point, {name: 'Leuven'});
// TypeScript infers the shape and properties type from the constructor inputs
const {x, y} = leuvenCity.shape;
console.log(`city: ${leuvenCity.properties.name}`);
// Let TypeScript know the types explicitly
interface CityProps {name: string, population: number}
const anotherCity = new Feature<Point, CityProps>(point, {name: 'Brussels', population: 2_100_000});
anotherCity.properties.population += 20_000;
Creates a new feature with the given geometry and properties. Represents a vector data object with a shape. It may include application specific properties.
the feature's shape.
Optional
properties: TPropertiesan object hash containing the Feature's properties.
Optional
id: FeatureIdthe identifier of the Feature. This id may be omitted when instantiating a new feature: for example, before adding a Feature to a MemoryStore. However, note that features which are part of the result of a model query must have an id.
The properties of the data object. This is optional and may be left undefined. Usually, this object is a key/value pair object.
Makes a deep clone of this feature.
a copy of this feature
Represents a vector data object with a shape. It may include application specific properties.