Example #1
0
File: array.py Project: caomw/grass
    def write(self, mapname, title=None, null=None, overwrite=None):
        """Write array into raster map

        :param str mapname: name for raster map
        :param str title: title for raster map
        :param null: null value
        :param bool overwrite: True for overwritting existing raster maps

        :return: 0 on success
        :return: non-zero code on failure
        """
        kind = self.dtype.kind
        size = self.dtype.itemsize

        if kind == "f":
            if size == 4:
                flags = "f"
            elif size == 8:
                flags = "d"
            else:
                raise ValueError(_("Invalid FP size <%d>") % size)
            size = None
        elif kind in "biu":
            if size not in [1, 2, 4]:
                raise ValueError(_("Invalid integer size <%d>") % size)
            flags = None
        else:
            raise ValueError(_("Invalid kind <%s>") % kind)

        reg = grass.region()

        return grass.run_command(
            "r.in.bin",
            flags=flags,
            input=self.filename,
            output=mapname,
            title=title,
            bytes=size,
            anull=null,
            overwrite=overwrite,
            north=reg["n"],
            south=reg["s"],
            east=reg["e"],
            west=reg["w"],
            rows=reg["rows"],
            cols=reg["cols"],
        )
Example #2
0
    def write(self, mapname, title = None, null = None, overwrite = None):
        """!Write array into raster map

        @param mapname name for raster map
        @param title title for raster map
        @param null null value
        @param overwrite True for overwritting existing raster maps

        @return 0 on success
        @return non-zero code on failure
        """
	kind = self.dtype.kind
	size = self.dtype.itemsize
        
	if kind == 'f':
	    if size == 4:
		flags = 'f'
	    elif size == 8:
		flags = 'd'
	    else:
		raise ValueError(_('Invalid FP size <%d>') % size)
	    size = None
	elif kind in 'biu':
	    if size not in [1,2,4]:
		raise ValueError(_('Invalid integer size <%d>') % size)
	    flags = None
	else:
	    raise ValueError(_('Invalid kind <%s>') % kind)
        
	reg = grass.region()
        
	return grass.run_command(
	    'r.in.bin',
	    flags = flags,
	    input = self.filename,
	    output = mapname,
	    title = title,
	    bytes = size,
	    anull = null,
	    overwrite = overwrite,
	    verbose = True,
	    north = reg['n'],
	    south = reg['s'],
	    east  = reg['e'],
	    west  = reg['w'],
	    rows  = reg['rows'],
	    cols  = reg['cols'])
Example #3
0
File: array.py Project: caomw/grass
    def __new__(cls, dtype=numpy.double):
        """Define new numpy array

        :param cls:
        :param dtype: data type (default: numpy.double)
        """
        reg = grass.region()
        r = reg["rows"]
        c = reg["cols"]
        shape = (r, c)

        filename = grass.tempfile()

        self = numpy.memmap.__new__(cls, filename=filename, dtype=dtype, mode="w+", shape=shape)

        self.filename = filename
        return self
Example #4
0
    def write(self, mapname, title=None, null=None, overwrite=None):
        """Write array into raster map

        :param str mapname: name for raster map
        :param str title: title for raster map
        :param null: null value
        :param bool overwrite: True for overwritting existing raster maps

        :return: 0 on success
        :return: non-zero code on failure
        """
        kind = self.dtype.kind
        size = self.dtype.itemsize

        if kind == 'f':
            if size == 4:
                flags = 'f'
            elif size == 8:
                flags = 'd'
            else:
                raise ValueError(_('Invalid FP size <%d>') % size)
            size = None
        elif kind in 'biu':
            if size not in [1, 2, 4]:
                raise ValueError(_('Invalid integer size <%d>') % size)
            flags = None
        else:
            raise ValueError(_('Invalid kind <%s>') % kind)

        reg = grass.region()

        return grass.run_command(
            'r.in.bin',
            flags=flags,
            input=self.filename,
            output=mapname,
            title=title,
            bytes=size,
            anull=null,
            overwrite=overwrite,
            north=reg['n'],
            south=reg['s'],
            east=reg['e'],
            west=reg['w'],
            rows=reg['rows'],
            cols=reg['cols'])
Example #5
0
File: array.py Project: caomw/grass
    def write(self, mapname, null=None, overwrite=None):
        """Write array into 3D raster map

        :param str mapname: name for 3D raster map
        :param null: null value
        :param bool overwrite: True for overwriting existing raster maps

        :return: 0 on success
        :return: non-zero code on failure
        """
        kind = self.dtype.kind
        size = self.dtype.itemsize
        flags = None

        if kind == "f":
            if size != 4 and size != 8:
                raise ValueError(_("Invalid FP size <%d>") % size)
        elif kind in "biu":
            if size not in [1, 2, 4, 8]:
                raise ValueError(_("Invalid integer size <%d>") % size)
            flags = "i"
        else:
            raise ValueError(_("Invalid kind <%s>") % kind)

        reg = grass.region(True)

        return grass.run_command(
            "r3.in.bin",
            flags=flags,
            input=self.filename,
            output=mapname,
            bytes=size,
            null=null,
            overwrite=overwrite,
            north=reg["n"],
            south=reg["s"],
            top=reg["t"],
            bottom=reg["b"],
            east=reg["e"],
            west=reg["w"],
            depths=reg["depths"],
            rows=reg["rows3"],
            cols=reg["cols3"],
        )
Example #6
0
    def write(self, mapname, null=None, overwrite=None):
        """Write array into 3D raster map

        :param str mapname: name for 3D raster map
        :param null: null value
        :param bool overwrite: True for overwriting existing raster maps

        :return: 0 on success
        :return: non-zero code on failure
        """
        kind = self.dtype.kind
        size = self.dtype.itemsize
        flags = None

        if kind == 'f':
            if size != 4 and size != 8:
                raise ValueError(_('Invalid FP size <%d>') % size)
        elif kind in 'biu':
            if size not in [1, 2, 4, 8]:
                raise ValueError(_('Invalid integer size <%d>') % size)
            flags = 'i'
        else:
            raise ValueError(_('Invalid kind <%s>') % kind)

        reg = grass.region(True)

        return grass.run_command(
            'r3.in.bin',
            flags=flags,
            input=self.filename,
            output=mapname,
            bytes=size,
            null=null,
            overwrite=overwrite,
            north=reg['n'],
            south=reg['s'],
            top=reg['t'],
            bottom=reg['b'],
            east=reg['e'],
            west=reg['w'],
            depths=reg['depths'],
            rows=reg['rows3'],
            cols=reg['cols3'])
Example #7
0
    def __new__(cls, dtype=numpy.double):
        """!Define new numpy array

        @param cls
        @param dtype data type (default: numpy.double)
        """
        reg = grass.region()
        r = reg['rows']
        c = reg['cols']
        shape = (r, c)

        filename = grass.tempfile()

        self = numpy.memmap.__new__(cls,
                                    filename=filename,
                                    dtype=dtype,
                                    mode='w+',
                                    shape=shape)

        self.filename = filename
        return self
Example #8
0
    def __new__(cls, dtype = numpy.double):
        """!Define new numpy array

        @param cls
        @param dtype data type (default: numpy.double)
        """
	reg = grass.region()
	r = reg['rows']
	c = reg['cols']
	shape = (r, c)
        
	filename = grass.tempfile()
        
	self = numpy.memmap.__new__(
	    cls,
	    filename = filename,
	    dtype = dtype,
	    mode = 'w+',
	    shape = shape)
        
	self.filename = filename
	return self
Example #9
0
    def __new__(cls, dtype=numpy.double):
        """Define new 3d numpy array

        :param cls:
        :param dtype: data type (default: numpy.double)
        """
        reg = grass.region(True)
        r = reg['rows3']
        c = reg['cols3']
        d = reg['depths']
        shape = (d, r, c)

        filename = grass.tempfile()

        self = numpy.memmap.__new__(
            cls,
            filename=filename,
            dtype=dtype,
            mode='w+',
            shape=shape)

        self.filename = filename

        return self