Vector 01: Utforsk Shapefile Attributes & Plot Shapefile Objects ved Attributt Verdi i R.

Vector 01: Utforsk Shapefile Attributes & Plot Shapefile Objects ved Attributt Verdi i R.

Granskere: Sarah Newman.

Handle om.

Denne oppl ringen forklarer hva shapefile attributter er og hvordan man arbeider med shapefile attributter i R. Den dekker ogsa hvordan man identifiserer og sporrer shapefile attributter, samt subset shapefiles etter bestemte attributtverdier. Til slutt vurderer vi hvordan du plotter et shapefile i henhold til et sett med attributtverdier.

R Ferdighetsniva: Intermediate – du har grunnleggende for R ned.

Mal / Mal.

Etter a ha fullfort denne aktiviteten vil du:

Kan sporre shapefile attributter. Kunne deleside shapefiles ved hjelp av spesifikke attributtverdier. Vet hvordan du plotter et shapefile, farget av unike attributtverdier.

Ting du trenger for a fullfore denne oppl ringen.

Du vil trenge den nyeste versjonen av R og helst RStudio lastet pa datamaskinen for a fullfore denne oppl ringen.

Installer R-pakker.

raster: install.packages («raster») rgdal: install.packages («rgdal») sp: install.packages («sp»)

Last ned data.

Disse vektordataene gir informasjon om omradets karakterisering og infrastruktur pa Norges okologiske observatoriens nettverks Harvard Forest-felt. Harvard Forest Shapefiles er fra Harvard Forest GIS & amp; Kartarkiver. Amerikanske lands- og statsgrenslag er fra US Census Bureau.

Angi arbeidskatalog: Denne leksjonen forutsetter at du har satt arbeidsboken til plasseringen av de nedlastede og unzipped data-undergruppene. En oversikt over hvordan arbeidskatalogen kan settes inn i R finner du her.

R Script & amp; Utfordringskode: NEON-data leksjoner inneholder ofte utfordringer som styrker l rte ferdigheter. Hvis tilgjengelig, er koden for utfordringslosninger funnet i nedlastbart R-skript i hele leksjonen, som er tilgjengelig i bunnteksten til hver leksjonsside.

Shapefile Metadata & amp; Attributter.

Nar vi importerer et shapefile til R, lagrer readOGR () -funksjonen automatisk metadata og attributter tilknyttet filen.

Last inn dataene.

For a jobbe med vektordata i R kan vi bruke rgdal biblioteket. Med rasterpakken kan vi ogsa utforske metadata ved hjelp av lignende kommandoer for bade raster- og vektorfiler.

Vi vil importere tre shapefiles. Den forste er var AOI eller omrade av interesse grense polygon som vi jobbet med i Open og Plot Shapefiles i R. Den andre er et shapefile som inneholder plasseringen av veier og stier innenfor feltet omradet. Den tredje er en fil som inneholder Fisher-tarnet.

Hvis du har fullfort Open and Plot Shapefiles i R-oppl ringen, kan du hoppe over denne koden.

Query Shapefile Metadata.

Husk, som dekket i Open og Plot Shapefiles i R, kan vi se metadata knyttet til et R-objekt ved a bruke:

klasse () – Beskriver typen vektordata lagret i objektet. lengde () – Hvor mange funksjoner er i dette romlige objektet? Objektets omfang () – Den geografiske utbredelsen (geografisk omrade dekket av) funksjoner i objektet. koordinere referansesystem (crs ()) – Den romlige projeksjonen som dataene er i.

La oss utforske metadataene for vart punkt_HARV-objekt.

Om Shapefile Attributter.

Shapefiles inneholder ofte en tilknyttet database eller et regneark av verdier som kalles attributter som beskriver vektorfunksjonene i shapefilen. Du kan tenke pa dette som et regneark med rader og kolonner. Hver kolonne i regnearket er et individuelt attributt som beskriver et objekt. Shapefile attributter inkluderer malinger som tilsvarer geometrien til shapefile-funksjonene.

For eksempel inneholder HARV_Roads shapefile (lines_HARV-objektet) et attributt som heter TYPE. Hver linje i shapefilen har en tilhorende TYPE som beskriver typen av vei (skogsvei, gangsti, strandpromenade eller steinmur).

Shapefile-formatet tillater oss a lagre attributter for hver funksjon (vektorobjekt) lagret i shapefilen. Attributtabellen, ligner et regneark. Det er en rad for hver funksjon. Den forste kolonnen inneholder den unike IDen til funksjonen. Vi kan legge til flere kolonner som beskriver funksjonen. Bildekilde: National Ecological Observatory Network (NEON)

Vi kan se pa alle de tilknyttede dataattributtene ved a skrive ut innholdet i data-sporet med objektnavn @ data. Vi kan bruke base R lengdefunksjonen til a telle antall attributter knyttet til en romlig objekt ogsa.

Vi kan se det enkelte navnet pa hvert attributt ved hjelp av navnene (lines_HARV @ data) -metoden i R. Vi kunne ogsa se bare de forste 6 radene av attributtverdier ved hjelp av hodet (lines_HARV @ data).

La oss gi det en sjanse.

Utfordring: Attributter for forskjellige romsklasser.

Utforsk attributter assosiert med point_HARV og aoiBoundary_HARV romlige objekter.

Hvor mange attributter har hver? Hvem eier nettstedet i punkt_HARV-dataobjektet?

Hvilket av folgende er IKKE et attributt for punktdataobjektet?

A) Breddegrad B) Fylke C) Land.

Utforsk verdier innenfor ett attribut.

Vi kan utforske individuelle verdier lagret i et bestemt attributt. Igjen, sammenligne attributter til et regneark eller en data.frame, dette ligner pa a utforske verdier i en kolonne. Vi kan gjore dette ved a bruke $ og navnet pa attributtet: objectName $ attributeName.

Legg merke til at to av vare TYPE attributtverdier bestar av to separate ord: steinvegg og skogvei. Det er virkelig fire unike TYPE-verdier, ikke seks TYPE-verdier.

Subset Shapefiles.

Vi kan bruke syntaxen for objektnavn $ attributtName til a velge et delsett av funksjoner fra et romlig objekt i R.

Var subsettingsoperasjon reduserer funksjonene som teller fra 13 til 2. Dette betyr at bare to funksjonslinjer i var romlige objekt har attributten «TYPE = footpath».

Vi kan plotte vare subsettede shapefiles.

Interessant. Over, det virket som om vi hadde 2 funksjoner i vare turstier. Hvorfor ser tomten ut som det er bare en funksjon?

La oss justere fargene som brukes i vart plott. Hvis vi har 2 funksjoner i vektordobjektet, kan vi plotte hver med en unik farge ved a tildele unike farger (col =) til funksjonene vare. Vi bruker syntaksen.

Na ser vi at det faktisk finnes to funksjoner i vart plott!

Utfordring: Subset Spatial Line Objects.

strandpromenaden fra linjelaget og plotte den. steinmur funksjoner fra linjelaget og plotte den.

For hver plott, farge hver funksjon ved hjelp av en unik farge.

Plot Lines etter Attributt Verdi.

For a plotte vektordata med fargen bestemt av et sett av attributtverdier, ma attributtverdiene v re class = factor. En faktor ligner en kategori.

Du kan gruppere vektorobjekter med en bestemt kategoriverdi – for eksempel kan du gruppere alle linjer av TYPE = gangsti. Men i R kan en faktor ogsa ha en bestemt rekkefolge.

Som standard vil R importere romlige objektattributter som faktorer.

Datatipp: Hvis vare dataattributtverdier ikke leses inn som faktorer, kan vi konvertere de kategoriske attributtverdiene ved hjelp av as.factor ().

Nar vi bruker plott (), kan vi spesifisere fargene som skal brukes for hvert attributt ved hjelp av col = elementet. For a sikre at R gjengir hver funksjon med tilhorende faktor / attributtverdi, ma vi opprette en vektor eller farger – en for hver funksjon, i henhold til den tilhorende attributtverdien / faktorverdien.

For a lage denne vektoren kan vi bruke folgende syntaks:

Merknad i eksempelet ovenfor har vi.

en vektor av farger – en for hver faktorverdi (unik attributtverdi) selve attributten ([objekt $ faktor]) av klassefaktor.

La oss gi dette et forsok.

Juster linjebredde.

Vi kan ogsa justere bredden pa vare plottlinjer ved hjelp av lwd. Vi kan sette alle linjer til a v re tykkere eller tynnere ved hjelp av lwd =.

Juster linjebredde etter attributt.

Hvis vi onsker en unik linjebredde for hvert faktorniva eller attributtkategori i vart romlige objekt, kan vi bruke samme syntaks som vi brukte for farger, over.

Merk at dette krever att attributtet skal v re av klassefaktor. La oss gi det en sjanse.

Utfordring: Plot Line Width etter Attributt.

Vi kan tilpasse bredden pa hver linje, i henhold til spesifikke attributtverdier ogsa. For a gjore dette, lager vi en vektor av linjebreddsverdier, og kartlegger vektoren til faktornivaene – ved hjelp av samme syntaks som vi brukte ovenfor for farger. TIPS: lwd = (vektor av linjebredde tykkelser) [spatialObject $ factorAttribute]

Lag et plott av veier ved hjelp av folgende linjetykkelser:

Datatips: Gitt at vi har en faktor med 4 nivaer, kan vi lage en vektor med tall, som hver spesifiserer tykkelsen til hver funksjon i var SpatialLinesDataFrame etter faktorniva (kategori): c (6,4,1,2) [ lines_HARV $ TYPE]

Legg til Plot Legend.

Vi kan ogsa legge til en legende til vart plott. Nar vi legger til en legende, bruker vi folgende elementer for a angi etiketter og farger:

bottomright: Vi spesifiserer plasseringen av legen var ved a bruke et standard sokeord. Vi kan ogsa bruke topp, topright, etc. nivaer (objektnavn $ attributtnavn): Merk legendeelementene som bruker kategorier av nivaer i et attributt (f.eks. Nivaer (linjer_HARV $ TYPE) betyr a bruke nivaene strandpromenade, sti, osv.). fill =: Bruk unike farger til boksene i legen var. paletten () er standard sett med farger som R gjelder for alle tomter.

La oss legge til en legende til vart plott.

Vi kan ogsa finjustere utseendet pa var legende.

bty = n: sla av legenden BORDER cex: endre skriftstorrelsen.

La oss prove det ut.

Vi kan endre fargene som brukes til a plotte vare linjer ved a lage en ny fargevare, direkte i plottekoden, heller enn a lage en egen objekt.

Datatipp: Du kan endre defaul R-fargepaletten ved hjelp av palettmetoden. For eksempel palett (regnbue (6)) eller palett (terrain.colors (6)). Du kan tilbakestille palettfargene ved hjelp av paletten («standard»)!

Utfordring: Plot Lines by Attribute.

Lag et tomt som legger vekt pa veier hvor sykler og hester er tillatt. For a understreke dette, gjor linjene der sykler ikke er tillatt THINNER enn veiene der sykler er tillatt. MERK: Denne attributtinformasjonen er plassert i linjene_HARV $ SyklerHo-attributtet.

Pass pa a legge til en tittel og en legende pa kartet ditt! Du kan vurdere en fargepalett som har alle sykkel / hestevennlige veier som vises i en lys farge. Alle andre linjer kan v re gra.

Utfordring: Plot-polygon etter attributt.

Opprett et kart over statsgrensene i USA ved a bruke dataene i den nedlastede datafilen din: NEON-DS-Site-Layout-Files / US-Boundary-Layers \ US-State-Boundaries-Census-2014. Bruk en fyllfarge til hver stat ved a bruke regionens verdi. Legg til en legende.

Ved hjelp av NEON-DS-Site-Layout-Files / HARV / PlotLocations_HARV.shp shapefile, opprett et kart over studieplottesteder, med hvert punkt farget av jordtype (soilTypeOr). Sporsmal: Hvor mange jordtyper er der pa dette bestemte feltstedet?

BONUS – modifiser feltet tomt oversikt over. Plott hvert punkt, ved hjelp av et annet symbol. TIPS: Du kan tilordne symbolet ved hjelp av pch = verdi. Du kan opprette et vektorobjekt med symboler ved hjelp av syntaksksyntaxen som vi brukte ovenfor for a lage en vektor med linjebredder og farger: pch = c (15,17) [linjer_HARV $ soilTypeOr]. Skriv? Pch for a l re mer om pch eller bruk google for a finne en liste over pch symboler som du kan bruke i R.

Fa leksjonskode.

NEON EDUCATION.

Hengiven for a apne data og apen kildekode i vitenskap og utdanning.

Se alle oppl ringsprogrammer.

Denne oppl ringen er en del av en serie!

Klikk nedenfor for a se alle leksjonene i serien!

R programmering (56)

Hierarkiske dataformater (HDF5) (15)

Spatial Data & GIS (22)

Raster Data (14)

Fjern sensing (25)

Datavisualisering (4)

Hyperspektral ekstern sensing (18)

Tidsserier (17)

Fenologi (8)

Vektordata (6)

Metadata (1)

Git og GitHub (7)

Oppl ring av R-pakken.

ggplot2 (18)

lubridate (tidsserier) (7)

maptools (1)

raster (26)

rasterVis (raster tidsserier) (3)

rgdal (GIS) (24)

rhdf5 (11)

gridExtra (4)

gitter (2)

reshape2 (3)

Se ALLE oppl ringsserien.

Vector 01: Utforsk Shapefile Attributes & Plot Shapefile Objects ved Attributtverdi i R var med: Vector Data, R programmering, Spatial Data & GIS 26. oktober 2015 om NEON EDUCATION.

Relatert innhold: vektor-data-serien.

Denne leksjonen er en del av en storre verkstedserie:

Drevet av Jekyll. En stor utrop til skaperen av temaet Minimal Mistakes.