Gå til innhold

Danne topologi

Innledning

Det benyttes to modeller for lagring av vektordata:

  • Spaghettimodellen - den enkleste modellen
  • Topologimodellen - en mer avansert modell

I spaghettimodellen er det ingen spesielle punkter som angir hvor linjene begynner og slutter, eller hvor de krysser hverandre. Det finnes ingen opplysninger som angir hvilke linjer som logisk hører sammen. Linjene krysser hverandre som i en haug med spaghetti.

Med en teknikk som kalles topologi kan du beskrive hvordan objekter ligger i forhold til andre objekter, og hvordan de er knyttet sammen. I denne teknikken benyttes begrepene linjer (lenker) og knutepunkt.

Hva er topologi?

Topologi innebærer i praksis at linjene er splittet i alle knutepunkt og eventuelt konnektert slik at de henger sammen (fjerne løse ender). Samme linje skal heller ikke være lagret flere ganger (doble linjer).

Automatisk topologiopprydding

Gemini Terrain har en egen funksjon for automatisk topologiopprydding av linjer. Du finner denne på hurtigmenyen når du har valgt to eller flere linjer.

Automatisk topologiopprydding Automatisk topologiopprydding

Merk

Alle objekter som ikke er linjer i aktivt applikasjonslag fjernes automatisk fra utvalget. Programmet gir feilmelding dersom det gjenstår færre enn to linjer i utvalget.

Funksjonen inneholder følgende topologifunksjoner som er viktige i forbindelse med konstruksjon av data for SOSI-leveranse for både reguleringsplaner, FKB, og NVDB:

  1. Fjern løkker
  2. Splitt linjer i skjæringspunkt og konnekter løse ender (XY)
  3. Konnekter høyder for endepunkt (Z)
  4. Fjern doble linjer
  5. Sammenføy linjer mellom nodepunkt

Tips

Disse operasjonene kan du utføre manuelt som beskrevet i kapittelet Redigere data i applikasjonslag. Men for å automatisere redigeringene kan du bruke denne funksjonen for å utføre flere operasjoner på flere linjer samtidig.

Fjern løkker

Denne opsjonen fjerner løkker i linjene som vist i eksemplene nedenfor.

Eksempel på fjerning av løkker

Eksempler på fjerning av løkker. Løkker til venstre, ryddet topologi til høyre

Informasjon

En variant av eksempel to, som kan være vanskelig å finne visuelt, er at linjen går tilbake til forrige punkt og så fremover igjen til samme punkt.

Splitt linjer i skjæringspunkt og konnekter løse ender (XY)

Advarsel

For denne prosessen må du angi en søkeradius. Denne bør ikke være for romslig. For stor verdi kan føre til introduksjon av nye feil. Du bør derfor inspisere dataene på forhånd slik at du vet hvor stor verdi som kan settes.

Eksempler på splitting og konnektering

Eksemplene nedenfor blir splittet og konnektert i grunnriss (XY) som vist:

Splitting av linje i skjæringspunkt

Eksempel hvor linjer som krysser hverandre i grunnriss blir splittet og konnektert

Konnektering av løse ender

Eksempel hvor linjer som ikke møtes i grunnriss er innenfor søkeradius, og dermed forlenges, splittes og konnekteres.

Eksempel som ikke blir splittet

Eksempel hvor linjer som ikke møtes er utenfor søkeradius, og forblir uendret.

Håndtering av høyder i skjæringspunkt

Hva skjer med linjenes høyder i skjæringspunktet? I de fleste tilfeller vil ikke linjene skjære eksakt i høyde.

Linjer som krysser hverandre i 3D

Venstre: Linjer som krysser hverandre i 2D. Høyre: I 3D ser man at linjene ikke krysser eksakt i høyde.

Programmet interpolerer høyden for hver linje i skjæringspunktet. Dette betyr at de nye linjene etter splitting får ulike høyder.

Linjer etter interpolering av høyde

Venstre: Linjer som krysser hverandre i skjæringspunkt 2D. Høyre: I 3D har linjene ulike høyder i skjæringspunktet.

Konnekter høyder for endepunkt (Z)

Advarsel

For denne prosessen må du angi en søkeradius. Denne bør ikke være for romslig. For stor verdi kan føre til introduksjon av nye feil. Du bør derfor inspisere dataene på forhånd slik at du vet hvor stor verdi som kan settes.

Møtende linjer (to eller flere linjer med like koordinater i nord og øst) blir konnektert i høyde (Z) i endepunktene ut i fra høyden på punktet i den først innlagte linja (lavest ID) i applikasjonslaget.

Eksempel på konnektering av høyder

Linjer med ulik høyde i endepunkt

Illustrasjonen viser to linjer møtes i et punkt hvor de har like koordinater i nord og øst, men ulik høyde.

Linjer etter konnektering av høyde

Dersom høydeforskjellen er innenfor angitt søkeradius, settes høyden i det felles punktet til høyden for den først innlagte linjen (her ID 1).

Fjern doble linjer

For denne prosessen er det oppgitt en toleranse (maks. avvik) for når programmet oppfatter linjene som like. Denne setter du i dialogen Innstillinger Gemini Terrain... - Prosjekt - Generelt.

Begrensning

Funksjonen har følgende begrensning: Linjene må ha like mange elementer og de må ligge i samme rekkefølge (eksempelvis linje - bue - linje).

Eksempler på fjerning av doble linjer

Doble linjer som kan fjernes

Eksempel 1: De to linjene inneholder like mange elementer og ligger innenfor toleransen. Dobbel linje fjernes.

Men ikke disse:

Doble linjer som ikke kan fjernes direkte

Eksempel 2: De to linjene inneholder ikke like mange elementer, men ligger innenfor toleransen. Dobbel linje fjernes ikke.

Doble linjer som ikke kan fjernes direkte

Eksempel 3: De to linjene inneholder like mange elementer, men ligger utenfor toleransen. Dobbel linje fjernes ikke.

Tips

Kjører du først prosessen Splitt linjer i skjæringspunkt og konnekter løse ender løser du imidlertid problemet med eksempel 2 og eksempel 3. Eksemplene vil da først bli splittet og deretter vil doble linjer bli fjernet som i eksempel 1.

Sammenføy linjer mellom nodepunkt

For denne prosessen er det oppgitt en toleranse (maks. avvik) for når programmet oppfatter punktene som like. Denne setter du i dialogen Innstillinger Gemini Terrain... - Prosjekt - Generelt.

Denne prosessen sammenføyer linjer mellom nodepunkt som vist i eksempelet under. Som standard sammenføyer funksjonen kun objekter med like egenskaper, det vil si at alle felt må ha helt like verdier.

Tips

Du kan slå av kravet om like egenskaper slik at også linjer med ulike egenskapsverdier kan slås sammen.

Eksempel på sammenføying av linjer

Linjer før sammenføying

Linjer før sammenføying

Linjer etter sammenføying

Linjer etter sammenføying

Informasjon

Dette er spesielt nyttig hvis du senere skal lage paralleller til disse linjene. Du unngår også å få advarsler i SOSI-kontroll hvis linjene er sammenføyd.