kapo coulibaly wrote:

> You also want to check how the binary was written in FORTRAN. depending on
> the compiler and/or the access type fortran can write extra bytes before
> and after every record (they are called record marker).

That isn't his problem:

> r.in.bin -f input=inputfile.bin output=outputmap bytes=4
> n=51:05:20.4N s=41:21:50.4N w=5:08:31.2W e=9:33:36E r=19450
> c=29404 anull=-9999.0 --overwrite
...
> WARNING: File Size -2007336096 ... Total Bytes 2287631200
> ERROR: Bytes do not match file size 256

19450 * 29404 * 4 = 2287631200 = 2^32 - 2007336096

So the file is exactly the size it's supposed to be, it's just
overflowing the range of a 32-bit signed integer.

Upgrading is recommended, but in the absence of that, it would be
possible to split the file into two halves with dd, e.g.:

        dd if=inputfile.bin of=file1.bin bs=117616 count=9725
        dd if=inputfile.bin of=file2.bin bs=117616 count=9725 skip=9725

then import them separately and join them with r.patch, e.g.:

        r.in.bin -f input=file1.bin output=map1 bytes=4 \
                n=51:05:20.4N s=46:13:35.4N w=5:08:31.2W e=9:33:36E \
                r=9725 c=29404 anull=-9999.0 --overwrite
        r.in.bin -f input=file2.bin output=map2 bytes=4 \
                n=46:13:35.4N s=41:21:50.4N w=5:08:31.2W e=9:33:36E \
                r=9725 c=29404 anull=-9999.0 --overwrite
        r.patch input=map1,map2 output=outputmap --overwrite
        g.remove rast=map1,map2
        rm file1.bin file2.bin

-- 
Glynn Clements <[email protected]>
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to