eurostat-map
    Preparing search index...

    Interface FlowMap

    Flow map type.

    interface FlowMap {
        svgId(): string;
        svgId(id: string): this;
        containerId(): string;
        containerId(id: string): this;
        width(): number;
        width(w: number): this;
        height(): number;
        height(h: number): this;
        geo(): string;
        geo(g: string): this;
        proj(): string;
        proj(p: string): this;
        scale(): string;
        scale(s: "60M" | "20M" | "10M" | "03M" | "01M"): this;
        nutsLevel(): number | "mixed";
        nutsLevel(level: number | "mixed"): this;
        nutsYear(): number;
        nutsYear(year: number): this;
        position(v: { x?: number; y?: number; z?: number }): this;
        position(): { x: number; y: number; z: number };
        projectionFunction(): any;
        projectionFunction(fn: any): this;
        title(): string;
        title(t: string): this;
        subtitle(): string;
        subtitle(t: string): this;
        footnote(): string | false;
        footnote(text: string | false): this;
        footnoteTooltipText(): string | false;
        footnoteTooltipText(text: string | false): this;
        footnoteWrap(): number | false;
        footnoteWrap(chars: number | false): this;
        stat(): StatConfig;
        stat(config: StatConfig): this;
        stat(key: string): StatConfig;
        stat(key: string, config: StatConfig): this;
        statData(): StatData;
        statData(key: string): StatData;
        statData(key: string, data: StatData): this;
        getTime(): string;
        noDataText(): string;
        noDataText(text: string): this;
        language(): string;
        language(lang: string): this;
        legend(): false | LegendConfig;
        legend(config: false | LegendConfig): this;
        updateLegend(): this;
        tooltip(): TooltipConfig;
        tooltip(config: TooltipConfig): this;
        zoomExtent(): [number, number];
        zoomExtent(extent: [number, number]): this;
        zoomButtons(): boolean;
        zoomButtons(show: boolean): this;
        gridCartogramSettings(): GridCartogramSettings;
        gridCartogramSettings(settings: Partial<GridCartogramSettings>): this;
        insets(): false | "default" | InsetConfig[];
        insets(config: false | "default" | InsetConfig[]): this;
        drawGraticule(): boolean;
        drawGraticule(show: boolean): this;
        drawCoastalMargin(): boolean;
        drawCoastalMargin(show: boolean): this;
        coastalMarginSettings(): CoastalMarginSettings;
        coastalMarginSettings(settings: Partial<CoastalMarginSettings>): this;
        placenames(): boolean;
        placenames(show: boolean): this;
        labels(): object;
        labels(config: object): this;
        annotations(): any;
        annotations(config: any): this;
        stamp(): object;
        stamp(config: { x: number; y: number; text: string; size?: number }): this;
        scalebar(): ScalebarConfig;
        scalebar(config: boolean | ScalebarConfig): this;
        showScalebar(): boolean;
        showScalebar(show: boolean): this;
        scalebarPosition(): [number, number];
        scalebarPosition(pos: [number, number]): this;
        showEstatLogo(): boolean;
        showEstatLogo(show: boolean): this;
        showEstatRibbon(): boolean;
        showEstatRibbon(show: boolean): this;
        svg(): any;
        svg(s: any): this;
        filterGeometriesFunction(): (geometry: any) => boolean;
        filterGeometriesFunction(fn: (geometry: any) => boolean): this;
        gridCartogram(): boolean;
        gridCartogram(enable: boolean): this;
        backgroundMap(): boolean;
        backgroundMap(show: boolean): this;
        minimap(): any;
        minimap(config: any): this;
        insetsButton(): boolean;
        insetsButton(show: boolean): this;
        legendButton(): boolean;
        legendButton(show: boolean): this;
        placenamesFilter(): (name: any) => boolean;
        placenamesFilter(fn: (name: any) => boolean): this;
        header(): boolean;
        header(show: boolean): this;
        footer(): boolean;
        footer(show: boolean): this;
        footerPadding(): number;
        footerPadding(padding: number): this;
        headerPadding(): number;
        headerPadding(padding: number): this;
        titlePosition(): [number, number];
        titlePosition(pos: [number, number]): this;
        subtitlePosition(): [number, number];
        subtitlePosition(pos: [number, number]): this;
        footnotePosition(): [number, number];
        footnotePosition(pos: [number, number]): this;
        logoPosition(): [number, number];
        logoPosition(pos: [number, number]): this;
        ribbonPosition(): [number, number];
        ribbonPosition(pos: [number, number]): this;
        zoomButtonsPosition(): [number, number];
        zoomButtonsPosition(pos: [number, number]): this;
        insetsButtonPosition(): [number, number];
        insetsButtonPosition(pos: [number, number]): this;
        legendButtonPosition(): [number, number];
        legendButtonPosition(pos: [number, number]): this;
        hoverColor(): string;
        hoverColor(color: string): this;
        noDataFillStyle(): string;
        noDataFillStyle(style: string): this;
        showSourceLink(): boolean;
        showSourceLink(show: boolean): this;
        patternFill(): any;
        patternFill(config: any): this;
        dorling(): boolean;
        dorling(enable: boolean): this;
        dorlingSettings(): DorlingSettings;
        dorlingSettings(settings: Partial<DorlingSettings>): this;
        onZoomEnd(): (event: any) => void;
        onZoomEnd(fn: (event: any) => void): this;
        onZoom(): (event: any) => void;
        onZoom(fn: (event: any) => void): this;
        onRegionMouseOver(): (
            event: MouseEvent,
            regionId: string,
            props: any,
        ) => void;
        onRegionMouseOver(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onRegionMouseMove(): (
            event: MouseEvent,
            regionId: string,
            props: any,
        ) => void;
        onRegionMouseMove(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onRegionMouseOut(): (
            event: MouseEvent,
            regionId: string,
            props: any,
        ) => void;
        onRegionMouseOut(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onRegionClick(): (event: MouseEvent, regionId: string, props: any) => void;
        onRegionClick(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onBuild(): (map: MapInstance) => void;
        onBuild(callback: (map: MapInstance) => void): this;
        build(): this;
        updateGeoData(): this;
        updateStatData(): this;
        updateStatValues(): this;
        updateClassification(): this;
        updateStyle(): this;
        recalculateLayout(): void;
        exportMapToSVG(): this;
        exportMapToPNG(width?: number, height?: number): Promise<FlowMap>;
        setFromURL(): this;
        transitionDuration(): number;
        transitionDuration(ms: number): this;
        filtersDefinitionFunction(): (svg: any, numberOfClasses: number) => void;
        filtersDefinitionFunction(
            fn: (svg: any, numberOfClasses: number) => void,
        ): this;
        regionCentroids(): { id: string; x: number; y: number }[];
        flowGraph(): FlowGraph;
        flowGraph(v: FlowGraph): this;
        flowColor(): string;
        flowColor(v: string): this;
        flowRegionColors(): string[];
        flowRegionColors(v: string[]): this;
        flowRegionLabels(): string[];
        flowRegionLabels(v: string[]): this;
        flowArrows(): boolean;
        flowArrows(v: boolean): this;
        flowArrowScale(): number;
        flowArrowScale(v: number): this;
        flowMaxWidth(): number;
        flowMaxWidth(v: number): this;
        flowMinWidth(): number;
        flowMinWidth(v: number): this;
        flowOutlines(): boolean;
        flowOutlines(v: boolean): this;
        flowOutlineWidth(): number;
        flowOutlineWidth(v: number): this;
        flowOutlineColor(): string;
        flowOutlineColor(v: string): this;
        flowColorGradient(): boolean;
        flowColorGradient(v: boolean): this;
        flowStack(): boolean;
        flowStack(v: boolean): this;
        flowNodes(): boolean;
        flowNodes(v: boolean): this;
        flowNodeType(): "circle" | "donut";
        flowNodeType(v: "circle" | "donut"): this;
        flowLabelOffsets(): { x: number; y: number };
        flowLabelOffsets(v: { x: number; y: number }): this;
        flowLineType(): "curved" | "straight" | "sankey";
        flowLineType(v: "curved" | "straight" | "sankey"): this;
        flowNodeSizeScale(): any;
        flowNodeSizeScale(v: any): this;
        flowOpacity(): number;
        flowOpacity(v: number): this;
        flowInternal(): boolean;
        flowInternal(v: boolean): this;
        flowTopLocations(): number;
        flowTopLocations(v: number): this;
        flowTopLocationsType(): "sum" | "origin" | "destination";
        flowTopLocationsType(v: "sum" | "origin" | "destination"): this;
        flowCurvatureSettings(): FlowCurvatureSettings;
        flowCurvatureSettings(v: FlowCurvatureSettings): this;
        flowOrder(): any;
        flowOrder(v: any): this;
        flowWidthGradient(): boolean;
        flowWidthGradient(v: boolean): this;
        flowOpacityGradient(): boolean;
        flowOpacityGradient(v: boolean): this;
        flowWidthGradientSettings(): FlowWidthGradientSettings;
        flowWidthGradientSettings(v: FlowWidthGradientSettings): this;
        flowBidirectional(): boolean;
        flowBidirectional(v: boolean): this;
        flowEdgeBundling(): boolean;
        flowEdgeBundling(v: boolean): this;
        flowBundleSettings(): FlowBundleSettings;
        flowBundleSettings(v: FlowBundleSettings): this;
        [key: string]: any;
    }

    Hierarchy (View Summary)

    Indexable

    • [key: string]: any

      Allow additional map-type-specific properties and methods.

    Index

    Methods

    svgId containerId width height geo proj scale nutsLevel nutsYear position projectionFunction title subtitle footnote footnoteTooltipText footnoteWrap stat statData getTime noDataText language legend updateLegend tooltip zoomExtent zoomButtons gridCartogramSettings insets drawGraticule drawCoastalMargin coastalMarginSettings placenames labels annotations stamp scalebar showScalebar scalebarPosition showEstatLogo showEstatRibbon svg filterGeometriesFunction gridCartogram backgroundMap minimap insetsButton legendButton placenamesFilter header footer footerPadding headerPadding titlePosition subtitlePosition footnotePosition logoPosition ribbonPosition zoomButtonsPosition insetsButtonPosition legendButtonPosition hoverColor noDataFillStyle showSourceLink patternFill dorling dorlingSettings onZoomEnd onZoom onRegionMouseOver onRegionMouseMove onRegionMouseOut onRegionClick onBuild build updateGeoData updateStatData updateStatValues updateClassification updateStyle recalculateLayout exportMapToSVG exportMapToPNG setFromURL transitionDuration filtersDefinitionFunction regionCentroids flowGraph flowColor flowRegionColors flowRegionLabels flowArrows flowArrowScale flowMaxWidth flowMinWidth flowOutlines flowOutlineWidth flowOutlineColor flowColorGradient flowStack flowNodes flowNodeType flowLabelOffsets flowLineType flowNodeSizeScale flowOpacity flowInternal flowTopLocations flowTopLocationsType flowCurvatureSettings flowOrder flowWidthGradient flowOpacityGradient flowWidthGradientSettings flowBidirectional flowEdgeBundling flowBundleSettings

    Methods

    • Initial map viewport. x/y in projected coordinates, z is pixel size (map units per screen pixel — smaller = more zoomed in).

      Parameters

      • v: { x?: number; y?: number; z?: number }

      Returns this

      map.position({ x: 4800000, y: 3400000, z: 6000 })
      
    • Returns { x: number; y: number; z: number }

    • Returns the time dimension value from the loaded Eurostat dataset. Useful for displaying the data period in the map title.

      Returns string

      map.onBuild(() => map.title('Population ' + map.getTime()))
      
    • Builds the map from scratch. Call once after initial configuration.

      Returns this

      eurostatmap.map('choropleth')
      .stat({ eurostatDatasetCode: 'demo_r_d3dens' })
      .build()
    • Exports the map as a PNG file and triggers a browser download.

      Parameters

      • Optionalwidth: number

        Output width in pixels. Defaults to SVG width.

      • Optionalheight: number

        Output height in pixels. Defaults to SVG height.

      Returns Promise<FlowMap>