예제 #1
0
 def GetColorEntry(self, i):
     entry = _gdal.GDALGetColorEntry(self._o, i)
     if entry is None or entry == 'NULL':
         return (0, 0, 0, 0)
     else:
         entry = ptrcast(entry, 'short_p')
         return (ptrvalue(entry, 0), ptrvalue(entry, 1), ptrvalue(entry, 2),
                 ptrvalue(entry, 3))
예제 #2
0
 def GetColorEntryAsRGB(self, i):
     entry = ptrcreate('short', 0, 4)
     _gdal.GDALGetColorEntryAsRGB(self._o, i,
                                  ptrcast(entry, 'GDALColorEntry_p'))
     res = (ptrvalue(entry, 0), ptrvalue(entry, 1), ptrvalue(entry, 2),
            ptrvalue(entry, 3))
     ptrfree(entry)
     return res
예제 #3
0
 def GetEnvelope(self):
     extents = _gdal.ptrcreate('double', 0.0, 4)
     _gdal.OGR_G_GetEnvelope(self._o, _gdal.ptrcast(extents,
                                                    'OGREnvelope_p'))
     ret_extents = (_gdal.ptrvalue(extents, 0), _gdal.ptrvalue(extents, 1),
                    _gdal.ptrvalue(extents, 2), _gdal.ptrvalue(extents, 3))
     _gdal.ptrfree(extents)
     return ret_extents
예제 #4
0
파일: ogr.py 프로젝트: tomaszpg/PogodaTMC
 def GetEnvelope( self ):
     extents = _gdal.ptrcreate( 'double', 0.0, 4 )
     _gdal.OGR_G_GetEnvelope( self._o, _gdal.ptrcast(extents,'OGREnvelope_p') )
     ret_extents = ( _gdal.ptrvalue( extents, 0 ),
                     _gdal.ptrvalue( extents, 1 ),
                     _gdal.ptrvalue( extents, 2 ),
                     _gdal.ptrvalue( extents, 3 ) )
     _gdal.ptrfree( extents )
     return ret_extents
예제 #5
0
파일: gdal.py 프로젝트: tomaszpg/PogodaTMC
 def GetColorEntryAsRGB( self, i ):
     entry = ptrcreate( 'short', 0, 4 )
     _gdal.GDALGetColorEntryAsRGB( self._o, i,
                                   ptrcast(entry,'GDALColorEntry_p') )
     res = (ptrvalue(entry, 0),
            ptrvalue(entry, 1),
            ptrvalue(entry, 2),
            ptrvalue(entry, 3) )
     ptrfree( entry )
     return res
예제 #6
0
파일: gdal.py 프로젝트: tomaszpg/PogodaTMC
 def GetColorEntry( self, i ):
     entry = _gdal.GDALGetColorEntry( self._o, i )
     if entry is None or entry == 'NULL':
         return (0,0,0,0)
     else:
         entry = ptrcast(entry,'short_p')
         return (ptrvalue(entry, 0),
                 ptrvalue(entry, 1),
                 ptrvalue(entry, 2),
                 ptrvalue(entry, 3) )
예제 #7
0
파일: gdal.py 프로젝트: tomaszpg/PogodaTMC
    def GetStatistics( self, approx_ok = 0, force = 1 ):
        x = ptrcreate( 'double', 0, 4 )
        err = _gdal.GDALGetRasterStatistics( self._o, approx_ok, force,
                                             x, ptradd(x,1), ptradd(x,2), ptradd(x,3) )
        if err != 0:
            ptrfree( x )
            raise ValueError, GetLastErrorMsg()

        result = (ptrvalue(x,0),ptrvalue(x,1),ptrvalue(x,2),ptrvalue(x,3))
        ptrfree(x)
        return result
예제 #8
0
    def GetStatistics(self, approx_ok=0, force=1):
        x = ptrcreate('double', 0, 4)
        err = _gdal.GDALGetRasterStatistics(self._o, approx_ok, force, x,
                                            ptradd(x, 1), ptradd(x, 2),
                                            ptradd(x, 3))
        if err != 0:
            ptrfree(x)
            raise ValueError, GetLastErrorMsg()

        result = (ptrvalue(x, 0), ptrvalue(x, 1), ptrvalue(x,
                                                           2), ptrvalue(x, 3))
        ptrfree(x)
        return result
예제 #9
0
파일: ogr.py 프로젝트: tomaszpg/PogodaTMC
 def GetExtent( self, force = 1 ):
     """Returns the extent of the layer as a four-tuple"""
     extents = _gdal.ptrcreate( 'double', 0.0, 4 )
     res = _gdal.OGR_L_GetExtent( self._o,
               _gdal.ptrcast(extents,'OGREnvelope_p'), force )
     if res != 0:
         ret_extents = None
     else:
         ret_extents = ( _gdal.ptrvalue( extents, 0 ),
                         _gdal.ptrvalue( extents, 1 ),
                         _gdal.ptrvalue( extents, 2 ),
                         _gdal.ptrvalue( extents, 3 ) )
     _gdal.ptrfree( extents )
     
     return ret_extents
예제 #10
0
    def GetExtent(self, force=1):
        """Returns the extent of the layer as a four-tuple"""
        extents = _gdal.ptrcreate('double', 0.0, 4)
        res = _gdal.OGR_L_GetExtent(self._o,
                                    _gdal.ptrcast(extents, 'OGREnvelope_p'),
                                    force)
        if res != 0:
            ret_extents = None
        else:
            ret_extents = (_gdal.ptrvalue(extents,
                                          0), _gdal.ptrvalue(extents, 1),
                           _gdal.ptrvalue(extents,
                                          2), _gdal.ptrvalue(extents, 3))
        _gdal.ptrfree(extents)

        return ret_extents
예제 #11
0
파일: gdal.py 프로젝트: tomaszpg/PogodaTMC
 def GetScale(self):
     c_success_flag = ptrcreate('int',0,1)
     result = _gdal.GDALGetRasterScale(self._o,c_success_flag)
     success_flag = ptrvalue(c_success_flag,0)
     ptrfree(c_success_flag)
     if success_flag:
         return result
     else:
         return None
예제 #12
0
파일: gdal.py 프로젝트: tomaszpg/PogodaTMC
    def ComputeBandStats( self, samplestep = 1,
                          progress_cb = None, progress_data = None ):
        mean_p = _gdal.ptrcreate( 'double',0,1)
        stddev_p = _gdal.ptrcreate( 'double',0,1)
        (prog_cb, prog_info) = \
                  _gdal.MakeProgressInfo( progress_cb, progress_data )
        result = _gdal.GDALComputeBandStats( self._o, samplestep,
                                             mean_p, stddev_p,
                                             prog_cb, prog_info )
        mean_stddev = ( _gdal.ptrvalue(mean_p,0), _gdal.ptrvalue(stddev_p,0) )
        _gdal.ptrfree( mean_p )
        _gdal.ptrfree( stddev_p )
        _gdal.ptrfree( prog_info )

        if result != 0:
            raise ValueError, GetLastErrorMsg()
        else:
            return mean_stddev
예제 #13
0
 def GetScale(self):
     c_success_flag = ptrcreate('int', 0, 1)
     result = _gdal.GDALGetRasterScale(self._o, c_success_flag)
     success_flag = ptrvalue(c_success_flag, 0)
     ptrfree(c_success_flag)
     if success_flag:
         return result
     else:
         return None
예제 #14
0
    def ComputeBandStats(self,
                         samplestep=1,
                         progress_cb=None,
                         progress_data=None):
        mean_p = _gdal.ptrcreate('double', 0, 1)
        stddev_p = _gdal.ptrcreate('double', 0, 1)
        (prog_cb, prog_info) = \
                  _gdal.MakeProgressInfo( progress_cb, progress_data )
        result = _gdal.GDALComputeBandStats(self._o, samplestep, mean_p,
                                            stddev_p, prog_cb, prog_info)
        mean_stddev = (_gdal.ptrvalue(mean_p, 0), _gdal.ptrvalue(stddev_p, 0))
        _gdal.ptrfree(mean_p)
        _gdal.ptrfree(stddev_p)
        _gdal.ptrfree(prog_info)

        if result != 0:
            raise ValueError, GetLastErrorMsg()
        else:
            return mean_stddev
예제 #15
0
    def GetTOWGS84(self):
        pd = ptrcreate('double', 0.0, 7)
        err = _gdal.OSRGetTOWGS84(self._o, pd, 7)
        if err != 0:
            print err
            raise ValueError, ('GetTOWGS84() failed, err = %d.' % err)

        result = (ptrvalue(pd, 0), ptrvalue(pd, 1), ptrvalue(pd, 2),
                  ptrvalue(pd, 3), ptrvalue(pd,
                                            4), ptrvalue(pd,
                                                         5), ptrvalue(pd, 6))
        ptrfree(pd)
        return result
예제 #16
0
파일: osr.py 프로젝트: tomaszpg/PogodaTMC
    def GetTOWGS84( self ):
        pd = ptrcreate( 'double', 0.0, 7 )
        err = _gdal.OSRGetTOWGS84( self._o, pd, 7 )
        if err != 0:
            print err
            raise ValueError, ('GetTOWGS84() failed, err = %d.' % err)

        result = ( ptrvalue(pd,0),
                   ptrvalue(pd,1), 
                   ptrvalue(pd,2), 
                   ptrvalue(pd,3), 
                   ptrvalue(pd,4), 
                   ptrvalue(pd,5), 
                   ptrvalue(pd,6) )
        ptrfree( pd )
        return result
예제 #17
0
파일: gdal.py 프로젝트: tomaszpg/PogodaTMC
    def GetGeoTransform(self):
        c_transform = _gdal.ptrcreate('double',0,6)
        if _gdal.GDALGetGeoTransform(self._o, c_transform) == 0:
            transform = ( _gdal.ptrvalue(c_transform,0),
                      _gdal.ptrvalue(c_transform,1),
                      _gdal.ptrvalue(c_transform,2),
                      _gdal.ptrvalue(c_transform,3),
                      _gdal.ptrvalue(c_transform,4),
                      _gdal.ptrvalue(c_transform,5) )
        else:
            transform = (0,1,0,0,0,1)
  
        _gdal.ptrfree( c_transform )

        return transform
예제 #18
0
    def GetGeoTransform(self):
        c_transform = _gdal.ptrcreate('double', 0, 6)
        if _gdal.GDALGetGeoTransform(self._o, c_transform) == 0:
            transform = (_gdal.ptrvalue(c_transform,
                                        0), _gdal.ptrvalue(c_transform, 1),
                         _gdal.ptrvalue(c_transform,
                                        2), _gdal.ptrvalue(c_transform, 3),
                         _gdal.ptrvalue(c_transform,
                                        4), _gdal.ptrvalue(c_transform, 5))
        else:
            transform = (0, 1, 0, 0, 0, 1)

        _gdal.ptrfree(c_transform)

        return transform
예제 #19
0
def GetBlockSize(band):
  x = _gdal.ptrcreate('int', 0, 2)
  _gdal.GDALGetBlockSize(band._o, x, _gdal.ptradd(x, 1))
  result = (_gdal.ptrvalue(x, 0), _gdal.ptrvalue(x, 1))
  _gdal.ptrfree(x)
  return result
예제 #20
0
def GetBlockSize(band):
    x = _gdal.ptrcreate('int', 0, 2)
    _gdal.GDALGetBlockSize(band._o, x, _gdal.ptradd(x, 1))
    result = (_gdal.ptrvalue(x, 0), _gdal.ptrvalue(x, 1))
    _gdal.ptrfree(x)
    return result
예제 #21
0
파일: gdal.py 프로젝트: tomaszpg/PogodaTMC
 def ComputeRasterMinMax(self, approx_ok = 0):
     c_minmax = ptrcreate('double',0,2)
     _gdal.GDALComputeRasterMinMax(self._o, approx_ok, c_minmax )
     result = ( ptrvalue(c_minmax,0), ptrvalue(c_minmax,1) )
     ptrfree( c_minmax )
     return result
예제 #22
0
 def ComputeRasterMinMax(self, approx_ok=0):
     c_minmax = ptrcreate('double', 0, 2)
     _gdal.GDALComputeRasterMinMax(self._o, approx_ok, c_minmax)
     result = (ptrvalue(c_minmax, 0), ptrvalue(c_minmax, 1))
     ptrfree(c_minmax)
     return result