Vejman.dk vejledninger

Avanceret søgning

Denne vejledning gennemgår eksempler på, hvordan avanceret søgning kan bruges.

Når du har startet avanceret søgning, kan du vælge mellem at oprette et nyt opslag, eller at åbne en eksisterende forespørgsel og tilrette den til dit formål.

Avanceret søgning kan foretage opslag på 2 forskellige måder:

Oprette et nyt udtræk med komplekse data fra Vejman

Opslag med foruddefinerede lister med fast parametervalg

Opslag med avanceret søgning

clip0398-20231121-160822.png

Formålet med avanceret søgning er at gøre det muligt at finde data i Vejman uden dybt kendskab til, hvorledes vejman.dk-databasen er organiseret.

 

Avanceret søgning kan ved hjælp af Peg-Og-Klik metoden generere en SQLSQL -forespørgsel, som sendes til databasen. Resultatet af en forespørgsel består af data organiseret i rækker og kolonner, kalder et søgeresultat. Søgeresultatet kan eksporteres til fx regneark og tekstbehandlingsprogrammer.

 

Da du ikke med rimelighed kan forventes at kunne skrive SQL-forespørgsler, arbejder avanceret søgning med et tilvirket sprog kaldet VISQL. Oven i købet behøver du blot klikke på nogle lister med valgmuligheder, så genererer avanceret søgning selv VISQL-koden. Disse lister ligger i Parametervinduet.

Om VISQL-forespørgsler med avanceret søgning

Generelt om VISQL

Avanceret søgnings SQL-sætning består af to afsnit.

Det første afsnit indledes med overskriften VÆLG. Under denne overskrift anføres de oplysninger, du vil se, fx facadeforhold og by/landzonestrækninger. De oplysninger, du ønsker at se, kaldes parametre og vil være kolonneoverskrifter i søgeresultatet.

VÆLG

Admvejnr

Admvejdel

Frakmt

Tilkmt

Det andet afsnit indledes med overskriften HVOR. Under denne overskrift anføres betingelser, der skal være opfyldte. Du kan fx anføre på hvilke(n) vej(e), du ønsker at se de ønskede oplysninger.

HVOR

Admvejnr = 111

Den store fordel med avanceret søgning (VISQL) er, at du ikke behøver at huske alle parameternavnene i hovedet. I stedet kan du klikke dig frem ved hjælp af Parametervinduet.HIDD_TREE

Teorien bag VISQL

Hvis du ønsker at forstå teorien bagved VISQL, så er der efterfølgende en kort introduktion til VISQL-sproget.

VISQL-sproget er et SQL-lignende dansk forespørgselssprog med følgende elementer:

Kommentar,

VÆLG,

HVOR,

SORTER EFTER

GEM SOM og

UDVID.

Kommentar:

Kan fx benyttes til at beskrive formål og baggrund for forespørgslen, således at man på et senere tidspunkt kan finde ud af hvad det handler om.

Kan placeres alle steder i forespørgslen.

Syntaks: /* <kommentar> */

VÆLG-del:

I VÆLG-delen angives de parametre hvorom der ønskes oplysninger.

Parameter-navnene adskilles med komma.

VÆLG ALLE er en funktion, der primært i forbindelse med oplysninger om kryds eller uheld benyttes f.eks. til at vælge alle ben i et kryds hvis blot ét ben overholder de valgte kriterier eller at vælge alle elementer/personer i et uheld hvis blot ét element/én person overholder de valgte kriterier.

Eks.: VÆLG ALLE Benregulering HVOR Ben_ådt_trafiktal > 1000

udvælger regulering på alle ben i de kryds, hvor mindst ét ben har ådt_trafiktal > 1000.

HVOR-del:

I HVOR-delen angives under hvilke betingelser, data skal udtrækkes. Som oftest vil man som minimum begrænse udtrækket ved at opstille betingelser på vejreferenceparametre eller vejcenter/kommune/politikreds/distrikt mv.

I betingelser kan anvendes: OG, ELLER, I, MELLEM, ER UOPLYST og parenteser.

Eks. - HVOR-del, hvor man ønsker data for både Admvejnr 102 og Admvejnr 151, hvorom det gælder, at der kun skal trækkes data ud for de strækninger, der har en generel hastighedsbegrænsning på 80 km/t:

HVOR

(Admvejnr = 102 ELLER Admvejnr = 151) OG Gnrl_Hastbegr('Højre') = '80'

NB. Betingelser på vejreferenceparametre og andre betingelser skal adskilles med et OG. Dvs. at følgende betingelse er ulovlig:

Admvejnr = 102 ELLER Admvejnr = 151 OG Gnrl_Hastbegr('Højre') = '80'

idet OG er ‘stærkere’ end ELLER

Ligeledes er følgende betingelse ulovlig:

(Admvejnr = 102 ELLER Admvejnr = 151) ELLER Gnrl_Hastbegr('Højre') = '80'

Denne begrænsning er næppe en reel begrænsning, idet disse typer af forespørgsler meget sjældent giver nogen mening.

I og MELLEM er betingelser, der kan benyttes som alternativer til OG og ELLER. Eks.:

HVOR Admvejnr I (102,151) svarer til at skrive HVOR Admvejnr = 102 ELLER Admvejnr = 151.

HVOR Admvejnr MELLEM (102,151) svarer til at skrive HVOR Admvejnr >= 102 OG Vejnr <= 151.

SORTER-del:

Man har mulighed for at angive den (stigende) rækkefølge som resultatet skal præsenteres i. De valgte parametre skal være angivet i VÆLG-delen. Parameter-navnene adskilles med komma.

Hvis ikke man angiver noget, præsenteres resultatet efter vejidentifikation og frakmt/kmt.

Syntaks: [SORTER EFTER <parameter-liste>]

Eks.

SORTER EFTER Admvejnr, Trafiktal(‘Aadt’)

GEM SOM-del:

Resultatet af forespørgslen kan gemmes i en Oracle-tabel efter eget valg. Dette benyttes hvis man fx vil viderebearbejde data med Oracle rapport-værktøj Reports.

Hvis tabellen eksisterer i forvejen kan man angive ERSTAT til slut. Det medfører, at indholdet af en eksisterende tabel slettes.

Syntaks: [GEM SOM <tabelnavn> [ERSTAT]]

Eks.

GEM SOM tabel_med_aadt ERSTAT

UDVID-del:

Avanceret søgining danner en midlertidig Oracle-tabel med navnet visql_tabel. Denne tabel kan viderebearbejdes i UDVID-delen med elementer fra SQL-sproget som regneudtryk, formatering, gruppering, fletning med øvrige tabeller m.v.

Eksempel på UDVID-del:

UDVID(*

SELECT

kode_uheldkommune Kommune,

aar,

SUM(DECODE(Uheldsart,'Anmsuh',1,'Mskduh',1,'Pskduh',1,0)) Antal_uheld_i_alt,

SUM(Decode(antal_draebte,0,0,1)) Antal_dødsuheld

FROM visql_tabel

GROUP BY kode_uheldkommune, aar

*)

Brug af UDVID kræver noget kendskab til SQL, hvorfor de fleste brugere kun vil møde UDVID i forbindelse med opslag med standardlister.

Rækkefølge:

VÆLG <parameterliste>

HVOR <betingelse>

SORTER EFTER <parameterliste>

GEM SOM <tabelnavn>

UDVID (* <SQL-sætning> *)

Strækningsform og punktform:

Principielt findes to typer af data: strækningsdata og punktdata.

Strækningsdata er karakteriseret ved at gælde på en strækning, mellem en frakilometrering og en tilkilometrering. Dvs. omfatter forespørgslen kun strækningsdata skal man vælge de to vejreference-parametre Frakmt og Tilkmt og derved får man sit resultat på strækningsform.

Strækningsform er karakteriseret ved at resultatet omfatter hele det vejnet, der er specificeret ved HVOR-delen.

Punktdata gælder i et punkt: i en kilometrering. Dvs. omfatter forespørgslen kun punktdata vil man vælge vejreference-parameteren Kmt og derved få sit resultat på punktform.

Punktform er karakteriseret ved at resultatet omfatter de punkter, på det vejnet, som er specificeret ved HVOR-delen, hvor der er defineret de aktuelle punktdata.

Hvis forespørgslen omfatter både strækningsdata og punktdata, skal man vælge om man ønsker resultatet på strækningsform eller på punktform. Det gør man ved at udvælge enten Frakmt og Tilkmt (strækningsform) eller Kmt (punktform). Egentlig er det tilstedeværelsen af Kmt, der er afgørende. Hvis Kmt er angivet kommer resultatet på punktform ellers kommer resultatet på strækningsform.

Hvis man vælger strækningsform vil punktdata optræde på ‘strækninger’ hvor Frakmt = Tilkmt.

Hvis man vælger punktform vil strækningsdata blive ‘hægtet’ på de aktuelle punkter, hvor der er punktdata.

Bemærk at hvis man angiver Kmt (dvs. vælger punktform) og kun udvælger strækningsdata, så får man intet ud.

Uheld som ikke er stedfæstet på vejman.dk-veje:

Hvis en forespørgsel kun omfatter vejreferenceparametre og/eller uhelds-parametre (uheld/element/person) samt der ikke er nogen betingelser på vejreference-parametre så vil udtrækket også omfatte uheld som ikke er stedfæstet på veje der er registreret i Vejman .

I modsat fald vil udtrækket kun omfatte uheld som kan stedfæstes på vejman.dk-veje.

UDVID med Vis på kort:

I VQL sproget vises resultatet af søgningen på kort ved at skrive GEOKODE sidst i HVOR-sætningen og tilføje @coord i parameterlisten.

NB! Ikke alle data kan vises på kort.

Generelt om VISQL

Avanceret søgnings SQL-sætning består af to afsnit.

 

Det første afsnit indledes med overskriften VÆLG. Under denne overskrift anføres de oplysninger, du vil se, fx vejtype og vejklasse. De oplysninger, du ønsker at se, kaldes parametre og vil være kolonneoverskrifter i søgeresultatet.

 VÆLG

 Admvejnr,  Admvejdel,  Frakmt,  Tilkmt  

 Det andet afsnit indledes med overskriften HVOR. Under denne overskrift anføres betingelser, der skal være opfyldte. Du kan fx anføre på hvilke(n) vej(e), du ønsker at se de ønskede oplysninger.

 HVOR

 Admvejnr = 111

Den store fordel med avanceret søgning (VQL) er, at du ikke behøver at huske alle parameternavnene i hovedet. I stedet kan du klikke dig frem ved hjælp af Parametervinduet.HIDD_TREE

Teorien bag VISQL

Hvis du ønsker at forstå teorien bagved VQL, så er der efterfølgende en kort introduktion til VQL-sproget.

 

VQL-sproget er et SQL-lignende dansk forespørgselssprog med følgende elementer:

 

Kommentar,

VÆLG,

HVOR,

SORTER EFTER

GEM SOM og

UDVID.

 

Kommentar:

Kan fx benyttes til at beskrive formål og baggrund for forespørgslen, således at man på et senere tidspunkt kan finde ud af hvad det handler om.

 Kan placeres alle steder i forespørgslen.

Syntaks: /* <kommentar> */

  

VÆLG-del:

I VÆLG-delen angives de parametre hvorom der ønskes oplysninger.

Parameter-navnene adskilles med komma.

VÆLG ALLE er en funktion, der primært i forbindelse med oplysninger om kryds eller uheld benyttes f.eks. til at vælge alle ben i et kryds hvis blot ét ben overholder de valgte kriterier eller at vælge alle elementer/personer i et uheld hvis blot ét element/én person overholder de valgte kriterier.

Eks.: VÆLG ALLE

 Kryds_identifikation,

 Ben_kanalisering,

 Ben_ådt_trafiktal

HVOR Admvejnr = 111 OG Ben_ådt_trafiktal > 1000

 

udvælger kanalisering på alle ben på Admvejnr 111, hvor mindst ét ben har ådt_trafiktal > 1000.

 

HVOR-del:

I HVOR-delen angives under hvilke betingelser, data skal udtrækkes. Som oftest vil man som minimum begrænse udtrækket ved at opstille betingelser på vejreferenceparametre eller vejcenter/kommune/politikreds/distrikt mv.

I betingelser kan anvendes: OG, ELLER, I, MELLEM, ER UOPLYST og parenteser.

Eks. - HVOR-del, hvor man ønsker data for både Admvejnr 102 og Admvejnr 151, hvorom det gælder, at der kun skal trækkes data ud for de strækninger der er i Ringsted Kommune

HVOR

(Admvejnr = 102 ELLER Admvejnr = 151) OG Kommune = 'Ringsted'

 NB. Betingelser på vejreferenceparametre og andre betingelser skal adskilles med et OG. Dvs. at følgende betingelse er ulovlig:

  Admvejnr = 102 ELLER Admvejnr = 151 OG  Kommune = 'Ringsted'

idet OG er ‘stærkere’ end ELLER

 

Ligeledes er følgende betingelse ulovlig:

 

(Admvejnr = 102 ELLER Admvejnr = 151) ELLER Kommune = 'Ringsted'

 

Denne begrænsning er næppe en reel begrænsning, idet disse typer af forespørgsler meget sjældent giver nogen mening.

 

I og MELLEM er betingelser, der kan benyttes som alternativer til OG og ELLER. Eks.:

HVOR Admvejnr I (102,151) svarer til at skrive HVOR Admvejnr = 102 ELLER Admvejnr = 151.

HVOR Admvejnr MELLEM (102,151) svarer til at skrive HVOR Admvejnr >= 102 OG Vejnr <= 151.

  

SORTER-del:

Man har mulighed for at angive den (stigende) rækkefølge som resultatet skal præsenteres. De valgte parametre skal være angivet i VÆLG-delen. Parameter-navnene adskilles med komma.

Hvis ikke man angiver noget, præsenteres resultatet efter vejidentifikation og frakmt/kmt.

Syntaks: [SORTER EFTER <parameter-liste>]

Eks.:  SORTER EFTER Admvejnr, Trafiktal(‘Aadt’)    

Vis på kort:

 

Vis på kort er en funktion der viser resultatet af søgningen i et kortvisningsvindue.

I VQL sproget vises valg af kortvisning ved at der skrives GEOKODE efter HVOR-sætningen.

 

HVOR

(Admvejnr = 102 ELLER Admvejnr = 151) OG Kommune = 'Ringsted'

GEOKODE

 

UDVID-del:

 Avanceret søgining danner en midlertidig Oracle-tabel med navnet visql_tabel. Denne tabel kan viderebearbejdes i UDVID-delen med elementer fra SQL-sproget som regneudtryk, formatering, gruppering, fletning med øvrige tabeller m.v.

 Eksempel på UDVID-del:

 UDVID

(*

SELECT        

 Kode_uheldkommune Kommune,

 Aar,

 SUM(DECODE(Uheldsart,'Anmsuh',1,'Mskduh',1,'Pskduh',1,0)) Antal_uh_i_alt,

 SUM(Decode(antal_draebte,0,0,1)) Antal_dødsuheld

FROM visql_tabel

GROUP BY         kode_uheldkommune, aar

ORDER BY         kode_uheldkommune, aar

*)

Brug af UDVID kræver noget kendskab til SQL, hvorfor de fleste brugere kun vil møde UDVID i forbindelse med opslag med standardlister.


Rækkefølge:

VÆLG <parameterliste>

HVOR <betingelse>

SORTER EFTER <parameterliste>

GEM SOM <tabelnavn>

UDVID (* <SQL-sætning> *)

 

 

Strækningsform og punktform:

Principielt findes to typer af data: strækningsdata og punktdata.

Strækningsdata er karakteriseret ved at gælde på en strækning, mellem en frakilometrering og en tilkilometrering. Dvs. omfatter forespørgslen kun strækningsdata skal man vælge de to vejreference-parametre Frakmt og Tilkmt og derved får sit resultat på strækningsform.

 Strækningsform er karakteriseret ved at resultatet omfatter hele det vejnet, der er specificeret ved HVOR-delen.

Punktdata gælder i et punkt: i en kilometrering. Dvs. omfatter forespørgslen kun punktdata vil man vælge vejreference-parameteren Kmt og derved få sit resultat på punktform.

Punktform er karakteriseret ved at resultatet omfatter de punkter, på det vejnet, som er specificeret ved HVOR-delen, hvor der er defineret de aktuelle punktdata.

Hvis forespørgslen omfatter både strækningsdata og punktdata, skal man vælge om man ønsker resultatet på strækningsform eller på punktform. Det gør man ved at udvælge enten Frakmt og Tilkmt (strækningsform) eller Kmt (punktform). Egentlig er det tilstedeværelsen af Kmt, der er afgørende. Hvis Kmt er angivet kommer resultatet på punktform ellers kommer resultatet på strækningsform.

Hvis man vælger strækningsform vil punktdata optræde på ‘strækninger’ hvor Frakmt = Tilkmt.

Hvis man vælger punktform vil strækningsdata blive ‘hægtet’ på de aktuelle punkter, hvor der er punktdata.

 Bemærk at hvis man angiver Kmt (dvs. vælger punktform) og kun udvælger strækningsdata, så får man intet ud.

 

Uheld som ikke er stedfæstet på vejman.dk-veje:

Hvis en forespørgsel kun omfatter vejreferenceparametre og/eller uhelds-parametre (uheld/element/person) samt der ikke er nogen betingelser på vejreference-parametre så vil udtrækket også omfatte uheld som ikke er stedfæstet på veje der er registreret i http://vejman.dk .

 I modsat fald vil udtrækket kun omfatte uheld som kan stedfæstes på vejman.dk-veje.

 UDVID med Vis på kort:

I VQL sproget vises resultatet af søgningen på kort ved at skrive GEOKODE sidst i HVOR-sætningen og tilføje @coord i parameterlisten.

NB! Ikke alle data kan vises på kort.

Sådan laves en avanceret søgning

  1. Vælg de oplysninger, du gerne vil have vist:

*Klik på

clip0399-20231121-161250.png

ved en folder, fx Vejreferencer.

Under folderen Vejreferencer vises nu alle tilknyttede parametre

clip0400-20231121-161310.png

Klik på feltet “Vælg” i parametervinduet.
Dobbeltklik på en eller flere parametre eller markér en eller flere parametre og klik på “Indsæt”

Hver gang du dobbeltklikker (eller vælger indsæt) på en parameter, indsættes denne under overskriften VÆLG i forespørgselsvinduet Forespoergselsvinduet.

clip0403-20231121-161357.png

Angiv søgekriterierne:

Klik på feltet “Hvor” i parametervinduet.

*Udpeg en eller flere parametre - her Hast bykode

clip0405-20231121-161433.png


Nogle vejparametre består af en række attributter. Vælger du fx Hast bykode, bliver du først bedt om at vælge mellem højre, venstre eller begge vejside(er) og derefter om at specificere hvilken by, du er interesseret i.

  1. Tilpas din udskrift:

*Hvis du ønsker dit udtræk vist som koder (tal) i stedet for tekst, skal du klikke i feltet Koder “Koder” før du udpeger parametrene.

*Hvis du ønsker, at resultatet skal være sorteret, så klik på “Sorter efter” og angiv hvilken parameter, udskriften skal sorteres efter. Du kan kun vælge mellem de parametre, som du har angivet under overskriften HVOR.