Tag Archive | Fjärranalys

Jordbruksstöd

Kan man använda gratis data och gratis mjukvara för att förbättra resultatet i jordbruket?

Då mina jordbrukskunskaper sträcker sig till gräsklippning (nej, vänta det har en robot tagit över) och någon sporadisk krasseodling, så kan jag inte svara bestämt på frågan. Men jag tänker titta lite på vilka möjligheter man har, och hur det skulle kunna gå till. Läs mer…

Annonser

Kartan görs klar

Igår påbörjade jag ett arbete med ”fjärranalys” av Landsat 8 data. Detta inlägg är en direkt fortsättning på det inlägget och nu är det dags att se vad resultatet blev.

Har du inte läst gårdagens inlägg så skall du nog börja med det, annars så kör vi på… Läs mer…

Landsat 8 och fjärranalys med QGIS

Jag har experimenterat lite med ”fjärranalys”, eller metoder för att utvinna data ur bilder (typ), i QGIS tidigare utan någon stor framgång. Jag brukar då och då använda mitt konto i EarthExplorer för att ladda hem satellitbilder och laborera lite med olika band och liknande, men det är många steg och ibland lite krångligt.

Nu gör jag ett nytt försök med ”Semi-Automatick Classification Plugin” till QGIS.

Tillägget installeras som alla andra och tar bara några sekunder att fixa.

Skärmbild från 2015-03-30 18:31:17Med tillägget följer flera paneler och verktygsfält samt en egen meny där det första intressanta alternativet hittas.

Download Landsat

Detta val öppnar en ny dialog med rätt flik aktiverad. Samma dialog används för det mesta, så vill du göra något annat än det gjorda menyvalet så är det bara att växla flik.

Skärmbild från 2015-03-30 18:36:44Här har jag använt OpenStreetMap som bakgrund och hämtat hörnkoordinater för det område jag är intresserad av (UL – LR). Valt att endast söka efter Landsat 8 från 2015 så här långt och bara om de har max 10% molntäcke.

Första gången så laddas Landsatdatabasen ner till en katalog man anger, så man kan behöva klicka två gånger på ”Find images” för att få en lista med resultat.

Det går att markera en rad och förhandsgranska i väldigt låg upplösning och därmed kontrollera att det är det avsedda området. Sedan kan man klicka på ”Download Images from list”, vilket hämtar de lager som är förhandsvisade som standard, men genom att ta bort en bock i en ruta så hämtas alla bilder i listan. En liten varning dock, dessa filer är stora och det tar lång tid att hämta även med en snabb förbindelse.

När det är klart så är banden inlästa i QGIS och i tillägget, men man kan behöva göra en ”refresh” för att det skall bli synligt.

Med i nedladdningen finns en MTL-fil som kan användas i ”Pre-Processing” av bilderna. Detta korrigerar för temperatur och atmosfär om man så önskar, men det tar lite extra tid och processorkraft att konvertera (tänk om QGIS kunde använda flera kärnor för detta…). Steget skapar ett ”Band Set” som används i fortsättningen.

Skärmbild från 2015-03-30 18:56:01I verktygsfältet så kan jag nu välja ”RGB” som 3-2-1, vilket motsvarar band 4, 3 och 2, och ”ta-da”. Sådant som tidigare tagit mig lång tid via en massa klick i olika steg kan jag nu göra helt och hållet i QGIS med några få handgrepp. Mycket trevligt!

Efter detta så räckte inte mina kunskaper till och jag orkade inte läsa instruktioner eller liknande så det får bli en fortsättning en annan gång.

Efter att ha mer eller mindre chansat runt och lyckats krascha QGIS ett par gånger så ger jag upp. Skriver färdigt inlägget och går och titta på en film i stället! Vi hörs efter påsk!

Fjärranalys, eller…

Det här är ett väldigt intressant område, men ganska svårt. Speciellt om man inte riktigt vet vad man gör och förlitar sig på Open Source.

Detta blir inte så mycket en instruktion som en redogörelse för hur jag ”testar lite”.

Jag börjar med Optics för Linux som även finns för Windows.

För Ubuntu så börja med att hämta hem Opticks, öppna sedan terminalen och gå till katalogen där den hämtade deb-filen finns. Skriv följande kommando:

sudo dpkg -i opticks_4.12.0-1_amd64.deb

Detta bör installera programmet med programstartare som vanligt.

Jag tror jag kommer att behöva ett tillägg för att hantera multispektrala data bättre, så detta hämtar jag också hem (länk). Att installera tillägg är busenkelt, så länge tillägget är en fil i formatet ”*.aeb”. Leta bara reda på filen och dra och släpp den i Opticks programfönster. Om detta inte fungerar så kan man installera tillägg manuellt under ”Help – Extensions”. Beroende på vilka versioner du hämtar hem så kan du behöva hämta en äldre version av Opticks då tillägg måste matchas mot programversion (Opticks 4.11).

Det som i instruktionerna lät enkelt visade sig vara lite krångligare. För att lyckas fick jag göra följande:

  1. Packa upp aeb-filen till en egen katalog.
  2. Starta Opticks som administratör
  3. Använda ”Help – Extensions – Install”
  4. Installera med ”Extension Metadata” i stället för ”Extension Bundles”

Hurra! Det gick och verktyget blir aktivt efter en omstart av programmet. Då infaller nästa problem…

Kan inte öppna TIFF!

Ett tips var att installera lite TIFF-bibliotek:

sudo apt-get install libtiff-doc libtiff-tools libtiff-opengl libtiff4-dev libtiff5 libtiff5-alt-dev libtiff5-dev libtiffxx5

Vilket inte hjälpte för mig. Provade även att installera mera geotiff-bibliotek:

sudo apt-get install libgeotiff2

Vilket inte heller hjälpte.

Och där någon stans så insåg jag att det finns roligare saker att göra en söndag kväll, Mythbusters på Discovery Channel till exempel…

Flera ”band” i QGIS

I tidigare inlägg visade jag var du kan få tag på Landsat data. Om du har hämtat hem lite sådana data så har du märkt att dessa består av flera filer och alla ser lite olika ut på skärmen. Detta beror som sagt på att varje fil representerar en viss ”färg” i det elektromagnetiska spektrumet.

För Lansat-5 är det sju lager där 1 till 3 är synligt ljus (blått, grönt och rött), band 4 är nära infrarött och 5-7 är infrarött i olika våglängder.

Vill man få fram en så naturlig bild som möjligt så måste man använda sig av flera band i kombination, och då är virtuella rasterlager ett bra sätt.

I QGIS så klickar man på ”Raster”, ”Övrigt”, ”Bygg virtuellt raster” (1.9.0 Master, motsvarande för andra versioner). Sedan pekar man ut filerna för band 1 till 3 som indatafiler och skapar en ny virtuell utdatafil. Se även till att kryssa för ”Separera” så att den nya rasterkatalogen hanterar de olika banden separat.

virtraster1

När det är klart så kan du stänga dialogfönsterna och gå in i egenskaper för det nyligen skapade lagret.

Under fliken ”stil” så pekar du nu ut vilket lager som representerar vilken färg. Under förutsättning att banden lästes in i ordningen B1, B2, B3 så skall ordningen för de olika lagerna vara rött: band 3, grönt: band 2 och blått: band 1. Om det ser ok ut när du klickar på verkställ så är det antagligen rätt, om inte så prova att byta band 1 och 3. För att få en korrekt bild så måste du även läsa in min/max värdena från varje band och sträcka ut dessa över hela skalan. Välj ”verklig” i noggrannhet (långsammare men inte speciellt mycket) och klicka på ”Läs in” och välj ”Sträck ut till min/max” som kontrastförbättring.

virtraster2

Om du vill kan du även laborera med färgrendering och omsampling för att få en så naturtrogen bild som möjligt.

Nu kan du använda din virtuella rasterkatalog precis som vilket lager som helst i dina projekt. Det är exempelvis lätt att skapa en egen ”Natural Color” fil genom att högerklicka på lagret och välja ”spara som”. Sedan är det bara att välja ”Renderad bild” som utdataläge och namnge filen. Sim-sala-bim så har du skapat ett nytt användbart dataset att arbeta vidare med om så önskas.

Lycka till!

Fjärranalys med Opticks

För egen del så var det ett tag sedan jag höll på med enklare fjärranalys, och då var det Erdas Imagine som jag använde.

Nu finns det även Open Source alternativ som skall vara användbara när man vill bearbeta och analysera framför allt stora satellitbilder.

Jag har tittat lite på Opticks som finns för alla de vanliga operativsystemen.

Skärmbild från 2013-03-23 14:14:07Jag kan direkt säga att det var lite för länge sedan för att detta skall bli ett uttömmande test av programmet, men en liten känsla kan man ändå få.

Det är inga problem att läsa in bilder av olika format, och har man bilder över samma område men tagna med olika sensorer (se bilden ovan) så kan man länka bilderna till varandra så att panorering och zoom i en bild påverkar alla andra.

Att ta fram och ändra histogram för bilderna är också väldigt enkelt.

Det finns massor med funktioner inbyggda eller som plug-in till programmet, men jag är lite intresserad av georeferering så det tänkte jag testa nu.

Börja med att ladda in den rasterbild som skall georefereras. Jag använder en JPG karta från University of Texas. Observera att i Linux så går det inte att öppna filer på sökvägar som innehåller å,ä och ö. Om det är samma problem i OS X eller Windows har jag inte testat.

georef1I sessionsutforskaren så högerklickar man på lagret och väljer att lägga till en ny GCP lista (Ground Control Points).

Eftersom min karta har ett koordinatnät så blir det ganska enkelt att hitta kartpunkter och ange koordinater.

Se till att aktivera ”Geo” menyn genom att högerklicka i verktygsfältet. Klicka sedan på ”GCP Editor” knappen.

Lägg till nya GCP genom att klicka i kartan och redigera sedan Easting och Northing i editorn, glöm inte att ändra UTM zon om det behövs.

Jag lägger till en punkt i varje hörn och en i mitten och sätter koordinaterna till de som finns angivna i rasterkartan.

Georef2När punkterna är inlagda klicka på ”Close” i GCP editorn. Klicka därefter på texten ”Geo” i Geo-verktyget och välj ”Georeference”. Välj GCP och den nyss skapade GCP listan. Ändra vid behov i övriga fält och klicka på ”OK”.

Då skall allt vara klart, dags att testa. Jag exporterar med ”Image Chipping Window” för att klippa bort layouten runtom, men det går bra att välja ”File” ”Export” också. Jag exporterar som GeoTiff och provar att öppna filen i QGIS.

georef3Och där satt den!

Nu skall jag  bara göra om allt igen, för det var naturligtvis inte helt rätt och jag misstänker att kartan har ett annat geodetiskt datum än WGS-84 då den är framställd 1951…

Undrar om det går att ändra i Opticks?

Lycka till!