Options
All
  • Public
  • Public/Protected
  • All
Menu

A model that contains LuciadRIA features.

Each model must be configured with an object Store. The Store is used to retrieve/update/... the Feature instances of this model. Consult the class documentation of the Store class for more information.

Each FeatureModel provides methods to retrieve/update/query/... the underlying data of the model. The presence of those methods is determined by the available methods in the Store of the model. Users of this class should always check whether such a method is available before calling the method, as illustrated below:

  FeatureModel model = ...;
  if ( typeof model.add === "function" ){
    //add method is available and can be called
    model.add( ... );
 }

Hierarchy

Implements

Overview

Constructors

constructor

Events

on

  • (event: "ModelChanged", callback: (modelChangeType: "add" | "update" | "remove", feature: Feature, id: number | string) => void, context?: object, options?: object): Handle
  • Note: the FeatureModel requires a Store which supports events in order to automatically fire ModelChanged events. When the store does not support events, it is up to the user of this class to fire those events manually.

    Parameters

    • event: "ModelChanged"

      The "ModelChanged" event type

    • callback: (modelChangeType: "add" | "update" | "remove", feature: Feature, id: number | string) => void

      the feature that was added, updated or removed. In case of remove events, this may be undefined.

        • (modelChangeType: "add" | "update" | "remove", feature: Feature, id: number | string): void
        • Parameters

          • modelChangeType: "add" | "update" | "remove"
          • feature: Feature
          • id: number | string

          Returns void

    • Optional context: object

      the context in which the callback function should be invoked.

    • Optional options: object

      that may influence the callback registration. Interpretation of this object is implementation dependent.

      An event that is emitted when the contents of the model changes.

    Returns Handle

Accessors

bounds

  • The spatial extent of the data in this model. If the property is null, the extent is unknown.

    Returns Bounds | null

coordinateType

  • The coordinate type of geometries in this model.

    Returns CoordinateType

modelDescriptor

  • The model descriptor of this model.

    Returns ModelDescriptor

  • The model descriptor of this model.

    Parameters

    Returns any

reference

  • The spatial reference in which this object is defined. If this property is null then this object is not spatially referenced.

    Returns CoordinateReference

store

  • The store that backs this model, immutable.

    Returns Store

Methods

add

  • Add a feature to the model. Note that this function will only be available if the underlying store also provides an add function.

    Parameters

    • feature: Feature

      The feature to add to the model.

    • Optional options: object

    Returns string | number | Promise<string> | Promise<number>

    Returns the identifier of the feature, or a promise for the identifier.

get

  • Retrieve a feature from the model by id. Note that this function will only be available if the underlying store also provides a get function.

    Parameters

    • id: string | number

      The identifier of the object.

    Returns Feature | Promise<Feature>

    May return the feature, or a promise for the feature.

put

  • Update an existing feature in the model object. Note that this function will only be available if the underlying store also provides a put function.

    Parameters

    • feature: Feature

      The feature to update.

    • Optional options: object

      Object literal that will be passed as is to the model's store.

    Returns string | number | Promise<string> | Promise<number>

    Returns the identifier of the feature, or a promise for the identifier.

query

  • Query the model for features. Note that this function will only be available if the underlying store also provides a query function.

    Parameters

    • Optional query: object

      An object which represents a query which may be understood and satisfied by the store. The structure of this object is dependent on the specific store.

    • Optional options: object

      Object literal that will be passed as is to the model's store.

    Returns Promise<Cursor> | Cursor

    cursor or a promise for a cursor

remove

  • (id: number | string): string | number | Promise<string> | Promise<number>
  • Removes a feature from the model by id. Note that this function will only be available if the underlying store also provides a remove function.

    Parameters

    • id: number | string

      The identifier of the feature.

    Returns string | number | Promise<string> | Promise<number>

    Returns a truthy value on successful removal, or a promise for that success-value.

spatialQuery

  • Query the model for features in a spatial extent. Note that this function will only be available if the underlying store also provides a spatialQuery function.

    Parameters

    • Optional bounds: Bounds

      The spatial extent.

    • Optional query: object

      An object which represents a query which may be understood and satisfied by the store. The structure of this object is dependent on the specific store.

    Returns Promise<Cursor> | Cursor

    cursor or a promise for a cursor

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method