Gå til indhold

GeometryToolbox

Dansk navn: Geometriværktøj
Engelsk navn: GeometryToolbox
Ikon: geometry-toolbox Ikon

Tegn, redigér, kombinér og importér geometri. Andre plugins bruger det som deres geometrieditor, så de ikke behøver deres egen. Kræver desuden MapInteractionSupport-pluginet (ejer selve korthandlingerne) og et OpenLayers-kort.

Tastaturgenveje: Fortryd (Ctrl+Z), Gentag (Ctrl+Shift+Z), slet markeret (Delete), kopiér/indsæt geometri som tekst (Ctrl+C/Ctrl+V). Kan slås til/fra via cfg-parameteren keyboardShortcutsEnabled.

DesktopMobilForsideIndlejretDashboardGeoStoryKontekst
JaNejNejNejNejNejKan vælges

Fra eksempel-konfigurationen for 2026.11. Se alle plugins i Plugin-placering.

Bruges typisk indlejret af andre plugins (fx Konfliktanalyse, Høringsliste, Redigér) som deres geometrieditor.

Parametre under cfg i localConfig:

  • maxSnapshots (number, standard 10) — hvor mange redigeringssessioner Historik-dropdownen gemmer
  • showInSidebar (boolean, standard false) — vis værktøjets egen knap i sidebar-menuen. Uden denne åbnes værktøjet kun, når andre plugins kalder det, og der er ingen egen knap
  • keyboardShortcutsEnabled (boolean, standard true) — tastaturgenveje (Fortryd/Gentag/Slet/ kopiér-indsæt, se ovenfor). Gælder alle steder værktøjet bruges, både det selvstændige vindue og indlejret i andre plugins - kan ikke slås til/fra pr. instans, kun for hele installationen
  • layout (array) — begrænser/omarrangerer det selvstændige vindue og den avancerede visning i indlejrede værktøjer (hvilke faner, grupper og værktøjer der vises, og hvordan de er grupperet). Udelades for standard-opbygningen.
  • fixedLayerTool (object) — hvor det indbyggede fastlags-søgeværktøj (eget Vælg/Fællesmængde-par) søger, i et brugerdefineret layout (ikke en del af standard-opbygningen - se layerOperationPresets for det der vises som standard). Viser som standard matrikulære jordstykker
    • fixedLayerTool.wfsUrl (string) — WFS-url
    • fixedLayerTool.typeName (string) — navnerum:type
    • fixedLayerTool.label (string, valgfri) — navnet på knap og lag, i stedet for “Jordstykke”
    • Den ældre nøgle jordstykke (samme form) virker stadig. Er begge sat, vinder fixedLayerTool
  • layerOperationPresets (object, valgfri) — navngivne, forudvalgte lag til Lagsøgnings Udpeg/Skær, uden at de behøver være på kortet. Vises i en egen “Forudvalgte”-kategori øverst i laglisten. Er der sat nogen, er det dem der er valgt som udgangspunkt - i stedet for de synlige kortlag - indtil brugeren selv vælger andre lag
    • layerOperationPresets.<id> (object) — id’et er en fri streng, bruges kun internt til at identificere det enkelte forudvalgte lag
      • layerOperationPresets.<id>.displayName (string) — navnet der vises i laglisten
      • layerOperationPresets.<id>.wfsUrl (string) — WFS-url
      • layerOperationPresets.<id>.typeName (string) — navnerum:type
      • layerOperationPresets.<id>.params (object, valgfri) — ekstra statiske parametre til laget
  • layerOperation (object, valgfri) — startværdierne for de to tal i Lagsøgnings indstillinger, for alle Geometriværktøjer (det selvstændige vindue og dem der er indlejret i Konfliktsøgning, Distributionsliste og FeatureForm). Kun startværdien: brugeren kan stadig ændre begge i indstillingerne. Læses kun fra localConfig.json (en konteksts egen cfg for Geometriværktøj ændrer det ikke)
    • layerOperation.maxFeaturesPerLayer (number, standard 25) — højst så mange objekter Udpeg og Skær henter fra ét lag
    • layerOperation.maxPickResults (number, standard 25) — højst så mange objekter Udpeg og Skær bruger i alt, på tværs af alle lag
    • Begge skal være et helt tal på mindst 1; en ugyldig værdi ignoreres (advarsel i konsollen), og standarden 25 bruges
    • Objekter ud over en grænse skæres fra. Når Udpeg eller Skær når en grænse, vises en kort advarsel, der nævner de lag, der nåede grænsen pr. lag, og/eller at grænsen i alt blev nået (“Der kan være flere”)
    • Højere grænser henter flere og tungere geometrier til browseren: store multipolygoner kan få redigeringen til at fryse (geometrivalidering)
    • Ikke det samme som Konfliktsøgnings queryMaxFeatures, der kun begrænser Konfliktsøgnings egen resultatforespørgsel

Viser kun punkt, polygon og Importér. I en kontekst indsættes kun indholdet af cfg.

{
"name": "GeometryToolbox",
"cfg": {
"showInSidebar": true,
"layout": [
{ "tab": "Home", "cells": [
{ "cellId": "MitTegn", "title": "geometryTools.group.Draw", "rows": [
[{ "toolIds": ["geo-tool-variant-point"] }],
[{ "toolIds": ["geo-tool-variant-polygon"] }]
] },
{ "cellId": "MinTekst", "title": "geometryTools.minimalLayout.textCellTitle", "rows": [
[{ "toolIds": ["geo-tool-import"] }]
] }
] }
]
}
}
  • toolIds: én id giver en almindelig knap, to eller flere giver en samlet knapgruppe. Pr. gruppe kan du sætte label (standardteksten eller almindelig tekst, fx "Lokalplaner"), labelPosition (inline/below), direction (horizontal/vertical) og size (sm/md/lg).
  • En celle, der ikke er med, vises ikke.
  • Vil du vise præcis de værktøjer, du nævner, så brug dit eget cellId, fx MitTegn, som i eksemplet.
  • Bruger du et indbygget cellId fra tabellen, fx Add, kommer cellens øvrige værktøjer automatisk med efter dem, du nævner. Det gælder ikke værktøjer, der er nævnt i en anden celle.
  • Et værktøj kan stå i enhver celle. Tabellen viser kun, hvilken indbygget celle det hører til.
  • title er en oversættelsesnøgle, ikke almindelig tekst. Uden title har en egen celle ingen overskrift.
  • En egen celle får ikke den indbyggede celles indstillinger af sig selv. Sæt settingIds, hvis de skal med, fx "settingIds": ["geo-setting-snap-pixelTolerance", "geo-setting-geometry-numVerticesCircle"] for Add.
  • tab er Home, Tools, Annotate eller Custom.
  • Er værdien ugyldig, bruges standard-opbygningen, og der kommer en advarsel i browserens konsol.
cellIdtoolIds
Addgeo-tool-variant-point, geo-tool-variant-line, geo-tool-variant-polygon, geo-tool-variant-rectangle, geo-tool-variant-circle, geo-tool-variant-freehand-line, geo-tool-variant-freehand-polygon, geo-tool-snap-toggle, geo-tool-trace-toggle, geo-tool-snap-layers
Editgeo-tool-edit-transform-translate, geo-tool-edit-transform-rotate, geo-tool-edit-transform-scale, geo-tool-edit-modify
BooleanOpsgeo-tool-operation-union, geo-tool-operation-subtract, geo-tool-operation-intersect, geo-tool-buffer-shrink, geo-tool-buffer-grow, geo-tool-operation-simplify
LayerOperationgeo-tool-layerOperation-pick, geo-tool-layerOperation-search, geo-tool-layerOperation-layers, geo-tool-layerOperation-preview
FixedLayergeo-tool-fixed-layer-pick, geo-tool-fixed-layer-intersect
Textgeo-tool-import, geo-tool-export, geo-tool-create-layer, geo-tool-export-annotation
Measuregeo-tool-showMeasurements
AnnotateAddgeo-tool-annotate-text
AnnotationStyleingen - en fast celle til annotationsstil, hvor rows ignoreres
CustomToolsingen indbyggede - fyldes af værktøjer fra andre plugins, og vises kun, når mindst ét er registreret

Konfliktanalyse og Høringsliste har hver deres geometryToolboxLayout med samme form. Den gælder deres simple visning.

Eksempel: fastlags-værktøj med eget lag

Sektion kaldt “Eksempel: fastlags-værktøj med eget lag”

I det selvstændige vindue vises værktøjet kun, når cellen FixedLayer er med i layout. fixedLayerTool gælder også de indlejrede værktøjer, der viser cellen:

{
"name": "GeometryToolbox",
"cfg": {
"showInSidebar": true,
"fixedLayerTool": {
"wfsUrl": "https://datasamling.nordiq-gis.dk/daf_matrikel_fix_wfs/wfs",
"typeName": "daf_matrikel_fix_wfs:Jordstykke_Gaeldende",
"label": "Jordstykker"
},
"layout": [
{ "tab": "Home", "cells": [
{ "cellId": "FixedLayer", "rows": [
[{ "toolIds": ["geo-tool-fixed-layer-pick", "geo-tool-fixed-layer-intersect"], "label": "Jordstykker" }]
] }
] }
]
}
}

Nøglen (her jordstykker) er en fri streng. Flere lag tilføjes som flere nøgler:

{
"name": "GeometryToolbox",
"cfg": {
"showInSidebar": true,
"layerOperationPresets": {
"jordstykker": {
"displayName": "Jordstykker",
"wfsUrl": "https://datasamling.nordiq-gis.dk/daf_matrikel_fix_wfs/wfs",
"typeName": "daf_matrikel_fix_wfs:Jordstykke_Gaeldende"
}
}
}
}

Genforsøg af WFS-forespørgsler (nqWFSRetrySettings)

Sektion kaldt “Genforsøg af WFS-forespørgsler (nqWFSRetrySettings)”

Udpeg og Skær (Lagsøgning og fastlags-værktøjet) sender en WFS-forespørgsel igen (som standard én gang), hvis serveren svarer med en OGC-fejl (ExceptionReport), hvis der er en netværksfejl, eller hvis svaret er HTTP 502 eller 503. Før hvert genforsøg ventes et tilfældigt antal millisekunder (standard 50-150). Det samme gælder Konfliktanalyses søgning, Distributionslistens “vælg på kort” og FeatureForms opslag af lag og objekter.

  • Gyldige og tomme svar, andre HTTP-fejl, 504, timeouts og afbrudte forespørgsler forsøges ikke igen.
  • Genforsøgene stopper ved det første gode svar, eller hvis et genforsøg fejler på en måde, der ikke forsøges igen.
  • Giver ingen af genforsøgene et godt svar, bruges det første svar, som før.
  • FeatureForms gem (WFS-T) forsøges aldrig igen.

Genforsøget styres af den valgfri nøgle nqWFSRetrySettings øverst i localConfig.json, på samme niveau som plugins. Den står ikke under et plugins cfg, og den kan ikke sættes i en kontekst. Den gælder hele installationen.

  • nqWFSRetrySettings.enabled (boolean, standard true): false slår genforsøget fra, så hver forespørgsel kun sendes én gang.
  • nqWFSRetrySettings.maxRetries (number, standard 1): hvor mange gange en fejlet forespørgsel højst sendes igen. Et helt tal fra 0 til 3. 0 slår genforsøget fra, ligesom enabled: false. Hvert ekstra genforsøg kan give én forespørgsel mere pr. lag, der fejler, til en server, der i forvejen har problemer.
  • nqWFSRetrySettings.minDelayMs og nqWFSRetrySettings.maxDelayMs (number, standard 50 og 150): ventetiden før hvert genforsøg, i millisekunder. Den vælges tilfældigt mellem de to værdier.
    • Værdierne skal være hele tal fra 0 til 10000.
    • minDelayMs må ikke være større end maxDelayMs.
  • Udelades nøglen, bruges standardværdierne.
  • En ugyldig værdi ignoreres med en advarsel i browserens konsol, og standarden for den værdi bruges i stedet. Er minDelayMs større end maxDelayMs, bruges standarden for dem begge.
  • Hvilke fejl der forsøges igen kan ikke ændres.
  • Hvert genforsøg skrives i browserens konsol som WFS request failed, retrying once: ..., eller med flere genforsøg som WFS request failed, retry 1 of 3: ....
"nqWFSRetrySettings": { "enabled": true, "maxRetries": 1, "minDelayMs": 50, "maxDelayMs": 150 }

Standardkonfiguration i localConfig.json

Sektion kaldt “Standardkonfiguration i localConfig.json”
{
"name": "GeometryToolbox",
"cfg": {
"maxSnapshots": 10,
"showInSidebar": true,
"keyboardShortcutsEnabled": true,
"layerOperationPresets": {
"jordstykker": {
"displayName": "Jordstykker",
"wfsUrl": "https://datasamling.nordiq-gis.dk/daf_matrikel_fix_wfs/wfs",
"typeName": "daf_matrikel_fix_wfs:Jordstykke_Gaeldende"
}
}
}
},
{
"name": "MapInteractionSupport"
},

Standardkonfiguration i pluginsConfig.json

Sektion kaldt “Standardkonfiguration i pluginsConfig.json”
{
"name": "GeometryToolbox",
"glyph": "polygon-plus",
"title": "plugins.GeometryToolbox.title",
"description": "plugins.GeometryToolbox.description",
"dependencies": ["MapInteractionSupport"],
"defaultConfig": {
"showInSidebar": false,
"keyboardShortcutsEnabled": true,
"layerOperationPresets": {
"jordstykker": {
"displayName": "Jordstykker",
"wfsUrl": "https://datasamling.nordiq-gis.dk/daf_matrikel_fix_wfs/wfs",
"typeName": "daf_matrikel_fix_wfs:Jordstykke_Gaeldende"
}
}
}
},
{
"name": "MapInteractionSupport",
"hidden": true
},