Romlig datamanipulering



Like dokumenter
En liten rekap. Spørrespråk. I dag SELECT

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Veileder for opplasting av AKTIV sporlogg til PC

Helgeland og HEWA s årskonferanse Ledningskartverk

Kom i gang med Stata for Windows på UiO - hurtigstart for begynnere

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

SELECT DISTINCT Fornavn, Etternavn, Programtittel FROM Program P, Medvirkende M, Deltagelse D. SELECT Tilgjengelighet FROM Program

Posisjonsystemet FRA A TIL Å

Presentasjon Livet i Norge Hvordan var starten av livet ditt i Norge?

Læreplan i matematikk. Kompetansemål etter 10. årstrinn

1. SQL spørringer mot flere tabeller

Straffespark Introduksjon Scratch Lærerveiledning

TASTAVEDEN SKOLE Bruk av PC i skolen

Det er frivillig å delta i spørreundersøkelsen, ingen skal vite hvem som svarer hva, og derfor skal du ikke skrive navnet ditt på skjemaet.

Brukermanual for statistikk på Asset on web: Statistikk salg pr dag, uke eller måned fordelt på alle avdelinger:

Hva er digitale kart?

Institutt for lærerutdanning og skoleutvikling Universitetet i Oslo. 4. klasse

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

1. SQL datadefinisjon og manipulering

Løse reelle problemer

Kenneth Torstveit, løsningsarkitekt EVRY P7 - Browser for HR

«Litterasitetsutvikling i en tospråklig kontekst»

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Utviklingssak/ID Resume Endring (g2) Rettet i versjon (g1) Rettet i versjon

En lett innføring i foreninger (JOINs) i SQL

REFLEKSJONSNOTAT FOR WEBPERIODEN

Introduksjon til beslutningsstrukturer

Gangemesteren Nybegynner Scratch PDF

Elevens ID: Elevspørreskjema. 4. årstrinn. Institutt for lærerutdanning og skoleutvikling Universitetet i Oslo

Dagens program. Kunnskapsorganisasjon og gjenfinning 1. Spørring mot databaser: SQL 2 - Spørring mot flere tabeller

Lær QGIS med OSGIS Academy sitt online QGIS-kurs på norsk. OSGIS Academy online QGIS kursprogram utgave

Skilpadder hele veien ned

Spørsmål og svar om GeoGebra, versjon 2.7 bokmål

WinMed Allmenn NPR. Lysaker Torg 15 Postboks LYSAKER. Tlf: Fax: E-post:

Tallinjen FRA A TIL Å

ADDISJON FRA A TIL Å

Vil alderen påvirke hvordan pulsen endres når man spiller Tetris?

PCK Håndterminal. Brukerveiledning

INF1000 Metoder. Marit Nybakken 16. februar 2004

Steg for steg. Sånn tar du backup av Macen din

MAT1140: Kort sammendrag av grafteorien

Brukerveiledning for å legge inn Støtteordning, Rammer, Forenklet tilsagn, Endringer på tilsagn, Årsrapportering

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Telle i kor steg på 120 frå 120

Korteste vei i en vektet graf uten negative kanter

buildingsmart Norge Guiden

Del 1: Overgang fra gammel hjemmeside til ny hjemmeside

Gjennom denne oppgaven skal elevene lære å bruke ulike måleredskaper for å beregne volum og tetthet til kuler og vurdere om svarene virker rimelig.

Å klippe seg på Gran Canaria

Modul nr Gjør Matte! 1-4 trinn.

MASTER I IDRETTSVITENSKAP 2014/2016. Utsatt individuell skriftlig eksamen. STA 400- Statistikk. Mandag 24. august 2015 kl

Hume Situasjon: rasjonalisme empirisme, Newtons kraftbegrep, atomistisk individbegrep Problem/ Løsning: Vil undersøke bevisstheten empirisk.

En eksplosjon av følelser Del 3 Av Ole Johannes Ferkingstad

Nasjonale prøver i lesing, regning og engelsk på 5. trinn 2015

Hvordan behandle Lipo

Kort norsk manual Hvordan komme i gang:

AJOURHOLD AV AR5 I QMS

Livet til det lykkelige paret Howie og Becca blir snudd på hodet når deres fire år gamle sønn dør i en ulykke.

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/ Vi holder orden på verdier med hjelp av variabler

TDT4300 Datavarehus og datagruvedri3, Våren 2014

Dyra på gården. Hva har fire hjul, spiser gress og gir oss melk? En ku på skateboard. Hva slags orkester har kuer? Hornorkester.

Kvikkbilde 8 6. Mål. Gjennomføring. Planleggingsdokument Kvikkbilde 8 6

Lese og skrive seg til forståelse. Svein H. Torkildsen

Kursdokumentasjon for Dreamweaver

FORHISTORIE: Libby er tenåring, og har lenge ønsket å møte sin biologiske far, Herb. Hun oppsøker han etter å ha spart penger for få råd til reisen.

Informasjon om din trådløse forbindelse

KROPPEN DIN ER FULL AV SPENNENDE MYSTERIER

vet vi hvilke fartsgrenser som gjelder der vi er???

Brukerundersøkelse om medievaktordningen. Januar 2011

Hva kan bidra til å styrke vår emosjonelle utvikling, psykiske helse og positive identitet?

Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING

Shellscripting I. Innhold

Oppgaver til julekalenderen 2005 for mellomtrinnet; trinn

Veiledning for innlevering av Årsrapport

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado

Vann i rør Ford Fulkerson method

Elektronisk utlånskontroll

GPS Analyse: Praktisk innføring i GPS-analyse for orientering

Litterasitetsutvikling i en tospråklig kontekst

Hvordan komme i gang på

: subs x = 2, f n x end do

Teknisk veiledning for internettløsningen av «Tempolex bedre læring».

Innføring i GIS-analyse. Gunnar Tenge, ILP, NMBU Geoforum, Gardermoen

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon

Utførelse av programmer, metoder og synlighet av variabler i JSP

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

INF oktober Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

PUNKT TIL PUNKT-KOBLING KOBLING. Versjon 10/10. Hvordan kobler jeg controlleren til en pc 1

Geometri Verktøylinja i GeoGebra Konstruksjon / tegning Konstruksjonsforklaring Normaler, paralleller og vinkler Mangekant, areal og omkrets

Ordenes makt. Første kapittel

Når man skal velge en tørrkjøler er det mange faktorer som spiller inn.

Aktiviteter elevrådet kan bruke

Hvordan aktivere pakker og enkelttitler

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

Skilpaddefraktaler Erfaren Python PDF

Kapittel 2. Tall på standardform

Transkript:

Romlig datamanipulering Gunnar Tenge, 18.04.08 Romlige manipuleringsteknikker brukes i GIS-analyser. I denne artikkelen forklares alle manipuleringsteknikker som man kan forvente å finne i et GIS-program. Et GIS-program du har installert på din PC kalles ofte en tykk klient, mens en tynn klient er et kartinnsynsverktøy i web-browseren din. De tynne klientene får mer og mer funksjonalitet, men det vil ta mange år før de overtar for de tykke klientene når det gjelder å kunne manipulere geodata. Manipuleringsteknikker kalles også operasjoner eller kommandoer eller verktøy (tools). Innhold: 1. Noen basisoperasjoner... 1 2. Utvalg... 1 2.1. Utvalg på egenskaper:... 2 2.2. Geografiske utvalg:... 2 3. Forandre, forenkle og øke informasjonen til egenskapene... 2 4. Forandre, forenkle og øke informasjonen til geometrien... 3 4.1. Overlay-operasjoner:... 4 5. Oppsummering... 6 1. Noen basisoperasjoner I alle GIS-verktøy bør man kunne utføre beskrivende statistikk på alle felter i databasen. Som å telle opp, finne max-verdier, finne min-verdier, gjennomsnittsverdier, standardavvik, etc. Man bør gjerne også få opp grafer som viser fordelingen av verdiene. Disse operasjonene er ikke særegent for GIS-verktøy, men er likevel meget nyttige. Det er lett å glemme etter ett par tiår med datamaskiner på kontorpulten at en datamaskin er utrolig mye raskere og nøyaktigere enn mennesker til å telle opp, finne max-verdien, osv. til en lang rekke (mange tusen) verdier. To basisfunksjoner som er særegne for GIS-verktøy, er å beregne lengde og areal. Alle GISverktøy skal kunne gjøre dette. Tidligere brukte man linjal, hyssing og evt. en mekanisk rullemåler (http://en.wikipedia.org/wiki/opisometer) for å måle lengder. For arealer kunne man bruke prikktelling (http://www.geog.ubc.ca/courses/geob373/labs/dot_grid_instructions.html) eller planimeter (http://en.wikipedia.org/wiki/planimeter). Nå gjøres dette med tilgjengelige lengde- og arealberegningsverktøy i GIS-programvaren. Det er også lett å glemme hvor utrolig mye raskere og nøyaktigere en datamaskin er til beregne lengder og arealer (http://en.wikipedia.org/wiki/polygon#area_and_centroid) enn mennesker. Det å kunne beregne arealene til mange (mange tusen) polygoner fort, ble sett på som noe av det viktigste til noen av GIS-programmene som kom på 70-tallet. 2. Utvalg Skal man gjøre en analysejobb må man få tak i data. Ofte får man tak i data med flere objekter enn man trenger eller data som dekker et større område enn man trenger. Da må det gjøres et utvalg. 1

Å gjøre et utvalgt fra et stort datasett er gjerne der man begynner når man skal gjøre en analysejobb. a. Gjøre et utvalg b. Analysere dette utvalget 2.1. Utvalg på egenskaper: Eks. velg alle mennesker som er 6 år. Da må man typisk skrive denne select-setningen, avhengig av det GIS-programmet man har: Select alder = 6. Det er meget streng syntaks ( ~ grammatiske regler for hvordan spørringen skal skrives ) i select-setninger som GIS-programmene vil kunne tolke. Det finnes en standard som heter Standard Query Language (SQL). Den har denne syntaksen: select.. from.. where, men de forskjellige GIS-programmene har gjerne sin egen syntaks. Her må det leses i help en til det enkelte program. Det settes opp en utvetydig påstand og det som er sant blir valgt. Påstandene innholder en logisk operasjon som =, >, <, osv. som kan kombineres med and, or, osv. for å lage kombinert utvalg. Digresjon: En morsomhet fra logikkens verden. Hvis vi på norsk (og for så vidt på engelsk) skal si muntlig at du fra en gruppe med barn skal velge alle som er 6 år og 7 år, så bruker vi og som operator. Men i logikkens verden blir dette feil. Påstanden: Select alder = 6 and 7, returnerer ingen barn fordi ingen barn er 6 og 7 år samtidig! Man må bruke eller. Select alder = 6 or 7. Så hvis du en dag får beskjed om å velge alle barn som er 6 år og 7 år, så kan du være vanskelig å si at det er dessverre ingen! 2.2. Geografiske utvalg: Det å kunne gjøre geografiske utvalg er særegent for GIS-verktøy. Dataene har en romlig dimensjon som gjør at vi kan velge ut fra beliggenhet. Typiske å velge alle innefor, utenfor, som overlapper, osv. Å klippe ut noe av en geometri er noe mer enn et geografisk utvalg. Klipper linjer og polygoner med omrisset av det polygonet man klipper med. En form for overlay (overlay er forklart senere i teksten). Husk at geometrien og egenskapene i et geodatasett henger sammen. Gjøres det et utvalg på egenskapene, så velges også de geometriske formene til objektet, og gjøres det et geografisk utvalg så velges også egenskapene til de geometriske formene som er valgt. 3. Forandre, forenkle og øke informasjonen til egenskapene De følgende manipuleringsteknikkene har vært kjent i flere tiår i relasjonsdatabaser (tabelldatabaser) og er ikke særegne for GIS-verktøy. Forandre - kalles også å reklassifisere eller å omkode. Har for eksempel en kolonne med kvadratmeterverdier og forandrer den til dekar ved å dele på 1000. Innholdet er kun forandret, ingen informasjon har blitt tilført eller tatt bort. 2

Forenkle kalles også å gruppere eller å generalisere. Har for eksempel en kolonne med alder i år og forenkler denne til aldergruppene ung, middelaldrene og gammel. Innholdet er nå forenklet. Informasjon har gått tapt. Øke informasjonen kalles også å koble. Det går egentlig ikke an å øke informasjonen til en tabell, men man kan koble på en ny tabell med felles koblingsnøkkel (for eksempel fødselsnummer). Dette er den viktigste operasjonen i et informasjonssystem man kan koble flere tabeller som til sammen fremstår som mer informasjon. Dette er også hele ideen med relasjonsdatabaser. De enkleste er 1:1- og N:1-koblinger, men det er også fullt mulig å gjøre en N:N- og 1:Nkoblinger. Eksempel: Egenskapene til tre eiendomsteiger kobles med to andre tabeller slik at man får mer informasjon knyttet til hver teig. 4. Forandre, forenkle og øke informasjonen til geometrien De følgende manipuleringsteknikkene er særegne for GIS-verktøy. Forandre - en type forandring av geometrien er buffer. Med et bufferverktøy kan man lage polygon fra punkt, linje eller polygon. Nærhet er et meget viktig romlig konsept. Ofte ønsker vi å finne ut hva som ligger i nærheten av noe annet, da kan man lage en buffer som strekker seg for eksempel 200 meter ut fra objektet. Bufferpolygoner brukes ofte til å klippe med eller overlaye (se under) med et annet geodatasett. Men å si at man har gjort en GIS-analyse når man har laget en buffer er vel å ta litt hardt i. Forenkling - innholdet blir forenklet. Informasjon går tapt. - dissolve - slå sammen polygoner eller linjer med en eller flere like egenskaper. - generaliser linjeforløp og polygoner finnes gjerne noen kommandoer for dette som glatter linjer. Være varsom med dette. Dette er vanskeligere å gjøre på en ordentlig måte enn det ser ut til. Generalisering er en gren av kartografien og mye er skrevet om dette. - gjøre et utvalg og lagre dette utvalget Øke informasjonen kalles også romlige koblinger, spatial join eller overlay. Det går egentlig ikke an å øke informasjonen til en geometri, men man kan koble den med en annen geometri vha. koblingsnøkkelen sted. Data som ligger samme sted blir koblet sammen. 3

Dette er den viktigste operasjonen i et Geografisk InformasjonsSystem man kan koble flere romlige datasett som til sammen fremstår som mer informasjon. 4.1. Overlay-operasjoner: Punkt1 + Poly = Punkt2 Punkt2 er geometrisk identisk med Punkt1, men innholder informasjon om hvilke polygoner de havnet innenfor. Linje1 + Poly = Linje2 Linje2 er geometrisk identisk med Linje1, men innholder informasjon om hvilke polygoner de går gjennom. Linjen blir delt av polygonomrisset og linjetopologien oppdateres. Poly1 + Poly2 = Poly3 Poly3 er en kombinasjon av geometriene til Poly1 og Poly2 og innholder informasjon fra både Poly1 og Poly2. Nye polygoner dannes og polygontopologien oppdateres. Det splittes linjer, dannes knutepunkter, regnes ut arealer og omkretser og tildeles nye id-er. Dette er en maskinkrevende operasjon som medfører oppdatering av en masse pekere og tabeller. De nye polygonene kalles CMU er (Comparable Map Units) eller MMU er (Minimum Map Units). Det er også vanlig at det dannes en hel masse små-polygoner, slivers. 4

Punkt1 + Punkt2 = Punkt3 Punkt3 er geometrisk identisk med Punkt1, men innholder informasjon om hvilke punkter fra Punkt2 som ligger nærmest og avstanden til punktene. Ofte kalles dette å finne den nærmeste naboen (nearest neighbour) i et annet punktdatasett. Punkt1 + Linje = Punkt2 Punkt2 er geometrisk identisk med Punkt1, men innholder informasjon om hvilke linjer som ligger nærmest og avstanden til dem. I tillegg til disse overlay-operasjonene som skal finnes i alle GIS-programmer, så kunne man tenke seg et tre andre som jeg ikke har sett implementert noe sted: Poly1 + Punkt = Poly2 Poly2 er geometrisk identisk med Poly1, men innholder informasjon fra punktene som ligger innenfor polygonene. Kan løses med: - Punkt + Poly = Punkt, gjør så en summering på de punktene som havner innefor hvert polygon, og så kobles dette med en vanlig tabellkobling til polygonene igjen. - Punktene gjøre om til thiessenpolygoner som polygonoverlayes med Poly1. Linje1 + Punkt = Linje2 Linje2 er geometrisk identisk med Linje1, men innholder informasjon fra punktene som ligger nærmest linjene. Kan løses med: Punkt + Linje = Punkt, gjør så en summering på de punktene som er nærmeste hver linje, og så kobles dette med en vanlig tabellkobling til linjene igjen. Poly1 + Linje = Poly2 Poly2 er geometrisk identisk med Poly1, men innholder informasjon fra linjebitene som ligger innenfor polygonene. Kan løses med: 5

- Linje1 + Poly = Linje2, gjør så en summering på de linjebitene som havner innefor hvert polygon, og så kobles dette med en vanlig tabellkobling til polygonene igjen. 5. Oppsummering Alle disse manipuleringsteknikkene brukes i GIS-analyser. De aller viktigste er overlayoperasjonene som gjør at vi kan koble romlige datasett for å få ut mer informasjon. Det er også verdt å nevne at vi trenger gode data, dvs. godt dokumentert og standardisert, før vi går i gang med å manipulere dem. Dårligere data blir ikke noe bedre om de generaliseres eller kobles med andre data. Her som ellers gjelder shit in = shit out. 6