[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