Dit is de opdracht pkextract die kan worden uitgevoerd in de gratis hostingprovider OnWorks met behulp van een van onze verschillende gratis online werkstations, zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
pkextract - pixelwaarden uit een rasterafbeelding extraheren op basis van een (vector- of raster-)monster
KORTE INHOUD
pkextract -i invoer [-s monster | -rand aantal | -rooster lengte van de duwkabel] -o uitvoer [opties] [vergevorderd
opties]
PRODUCTBESCHRIJVING
pkextract haalt pixelwaarden uit een invoerrasterdataset, op basis van de locaties die u
aan te bieden via een voorbeeldbestand. Als alternatief kan een willekeurige steekproef of een systematisch raster van punten worden gebruikt.
kan ook worden geëxtraheerd. Het monster kan een vectorbestand zijn met punten of polygonen. In de
In het geval van polygonen kunt u de waarden voor alle bedekte rasterpixels extraheren
door de polygonen, of extraheer een enkele waarde voor elke polygoon zoals het zwaartepunt, gemiddelde,
mediaan, enz. Als uitvoer wordt een nieuwe kopie van het vectorbestand gemaakt met een extra kenmerk
voor de geëxtraheerde pixelwaarde. Voor elke rasterband in de invoerafbeelding wordt een aparte
attribuut wordt aangemaakt. Als de rasterdataset bijvoorbeeld drie banden bevat, zijn er drie
Er worden attributen aangemaakt (b0, b1 en b2).
In plaats van een vectordataset kan het monster ook een rasterdataset zijn met categorische
waarden. Het typische gebruiksvoorbeeld is een landbedekkingskaart die overlapt met de invoerrasterdataset.
Het hulpprogramma extraheert vervolgens pixels uit de invoerraster voor de betreffende landbedekking
klassen. Om een willekeurige subset van de rasterdataset te selecteren, kunt u de drempelwaarde instellen
optie -t met een percentagewaarde.
Een typisch gebruik van pkextract is het voorbereiden van een trainingsmonster voor een van de classificatoren
geïmplementeerd in pktools.
Overzicht van de mogelijke extractieregels:
Extractieregel Uitvoerfuncties
punt Extraheer alle bedekte pixelwaarden
door de veelhoek (optie -veelhoek
niet ingesteld) of een pixel extraheren op
de oppervlakte optie (-veelhoek
instellen).
zwaartepunt Pixelwaarde extraheren op de
zwaartepunt van de veelhoek.
gemiddelde Extract gemiddelde van alle pixels
waarden binnen het polygoon.
stdev Standaarddeviatie van extraheren
alle pixelwaarden binnen de
veelhoek.
mediaan Haal de mediaan van alle pixels eruit
waarden binnen het polygoon.
min. Haal de minimale waarde van alle
pixels binnen de polygoon.
max Haal de maximale waarde van alle
pixels binnen de polygoon.
som Haal de som van de waarden van alle
pixels binnen de polygoon.
modus Haal de modus van klassen eruit
binnen de polygoon (klassen moeten
worden ingesteld met de optie klasse).
proportie Proportie van klasse(n) extraheren
binnen de polygoon (klassen moeten
worden ingesteld met de optie klasse).
tellen Extract aantal klasse(n)
binnen de polygoon (klassen moeten
worden ingesteld met de optie klasse).
percentiel Percentiel extraheren zoals gedefinieerd door
optie perc (bijv. 95e
percentiel van waarden die worden gedekt door
veelhoek).
OPTIES
-i bestandsnaam, --invoer bestandsnaam
Rasterinvoerdataset met bandinformatie
-s monster, --steekproef monster
OGR-vectordataset met kenmerken die uit invoergegevens moeten worden gehaald. De uitvoer zal
Bevat functies met invoerbandinformatie. Een voorbeeldafbeelding kan ook
GDAL-rasterdataset.
-rand aantal, --willekeurig aantal
Maak een eenvoudige aselecte steekproef van punten. Geef het aantal punten op om te genereren.
-rooster lengte van de duwkabel, --rooster lengte van de duwkabel
Creëer een systematisch raster van punten. Geef de grootte van het celraster op (in geprojecteerde eenheden,
bijv. m)
-o bestandsnaam, --uitvoer bestandsnaam
Uitvoer voorbeeld dataset Uitvoer voorbeeld dataset
-In lagen, --Inl lagen
Layernaam(en) in voorbeeld (laat leeg om alles te selecteren)
-c klasse, --klas klasse
Klasse(n) om uit de voorbeeldinvoerafbeelding te extraheren. Laat leeg om alle geldige waarden te extraheren.
Datapixels uit een voorbeelddataset. Zorg ervoor dat u klassen instelt als de regel is ingesteld op modus.
verhouding of aantal.
-t drempel, --drempelwaarde drempel
Waarschijnlijkheidsdrempel voor het selecteren van steekproeven (willekeurig). Geef de waarschijnlijkheid in
percentage (>0) of absoluut (<0). Gebruik één drempelwaarde voor vectormonsters.
datasets. Als u rasterlandbedekkingskaarten als voorbeelddataset gebruikt, kunt u een
drempelwaarde voor elke klasse (bijv. -t 80 -t 60). Gebruik waarde 100 om alles te selecteren
pixels voor geselecteerde klasse(n)
-f formaat, --F formaat
Uitvoervoorbeeld datasetformaat
-ft veld soort, --ftype veld soort
Veldtype (alleen reëel of geheel getal)
-lt labelType, --ltype labelType
Labeltype: In16 of String
-veelhoek, --veelhoek
Maak OGRPolygon als geometrie in plaats van OGRPoint.
-b band, --band band
Bandindex(en) om uit te pakken. Laat leeg om alle banden te gebruiken
-band band, --startband band
Volgnummer startband
-band band, --eindband band
Volgnummer van de eindband
-r regeren, --regel regeren
Regel hoe beeldinformatie per kenmerk wordt gerapporteerd (alleen voor vectormonster). punt
(waarde op elk punt of op het zwaartepunt indien polygoon), zwaartepunt, gemiddelde, stdev, mediaan,
verhouding, aantal, min, max, modus, som, percentiel.
-v niveau, --uitgebreid niveau
Uitgebreide modus als > 0
geavanceerde opties
-bndnodata band, --bndnodata band
Band(en) in invoerafbeelding om te controleren of de pixel geldig is (gebruikt voor srcnodata)
-srcnodata waarde, --srcnodata waarde
Ongeldige waarde(n) voor invoerafbeelding
-tp drempel, --drempelPolygoon drempel
(absolute) drempelwaarde voor het selecteren van monsters in elke polygoon
-test testSample, --toets testSample
Testmonsterdataset (gebruik deze optie in combinatie met drempelwaarde < 100 om een
training (output) en testset
- miljard attribuut, --bnaam attribuut
Voor invoergegevens met één band komt deze extra attribuutnaam overeen met de raster
waarden. Voor multi-band invoergegevens worden meerdere attributen met dit voorvoegsel gebruikt.
toegevoegd (bijv. b0, b1, b2, etc.)
-cn attribuut, --cname attribuut
Naam van het klasselabel in de uitvoervectordataset
-geo waarde, --geo waarde
Gebruik geografische coördinaten (stel in op 0 om afbeeldingscoördinaten te gebruiken)
naar beneden waarde, --omlaag waarde
Down-samplingfactor (alleen voor rastervoorbeeldgegevenssets). Kan worden gebruikt om raster te maken
punten
-buf waarde, --buffer waarde
Buffer voor het berekenen van statistieken voor puntkenmerken
-cir, --circulaire
Gebruik een circulaire schijfkernelbuffer (alleen voor vectorpunt-monsterdatasets, gebruik in
combinatie met bufferoptie)
VOORBEELD
gebruik vector monsters
Haal alle punten voor alle ingelezen lagen eruit punten.sqlite vanaf invoer.tif. Maak een nieuw
puntvectordataset met de naam geëxtraheerd.sqlite, waarbij elk punt een kenmerk zal bevatten
voor de individuele ingangsbanden in invoer.tifLet op dat de standaard vectorindeling is
Spatialite (.sqlite).
pkextract -i invoer.tif -s punten.sqlite -o geëxtraheerd.sqlite
Hetzelfde voorbeeld als hierboven, maar dan worden alleen de punten voor de laag in de tabel geëxtraheerd. punten.sqlite genoemd
"geldig"
pkextract -i invoer.tif -s punten.sqlite -In geldig -o geëxtraheerd.sqlite
Punten extraheren en uitvoer schrijven in ESRI Shapefile-formaat
pkextract -i invoer.tif -s punten.shp -f "ESRI Shapefile" -o geëxtraheerd.sqlite
Haal de standaarddeviatie voor elke invoerband op in een venster van 3 bij 3, gecentreerd rond de
punten in de voorbeeldvectordataset punten.sqliteDe uitvoervectordataset bevat
Polygoonobjecten gedefinieerd door de gebufferde punten (3x3-venster). Gebruik de optie -cir naar
definieer een cirkelvormige buffer.
pkextract -i invoer.tif -s punten.sqlite -o geëxtraheerd.sqlite -r stdev -buf 3 -veelhoek
Haal alle pixels uit invoer.tif bedekt door de veelhoeken in locaties.sqlite. Elk
Polygoon kan dus resulteren in meerdere puntobjecten met kenmerken voor elke invoerband.
Schrijf de geëxtraheerde punten naar een puntvectordataset training.sqlite.
pkextract -i invoer.tif -s polygonen.sqlite -o training.sqlite -r punt
Haal de eerste band eruit invoer.tif op de zwaartepunten van de polygonen in de vectordataset
polygonen.sqlite. Wijs de geëxtraheerde puntwaarde toe aan een nieuw kenmerk van de polygoon en
schrijven naar de vectordataset geëxtraheerd.sqlite.
pkextract -i invoer.tif -b 0 -s polygonen.sqlite -r zwaartepunt -o geëxtraheerd.sqlite -veelhoek
Haal de gemiddelde waarden voor de tweede band op in invoer.tif bedekt door elke veelhoek in
polygonen.sqliteDe gemiddelde waarden worden naar een kopie van de polygonen in de uitvoervector geschreven
dataset geëxtraheerd.sqlite
pkextract -i invoer.tif -b 1 -s polygonen.sqlite -r gemiddelde -o geëxtraheerd.sqlite -veelhoek
Extraheer de meerderheidsklasse in elke polygoon voor de invoerkaart voor landbedekking.
De map bevat vijf geldige klassen, gelabeld 1-5. Andere klassewaarden (bijvoorbeeld gelabeld als 0) zijn
niet in aanmerking genomen bij de stemming.
pkextract -i landcover.tif -s polygonen.sqlite -r maxvote -o meerderheid.sqlite -veelhoek -c 1 -c 2 -c 3 -c 4 -c 5
gebruik willekeurige en rooster monsters
Trek 100 steekproefeenheden volgens een eenvoudig aselect steekproefontwerp. Voor elke steekproefeenheid,
de mediaanwaarde wordt uit de invoerrasterdataset gehaald in een venster van 3 bij 3 pixels
en geschreven naar een kenmerk van de uitvoervectordataset. De uitvoervectordataset
bevat polygoonobjecten gedefinieerd door de vensters gecentreerd op het willekeurig geselecteerde monster
units.
pkextract -i invoer.tif -o willekeurig.sqlite -rand 100 -mediaan -buf 3 -veelhoek
Punten extraheren volgens een systematisch raster met een rastercelgrootte van 100 m. Pixels verwijderen
die een waarde 0 hebben in de invoerrasterdataset.
pkextract -i invoer.tif -o systematisch.sqlite -rooster 100 -srcnodata 0
gebruik raster monsters
Typisch gebruik waarbij pixels worden geëxtraheerd op basis van een landbedekkingskaart (voorbeeld.tif). Extract
alle banden voor een willekeurige steekproef van 10 procent van de pixels in de landbedekkingskaart voorbeeld.tif
waarbij de landbedekkingsklassen 1,2, 3 of XNUMX zijn (klassewaarden). Schrijf de uitvoer naar de
puntvectordataset geëxtraheerd.sqlite.
pkextract -i invoer.tif -s voorbeeld.tif -o geëxtraheerd.sqlite -t 10 -c 1 -c 2 -c 3
Haal alle banden eruit voor de eerste 5000 pixels die zijn aangetroffen in voorbeeld.tif waar pixels een hebben
waarde gelijk aan 1. Schrijf uitvoer naar puntvectordataset geëxtraheerd.sqlite.
pkextract -i invoer.tif -s voorbeeld.tif -o geëxtraheerd.sqlite -t -5000 -c 1
24 januari 2016 pkextract(1)
Gebruik pkextract online met behulp van onworks.net-services