Tag Archive | buggar

QGIS 3.2 är här!

Det vill säga den kan vara paketerad och klar för ditt operativsystem när du läser detta. Om inte så är det bara att vänta en dag eller två. Nya versioner av QGIS lanseras genom att man på en bestämd tidpunkt tar en ”kopia” på källkoden och kompilerar den till installationsfiler för olika operativsystem. Kopieringen av 3.2 gjordes klockan 12:00 UTC i fredags, och sedan dess har olika installationsfiler blivit tillgängliga. För Debian/Ubuntu så var det installationsklart i lördags kväll.

Läs mer…

Annonser

Varför rapportera buggar?

Varför skulle du läggar ner tid på att rapportera buggar i Open Source som QGIS? Förutom det uppenbara att du vill att problem skall rättas till…

Läs mer…

QGIS 3.0 Feature Freeze

Då har ännu en milstolpe på väg mot QGIS 3.0 passerats. I fredags så var det formellt ”feature freeze”, vilket innebär att man inte längre accepterar ”commits” till källkoden som innebär att man tillför nya funktioner. Återstoden av tiden fram till release, den 8 december. Skall man vara noga så släpps källkoden för paketering den 8/12, vilket gör att installationsfiler dröjer minst ett par dagar till, men framåt lucia så skall det nog att gå att installera och prova den färdiga versionen för de flesta operativsystem.

Läs mer…

Egna modeller – i QGIS

[Innan du testar själv så bör du läsa hela artikeln eftersom det finns ett fel i QGIS som måste fixas först för att det skall fungera]

För alla i ArcGIS världen så är ”modeller” ett känt begrepp. Det är ett visuellt sätt att kombinera olika verktyg och analyser för att anpassa och skräddarsy bearbetningsprocesser till egna verktyg, eller modeller.

I ArcGIS så kallas det ”modell builder” och i QGIS heter det på svenska ”Grafisk modellbyggare”.

Screenshot from 2014-08-01 09:50:34

I menyn ”Geobearbetning” kan man hitta en verktygslåda (bild ovan) som, lite beroende på vilka tillägg man har installerat, innehåller en mängd olika mer eller mindre avancerade verktyg.

Dessa kan man köra vart och ett för sig direkt från verktygslådan med dubbelklick, eller som vi skall se här, kombinera dem till en anpassad modell.

Nu blir det inget avancerat, utan ett enkelt svar på frågan ”vilka punkter ligger närmare än 200 meter från en linje?”.

Screenshot from 2014-08-01 10:04:14

Frågan går att svara på genom att manuellt köra ett par verktyg, men det går också att bygga en modell för det.

Screenshot from 2014-08-01 10:08:49

Först så definieras två vektorlager som parametrar. Ett för linjer och ett för punkter. Om man vill kunna variera avståndet så är det även nödvändigt att lägga till en numerisk parameter (”number” i bilden ovan).

När det gäller avstånd, ytor och liknande variabler som är beroende av en enhet så måste man tänka till lite i QGIS. Man anger inte enhet, utan enheten är den samma som projektet/lagret. Se därför till att alla data (och projektet) är projicerat i ett system som använder meter (exempelvis SWEREF99TM) om du vill ange avstånd i meter.

Under fliken ”Algoritmer” (bild ovan) så återfinner man alla verktyg från verktygslådan, och dessa kan man dra in i modellen och konfigurera.

Screenshot from 2014-08-01 12:04:55

Alla modeller i alla verktygslådor är inte helt kompatibla eller anpassade, men det finns flera verktyg som ofta gör samma eller liknande saker, så genom att använda sökfältet så kan man exempelvis leta efter verktyg som skapar en buffert.

I inställningarna för bufferten (QGIS – Vector Geometry Tools) så kan man ange såväl vilket lager som beräkningen skall göras på, som vilket värde som skall användas för avståndet.

Nästa steg skapar ett urval bland punkterna baserat på resultatet av bufferten och slutligen så sparas urvalet till ett nytt lager.

Man kan köra modellen direkt eller spara den och köra den från verktygslådan senare. Filen som skapas kan även delas med andra och det finns ett speciellt verktyg för att lägga till verktyg från fil.

Screenshot from 2014-08-01 12:07:22

När man kör verktyget (bild ovan) så får man ange vilka lager som skall användas och vilket avstånd som är önskat. Som standard så skapas inga lager utan resultatet lagras i en temporär fil och i mitt exempel så kan du se detta i bilden nedan:

Screenshot from 2014-08-01 12:10:22

Det går att skapa standardstilar för resultatet och hjälptexter för verktyget väldigt enkelt. Högerklicka på modellen så får du fram lite olika alternativ och hjälpen redigeras i modellverktyget.

PROBLEM!

Då har jag visat hur det borde fungera. Tyvärr så finns det en bugg i ett av de verktyg jag använder (Extract by location) som gör att man hela tiden får felmeddelanden. Det finns en fix på problemet, men den har inte blivit implementerad som standard och om du inte kör den experimentella versionen av QGIS så är det därför inte säkert att du fått del av fixen.

Det är ett fel i ett Pythonskript som finns i filen ”python/plugins/processing/algs/qgis/ftools/ExtractByLocation.py”.

Leta reda på rad 57 (index = vector.spatialindex(layer)) och kontrollera vad som står under denna.

 output = self.getOutputFromName(self.OUTPUT)
 writer = output.getVectorWriter(layer.pendingFields(),
 layer.dataProvider().geometryType(), layer.crs())

 geom = QgsGeometry()
 selectedSet = []
 current = 0
 features = vector.features(selectLayer)
 featureCount = len(features)
 total = 100.0 / float(len(features))
 for current,f in enumerate(features):
 geom = QgsGeometry(f.geometry())
 intersects = index.intersects(geom.boundingBox())
 for i in intersects:
 request = QgsFeatureRequest().setFilterFid(i)
 feat = layer.getFeatures(request).next()
 tmpGeom = QgsGeometry(feat.geometry())
 if geom.intersects(tmpGeom):
 selectedSet.append(feat.id())
 progress.setPercentage(int(current * total))

 for i, f in enumerate(vector.features(layer)):
 if f.id() in selectedSet:
 writer.addFeature(f)
 progress.setPercentage(100 * i / float(featureCount))
 del writer

Om det inte står som ovan, så kan du helt enkelt redigera filen så att det gör det (ta en kopia på filen först). Spara och starta om QGIS. Nu skall det fungera att använda verktyget.

Buggen ovan hittade jag på QGIS sida för problemrapportering vilket är en bra källa att vända sig till om man stöter på problem som man tror är buggar.

QGIS Buggar

Då har det gått några veckor med QGIS 2.2 och allt är frid och fröjd. Eller?

Nja, inget program är buggfritt, och det rapporteras buggar eller åtminstone upplevda problem hela tiden. En del kan stängas direkt, medan andra prioriteras mycket högt och börjar lösas direkt.

En del buggar leder till att man kan planera en uppdatering före nästa planerade version, medan andra helt enkelt får vänta på en fix till kommande uppdateringar.

Skärmbild från 2014-03-09 17:10:36

http://hub.qgis.org/projects/quantum-gis/issues kan man följa dessa rapporterade buggar och se om det finns en lösning, eller om man jobbar på problemet.

Om man själv tänker rapportera en bugg så är det lämpligt att först söka här för att se om det redan finns liknande rapporter. Dessutom så är det bra att skapa sig en uppfattning om vilka typer av buggar som rapporteras och hur dessa redovisas. En del buggar kräver inget speciellt, medan andra underlättas av skärmdumpar och olika loggfiler.

Just nu ser det faktiskt ganska lugnt ut på bugg-fronten, men det finns gott om ”Features” som man av olika anledningar vill få in i kommande versioner. Även detta kan man läsa om och kanske fylla på med egna önskemål.