geoview-core
    Preparing search index...

    Class AbstractGeoViewVectorAbstract

    The AbstractGeoViewVector class.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    hitTolerance: number = AbstractGeoViewLayer.DEFAULT_HIT_TOLERANCE

    The default hit tolerance

    listOfLayerEntryConfig: TypeLayerEntryConfig[] = []

    An array of layer settings. In the schema, this attribute is optional. However, we define it as mandatory and if the configuration does not provide a value, we use an empty array instead of an undefined attribute.

    olRootLayer?: BaseLayer

    The OpenLayer root layer representing this GeoView Layer.

    DEFAULT_HIT_TOLERANCE: number = 4

    The default hit tolerance the query should be using

    DEFAULT_WAIT_PERIOD_METADATA_WARNING: number = ...

    The default waiting time before showing a warning about the metadata taking a long time to get processed

    DEFAULT_WAIT_SLOW_FETCH_WARNING: number = ...

    The maximum delay to wait before we warn about the features fetch taking a long time

    EXCLUDED_HEADERS: string[] = ...
    EXCLUDED_HEADERS_GEN: string[] = ...
    EXCLUDED_HEADERS_LAT: string[] = ...
    EXCLUDED_HEADERS_LNG: string[] = ...
    EXCLUDED_HEADERS_STYLE: string[] = ...
    MAX_ESRI_FEATURES: 200000
    NAME_FIELD_KEYWORDS: string[] = ...

    Methods

    • This method is used to create the layers specified in the listOfLayerEntryConfig attribute inherited from its parent. Normally, it is the second method called in the life cycle of a GeoView layer, the first one being the constructor. Its code is the same for all child classes. It must first validate that the olLayers attribute is null indicating that the method has never been called before for this layer. If this is not the case, an error message must be sent. Then, it calls the abstract method getAdditionalServiceDefinition. For example, when the child is a WFS service, this method executes the GetCapabilities request and saves the result in the metadata attribute of the class. It also process the layer's metadata for each layer in the listOfLayerEntryConfig tree in order to define the missing pieces of the layer's configuration. Layer's configuration can come from the configuration of the GeoView layer or from the information saved by the method #processListOfLayerMetadata, priority being given to the first of the two. When the GeoView layer does not have a service definition, the getAdditionalServiceDefinition method does nothing.

      Finally, the processListOfLayerEntryConfig is called to instantiate each layer identified by the listOfLayerEntryConfig attribute. This method will also register the layers to all layer sets that offer this possibility. For example, if a layer is queryable, it will subscribe to the details-panel and every time the user clicks on the map, the panel will ask the layer to return the descriptive information of all the features in a tolerance radius. This information will be used to populate the details-panel.

      Parameters

      • OptionalmapProjection: Projection

        The map projection.

      • OptionalabortSignal: AbortSignal

        Abort signal to handle cancelling of the process.

      Returns Promise<ConfigBaseClass[]>

      A promise of the config base classes created.

    • Protected

      Emits a layer-specific message event with localization support

      Parameters

      • messageKey: string

        The key used to lookup the localized message OR message

      • messageParams: string[] | undefined = []

        Array of parameters to be interpolated into the localized message

      • messageType: SnackbarType = ...

        The message type

      • Optionalnotification: boolean = false

        Whether to show this as a notification. Defaults to false

      Returns void

      this.emitMessage(
      'layers.fetchProgress',
      ['50', '100'],
      messageType: 'error',
      true
      );

      LayerMessageEvent

    • Overridable function to create a source configuration for the vector layer.

      Parameters

      • layerConfig: VectorLayerEntryConfig

        The layer entry configuration.

      • sourceOptions: Options<Feature<Geometry>>

        The source options (default: { strategy: all }).

      Returns GVVectorSource

      The source configuration that will be used to create the vector layer.

    • Protected

      Mustoverride function to load vector features for a layer during vector source creation. This abstract method defines the contract for retrieving and converting raw vector data into OpenLayers Feature instances. Concrete subclasses must implement the logic required to fetch data from the underlying service (e.g. WFS, GeoJSON, CSV) and transform it into features compatible with the vector source. The returned features are typically added to the vector source as part of its initialization or loading lifecycle.

      Parameters

      • layerConfig: VectorLayerEntryConfig

        The configuration object describing the vector layer, including its data source and access parameters.

      • sourceOptions: Options<Feature<Geometry>>

        The OpenLayers vector source options associated with the layer. This may be used by implementations to customize loading behavior or source configuration.

      • readOptions: ReadOptions

        Options controlling how features are read, including the target featureProjection.

      Returns Promise<Feature<Geometry>[]>

      A promise that resolves to an array of OpenLayers features created from the underlying data source.

    • Must override method to process a layer entry and return a Promise of an Open Layer Base Layer object.

      Parameters

      • layerConfig: AbstractBaseLayerEntryConfig

        Information needed to create the GeoView layer.

      • OptionalmapProjection: Projection

        The map projection.

      • OptionalabortSignal: AbortSignal

        Abort signal to handle cancelling of the process.

      Returns Promise<AbstractBaseLayerEntryConfig>

      The Promise that the config metadata has been processed.

    • Fetches json data from the given URL using settings defined in the vector source configuration. Supports both GET and POST requests depending on the presence of postSettings.

      Parameters

      • url: string

        The URL to fetch data from.

      • OptionalpostSettings: TypePostSettings

        The possible POST settings from the layer config.

      Returns Promise<unknown>

      A promise that resolves to the fetched text response.

    • Fetches text data from the given URL using settings defined in the vector source configuration. Supports both GET and POST requests depending on the presence of postSettings.

      Parameters

      • url: string

        The URL to fetch data from.

      • OptionalpostSettings: TypePostSettings

        The possible POST settings from the layer config.

      Returns Promise<string>

      A promise that resolves to the fetched text response.