Class VectorSource

An image source that reads vector data. Internally, this wraps an OpenLayers' VectorSource. This uses OpenLayers' styles and features.

Note: to assign a new style to the source, use setStyle instead of the style property.

Example

// To load a remote GeoJSON file
const source = new VectorSource({
data: 'http://example.com/data.geojson',
format: new GeoJSON(), // Pass the OpenLayers FeatureFormat here
style: new Style(...), // Pass an OpenLayers style here
});

// To load a local GeoJSON
const source = new VectorSource({
data: { "type": "FeatureCollection" ... },
format: new GeoJSON(), // Pass the OpenLayers FeatureFormat here
style: new Style(...), // Pass an OpenLayers style here
});

// To load features directly (no need to pass a format as the features are already decoded.)
const source = new VectorSource({
data: [new Feature(...)], // Pass the OpenLayers features here
style: new Style(...), // Pass an OpenLayers style here
});

Hierarchy

Constructors

Properties

_targetProjection: string
containsFn: CustomContainsFn
data: string | object | Feature<Geometry>[]
dataProjection: string
datatype: TextureDataType

Gets the datatype of images generated by this source.

flipY: boolean

Gets whether images generated from this source should be flipped vertically.

format: FeatureFormat
isImageSource: boolean = true
isVectorSource: boolean = true
source: VectorSource<Geometry>
style: Style | StyleFunction

The current style. Note: to set a new style, use setStyle() instead.

type: string
version: number

Methods

  • Adds a listener to an event type.

    Type Parameters

    • T extends "updated"

    Parameters

    • type: T

      The type of event to listen to.

    • listener: EventListener<ImageSourceEvents[T], T, VectorSource>

      The function that gets called when the event is fired.

    Returns void

  • Type Parameters

    • T extends string

    Parameters

    Returns void

  • Returns an adjusted extent, width and height so that request pixels are aligned with source pixels, and requests do not oversample the source.

    Parameters

    • requestExtent: Extent

      The request extent.

    • requestWidth: number

      The width, in pixels, of the request extent.

    • requestHeight: number

      The height, in pixels, of the request extent.

    • margin: number = 0

      The margin, in pixels, around the initial extent.

    Returns {
        extent: Extent;
        height: number;
        width: number;
    }

    The adjusted parameters.

    • extent: Extent
    • height: number
    • width: number
  • Gets whether this source contains the specified extent. If a custom contains function is provided, it will be used. Otherwise, intersects() is used.

    This method is mainly used to discard non-relevant requests (i.e don't process regions that are not relevant to this source).

    Parameters

    • extent: Extent

      The extent to test.

    Returns boolean

  • Parameters

    • extent: Extent

      The target extent.

    • size: Vector2

      The target pixel size.

    Returns BuilderGroup

    The builder group, or null if no features have been rendered.

  • Parameters

    • id: string

      The unique id of the request.

    • extent: Extent

      The request extent.

    • size: Vector2

      The size in pixels of the request.

    Returns ImageResult

    The image result.

  • Fire an event type.

    Type Parameters

    • T extends "updated"

    Parameters

    Returns void

  • Disposes unmanaged resources of this source.

    Returns void

  • Applies the callback for each feature in this source.

    Parameters

    • callback: ((arg0) => unknown)

      The callback.

        • (arg0): unknown
        • Parameters

          • arg0: Feature<Geometry>

          Returns unknown

    Returns void

  • Returns the CRS of this source.

    Returns string

    The CRS.

  • Returns Extent

  • Returns the extent of this source expressed in the CRS of the source.

    Returns Extent

    The extent of the source.

  • Returns the feature with the specified id.

    Parameters

    • id: string | number

      The feature id.

    Returns Feature<Geometry>

    The feature.

  • Returns an array with the feature in this source.

    Returns Feature<Geometry>[]

    The features.

  • Gets the images for the specified extent and pixel size.

    Parameters

    Returns {
        id: string;
        request: (() => Promise<ImageResult>);
    }[]

    An array containing the functions to generate the images asynchronously.

  • Checks if listener is added to an event type.

    Type Parameters

    • T extends "updated"

    Parameters

    • type: T

      The type of event to listen to.

    • listener: EventListener<ImageSourceEvents[T], T, VectorSource>

      The function that gets called when the event is fired.

    Returns boolean

  • Type Parameters

    • T extends string

    Parameters

    Returns boolean

  • Initializes the source.

    Parameters

    • opts: {
          targetProjection: string;
      }

      Options.

      • targetProjection: string

    Returns Promise<void>

    A promise that resolves when the source is initialized.

  • Test the intersection between the specified extent and this source's extent. This method may be overriden to perform special logic.

    Parameters

    • extent: Extent

      The extent to test.

    Returns boolean

    true if the extent and this source extent intersects, false otherwise.

  • Loads the features from this source, either from:

    • the URL
    • the data string (for example a GeoJSON string)
    • the features array

    Returns Promise<void>

  • Removes a listener from an event type.

    Type Parameters

    • T extends "updated"

    Parameters

    • type: T

      The type of the listener that gets removed.

    • listener: EventListener<ImageSourceEvents[T], T, VectorSource>

      The listener function that gets removed.

    Returns void

  • Type Parameters

    • T extends string

    Parameters

    Returns void

  • Reprojects a feature from the source projection into the target (instance) projection.

    Parameters

    • feature: Feature<Geometry>

      The feature to reproject.

    Returns void

  • Change the style of this source. This triggers an update of the source.

    Parameters

    • style: Style | StyleFunction

      The style, or style function.

    Returns void

  • Raises an event to reload the source.

    Returns void

Generated using TypeDoc