Definere sjikt¶
Overflater (sjikt) kan vi representere med høyder i et fast XY-grid.

Mange ulike interpoleringsmetoder for å beregne et grid fra høydedata er beskrevet i litteraturen. Gemini Terrain har utviklet sine egne metoder for ulike typer høydedata (kotelinjer, triangelnett og punktskyer) i et gmi-lag.

Metodene får vi tilgang til hvis vi definerer et sjikt for applikasjonslaget. Vi kan ha mange ulike sjikt i en tegning, typisk når vi har flere lag i grunnen som jord og fjell. I det vertikale listefeltet får vi et illustrerende ikon for hvert applikasjonslag som definerer et sjikt.

Sjiktinnstillinger finner vi i fanen Sjikt i egenskapsdialogen for applikasjonslag, eller ved å venstreklikke ved applikasjonslaget i den første kolonnen hvor sjiktsymbolet vises.
Beregningsmetoder for sjikt¶
Selv om et rutenett blir generert av programmet, blir alltid de originale data brukt. Brukeren kan når som helst angi en høyere oppløsning på rutenettet. Prosessen som gjennomgås for å generere et grid fra kotelinjer illustreres best med et eksempel, som vist nedenfor.
Kotelinjer¶
Et enkelt kart med kotelinjer kan for eksempel se slik ut:

Mens programmet tegner ut kotelinjene vil programmet beregne skjæringspunkter med vertikale plan normalt på X- eller Y-aksen ved gitte intervall. Gridtettheten kan settes av bruker. Skjæringspunktene blir lagret med X-, Y-, og Z-koordinater i minnet i en tabell for hvert vertikalt plan.
Etter at uttegningen av hele kartet er utført, vil skjæringspunktene for hvert slikt vertikale plan bli sortert på avstanden fra origo. Da kan skjæringspunktene i hvert plan tegnes ut som et terrengprofil, og bildet vil kunne ta seg ut som vist her:

Etter at denne sorteringen er utført, vil systemet gjennomgå de vertikale planene ett etter ett og interpolere verdier i de spesifiserte rutenett-punktene. Etterpå kan modellen ta seg ut noe slik som dette:

Denne modellen vil imidlertid gjengi terrenget svært unøyaktig. Den viktigste mangelen på nøyaktighet oppstår ved at systemet bare ser på ett vertikalt plan om gangen, uten å se på naboplanene. På denne måten vil en uheldig "terrasse-effekt" oppstå i retningen normalt på de vertikale planene. Studer dette i illustrasjonen ovenfor. Et annet problem er at uønskede effekter oppstår langs de kantene av området som går parallelt med de vertikale planene.
Modellen jevnes derfor ut ved å sette opp vertikale plan i motsatt retning i tillegg. Vi vil i fortsettelsen kalle de første planene for hovedplanene og de andre planene for kryssplanene.

Skjæringspunktene med kryssplanene vil bli lagt inn i tabellene for hovedplanene etter bestemte regler før disse blir sortert og interpolert. Dette vil forbedre nøyaktigheten av terrengmodellen betraktelig, spesielt når det er få kotelinjer i databasen. Spesielt vil vi merke forbedringen langs kantene av området som er parallelle med hovedplanene.

Digitalisering av flere kotelinjer vil gi en enda bedre terrengmodell. Dette vil innebære mer arbeid, men anbefales likevel på steder der terrenget er veldig kupert.
Triangelnett¶
For triangelnett er prosessen den samme, men stegene med utjevning går ut. Utjevning er unødvendig da gridhøydene hentes eksakt fra triangelnettet, og resultatet blir det samme uavhengig av hvilken retning vi går med de vertikale planene.
Punktskyer¶
For punktskyer finner ikke de vertikale planene direkte skjæring med originale data som ved kotelinjer og triangelnett. Med denne metoden bruker programmet vektet middelverdi av alle punkt innenfor valgt gridstørrelse. Disse punktene blir vektet med 1 dividert med kvadratet av avstanden.

Figurtekst: A = Gridstørrelse (stiplet), B = Vertikale plan, C = Originale punkt, D = Beregnet gridpunkt
Behandling av hull i data¶
Områder med hull, det vil si områder hvor programmet ikke finner punkt innenfor gridstørrelsen, må behandles spesielt. Et hull kan ha ulik størrelse fra ett til mange gridpunkt uten beregnet høyde.

Figurtekst: A = Hull
I figuren over ser vi et eksempel der ett gridpunkt ikke har fått beregnet høyde. Programmet kjører da vertikale plan begge retninger. For hvert plan blir høyden interpolert, og endelig verdi blir middelet av disse to verdiene.
Merk
Det er høydene i gridet som blir benyttet i interpoleringen.
I tidligere versjoner av programmet fungerte det dårlig å velge gridtetthet mindre enn gjennomsnittlig punkttetthet ved at vi fikk tomme rader eller kolonner i terrenggridet. Normalt bør en ikke velge mindre gridtetthet enn gjennomsnittlig tetthet i punktskyen, men programmet vil håndtere det.
For hver rutenettcelle som mangler høyde, ser en på naboceller. Programmet går iterativt utover til en høyde er funnet eller maksimalt 5 meter utenfor interessecellen. Vi får da normalt ikke helt tomme rader eller kolonner i terrenggridet, ved at vi finner punkthøyder nærmere enn 5 meter til en celle.