本文整理汇总了Python中osgeo.gdal.GDT_Byte方法的典型用法代码示例。如果您正苦于以下问题:Python gdal.GDT_Byte方法的具体用法?Python gdal.GDT_Byte怎么用?Python gdal.GDT_Byte使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osgeo.gdal
的用法示例。
在下文中一共展示了gdal.GDT_Byte方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: writeRaster
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def writeRaster(arr, out_path, template):
no_data = 0
# First of all, gather some information from the template file
data = gdal.Open(template)
[cols, rows] = arr.shape
trans = data.GetGeoTransform()
proj = data.GetProjection()
# nodatav = 0 #data.GetNoDataValue()
# Create the file, using the information from the template file
outdriver = gdal.GetDriverByName("GTiff")
# http://www.gdal.org/gdal_8h.html
# GDT_Byte = 1, GDT_UInt16 = 2, GDT_UInt32 = 4, GDT_Int32 = 5, GDT_Float32 = 6,
outdata = outdriver.Create(str(out_path), rows, cols, 1, gdal.GDT_UInt32)
# Write the array to the file, which is the original array in this example
outdata.GetRasterBand(1).WriteArray(arr)
# Set a no data value if required
outdata.GetRasterBand(1).SetNoDataValue(no_data)
# Georeference the image
outdata.SetGeoTransform(trans)
# Write projection information
outdata.SetProjection(proj)
return arr
# raster to vector
示例2: CreateMultiBandGeoTiff
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def CreateMultiBandGeoTiff(OutPath, Array):
'''
Author: Jake Shermeyer
Array has shape:
Channels, Y, X?
'''
driver = gdal.GetDriverByName('GTiff')
DataSet = driver.Create(OutPath, Array.shape[2], Array.shape[1],
Array.shape[0], gdal.GDT_Byte,
['COMPRESS=LZW'])
for i, image in enumerate(Array, 1):
DataSet.GetRasterBand(i).WriteArray(image)
del DataSet
return OutPath
###############################################################################
示例3: createImageDS
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def createImageDS(filename, x_min, y_min, x_max, y_max, pixel_size, srs=None):
# Create the destination data source
x_res = int((x_max - x_min) / pixel_size) # resolution
y_res = int((y_max - y_min) / pixel_size) # resolution
ds = gdal.GetDriverByName('GTiff').Create(filename, x_res,
y_res, 1, gdal.GDT_Byte)
ds.SetGeoTransform((
x_min, pixel_size, 0,
y_max, 0, -pixel_size,
))
if srs:
# Make the target raster have the same projection as the source
ds.SetProjection(srs.ExportToWkt())
else:
# Source has no projection (needs GDAL >= 1.7.0 to work)
ds.SetProjection('LOCAL_CS["arbitrary"]')
# Set nodata
band = ds.GetRasterBand(1)
band.SetNoDataValue(0)
return ds
示例4: getNumpyType
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def getNumpyType(self, pixelType = gdal.GDT_Byte):
'''
Translates the gdal raster type to numpy type
pixelType: gdal raster type
'''
if pixelType == gdal.GDT_Byte:
return numpy.uint8
elif pixelType == gdal.GDT_UInt16:
return numpy.uint16
elif pixelType == gdal.GDT_Int16:
return numpy.int16
elif pixelType == gdal.GDT_UInt32:
return numpy.uint32
elif pixelType == gdal.GDT_Int32:
return numpy.int32
elif pixelType == gdal.GDT_Float32:
return numpy.float32
elif pixelType == gdal.GDT_Float64:
return numpy.float64
示例5: getNumpyType
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def getNumpyType(self, pixelType = gdal.GDT_Byte):
"""
Translates the gdal raster type to numpy type
pixelType: gdal raster type
"""
if pixelType == gdal.GDT_Byte:
return numpy.uint8
elif pixelType == gdal.GDT_UInt16:
return numpy.uint16
elif pixelType == gdal.GDT_Int16:
return numpy.int16
elif pixelType == gdal.GDT_UInt32:
return numpy.uint32
elif pixelType == gdal.GDT_Int32:
return numpy.int32
elif pixelType == gdal.GDT_Float32:
return numpy.float32
elif pixelType == gdal.GDT_Float64:
return numpy.float64
示例6: write_data
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def write_data(self, data, fileName, colorTable):
fileName = os.path.join(self.outpath, fileName)
driver = gdal.GetDriverByName( "GTiff" )
dst_ds = driver.Create( fileName, self.RasterXSize, self.RasterYSize, 1, gdal.GDT_Byte, [ 'COMPRESS=DEFLATE' ] )
band = dst_ds.GetRasterBand(1)
if self.geotransform:
dst_ds.SetGeoTransform( self.geotransform )
if self.projection:
dst_ds.SetProjection( self.projection )
if colorTable:
print "Add colortable"
band.SetRasterColorTable(self.ct)
band.WriteArray(data, 0, 0)
if verbose:
print "Written", fileName
ds = None
示例7: _str_of_gdt
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def _str_of_gdt(gdt):
return {
gdal.GDT_Byte: 'GDT_Byte',
gdal.GDT_Int16: 'GDT_Int16',
gdal.GDT_Int32: 'GDT_Int32',
gdal.GDT_UInt16: 'GDT_UInt16',
gdal.GDT_UInt32: 'GDT_UInt32',
gdal.GDT_Float32: 'GDT_Float32',
gdal.GDT_Float64: 'GDT_Float64',
gdal.GDT_CFloat32: 'GDT_CFloat32',
gdal.GDT_CFloat64: 'GDT_CFloat64',
gdal.GDT_CInt16: 'GDT_CInt16',
gdal.GDT_CInt32: 'GDT_CInt32',
}[gdt]
示例8: polygonize
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def polygonize(img,shp_path):
# mapping between gdal type and ogr field type
type_mapping = {gdal.GDT_Byte: ogr.OFTInteger,
gdal.GDT_UInt16: ogr.OFTInteger,
gdal.GDT_Int16: ogr.OFTInteger,
gdal.GDT_UInt32: ogr.OFTInteger,
gdal.GDT_Int32: ogr.OFTInteger,
gdal.GDT_Float32: ogr.OFTReal,
gdal.GDT_Float64: ogr.OFTReal,
gdal.GDT_CInt16: ogr.OFTInteger,
gdal.GDT_CInt32: ogr.OFTInteger,
gdal.GDT_CFloat32: ogr.OFTReal,
gdal.GDT_CFloat64: ogr.OFTReal}
ds = gdal.Open(img)
prj = ds.GetProjection()
srcband = ds.GetRasterBand(1)
dst_layername = "Shape"
drv = ogr.GetDriverByName("ESRI Shapefile")
dst_ds = drv.CreateDataSource(shp_path)
srs = osr.SpatialReference(wkt=prj)
dst_layer = dst_ds.CreateLayer(dst_layername, srs=srs)
raster_field = ogr.FieldDefn('id', type_mapping[srcband.DataType])
dst_layer.CreateField(raster_field)
gdal.Polygonize(srcband, srcband, dst_layer, 0, [], callback=None)
del img, ds, srcband, dst_ds, dst_layer
# convert images in a selected folder to shapefiles
示例9: polygonize
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def polygonize(img,shp_path):
# mapping between gdal type and ogr field type
type_mapping = {gdal.GDT_Byte: ogr.OFTInteger,
gdal.GDT_UInt16: ogr.OFTInteger,
gdal.GDT_Int16: ogr.OFTInteger,
gdal.GDT_UInt32: ogr.OFTInteger,
gdal.GDT_Int32: ogr.OFTInteger,
gdal.GDT_Float32: ogr.OFTReal,
gdal.GDT_Float64: ogr.OFTReal,
gdal.GDT_CInt16: ogr.OFTInteger,
gdal.GDT_CInt32: ogr.OFTInteger,
gdal.GDT_CFloat32: ogr.OFTReal,
gdal.GDT_CFloat64: ogr.OFTReal}
ds = gdal.Open(img)
prj = ds.GetProjection()
srcband = ds.GetRasterBand(1)
dst_layername = "Shape"
drv = ogr.GetDriverByName("ESRI Shapefile")
dst_ds = drv.CreateDataSource(shp_path)
srs = osr.SpatialReference(wkt=prj)
dst_layer = dst_ds.CreateLayer(dst_layername, srs=srs)
# raster_field = ogr.FieldDefn('id', type_mapping[srcband.DataType])
raster_field = ogr.FieldDefn('id', type_mapping[gdal.GDT_Int32])
dst_layer.CreateField(raster_field)
gdal.Polygonize(srcband, srcband, dst_layer, 0, [], callback=None)
del img, ds, srcband, dst_ds, dst_layer
# extract sinks from dem
示例10: write_geotiff
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def write_geotiff(fname, data, geo_transform, projection, data_type=gdal.GDT_Byte):
"""
Create a GeoTIFF file with the given data.
:param fname: Path to a directory with shapefiles
:param data: Number of rows of the result
:param geo_transform: Returned value of
gdal.Dataset.GetGeoTransform (coefficients for transforming between
pixel/line (P,L) raster space, and projection coordinates (Xp,Yp) space.
:param projection: Projection definition string (Returned by
gdal.Dataset.GetProjectionRef)
"""
driver = gdal.GetDriverByName('GTiff')
rows, cols = data.shape
dataset = driver.Create(fname, cols, rows, 1, data_type)
dataset.SetGeoTransform(geo_transform)
dataset.SetProjection(projection)
band = dataset.GetRasterBand(1)
band.WriteArray(data)
metadata = {
'TIFFTAG_COPYRIGHT': 'CC BY 4.0',
'TIFFTAG_DOCUMENTNAME': 'classification',
'TIFFTAG_IMAGEDESCRIPTION': 'Supervised classification.',
'TIFFTAG_SOFTWARE': 'Python, GDAL, scikit-learn'
}
dataset.SetMetadata(metadata)
dataset = None # Close the file
return
示例11: create_geotiff
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def create_geotiff(np_arr, gps_bounds, out_file_path, base_dir):
try:
nrows,ncols = np.shape(np_arr)
# gps_bounds: (lat_min, lat_max, lng_min, lng_max)
xres = (gps_bounds[3] - gps_bounds[2])/float(ncols)
yres = (gps_bounds[1] - gps_bounds[0])/float(nrows)
geotransform = (gps_bounds[2],xres,0,gps_bounds[1],0,-yres) #(top left x, w-e pixel resolution, rotation (0 if North is up), top left y, rotation (0 if North is up), n-s pixel resolution)
output_path = out_file_path
output_raster = gdal.GetDriverByName('GTiff').Create(output_path, ncols, nrows, 3, gdal.GDT_Byte)
output_raster.SetGeoTransform(geotransform) # specify coordinates
srs = osr.SpatialReference() # establish coordinate encoding
srs.ImportFromEPSG(4326) # specifically, google mercator
output_raster.SetProjection( srs.ExportToWkt() ) # export coordinate system to file
# TODO: Something wonky w/ uint8s --> ending up w/ lots of gaps in data (white pixels)
output_raster.GetRasterBand(1).WriteArray(np_arr.astype('uint8')) # write red channel to raster file
output_raster.GetRasterBand(1).FlushCache()
output_raster.GetRasterBand(1).SetNoDataValue(-99)
output_raster.GetRasterBand(2).WriteArray(np_arr.astype('uint8')) # write green channel to raster file
output_raster.GetRasterBand(2).FlushCache()
output_raster.GetRasterBand(2).SetNoDataValue(-99)
output_raster.GetRasterBand(3).WriteArray(np_arr.astype('uint8')) # write blue channel to raster file
output_raster.GetRasterBand(3).FlushCache()
output_raster.GetRasterBand(3).SetNoDataValue(-99)
# for test: once we've saved the image, make sure to append this path to our list of TIFs
tif_file = os.path.join(base_dir, tif_list_file)
f = open(tif_file,'a+')
f.write(output_path + '\n')
except Exception as ex:
fail('Error creating GeoTIFF: ' + str(ex))
示例12: readBlock
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def readBlock(self, band, sizeX, sizeY = 1, offsetY = 0, pixelType = gdal.GDT_Byte):
'''
Reads image block
band: band used
sizeX: x block size
sizeY: y block size
offsetY: Y offset
pixelType: pixel type
'''
numpytype = self.getNumpyType(pixelType)
bandscanline =band.ReadRaster( 0, offsetY, sizeX, sizeY, sizeX, sizeY, pixelType )
pixelArray=numpy.fromstring(bandscanline, dtype=numpytype)
return pixelArray
示例13: writeBlock
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def writeBlock(self, band, block, sizeX, sizeY = 1, offsetY = 0, pixelType = gdal.GDT_Byte):
'''
Writes image block
band: band used
sizeX: x block size
sizeY: y block size
offsetY: Y offset
pixelType: pixel type
'''
numpytype = self.getNumpyType(pixelType)
band.WriteRaster(0, offsetY, sizeX, sizeY, block.astype(numpytype).tostring())
示例14: readBlock
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def readBlock(self, band, sizeX, sizeY = 1, offsetY = 0, pixelType = gdal.GDT_Byte):
"""
Reads image block
band: band used
sizeX: x block size
sizeY: y block size
offsetY: Y offset
pixelType: pixel type
"""
numpytype = self.getNumpyType(pixelType)
bandscanline =band.ReadRaster( 0, offsetY, sizeX, sizeY, sizeX, sizeY, pixelType )
pixelArray=numpy.fromstring(bandscanline, dtype=numpytype)
return pixelArray
示例15: CreateTopojsonFile
# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import GDT_Byte [as 别名]
def CreateTopojsonFile(self, fileName, src_ds, projection, geotransform, ct, data, pres, xorg, ymax, water ):
driver = gdal.GetDriverByName( "GTiff" )
dst_ds_dataset = driver.Create( fileName, src_ds.RasterXSize, src_ds.RasterYSize, 1, gdal.GDT_Byte, [ 'COMPRESS=DEFLATE' ] )
dst_ds_dataset.SetGeoTransform( geotransform )
dst_ds_dataset.SetProjection( projection )
o_band = dst_ds_dataset.GetRasterBand(1)
o_band.SetRasterColorTable(ct)
o_band.WriteArray(data, 0, 0)
dst_ds_dataset = None
print "Created", fileName
cmd = "gdal_translate -q -of PNM -expand gray " + fileName + " "+fileName+".bmp"
self.execute(cmd)
# -i invert before processing
# -t 2 suppress speckles of up to this many pixels.
# -a 1.5 set the corner threshold parameter
# -z black specify how to resolve ambiguities in path decomposition. Must be one of black, white, right, left, minority, majority, or random. Default is minority
# -x scaling factor
# -L left margin
# -B bottom margin
cmd = str.format("potrace -i -z black -a 1.5 -t 3 -b geojson -o {0} {1} -x {2} -L {3} -B {4} ", fileName+".geojson", fileName+".bmp", pres, xorg, ymax );
self.execute(cmd)
cmd = str.format("topojson -o {0} --simplify-proportion 0.75 -p water={1} -- water={2}", fileName+".topojson", water, fileName+".geojson" );
self.execute(cmd)
# convert it back to json
cmd = "topojson-geojson --precision 4 -o %s %s" % ( self.geojsonDir, fileName+".topojson" )
self.execute(cmd)
# rename file
output_file = "water_level_%d.geojson" % water
cmd = "mv %s %s" % (os.path.join(self.geojsonDir,"water.json"), os.path.join(self.geojsonDir, output_file))
self.execute(cmd)