- Kontaktinformation
- Skriven av Rikard Erlandsson
- Kategori: IT
- 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
- Kontaktinformation
- Skriven av Rikard Erlandsson
- Kategori: IT
- 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
- Kontaktinformation
- Skriven av Rikard Erlandsson
- Kategori: IT
- 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