[GRASS-dev] Re: [GRASS GIS] #804: Implemenation of the Pareto
Boundary (to
support accuracy assessment of low resolution thematic maps)
GRASS GIS
trac at osgeo.org
Sat Nov 7 11:56:57 EST 2009
#804: Implemenation of the Pareto Boundary (to support accuracy assessment of low
resolution thematic maps)
--------------------------+-------------------------------------------------
Reporter: nikos | Owner: grass-dev at lists.osgeo.org
Type: enhancement | Status: new
Priority: minor | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords: pareto boundary, accuracy assessment, low resolution thematic maps, high resolution reference
Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by nikos):
Testing the scripts within the spearfish60 dataset (warning: too many
comments and print-outs):
{{{
# testing with spearfish60 data
grass64 /geo/grassdb/spearfish60/user1/
# set region to
g.region s=4925000 e=593500 n=4927000 w=590000 res=30 -p
# use sqlite db-backend
db.connect driver=sqlite
database=/geo/grassdb/spearfish60/PERMANENT/sqlite.db
db.connect -p
### prepare input files
# high resolution reference raster map will be
g.copy rast=landcover.30m,landcover_ref
# high resolution reference Class of Interest (to be assessed) will be
(e.g. rangeland)
r.mapcalc "landcover_refcoi = if(landcover.30m == 51 || landcover.30m ==
71 || landcover.30m == 81 || landcover.30m == 92, 2, null())"
# low resolution classification map 1 (to be assessed for accuracy) will
be
g.region res=100 -pa
r.mapcalc "pareto_classification_rangeland_1 = if (vegcover == 2, 2,
null())"
# prepare a 2nd classification map
g.copy
rast=pareto_classification_rangeland_1,pareto_classification_rangeland_2
# edit/ change 2nd map
d.rast.edit pareto_classification_rangeland_2
out=pareto_classification_rangeland_2_edited
g.remove pareto_classification_rangeland_2
g.rename
rast=pareto_classification_rangeland_2_edited,pareto_classification_rangeland_2
### extract omission and commission errors for pareto-optimal maps and
classifications
# step 1
python pareto_1_vectorise_rasters.py reference_raster=landcover_ref \
reference_coi_rasters=landcover_refcoi \
classification_rasters=pareto_classification_rangeland_1,pareto_classification_rangeland_2
--o
# step 2
python pareto_2_create_lowres_vector_grid.py highres=30 lowres=100 --o
# step 3
python pareto_3_count_pixels_within_gridcells.py --v
# step 4
python pareto_4_calculate_coi_percentages.py --v
# step 5
python pareto_5_populate_thresholds_and_classifications.py lowres=100 --v
# step 6
python pareto_6_populate_pareto_errors.py --v
# step 7
python pareto_7_populate_classification_errors.py --v
# step 8
python pareto_8_export_csv___spearfish60.py --o
### use epoxrted csv files to plot the Pareto Boundary (using the R
scripts within R)
}}}
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/804#comment:1>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list