本文整理汇总了Python中osgeo.ogr.GetDriverByName方法的典型用法代码示例。如果您正苦于以下问题:Python ogr.GetDriverByName方法的具体用法?Python ogr.GetDriverByName怎么用?Python ogr.GetDriverByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osgeo.ogr
的用法示例。
在下文中一共展示了ogr.GetDriverByName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: writeFile
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def writeFile(filename,geotransform,geoprojection,data):
(x,y) = data.shape
format = "GTiff"
noDataValue = -9999
driver = gdal.GetDriverByName(format)
# you can change the dataformat but be sure to be able to store negative values including -9999
dst_datatype = gdal.GDT_Float32
#print(data)
dst_ds = driver.Create(filename,y,x,1,dst_datatype)
dst_ds.GetRasterBand(1).WriteArray(data)
dst_ds.GetRasterBand(1).SetNoDataValue( noDataValue )
dst_ds.SetGeoTransform(geotransform)
dst_ds.SetProjection(geoprojection)
return 1
示例2: writeFile
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def writeFile(filename,geotransform,geoprojection,data):
(x,y) = data.shape
format = "GTiff"
noDataValue = -9999
driver = gdal.GetDriverByName(format)
# you can change the dataformat but be sure to be able to store negative values including -9999
dst_datatype = gdal.GDT_Float32
#print(data)
dst_ds = driver.Create(filename,y,x,1,dst_datatype)
dst_ds.GetRasterBand(1).WriteArray(data)
dst_ds.GetRasterBand(1).SetNoDataValue( noDataValue )
dst_ds.SetGeoTransform(geotransform)
dst_ds.SetProjection(geoprojection)
return 1
示例3: writeRaster
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [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
示例4: get_idx_as_shp
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def get_idx_as_shp(self, path, gt, wkt):
'''
Exports a Shapefile containing the locations of the extracted
endmembers. Assumes the coordinates are in decimal degrees.
'''
coords = pixel_to_xy(self.get_idx(), gt=gt, wkt=wkt, dd=True)
driver = ogr.GetDriverByName('ESRI Shapefile')
ds = driver.CreateDataSource(path)
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)
layer = ds.CreateLayer(path.split('.')[0], srs, ogr.wkbPoint)
for pair in coords:
feature = ogr.Feature(layer.GetLayerDefn())
# Create the point from the Well Known Text
point = ogr.CreateGeometryFromWkt('POINT(%f %f)' % pair)
feature.SetGeometry(point) # Set the feature geometry
layer.CreateFeature(feature) # Create the feature in the layer
feature.Destroy() # Destroy the feature to free resources
# Destroy the data source to free resources
ds.Destroy()
示例5: CreateMultiBandGeoTiff
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [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
###############################################################################
示例6: save_state_gauges
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def save_state_gauges(out_fn, bbox=None):
"""Save stream gauge data to a geojson file."""
url = 'http://gis.srh.noaa.gov/arcgis/services/ahps_gauges/' + \
'MapServer/WFSServer'
parms = {
'version': '1.1.0',
'typeNames': 'ahps_gauges:Observed_River_Stages',
'srsName': 'urn:ogc:def:crs:EPSG:6.9:4326',
}
if bbox:
parms['bbox'] = bbox
try:
request = 'WFS:{0}?{1}'.format(url, urllib.urlencode(parms))
except:
request = 'WFS:{0}?{1}'.format(url, urllib.parse.urlencode(parms))
wfs_ds = ogr.Open(request)
if wfs_ds is None:
raise RuntimeError('Could not open WFS.')
wfs_lyr = wfs_ds.GetLayer(0)
driver = ogr.GetDriverByName('GeoJSON')
if os.path.exists(out_fn):
driver.DeleteDataSource(out_fn)
json_ds = driver.CreateDataSource(out_fn)
json_ds.CopyLayer(wfs_lyr, '')
示例7: shp2OsmosisPolygon
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def shp2OsmosisPolygon(daShapefile,txtFn):
driver = ogr.GetDriverByName('ESRI Shapefile')
infile = driver.Open(daShapefile)
layer = infile.GetLayer()
f= open(txtFn,"w")
f.write("osmosis polygon\nfirst_area\n")
for area in layer:
area_shape = area.GetGeometryRef()
area_polygon = area_shape.GetGeometryRef(0)
no_of_polygon_vertices = area_polygon.GetPointCount()
for vertex in range(no_of_polygon_vertices):
lon, lat, z = area_polygon.GetPoint(vertex) #获取经纬度坐标
print(lon,lat,z)
f.write("%s %s\n"%(lon,lat))
f.write("END\nEND")
f.close()
示例8: __init__
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def __init__(self, iface, tableName, user, apiKey, owner=None, sql=None, geoJSON=None,
filterByExtent=False, spatiaLite=None, readonly=False, multiuser=False, isSQL=False):
self.iface = iface
self.user = user
self._apiKey = apiKey
self.layerType = 'ogr'
self.owner = owner
self.isSQL = isSQL
self.multiuser = multiuser
# SQLite available?
driverName = "SQLite"
sqLiteDrv = ogr.GetDriverByName(driverName)
self.database_path = QgisCartoDB.CartoDBPlugin.PLUGIN_DIR + '/db/database.sqlite'
self.datasource = sqLiteDrv.Open(self.database_path, True)
self.layerName = tableName
self.cartoTable = tableName
self.readonly = False
self._deletedFeatures = []
self.sql = sql
self.forceReadOnly = False or readonly
if sql is None:
sql = 'SELECT * FROM ' + self._schema() + self.cartoTable
if filterByExtent:
extent = self.iface.mapCanvas().extent()
sql = sql + " WHERE ST_Intersects(ST_GeometryFromText('{}', 4326), the_geom)".format(extent.asWktPolygon())
else:
self.forceReadOnly = True
self._loadData(sql, geoJSON, spatiaLite)
示例9: __init__
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def __init__(self, iface):
QObject.__init__(self)
QgsMessageLog.logMessage('GDAL Version: ' + str(gdal.VersionInfo('VERSION_NUM')), 'CartoDB Plugin', QgsMessageLog.INFO)
# Save reference to the QGIS interface
self.iface = iface
# initialize locale
locale = QSettings().value("locale/userLocale")[0:2]
localePath = os.path.join(CartoDBPlugin.PLUGIN_DIR, "i18n", "{}.qm".format(locale))
if os.path.exists(localePath):
self.translator = QTranslator()
self.translator.load(localePath)
if qVersion() > '4.3.3':
QCoreApplication.installTranslator(self.translator)
# SQLite available?
driverName = "SQLite"
self.sqLiteDrv = ogr.GetDriverByName(driverName)
if self.sqLiteDrv is None:
QgsMessageLog.logMessage('SQLite driver not found', 'CartoDB Plugin', QgsMessageLog.CRITICAL)
else:
QgsMessageLog.logMessage('SQLite driver is found', 'CartoDB Plugin', QgsMessageLog.INFO)
self.databasePath = CartoDBPlugin.PLUGIN_DIR + '/db/database.sqlite'
shutil.copyfile(CartoDBPlugin.PLUGIN_DIR + '/db/init_database.sqlite', self.databasePath)
self.layers = []
self.countLoadingLayers = 0
self.countLoadedLayers = 0
self._cdbMenu = None
self._mainAction = None
self._loadDataAction = None
self._createVizAction = None
self._addSQLAction = None
self.toolbar = CartoDBToolbar()
self._toolbarAction = None
self._menu = None
示例10: array2raster
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def array2raster(rasterfn,newRasterfn,array,driver_name = "ENVI", noDataValue = -9999):
"""Takes an array and writes to a GDAL compatible raster. It needs another raster to map the dimensions.
Args:
FileName (str): The filename (with path and extension) of a raster that has the same dimensions as the raster to be written.
newRasterfn (str): The filename (with path and extension) of the new raster.
array (np.array): The array to be written
driver_name (str): The type of raster to write. Default is ENVI since that is the LSDTOpoTools format
noDataValue (float): The no data value
Return:
np.array: A numpy array with the data from the raster.
Author: SMM
"""
raster = gdal.Open(rasterfn)
geotransform = raster.GetGeoTransform()
originX = geotransform[0]
originY = geotransform[3]
pixelWidth = geotransform[1]
pixelHeight = geotransform[5]
cols = raster.RasterXSize
rows = raster.RasterYSize
driver = gdal.GetDriverByName(driver_name)
outRaster = driver.Create(newRasterfn, cols, rows, 1, gdal.GDT_Float32)
outRaster.SetGeoTransform((originX, pixelWidth, 0, originY, 0, pixelHeight))
outRaster.GetRasterBand(1).SetNoDataValue( noDataValue )
outband = outRaster.GetRasterBand(1)
outband.WriteArray(array)
outRasterSRS = osr.SpatialReference()
outRasterSRS.ImportFromWkt(raster.GetProjectionRef())
outRaster.SetProjection(outRasterSRS.ExportToWkt())
outband.FlushCache()
#==============================================================================
示例11: polygonize
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [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
示例12: polygonize
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [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
示例13: create_mask_from_vector
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def create_mask_from_vector(vector_data_path, cols, rows, geo_transform,
projection, target_value=1,
output_fname='', dataset_format='MEM'):
"""
Rasterize the given vector (wrapper for gdal.RasterizeLayer).
Return a gdal.Dataset.
:param vector_data_path: Path to a shapefile
:param cols: Number of columns of the result
:param rows: 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)
:param target_value: Pixel value for the pixels. Must be a valid
gdal.GDT_UInt16 value.
:param output_fname: If the dataset_format is GeoTIFF, this is the output
file name
:param dataset_format: The gdal.Dataset driver name. [default: MEM]
"""
driver = ogr.GetDriverByName('ESRI Shapefile')
data_source = driver.Open(vector_data_path, 0)
if data_source is None:
report_and_exit("File read failed: %s", vector_data_path)
layer = data_source.GetLayer(0)
driver = gdal.GetDriverByName(dataset_format)
target_ds = driver.Create(output_fname, cols, rows, 1, gdal.GDT_UInt16)
target_ds.SetGeoTransform(geo_transform)
target_ds.SetProjection(projection)
gdal.RasterizeLayer(target_ds, [1], layer, burn_values=[target_value])
return target_ds
示例14: write_geotiff
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [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
示例15: make_class_dict
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import GetDriverByName [as 别名]
def make_class_dict(path):
# Set up dict to save Xs and Ys
driver = ogr.GetDriverByName('ESRI Shapefile')
# data_source = gdal.OpenEx(vector_data_path, gdal.OF_VECTOR)
data_source = driver.Open(path, 0)
if data_source is None:
report_and_exit("File read failed: %s", path)
layer = data_source.GetLayer(0)
class_labels = []
data = []
for feature in layer:
try:
var1 = float(feature.GetField('NFDI_mag'))
# var2 = float(feature.GetField('NFDI_rmse'))
var3 = float(feature.GetField('NFDI_sin'))
var4 = float(feature.GetField('NFDI_cos'))
var5 = float(feature.GetField('Gv_mag'))
var6 = float(feature.GetField('Shade_mag'))
var7 = float(feature.GetField('NPV_mag'))
var8 = float(feature.GetField('Soil_mag'))
label = feature.GetField('class')
except:
continue
class_labels.append(label)
#data.append([var1, var2, var3, var4, var5, var6, var7, var8])
data.append([var1, var3, var4, var5, var6, var7, var8])
return class_labels, data