Redigere XREF-tabell¶
Bruk denne dialogen til å opprette eller redigere en spesifikk kryssreferanseregel i en kryssrefereransetabell. Kryssreferering kan vi bruke i flere sammenhenger, blant annet under import og eksport av data eller direkte på data i et applag.
Dialogelementer¶
Beskrivelse¶
Her gir du inn navnet til regelen.
Import / eksport¶
Du må velge om regelen du legger til skal gjelde for import eller eksport av data. I andre tilfeller er ikke valget aktivt.
Objekttype¶
Her velger du hvilke objekttyper den aktuelle beskrivelsen skal gjelde for.
Kriterier som må oppfylles¶
Dette tilsvarer Fra-feltet (attributt). Regelen er at dersom Fra-feltet oppfylles, så blir Til-feltet utført med valgt metode.
Vi kan bruke flere operatorer:
=- Fra-feltet oppfylles hvis den første verdien er lik den andre verdien<- Fra-feltet oppfylles hvis den første verdien er mindre enn den andre verdien>- Fra-feltet oppfylles hvis den første verdien er større enn den andre verdien!=- Fra-feltet oppfylles hvis den første verdien ikke er lik den andre verdien%- Fra-feltet oppfylles hvis den første verdien inneholder den andre verdien. Eksempler: "abcdef" inneholder "bcd", "abcdef" inneholder "abcdef" og "abcdef" inneholder ikke "abef".
I tillegg kan man legge til ekstra attributter som må oppfylles.
Attributtverdier som skal settes¶
Her bestemmer du hva du skal gjøre med attributtene i Fra-feltet.
Dersom denne attributten skal ha en bestemt verdi kan dette gis inn i verdi feltet. Verdien i Fra-feltet kan inneholde *, altså et joker tegn for å ta med alle. Samtlige verdier vil da oppfylles. (OBS! Blank vil matche tom verdi). Du kan fritt skrive inn både attributter og verdier.
Vi kan vi også bruke funksjoner i Til-tilfeltet. Tilgjengelige funksjoner:
- sqrt(x): beregn kvadratroten av x
- power(x, y): beregn xy (x hevet til potensen av y)
- kvadrat(x): beregn x i annen
- sin(x): beregn sinus av x
- cos(x): beregn cosinus til x
- floor(x): rund x til nærmeste heltall ikke større enn x (f.eks. floor(1.7)=1, floor(5.1)=5, floor(-1.2)=-2)
- ceil(x): rund x til nærmeste heltall ikke mindre enn x (f.eks. floor(1.7)=2, floor(5.1)=6, floor(-1.2)=-1)
- round(x): runde x til nærmeste heltall (f.eks. round(1.7)=2, round(5.1)=5, round(-1.2)=-1)
- log(x): beregn den naturlige (base e) logaritmen til x
- log10(x): beregn den vanlige (grunnlag 10) logaritmen til x
- log2(x): beregn base 2-logaritmen til x
- min(x, y): beregn den minste verdien av x og y
- max(x, y): beregn den største verdien av x og y
Funksjonsargumenter kan også være uttrykk, noen eksempler:
sin(maks(-1,min(x,1)): begrense argumentet som sendes til x til området [-1, 1]
round(x*100)/100: runde x til 2 desimaler
Uttrykk støtter også PI-konstanten, som evalueres til π. Noen eksempler:
• rad * PI / 180
• sin(PI / 2)
Vi kan også sette et fordelingskriterie i Til-feltet. Det vil si at data som oppfyller kravet i Fra-feltet skal havne på et gitt applag.
Verdien i Til-feltet (IKKE import) kan også inneholde attributtnavn. Disse kan enten være:
- S_AREA (areal, polygoner), S_LENGTH (lengde, linjer og polygoner).
Disse variablene "trigger" og beregner arealet/lengden. - Verdien av en attributt. Vi kan sette opp komplekse strenger med flere variabler kombinert med andre strenger. De må spesifiseres med %attributtnavn% dersom attributtnavnet inneholder et mellomrom.
Faste interne Gemini attributter:
S_FCODE: temakoden
S_OBJID: PunktID, LinjeID og PolygonID
S_AREA: Gir arealet av et polygon
S_LENGTH: Gir lengden til en linje
Eksempler på bruk¶
Eksempler Eksport¶
Her følger noen eksempler på hvordan du kan få med ulik informasjon ut fra Gemini til en ekstern fil.
Få med punkt ID over på SOSI-fil:
Bruk ved eksport
Objekttype: punkt
Kriterier som må oppfylles: S_OBJID = *
Attributtverdier som skal settes: GRPNR = S_OBJID
Nå kommer punktene ut i SOSI fila med ..GRPNR og henter verdien fra S_OBJID i gmi-fila. Det finnes flere ulike attributter i SOSI standarden som tilsvarer punkt ID, alle disse kan benyttes på attributt verdier som skal settes.
Få med areal ut på SOSI-fil:
Bruk ved eksport
Objekttype: polygon
Kriterier som må oppfylles: S_FCODE=4011
Attributtverdier som skal settes: AREAL=S_AREA
Nå får du en egenskap i SOSI-fila som heter ..AREAL.
Få med LinjeID ut som GID på SOSI-fil
Bruk ved eksport
Objekttype: linje og polygon
Kriterier som må oppfylles: S_OBJID = * OG S_FCODE = 4011
Attributtverdier som skal settes: GID=S_OBJID
Få med lengden ut på SOSI-fil
Bruk ved eksport
Objekttype: linje
Kriterier som må oppfylles: S_FCODE=7002
Attributtverdier som skal settes: LENGDE=S_LENGTH
Eksempler Import¶
Her følger noen eksempler på hvordan du kan ta med egenskaper fra ulike formater og inn i Gemini.
Få med FMIDGML fra en SOSI-fil og inn som PunktID:
Bruk ved import
Objekttype: punkt
Kriterier som må oppfylles: FMIDGML = *
Attributtverdier som skal settes: S_OBJID = FMIDGML
Få med GID fra SOSI fil som LinjeID:
Bruk ved import
Objekttype: linje og polygon
Kriterier som må oppfylles: GID = *
Attributtverdier som skal settes: S_OBJID = GID
Eksempler med verktøy for kryssreferering av attributter¶
Temakode til objekttype
Objekttype: punkt, linje og polygon
Kriterier som må oppfylles: S_FCODE = *
Attributtverdier som skal settes: OBJTYPE = *
Diameter i mm til Diameter i meter
Objekttype: linje
Kriterier som må oppfylles: Diameter = *
Attributtverdier som skal settes: Diameter = Diameter/1000
Fordel objekter med objekttype Kum til applag NVDB_Kum
Objekttype: punkt
Kriterier som må oppfylles: Objekttype = Kum
Huk av for Resultatapplag
Attributtverdier som skal settes: = NVDB_Kum