[GRASS-user] r.stats - wrong area values from MOLA dataset

Hello all

I’m trying to get some stats for Mars using a MOLA dataset.

Since GRASS 7.0beta is having some problems with the most recent matplotlib i added the planetary spheroids from v.7.0 into v.6.4.4 ellipse.table file.
Then I created a Location using Equirectangular (eqc) projection, no datum definition (dx=dy=dz=0) and mars (IAU2000) spheroid.

After that I run, through python, r.stats and make a list of the area values:

gdem = ‘mola’
bwidth = 10 #10m bins for histogram

rinfo = grass.parse_command(‘r.info’, map=gdem, flags=‘r’)
g_min = float(rinfo[‘min’])
g_max = float(rinfo[‘max’])

grass.run_command(‘g.region’, rast=gdem, flags=‘pa’)
nbins = round((g_max - g_min)/bwidth) # bin size

mapstats = grass.read_command(‘r.stats’, input = gdem,
fs = ‘,’, nsteps = nbins, flags = ‘an’)

histlist = mapstats.splitlines()
elevlist =
arealist =
for pair in histlist:
try:
pairlist = pair.split(‘,’)
elev = int(float(pairlist[0]))
area = float(pair.split(‘,’)[1])
elevlist.append(elev)
arealist.append(area)
except:
pass

np.sum(arealist)

this last step will give me:

np.sum(arealist)
64793.652361588101

Of course this is wrong. Mars has a surface area of about 144.8E6km2. I know that my steps are working because I get correct values for Earth:

#with ETOPO5 (r.stats returns values in m2)

np.sum(arealist)/10e6
507756893328616.19

So, what am I missing?

thanks

Carlos

Prof. Carlos Henrique Grohmann
Institute of Energy and Environment - Univ. of São Paulo, Brazil

  • Digital Terrain Analysis | GIS | Remote Sensing -

http://carlosgrohmann.com
http://orcid.org/0000-0001-5073-5572


Can’t stop the signal.