Søg i Septima Widget K
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_standard
, #dk_luftfoto
, #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.
copyright
- 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", "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. Herved er det nemmere at overskue mange punkter for brugeren. Bemærk, at cluster ikke er understøttet i IE8 eller ældre browsere. 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.