Skip to content

Lag (layer)

I layer-elementet angives de lag, kortet skal bestå af. Hvert lag er et objekt, men man også angiver en URL til en fil, der indeholder laget. Herved kan man anvende konfigurationen af et lag i flere widgets.

Options

Herunder findes en beskrivelse af de enkelte egenskaber, der kan sættes på et lag.

id

  • Type: string

ID, der kan bruges til f.eks. at skabe relationer mellem lag eller funktioner.

background

  • Type: string

Angiv en farve. Kan bruges til at sætte baggrundsfarven på et lag. Dette er specielt velegnet til vektortiles baggrundskort.

className

  • Type: string

Gør det muligt at skille stylen mere ad og optimere peformance på laget. Hvert lag, der har sin egen className, bliver renderet i sit eget canvas. Herved skal hele kortet ikke opdateres når der sker ændringer i et specifikt lag. Kan også bruges til at styre hvad der ligger øverst i kortet.

Ved at sætte className på et baggrundskort, er det f.eks. muligt at sætte baggrundsfarven på laget vha. CSS.

Bemærk at det kan betyde at labels bliver vist under andre lag.

name

  • Type: string

Indeholder en læsbar tekst, der bruges af funktioner som f.eks. lagvælger m.fl., hvor der skal vises en tekst for hvert lag.

namedlayer

  • Type: string

Angiver navnet på et default baggrundskort. På nuværende tidspunkt findes følgende navngivne lag, der kan benyttes: #septima_standard, #septima_dark, #septima_light, #septima_outdoor, #dk_luftfoto, #dk_standard_vt, #dk_graa_vt, #dk_skaerm_vt, #dk_standard, #dk_graa, #dk_skaerm, #dk_forvaltning, #dk_vejkort, #dk_natur, #dk_dagi, #dk_kommune, #dk_topo, #dk_dhm, #dk_dhm_overflade, #dk_mat, #plandata, #plandata_wmts, #osm, #septima_vt_3857, #dk_luftfoto_3857 samt #mapbox_vt

Der er muligt at overstyre enkelte parametre ved blot også at tilføje de parametre, der ønskes overstyret. For #dk_forvaltning, #plandata og #plandata_wmts kan man med fordel vise forskellige lag fra de enkelte service ved at angive layername. For #dk_mat kan man styre farven på jordstykkerne ved at angive styles til f.eks.: "styles": "Jordstykke_Gaeldende_Gul".

Derudover er det muligt at angive et ID på at datasæt fra DMPs datakatalog og få vist det pågældende lag i kortet. Dette åbner op for en masse nye lag, som ikke kræver nogen konfiguration.

visible

  • Type: boolean
  • Default: true

Angiver, om laget skal vises fra start

ignore

  • Type: boolean
  • Default: false

Laget bliver tilføjet, men det fremgår ikke af lagvælgeren og laget vil ikke være synligt i kortet. Dette er f.eks. relevant når laget benyttes som fallback til et andet lag.

fallback

  • Type: string

Hvis er lag er kritisk for anvendelsen af løsningen, er det muligt at angive et ID på et altarnativt lag, der skal vises hvis dette lag fejler. Brugeren vil som udgangspunkt ikke opdage at et andet lag benytte. Lagvælger og andre funktioner vil fungere som før, men laget hentes fra en anden service. Bemærk at denne mulighed kun kan benytte på rasterlag som f.eks. WMS, WMTS og lignende.

  • Type: string

Tilføj en copyright-tekst i kortet. Hvis der skal være et link, kan det tilføjes ved at benytte HTML.

extent

  • Type: number[]

Angiver, om laget kun skal vises inden for et bestemt extent. Alt uden for dette extent vises (og hentes) ikke.

type

  • Type: string

Elementet type angiver typen af laget. Gyldige værdier: "geojson", "flatgeobuf", "esrijson", "shp", "json", "djangojson", "datasourcejson", "gml", "gpx", "sheet", "OSM", "TileJSON", "GeoTIFF", "ArcGISRest", "XYZ", "VectorTiles", "Stamen", "WMS" eller "WMTS"

  • Ved typen geojson er følgende øvrige elementer tilgængelige: features, features_host, features_dataType, features_type, features_style, template, template_[funktionsnavn], features_callbackparam, features_template

  • Ved typen flatgeobuf er følgende øvrige elementer tilgængelige: features, features_host, features_type, features_style, template, template_[funktionsnavn], features_template

  • Ved typen esrijson er følgende øvrige elementer tilgængelige: features, features_host, features_dataType, features_type, features_style, template, template_[funktionsnavn], features_callbackparam, features_template

  • Ved typen shp er følgende øvrige elementer tilgængelige: features, features_host, features_type, features_style, template, template_[funktionsnavn], features_template

  • Ved typen json er følgende øvrige elementer tilgængelige: features, features_host, features_dataType, features_type, features_style, template, template_[funktionsnavn], features_callbackparam, features_geometrycolumn, features_geometryFormat, features_template

  • Ved typen djangojson er følgende øvrige elementer tilgængelige: features, features_host, features_dataType, features_type, features_style, template, template_[funktionsnavn], features_callbackparam, features_geometrycolumn, features_template

  • Ved typen datasourcejson er følgende øvrige elementer tilgængelige: features, features_host, features_dataType, features_type, features_style, template, template_[funktionsnavn], features_template

  • Ved typen gml er følgende øvrige elementer tilgængelige: features, features_host, features_dataType, features_type, features_style, template, template_[funktionsnavn], features_template

  • Ved typen gpx er følgende øvrige elementer tilgængelige: features, features_host, features_dataType, features_type, features_style, template, template_[funktionsnavn], features_template. Bemærk: Sæt "features_dataType": "text"

  • Ved typen sheet er følgende øvrige elementer tilgængelige: features, features_host, features_style, template_[funktionsnavn] samt sourceOptions

  • Ved typen wms er følgende øvrige elementer påkrævet: host, format, layername

  • Ved typen wmts er følgende øvrige elementer påkrævet: host, format, layername, resolutions, matrixIds, matrixSet

  • Ved typen OSM skal ingen andre elementer angives

  • Ved typen Stamen skal ingen andre elementer angives, men det er muligt at angive layername (default er "watercolor")

  • Ved typen TileJSON er følgende element påkrævet: host

  • Ved typen VectorTiles er følgende element påkrævet: host

  • Ved typen ArcGISRest er følgende øvrige elementer påkrævet: host, extent. For at vælge et specifikt lag, tilføj da layername ("show:0" hvis det er det første lag).

  • Ved typen XYZ er følgende element påkrævet: host

sourceOptions

  • Type: object

Her er det muligt at styre den præcise konfiguration af laget. Dette relevant for typerne "OSM", "TileJSON", "GeoTIFF", "ArcGISRest", "XYZ", "VectorTiles", "Stamen", "WMS" eller "WMTS", men primært "GeoTIFF", der kan indeholde specielle attributter.

Ved typen sheet angives hvilket "ark" der skal læses (defautl er Ark1). Skriv f.eks. "sheet": "deltagere". Det er også muligt at springe de første x antal rækker over, hvis de f.eks. indeholder noget ligegyldigt information.

Dette gøres med "skipFirstRows": 2. Første række læses som "header" og hvis den indeholder nogle brugbare navne, kan de bruges som kolonnenavne i data. Men gør det ikke det, er det muligt at angive en liste af navnet i parameteren "header" på denne måde: "header": ["kolonne1","kolonne2","kolonne3"].

Det er også muligt at angive "header": "A". Det gør at kolonnerne hedder "A", "B", osv. som i regnearket.

Hvis data indeholder en form for geometri, indsættes det ved at benytte "geometryTemplate": "POINT(<%= D %> <%= E %>)", der er en template, der danner en WKT.

json
"sourceOptions": {
  "sheet": "Ark1",
  "header": "A",
  "skipFirstRows": 2,
  "geometryTemplate": "POINT(<%= D %> <%= E %>)"
}

crs

  • Type: string
  • Default: EPSG:25832

Kortets koordinatreferencesystem defineret i EPSG, eksempelvis: EPSG:25832.

features

  • Type: boolean
  • Default: false

Angiver, om laget anvender vektordata for dynamisk visning og interaktion. Vektordata skal være i formatet GeoJSON. Ved at angive denne parameter er det muligt både at hente data som WMS, WMTS eller andet rasterlag, samtidig med at man henter vektordata til bedre interaktion for brugeren.

data

  • Type: object

Indsæt data (GeoJSON) direkte i konfigurationen. Dette kan bruges som et alternativ til at hente vektordata fra en service med "feature_host". Det er også velegenet til at vise enkelte objekter i kortet, såsom adresse eller mødested. Indholdet skal overholde fra GeoJSON-specifikationen - læs mere om geojson her.

selectable

  • Type: boolean
  • Default: false

Kun relevant for lag med vektordata i klienten. Hvis selectable er sat til true, vil cursoren skifte til en hånd når brugeren fører musen over et objekt i kortet. Derudover aktiveres "click" eventet på laget. Dette benyttes i f.eks. Widget-API'et.

features_host

  • Type: string

Internetadressen, hvor vektordata hentes fra, angiver, hvor kortet skal hente vektordata. Det kan eksempelvist være en statisk GeoJSON fil på samme domæne eller fra en ekstern webservice. Hvis data hentes fra en webservice eller en statisk fil på et andet domæne, skal data leveres med JSONP. Elementet "features_dataType" skal i dette tilfælde angives til værdien "jsonp". Bemærk at ved typen "shp" blot skal angives URL'en til filen uden ".shp".

features_template

  • Type: string | boolean
  • Default: false

Her angives en skabelon for, hvorledes JSON fra service skal transformeres til GeoJSON. Attributter fra data kan angives i skabelonen med følgende notation <%= attributnavn %>. Læs mere om templates her.

Hvis den sættes til true, forventes det at hver feature i data, er en GeoJSON feature og det derfor ikke er nødvendig at specificere en template.

features_template_row

  • Type: string

Kan angives i forbindelse med features_template hvis den række, der indeholder oplysingerne om den enkelte feature, findes dybt nede i data. Det kan f.eks. være 0.rutedata.features. I dette tilfælde indeholder data et array hvor første række har en attribut, der hedder rutedata, der igen har en attribut med en liste af features.

Herved er det muligt at få adgang til data i en vilkårlig struktur.

features_infohost

  • Type: string | object

Hvis "features_infohost" er en streng, er det en URL til den service, hvor vektordata kan hentes fra, når der klikkes i kortet Når "features_infohost" er en streng, skal servicen returnere GeoJSON. Det kan eksemplevis være en WFS-service eller en anden service, der kan returnere en række ud fra et punkt (x, y), en wkt eller en bbox. I denne internetadresse vil <%= x %> blive erstattet med x-værdien for det punkt, der søges på. <%= y %> vil blive erstattet med y-værdien for det punkt, der søges på. Tilsvarende kan man skrive <%= wkt %> og <%= bbox %>. Derudover erstattes <%= buffer %> af det aktuelle opløsning (resolution) ganget med 3. Dette kan bruges til at finde et objekt uden at skulle ramme præcist. Data skal leveres med JSONP. Det er kun den første række, der bliver vist information for.

Hvis servicen returnerer noget andet end GeoJSON (f.eks. ESRIJSON), skal "features_infohost" være et objekt, der indeholder "host" samt "type" i stil med dette:

https://myservice.dk/gis/rest/services/Vej_Trafik/Lette_Trafikanter/MapServer/9/query?returnGeometry=true&outSR=25832&f=json&outFields=*&where=wkt=POINT(%20)

json
{
  "host": "//myservice.dk/gis/rest/.../query?...&where=wkt=POINT({{x}}%20{{y}})",
  "type": "esrijson"
}

Bemærk at "eventtype" skal sættes til "mapclick" (eller ["click", "mapclick"]) for at "features_infohost" kaldes.

features_dataType

  • Type: string

Gyldige værdier: "json" eller "jsonp". Hvis data hentes fra en webservice eller en statisk fil på et andet domæne, skal data leveres med JSONP. Se også features_host.

features_dataPath

  • Type: string

Kan benyttes til at udvælge dele af de returnerede JSON data. Det kan f.eks. bruges hvis dele af data indeholder den egentlige GeoJSON.

features_callbackparam

  • Type: string
  • Default: callback

Hvis servicen leveres med JSONP, men parameteren med navnet på funktionen ikke hedder "callback", angives denne parameter.

features_type

  • Type: string

Typen af geometrier. Gyldige værdier: "Point", "Polygon" eller "Line". Hvis data er multigeometri, bliver det automatisk detekteret. Bemærk at GeometryCollection IKKE er understøttet.

features_geometrycolumn

  • Type: string

Hvis servicen leveres med djangojson eller json, ligger geometrien i en navngiven kolonne, der skal angives her for at kunne vise det i kortet.

features_geometryFormat

  • Type: string
  • Default: geojson

Hvis servicen leveres med typen json, ligger geometrien i en navngiven kolonne, der skal angives i features_geometrycolumn for at kunne vise det i kortet. Det forventes at kolonnen indeholder en GeoJSON geometri. Hvis kolonnen indeholder WKT, skal features_geometryFormat sættes til WKT.

features_style

  • Type: object

Hvordan skal objekterne styles i kortet. Det er muligt både at angive sti til ikoner, farver og gennemsigtighed, samt hvordan et objekt skal se ud, når det er valgt i kortet.

Angiv et array af features_style og gør det muligt at lave avancerede styles, ved at kombibere to styles. Det kan f.eks. beuges til at lave linjer med flere farver eller til at have forskellig markering afhængigt af om objektet er valgt eller ej.

styleType

  • Type: string
  • Default: dynamic

En features_style kan både styre stylen afhængig af zoom samt af data. Det betyder at hver gang, der sker noget i kortet, så skal stylen gentegnes. Hvis der er mange features i kortet, kan dette tage lidt tid og reducere performance. Men hvis ens style ikke kræver denne dynamik, kan det gøre performance bedre ved at håndtere stylen mere statisk. Dette kan ikke detekteres automatisk og derfor skal man selv fortælle laget hvilken styleType der skal bruges og dermed optimere performance.

Ved at vælge static, er det ikke længere muligt at lade stylen være afhængig af zoom og data. Det betyder at det ikke er muligt at bruge f.eks. labels. Ved at sætte styleType til static, vil der heller ikke komme en "select" style på når brugeren vælger featuren i kortet ved f.eks. info.

Ved at vælge semistatic, er det muligt at lade stylen være afhængig af zoom, men ikke af data. Det betyder at det heller ikke her er muligt at bruge f.eks. labels. Derimod vil semistatic give muligt at have en "select" style på når brugeren vælger featuren i kortet ved f.eks. info.

features_method

  • Type: string
  • Default: GET

Hvordan skal servicen kaldes. Gyldige værdier: "GET" eller "POST".

template eller template_[funktionsnavn]

  • Type: string
  • Default: ""

Her angives en html-skabelon for, hvorledes infoboksen skal præsenteres, når brugeren enten klikker eller holder musen over et objekt i kortet. Attributter fra data kan angives i html-skabelonen med følgende notation <%= attributnavn %>. Læs om templates her.

For at benytte templates til specifikke funktioner, som eksempelvis "Find nærmeste" angives "route" som en del af template-navnet ("template_route"). Tilsvarende for template_table

userfilter

  • Type: object

Hvilke objekter skal vises i kortet. Kan benyttes alene eller sammen med filter. Læs mere her.

reloadOnFilterChange

  • Type: boolean
  • Default: false

Hent data igen når filteret ændres. Herved kan filtreringen ske "server side" i stedet for i klienten. Kan benyttes sammen med filter.

cluster

  • Type: object

Vis punkter i kortet som en samling af punkter altså et cluster. Herved er det nemmere at overskue mange punkter for brugeren. Læs mere her.

declutter

  • Type: boolean
  • Default: false

Sørger for at objekter ikke ligger oven i hinanden. Det er primært til punkter, hvis denne funktion sørger for at ikonerne ikke ligger oven på hinanden ved kun at vise et af punkterne, hvis der er overlap. Denne funktion kan også bruges til at sørge for at labels ikke er overlappende.

host

  • Type: string

Ved "WMS" eller "WMTS". URL til service

crossOrigin

  • Type: string
  • Default: undefined

Hvis der er brug for at få fat i billeder som data, er det nødvendigt at servicen, der levere billederne har CORS header på. Derudover skal crossOrigin sættes til: "crossOrigin": "anonymous". Det er f.eks. i forbindelse med "print" i klienten eller "WEBGL".

layername

  • Type: string

Ved "WMS" eller "WMTS". Navnet på laget fra servicen

format

  • Type: string
  • Default: image/png

Ved "WMS" eller "WMTS". Formatet af det billede, som servicen skal levere

params

  • Type: object

En liste med parametre, der tilføjes til URL'en. Kan kun benyttes til VectorTiles og kan f.eks. bruges til at angive access_token, samt WMS til f.eks. SLD_BODY

opacity

  • Type: number
  • Default: 1

Sæt lagets opacity. Kan antage værdier mellem 0.001 og 1. Kan benyttes til billedlag (såsom WMS og WMTS). På vektorlag benyttes features_style

minResolution

  • Type: number

Herved kan man styre, hvornår laget skal vises i kortet. Resolution er antallet af meter pr. pixel

maxResolution

  • Type: number

Herved kan man styre, hvornår laget skal vises i kortet. Resolution er antallet af meter pr. pixel

zIndex

  • Type: number
  • Default: 0

Angiver den rækkefølge lagene bliver renderet i kortet. Laget med det højeste zIndex kommer øverst. Hvis to lag har det samme zIndex kommer det sidste lag øverst

singleTile

  • Type: boolean
  • Default: false

Ved "WMS". Hent ét billedet i stedet for tiles. Er specielt anvendeligt ved WMS-lag, der indeholder labels eller ikoner

preload

  • Type: number
  • Default: 0

Ved lag, der hentes som tiles som f.eks. "WMTS", "WMS" med "single": flase og "VectorTiles". Angiv et antal zoom niveauer, der skal hentes lavtopløselige tiles for på forhånd. 0 betyder at ingen tiles indlæses på forhånd

resolutions

  • Type: number[]

Ved "WMTS". Resolutions denne WMTS service leverer i

matrixIds

  • Type: string[]

Ved "WMTS". MatrixIds denne WMTS service leverer

matrixSet

  • Type: string[]

Ved "WMTS". MatrixSet denne WMTS service leverer

relation

  • Type: string | object

Det er muligt at angive en relation mellem laget og en eller flere andre lag. Hvis der angives en streng, så refereres der til et andet lag layername, der har strengens værdi. Hvis man i stedet angiver et objekt, så er det muligt at angive et match på egenskaber. Herved kan relationen for eksempel være mellem dette lag og alle lag med type="WMS". Dette gøres med "relation": {"type": "WMS"}

delay

  • Type: number
  • Default: 0

Features tilføjes til kortet med en forsinkelse angivet i millisekunder

featureDelay

  • Type: number | string
  • Default: 0

De enkelte features tilføjes til kortet med en individuel forsinkelse i millisekunder. Herved bliver de synlige én ad gangen. Værdien kan angives som millisekunder eller som en template. Læs mere om templates generelt her.

animate

  • Type: object

Tilføj features til kortet med en animation. Det kunne være, at linjer tegnes som en rute i kortet. Læs mere her

loadingstrategy

  • Type: string
  • Default: all

Kontroller den måde vektordata hentes på. Som default er værdien all. Det betyder at alle data hentes fra start. Ved at sætte værdien til bbox hentes de vektordata, der er inden for det viste kortudsnit. Hver gang kortudsnittet ændres, hentes der nye data. Benyt en template til at definere features_host eller params og benyt f.eks. parameteren "bbox" på denne måde:

json
"params": {
    "bbox": "<%= bbox %>"
},

eller via features_host:

json
"https://geoserver.plandata.dk/geoserver/wfs?...&bbox=<%= bbox %>",

lazyload

  • Type: boolean
  • Default: false

Hent først vektordata når laget vises i kortet. Kræver at visible er sat til false, så laget ikke er vist fra start.

cache

  • Type: boolean
  • Default: true

Ved vektorlag. Sørger for at browseren cache'er resultatet af et request, så transport af data minimeres.

reloadInterval

  • Type: number

Genindlæs data med et fast interval. Intervallet angives i millisekunder og kan f.eks. bruges til at vise "live" data på kortet. Dette kan bruges til vektorlag samt WMS lag.

reloadIntervalCache

  • Type: boolean
  • Default: false

Kun relevant når "reloadInterval" er sat. Som default vil man ikke cache data, hvis de skal reloades med et fast interval. Dette gøres ved at tilføje en tilfældig parameter til URL'en, når data hentes. Herved betragter browseren og serveren det som et nyt kald. I specielle tilfælde er denne parameter ikke hensigtsmæssig. Ved at sætte "reloadIntervalCache" til true, tilføjes denne tilfældige parameter ikke til URL'en når data hentes. I det tilfælde er det serverens opgave at sørge for at data ikke er cached.

transition

  • Type: boolean

Fade et lag ind og ud når de hhv. vises og skjules. Dette giver en glidende effekt, men er langt fra relevant i alle situationer.

paramNames

  • Type: object

Det er muligt at angive en eller flere nøgler, der skal bruges til at kalde den service, man bruger, med. Det kan bruges til kun at vise bestemte features i kortet eller bestemte lag:

json
"paramNames": {
  "key": "planid"
}

Herved kigges der først på om URL-parameteren planid er angivet. Hvis ikke, kigges der efter data-widget-planid på div-elementet.

Værdien benyttes til at estatte teksten <%= key %>, der eventuelt er angivet i host eller features_host. Det er også muligt at bruge de andre muligheder, der er med templates. Læs mere om templates generelt her.

join

  • Type: object

Berig data fra en supplerende datakilde.

json
"join": {
  "type": "json",
  "host": "https://septima.dk/widget/data/kom_kategori.json",
  "dataType":"json",
  "on": {
    "komnr": "kommunekode"
  }
}

Data kan også angives direkte i konfigurationen:

json
"join": {
  "data": {
    "type": "FeatureCollection",
    "features": [{
      "type": "Feature",
      "properties": {
        "kommunekode": 730,
        "kategori": 1,
        "info": "Gælder alene for Fælledparken"
      }
    }]
  },
  "on": {
    "komnr": "kommunekode"
  }
}

I on er det muligt at angive én eller flere kolonner, der skal matche før featuren bliver beriget. Det er p.t. kun muligt at supplere data med et eksakt match.

computedProperties

  • Type: object[]

Tilføj supplerende beregnede kolonne til data, der kan benyttes til f.eks. at skabe en nemmere kategorisering. Det er muligt at angive en listen med nye kolonnenavne angivet i name. For hver kolonne angives en template, der kan transformere eksisterende kolonne til nye. For at styre formatet af den nye kolonne, angives det vha. type, der kan antage typerne "string" (default), "number", "date" eller "object".

Herunder ses forskellige eksempeler,der konverterer eksisterende kolonner til noget andet:

json
"computedProperties": [
  {
    "column": "adresse",
    "template": "<%= vejnavn %> <%= husnummer %>, <%= postnummer %> <%= postdistrikt %>",
    "type": "string"
  },
  {
    "column": "pris",
    "template": "<%= grundpris %>",
    "type": "number"
  },
  {
    "column": "overtagelse",
    "template": "<%= dato %>",
    "type": "date"
  },
  {
    "column": "interval",
    "template": "{from: <%= start %>, to: <%= end %>}",
    "type": "object"
  }
]

orderBy

  • Type: object[]

Sortering af data når de f.eks. vises i listevisningen. Det er muligt at angive en listen med kolonnenavne angivet i column, der skal sorteres på. For hver kolonne kan man angive sorteringsretningen med desc med værdien true eller false. Hvis værdien i kolonne er et tal, angives datatypen som "number" under type.

Herunder ses et eksempel hvor der først sorteres på "status" og derefter på "grundpris":

json
"orderBy": [
  {
    "column": "status",
    "desc": true
  },
  {
    "column": "grundpris",
    "desc": false,
    "type": "number"
  }
]

groupBy

  • Type: string[]

Gruppering af data. Angiv en liste med kolonnenavne, der skal grupperes på. Hvis data indeholder geometri, forudsættes det er geometrien er ens på tværs af rækkerne, der grupperes. Derfor benyttes geometrien fra den første forekomst. informationen for alle rækker, der er grupperet, er gemt i attributten data og kan benyttes i forbindelse med f.eks. infoboksen eller listevisningen.

Herunder ses et eksempel hvor data er grupperet efter kolonnen pladsid:

json
"groupBy": ["pladsid"]

fillpattern

  • Type: boolean
  • Default: false

Denne parameter er kun nødvendig at benytte hvis stylen med fillpattern hentes fra en separat fil. Ellers detekteres det automatisk.

updateWhileAnimating

  • Type: boolean
  • Default: false

Stylen opdateres i kortet mens der foregår en animation ved f.eks. zoom til. Dette kan være lidt tungt hvis laget indeholder mange features.

prefilter

  • Type: object[]

Tilføj et filter på data, der er hentet fra en service. Herved er det muligt kun at vise udvalgte data i kortet. prefilter består af en liste af udtryk, der alle skal være opfyldt for at en feaure vises.

Følgende operationer kan anvendes: =, !=, <, >, <=, >=, in, notin og tilføjes som vist her:

json
"prefilter": [ 
  {"name": "type", "op": "!=", "val": "test"},
  {"name": "klynge_id", "op": "=", "val": 101}
]

Filter (userfilter)

Styring af hvilke objekter, der vises i kortet.

Herunder er et eksempel på inholdet af userfilter. Man angiver navnet på kolonnen samt hvilke egenskaber, der skal knyttes til dette filter. Der findes følgende typer: range, daterange, boolean, text, selectlist og multiselect. I eksemplet er der angivet to kolonner; "antal" og "belægning".

For kolonnen "antal" vises kun objekter, der har værdier mellem 0 og 50 (begge inklusive). For kolonnen "belægning" vises kun de objekter, der har værdier under 100. Begge ranges skal opfyldes for at objektet vises.

json
{
    "antal": {
        "type": "range",
        "min": 0,
        "max": 50,
        "limit": [0,110],
        "template": "Antal børn: <%= min %>-<%= max %> børn"
        "label": "Antal børn:",
        "unit": " børn"
    },
    "belægning": {
        "max": 100,
    }
}

Indholdet af userfilter kan også være en URL til en fil, der indeholder userfilter. Det gøres simpelt ved at angive "userfilter": "https://septima.dk/widget/data/userfilter.json". Herved kan et userfilter benyttes på tværs af lag og konfigurationer.

Herunder findes en beskrivelse af de enkelte egenskaber, et enkelt userfilter kan have.

type

  • Type: string
  • Default: range

Hvilken type filter er det. Angiv "range", "boolean", "selectlist", "text", "daterange" eller "multiselect".

label

  • Type: string

Benyttes blandt andet af filter funktionen til at vise en overskrift eller teksten på en boolean knap.

template

  • Type: string | object

Ved type:"range": Benyttes af filter funktionen til at vise det valgte interval. Herved er det muligt at lave et beregnet felt afhændigt af det valgte. Det kunne være at man gerne vil vise navnet på måneden i stedet for tallet. Læs mere om templates generelt her.

Bemærk at hvis template angives, benyttes label og unit ikke.

min

  • Type: number | string

Ved type:"range" og type:"daterange": Den værdi som kolonnen mindst skal have. Ved type:"daterange" er det en dato i samme format som angivet i "format". Alternativt kan syntaksen "today", der så er dags dato. Det er muligt at angive "today-3d" for at vælge tre dage før i dag. Eller "today+1M" for en måned fra i dag eller "today+2y" for om to år.

max

  • Type: number | string

Ved type:"range" og type:"daterange": Den værdi som kolonnen højst skal have. Ved type:"daterange" er det en dato i samme format som angivet i "format". Alternativt kan syntaksen "today", der så er dags dato. Det er muligt at angive "today-3d" for at vælge tre dage før i dag. Eller "today+1M" for en måned fra i dag eller "today+2y" for om to år.

fixedMin

  • Type: boolean
  • Default: false

Ved type:"range": Benyttes i forbindelse med filter funktionen til at fryse sliderens startpunkt.

fixedMax

  • Type: boolean
  • Default: false

Ved type:"range": Benyttes i forbindelse med filter funktionen til at fryse sliderens slutpunkt.

startDate

  • Type: string

Ved type:"daterange": Den dato, der tidligst kan vælges. En dato i samme format som angivet i "format". Alternativt kan syntaksen "today", der så er dags dato. Det er muligt at angive "today-3d" for at vælge tre dage før i dag. Eller "today+1M" for en måned fra i dag eller "today+2y" for om to år.

endDate

  • Type: string

Ved og type:"daterange": Den dato, der senest kan vælges. En dato i samme format som angivet i "format". Alternativt kan syntaksen "today", der så er dags dato. Det er muligt at angive "today-3d" for at vælge tre dage før i dag. Eller "today+1M" for en måned fra i dag eller "today+2y" for om to år.

limit

  • Type: number[]

Ved type:"range": Benyttes blandt andet af filter funktionen til at angive, hvad udfaldsrummet maksimalt kan have

unit

  • Type: string

Ved type:"range": Benyttes blandt andet af filter funktionen til at vise det aktuelle valg med en enhed

sliderType

  • Type: string
  • Default: double

Ved type:"range": Brug single hvis man ønsker at have en slider med kun én værdi. Bemærk at min og max skal sættes til samme værdi for at få kortet til at vise det, der er valgt i slideren.

values

  • Type: string[] | object[]

Ved type:"multiselect" og type:"selectlist": Hvilken værdier fra denne kolonne skal en feature have for at blive vist i kortet. Ved type:"text": En liste af værdier, der skal filtreres på fra starten

allDefaultSelected

  • Type: boolean
  • Default: false

Ved type:"multiselect" og type:"selectlist": Alle værdier valgt fra starten. Et alternativ til at angive alle eksplicit

sort

  • Type: boolean

Ved type:"multiselect" og type:"selectlist": Skal filteret sorteres efter værdien

splitString

  • Type: string

Ved type:"range", type:"multiselect" og type:"selectlist": Hvis data indeholder flere værdier i samme tekstfelt, vil det være muligt at splitte teksten. Det betyder at hvis en kolonne i data f.eks. indholder værdien Have,Hus for én feature mens en anden indeholder Hus, så kan du lave et filter, der indeholder Have og Hus som hvert sit valg. Når brugeren vælger Hus, så vises begge features selvom den ene indeholdt teksten Have,Hus

buttontype

  • Type: check

Ved type:"selectlist": Skal listen fungere som checkbuttons eller radiobuttons. Ved "buttontype":"check" kan flere værdier fra listen være valgt på én gang. Ved "buttontype":"radio" kan kun én af værdierne i listen være valgt.

value

  • Type: `boolean

Ved type:"boolean": Skal de features, der overholder de booleske udtryk, vises.

eq

  • Type: boolean | number | string

Ved type:"boolean": Værdien som en feature skal have for, at den er true.

regexp

  • Type: string

Ved type:"boolean": Et regulært udtryk som en feature skal matche for, at den er true.

regexpTrue

  • Type: string
  • Default: .*

Ved type:"boolean": Et regulært udtryk som en feature skal matche for, at den er true. Herved er det muligt, at "true" og "false" ikke er komplementære. Benyttes sammen med "regexpFalse".

regexpFalse

  • Type: string
  • Default: .*

Ved type:"boolean": Et regulært udtryk som en feature skal matche for, at den er false. Herved er det muligt, at "true" og "false" ikke er komplementære. Benyttes sammen med "regexpTrue".

format

  • Type: string
  • Default: "DD.MM.YYYY"

Ved type:"daterange": Den måde hvorpå datoen vises, når den er valgt.

maxDateColumn

  • Type: string

Ved type:"daterange": Hvis data er et range, der er defineret af to datoer i hver sin kolonne, angives her den kolonne, der definere slutdatoen.

shortcuts

  • Type: object

Ved type:"daterange": Vis genveje til f.eks. "næste uge", "næste måned" og "næste år".

json
"shortcuts": {
  "prev": ["week", "month", "year"],
  "next": ["week", "month", "year"]
}

expand

  • Type: string
  • Default: up

Ved type:"daterange": Skal datovælgeren folde ud over (up) eller under (down) knappen.

overlapMethod

  • Type: string
  • Default: some

Ved type:"daterange": Kan have værdierne some, all og allSelected.

  • Ved some skal der blot være et overlap mellem det valgte interval og intervallet i data.

  • Ved all skal det valgte intervalg ligge fuldstndigt inden for intervallet i data.

  • Ved allSelected skal hele intervallet i data ligge inden for det valgte interval.

format

  • Type: string
  • Default: "DD.MM.YYYY"

Ved type:"daterange": Den måde hvorpå datoen vises, når den er valgt.

urlParamNames

  • Type: object

Ved type:"daterange": URL-parametre, der indeholder startværdier for henholdsvis min- og max-værdierne. Angiv eksempelvis {"min": "startdato","max": "slutdato"}. Herved er det muligt at kalde siden med &startdato=16.12.2015&slutdato=18.12.2015 hvor de to værdier bliver indsat som min og max. Bemærk, at formatet på datoen er det format, der er angivet under format.

Animation (animate)

Styring af hvordan objekter, der tilføjes i kortet.

json
{
  "type": "route",
  "duration": 2000
}

Herunder findes en beskrivelse af de enkelte egenskaber, en enkelt animation kan have.

type

  • Type: string

Hvilken type animation er det. Angiv route

duration

  • Type: number | string

Hvor lang tid skal det tage, før featuren er tegnet i kortet. Værdien kan angives som millisekunder eller som en template. Læs mere om templates generelt her.

Cluster

Samling af punkter i kortet. Herunder findes en beskrivelse af de enkelte egenskaber, der kan sættes på et cluster. Hvis ingen egenskaber er angivet, vil default-værdier blive brugt. Det er altså ikke nødvendigt at gøre noget.

distance

  • Type: number
  • Default: 40

Afstanden mellem punkter, der skal samles

spiral

  • Type: object

Når der klikkes på et cluster, vil de underliggende punkter blive spredt ud som en spiral fra centrum af clusteret. Det er muligt at angive sølgende parametre til spiralen:

json
"spiral": {
  "pxArc": 35,
  "pxSep": 35,
  "pxDist": 30
}

hvor pxArc er antallet af pixels, der skal være mellem to punkter, der ligger ved siden af hinanden i spiralen, mens pxSep er antallet af pixels mellem to rækker i spiralen.

pxDist bestemmer hvor langt et punkt skal vises fra centrum når der kun vises få punkter.

features_style

  • Type: object

Hvordan skal cluster punkterne markeres i kortet. Specielt for cluster er det også muligt at angive en radius. Default er radius dynamisk afhængig af antallet af punkter. Men det er muligt at angive en specifik radius her. Læs mere om features_style her

Her er et eksempel:

json
"features_style": {
  "strokecolor": "rgba(230, 0, 126, 0.4)",
  "strokewidth": 14,
  "fillcolor": "rgba(230, 0, 126, 1)",
  "textFont": "bold 16px Roboto",
  "radius": 18
}

I stylen er det muligt at bruge teplates til at styre indholdet stylen. Templaten kan bruge parametrene colorratio, opacityratio, radius, ratio> og text>, hvor den sidste er antallet af punkter, der ligger i dette cluster. Læs mere om templates generelt her.

minResolution

  • Type: number
  • Default: 0

Hvor langt skal der zoomes ind, før et cluster vises som punkter i stedet for cluster. Dette tal angives som antallet af meter, hver pixel er i dette zoomniveau.