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.
A feature represents a vector data object with a shape (geometry). It may include application-specific properties.
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;
The geometry of the feature.
Optionalproperties: TPropertiesAn optional object containing the feature’s properties.
Optionalid: FeatureIdthe identifier of the feature. This can be omitted when creating a new feature, e.g., before adding it to a MemoryStore. However, features returned by FeatureModel.query are required to have IDs.
The unique identifier of the feature.
This ID must uniquely identify the feature within the context of a model, i.e., within a FeatureModel.
The properties of the data object. This is optional and may be left undefined. Usually, this object is a key/value pair object.
Creates a deep clone of this feature.
A new feature instance that is a deep copy of this feature, including its shape and properties.
Represents a vector data object with a shape. It may include application specific properties.