rikerl
  • Hem
  • DNA
  • Natur
  • Projekt
  • IT
  • Genusvetenskap
  1. Du är här:  
  2. Hem
  3. IT

Raspberry Pi

Kontaktinformation
Skriven av Rikard Erlandsson
Kategori: IT
Publicerad 06 mars 2021
Träffar: 631

Jag skaffade en liten dator, en Raspberry Pi

Moderkortet stoppades i lådan

Först laddades operativsystemet ner

Operatiivsystemet skrevs till ett mikro SD-kort

Mikro SD-kortet stoppades in i Raspberry Pi som startades upp

Innan tangentbord kopplats in anslöt jag med SSH via det lokala nätverket

Sedan anslöts bildskärm och övriga periferienheter

Därefter skulle datorn bootas upp lokalt

Och det fungerade

 

Rita kartor med lantmäteriets data

Kontaktinformation
Skriven av Rikard Erlandsson
Kategori: IT
Publicerad 27 januari 2021
Träffar: 1014

Med R kan man gratis rita fina kartor med data från lantmäteriet. När du väl har ett konto kan du med hjälp av FTP ladda ner de data som behövs. Mer information finns även på https://www.lantmateriet.se/sv/Kartor-och-geografisk-information/oppna-data/.

FTP-adressen är ftp://download-opendata.lantmateriet.se

Jag laddade följande kartdata: GSD-Sverigekartor_vektor\1_milj\Sverige\Sweref_99_TM. När de unzippats kunde jag börja titta på kartor med hjlp av R och paketet rgdal.

library(rgdal)
riksDir="shape/svk/riks"
AN=readOGR(riksDir, "an_riks")

De olika skikten läses in med readOGR. De är uppdelade på ytor, linjer och text. Jag läste in allihop enligt ovanstående mönster.

Sedan definerade jag färger.

watercol="#9AC9FF" # light blue 88B7FF"
naturecol="#E3F5D9" # light green D2E4C8"
roadcol="orange"
brown="#DD8800"
eroadcol="red"
ortcol="#FF2222"
bigroad="#EE6611"
lancol="gray42"
xlim=c(500000, 690000)
ylim=c(7100000, 7250000)

Jag sparar bilden som png med två delar som definieras nedan.

png("new.png", height = 1000, width = 2000, units = 'px', res = 300, pointsize = 4.5, bg = "white")
op = par(mar = rep(0, 4))
par(fig=c(0,0.775,0,1), oma=c(0,0,0,0))

Därefter är det bara att rita upp de två kartorna. Parametern vborter innehåller alltså namnen på de orter som jag vill märka ut.

plot(MY[MY$KATEGORI == "Skogsmark",], border=naturecol, col=naturecol, xlim=xlim, ylim=ylim)
plot(MY[MY$KKOD==3,], col=watercol, border=watercol, xlim=xlim, ylim=ylim, add=TRUE)
plot(ML[ML$KKOD %in% c(304, 305, 306, 307, 308, 313),], col=watercol, border=watercol, xlim=xlim, ylim=ylim, add=TRUE)
plot(VL[VL$KATEGORI %in% "Allmän väg, vägnr 100-499",], xlim=xlim, ylim=ylim , col=brown, lwd=.8, add=TRUE)
plot(VL[VL$KATEGORI %in% "Allmän väg, vägnr >500",], col=brown, lwd=1.1, add=TRUE)
plot(VL[VL$KATEGORI %in% "Allmän väg, vägnr E4-99",], col=bigroad, lwd=1.8, add=TRUE)
plot(AK, border=lancol, xlim=xlim, ylim=ylim, lty=4, lwd=0.8, add=TRUE)
plot(TX[TX$TEXT %in% vborter,], pch=20, cex=1.5, add=TRUE, col=ortcol, xlim=xlim, ylim=ylim)
text(TX@coords[TX$TEXT %in% vborter,1]-2200, 2200+TX@coords[TX$TEXT %in% vborter,2], label=TX[TX$TEXT %in% vborter,]$TEXT, cex=1.3, pos=4, col="black")
par(fig=c(0.72,1,0,1), new=TRUE, oma=c(0,0,0,0))

och här är översiktskartan.

plot(MY[MY$KKOD %in% c(5, 6, 7, 8),], col='black', bg='gray')
rect(470000,7100000,650000,7250000, col="white", border=NA)
box(col = 'gray')
par(op)
dev.off()

Den ovan ritade bilden ser ut så här

Bash oneliners

Kontaktinformation
Skriven av Rikard Erlandsson
Kategori: IT
Publicerad 27 januari 2021
Träffar: 845

The Bash shell is really useful and it is easy to do interesting things . . .

If you have a file with columns separated by spaces and/or tabs you can sort it using

$ sort -k columnfile.txt

To reverse the sort just type 

$ sort -r -k columnfile.txt

If you want to extract columns 3, 5 and 6 you kan use the awk command

$ awk '{print $5, $3, $6 }' columnfile.txt

 . . .  the output will also rearrange the order if you like

You can also use perl to generate bash files that you can run later .  .  .

To remove the first line from a file you use

sed -i 1d columnfile.txt

To replace kr with SEK in the file you would use

sed -i 's/kr/SEK/' columnfile.txt

And to add chr to the beginning of each line use

sed 's/^/chr/' columnfile.txt