[GRASS-user] Re: Help - Output difference between ARCGIS enviroment settings and GRASS g.region function

Markus Metz markus.metz.giswork at googlemail.com
Wed May 9 12:42:03 EDT 2012


On Wed, May 9, 2012 at 4:07 PM, Alejandro Coca Castro <acocac at gmail.com> wrote:
> Hi, i share an image where the display n.1 shows the non-align between the
> Arcmap ASCII and the output Grass ASCII which was created by the r.out.arc
> function.
>
> I think the problem is in this step... . As you can observe in the display
> n.2, the output grid of r.mapcalc function is aligned with the Arcmap ASCII,
> but it loss the g.region properties when it is exported. Finally, i checked
> the properties of the output grid of r.mapcalc with the g.region -g function
> and it retained the same extend and resolution of Arcmap ASCII...
>
I think instead of r.out.arc, you can also use r.out.gdal
format=AAIGrid and see if that gives a better match.

Markus M

> Mark, i set the region as you tried...
>
> Thanks in advance,
>
>
>
> 2012/5/9 Markus Metz <markus.metz.giswork at googlemail.com>
>>
>> On Tue, May 8, 2012 at 9:41 PM, Alejandro Coca Castro <acocac at gmail.com>
>> wrote:
>> > Hi Mark, i followed your instructions, so i put in command-line
>> >
>> This
>> > g.region rast=MASK at default nsres=0:00:07.5 ewres=0:00:07.5
>>
>> will adjust, i.e. modify the resolution in order to fit into the
>> extents. The extents are not modified. In GRASS, the extents have
>> precedence over resolution, unless you use the -a flag, in which case
>> the extents are aligned to the desired resolution. Thus use either
>>
>> g.region rast=MASK at default nsres=0:00:07.5 ewres=0:00:07.5 -a
>>
>> to align the current region to the desired resolution and enforcing
>> this resolution, or
>>
>> g.region rast=MASK at default
>>
>> You can check if the current region is all right with g.region -p or
>> g.region -g, before doing any processing.
>>
>> I tried to set the region with the gdalinfo output of the ArcMap
>> raster fileASC_ARCMAP.asc:
>>
>> g.region w=-60.9250001 e=-49.9979167 n=-0.0000001 s=-10.0000001
>> res=0.00208333333
>>
>> Output of g.region -g:
>> n=-1e-07
>> s=-10.0000001
>> w=-60.9250001
>> e=-49.9979167
>> nsres=0.00208333333333333
>> ewres=0.00208333334604385
>> rows=4800
>> cols=5245
>> cells=25176000
>>
>> As you can see, the resolution needed to be adjusted, i.e. there are
>> floating point rounding errors in fileASC_ARCMAP.asc. Using rounded
>> DD:MM:SS.S format:
>>
>> g.region w=60:55:30W e=49:59:52.5W n=0 s=10S res=00:00:07.5
>>
>> Output of g.region -g:
>> n=0
>> s=-10
>> w=-60.925
>> e=-49.9979166666667
>> nsres=0.00208333333333333
>> ewres=0.00208333333333333
>> rows=4800
>> cols=5245
>> cells=25176000
>>
>> This is probably the desired extents and resolution, the resolution
>> did not need to be adjusted (0.00208333333333333 = 00:00:07.5) .
>>
>> Markus M
>>
>> >
>> > Now, I get the same number of columns and rows. However, the cell size
>> > isn't
>> > the same that ArcMAP output file...so i think it can be the reason of
>> > non-similar extend and origin....
>> >
>> > Below i show you the output gdalinfo,
>> >
>> > Driver: AAIGrid/Arc/Info ASCII Grid
>> > Files: D:\gras_data\temp\test5.asc
>> >
>> > Size is 5245, 4800
>> > Coordinate System is `'
>> > Origin = (-60.924999999999997,-0.001600000000000)
>> > Pixel Size = (0.002083000000000,-0.002083000000000)
>> > Corner Coordinates:
>> > Upper Left  ( -60.9250000,  -0.0016000)
>> > Lower Left  ( -60.9250000, -10.0000000)
>> > Upper Right ( -49.9996650,  -0.0016000)
>> > Lower Right ( -49.9996650, -10.0000000)
>> > Center      ( -55.4623325,  -5.0008000)
>> > Band 1 Block=5245x1 Type=Int32, ColorInterp=Undefined
>> >   NoData Value=-9999
>> >
>> > Do you have others ideas?
>> > ------
>> >
>> > Jacquie, thanks for your comments, i hope the next SPs versions fix
>> > these
>> > kind of bugs.
>> >
>> > regards,
>> >
>> > 2012/5/8 Alejandro Coca Castro <acocac at gmail.com>
>> >>
>> >> Hi, i tried to convert the following enviroments settings to GRASS
>> >> g.region and r.mask for the next ARCGIS output (ASCII file):
>> >>
>> >>     fileTIF = r"x:\test\fileTIF.tif"
>> >>     MASK = r"x:\test\mask_file"
>> >>     env.extent = fileTIF
>> >>     env.snapRaster = MASK
>> >>     env.mask = MASK
>> >>     fileGRD = r"x:\test\fileGRD"
>> >>     outCon = Con(fileTIF, fileTIF, "", "VALUE >= 0")
>> >>     outCon.save(fileGRD)
>> >>     fileASC = r"x:\test\fileASC.asc"
>> >>     env.workspace = fileGRD
>> >>     RasterToASCII_conversion(fileGRD,fileASC)
>> >>
>> >> So, i put on the GRASS command-line:
>> >>
>> >> r.mask input=mask_file at default
>> >> g.region rast=fileTIF at default res=0.00208333333 align=MASK at default
>> >> r.mapcalc fileGRD = if(fileTIF at default  < 0 , null(), fileTIF at default)
>> >> r.out.arc input= fileGRD at default output=x:\test\fileASC_grass.asc
>> >>
>> >> However, the ArcGIS and GRASS outputs had a different extend and
>> >> curiously
>> >> the GRASS output didn't snap their cells with the MASK. Also, when i
>> >> observe
>> >> the GRASS output cellsize, it only has the first 6 decimals (f.e.
>> >> 0.002083)....
>> >>
>> >> Finally i tried to setup the parameters of g.region with the ArcGIS
>> >> output
>> >> but GRASS output definetly didnt have the same properties of ArcGIS
>> >> output
>> >> (cellsize, columns and rows, extend)
>> >>
>> >> If somebody knows how can i fix it, i'll be grateful,
>> >>
>> >> Thanks in advance,
>> >>
>> >> Alejandro
>> >
>> >
>> >
>> >
>> > --
>> > Alejandro Coca Castro
>
>
>
>
> --
> Alejandro Coca Castro
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>


More information about the grass-user mailing list