當前位置: 首頁>>代碼示例>>Python>>正文


Python ogr.Open方法代碼示例

本文整理匯總了Python中ogr.Open方法的典型用法代碼示例。如果您正苦於以下問題:Python ogr.Open方法的具體用法?Python ogr.Open怎麽用?Python ogr.Open使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在ogr的用法示例。


在下文中一共展示了ogr.Open方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: reproject_modis_to_geotiff

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def reproject_modis_to_geotiff(input_folder, dest_prj=32643):
    '''
    Function to convert all modis hdf in folder to geotiff using gdal
    required libraries: osr, gdal
    :param input_folder: where hds files are stored
    :param dest_prj: default is wgs 84 / UTM 43N (EPSG 32643)
    '''
    files_list = os.listdir(input_folder)
    for item in files_list:
        if fnmatch.fnmatch(item, '*.hdf'):
            input_file_name = input_folder + '/' + item
            output_file_name = input_folder + '/' + item[0:23]
            img = gdal.Open(input_file_name)
            subset = img.GetSubDatasets()
            in_raster = subset[0][0]
            reproject_dataset(dataset=in_raster, output_file_name=output_file_name+ '.tif')

# reproject
# reproject_modis_to_geotiff(input_folder="/media/kiruba/New Volume/MODIS/ET/scratch")

# This function will convert the rasterized clipper shapefile
# to a mask for use within GDAL. 
開發者ID:Kirubaharan,項目名稱:hydrology,代碼行數:24,代碼來源:modis_tg_halli.py

示例2: rasterize

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def rasterize(data, vectorSrc, field, outFile):
    dataSrc = gdal.Open(data)
    import ogr
    shp = ogr.Open(vectorSrc)

    lyr = shp.GetLayer()

    driver = gdal.GetDriverByName('GTiff')
    dst_ds = driver.Create(
        outFile,
        dataSrc.RasterXSize,
        dataSrc.RasterYSize,
        1,
        gdal.GDT_UInt16)
    dst_ds.SetGeoTransform(dataSrc.GetGeoTransform())
    dst_ds.SetProjection(dataSrc.GetProjection())
    if field is None:
        gdal.RasterizeLayer(dst_ds, [1], lyr, None)
    else:
        OPTIONS = ['ATTRIBUTE=' + field]
        gdal.RasterizeLayer(dst_ds, [1], lyr, None, options=OPTIONS)

    data, dst_ds, shp, lyr = None, None, None, None
    return outFile 
開發者ID:nkarasiak,項目名稱:dzetsaka,代碼行數:26,代碼來源:function_dataraster.py

示例3: pointReading

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def pointReading(fn,pt_lyrName_r):
    ds=ogr.Open(fn,0) #0為隻讀模式,1為編輯模式
    if ds is None:
        sys.exit('Could not open{0}'.format(fn))
    pt_lyr=ds.GetLayer(pt_lyrName_r) #可以直接數據層(文件)名或者指定索引
    vp = VectorPlotter(True)  #顯示vector數據
    vp.plot(pt_lyr,'bo')
    
    i=0
    for feat in pt_lyr: #循環feature
        pt=feat.geometry()
        pt_x=pt.GetX()
        pt_y=pt.GetY()
        name=feat.GetField('NAME')
        kind=feat.GetField('KIND')
        print(name,kind,(pt_x,pt_y,))
        i+=1
        if i==12:
            break
    del ds 
開發者ID:richieBao,項目名稱:python-urbanPlanning,代碼行數:22,代碼來源:xa_gdal.py

示例4: test_stack_images

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_stack_images(managed_multiple_geotiff_dir):
    test_dir = managed_multiple_geotiff_dir
    images = [os.path.join(test_dir.path, image) for image in os.listdir(test_dir.path)]
    images.sort()
    result_path = os.path.join(test_dir.path, "test_out.tif") # This isn't turning up in the expected order
    pyeo.raster_manipulation.stack_images(images, result_path)
    result = gdal.Open(result_path)
    assert result.ReadAsArray().shape[0] == 4  # If result has 4 bands, success
    assert result.ReadAsArray()[0,0,4] == 3
    assert result.ReadAsArray()[1,0,4] == 13 
開發者ID:clcr,項目名稱:pyeo,代碼行數:12,代碼來源:pyeo_tests.py

示例5: test_stack_and_trim_images

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_stack_and_trim_images(managed_noncontiguous_geotiff_dir):
    # Test data is two five band 11x12 pixel geotiffs and a 10x10 polygon
    # The geotiffs upper left corners ar at 90,90 and 100,100
    test_dir = managed_noncontiguous_geotiff_dir
    old_image_path = os.path.join(test_dir.path, "se_test")
    new_image_path = os.path.join(test_dir.path, "ne_test")
    aoi_path = os.path.join(test_dir.path, "aoi")
    result_path = os.path.join(test_dir.path, "test_out.tif")
    pyeo.raster_manipulation.stack_and_trim_images(old_image_path, new_image_path, aoi_path, result_path)
    result = gdal.Open(result_path).ReadAsArray()
    assert result.shape == (10, 10, 10)  # Result should have 10 bands and be 10 by 10 
開發者ID:clcr,項目名稱:pyeo,代碼行數:13,代碼來源:pyeo_tests.py

示例6: test_pixel_bounds_from_polygon

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_pixel_bounds_from_polygon(managed_noncontiguous_geotiff_dir):
    test_dir = managed_noncontiguous_geotiff_dir
    raster = gdal.Open(os.path.join(test_dir.path, "ne_test"))
    aoi = ogr.Open(os.path.join(test_dir.path, "aoi"))
    layer = aoi.GetLayer(0)
    aoi_feature = layer.GetFeature(0)
    polygon = aoi_feature.GetGeometryRef()
    result = pyeo.coordinate_manipulation.pixel_bounds_from_polygon(raster, polygon)
    assert result == (1, 11, 1, 11) 
開發者ID:clcr,項目名稱:pyeo,代碼行數:11,代碼來源:pyeo_tests.py

示例7: test_point_to_pixel_coordinates

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_point_to_pixel_coordinates(managed_noncontiguous_geotiff_dir):
    test_dir = managed_noncontiguous_geotiff_dir
    point = r"POINT (101 112)"
    raster = gdal.Open(os.path.join(test_dir.path, "ne_test"))
    out = pyeo.coordinate_manipulation.point_to_pixel_coordinates(raster, point)
    # Since ne_test is an 11 by 12 image, tl corner 0,0 w 10m pixels,
    # we'd expect the br coords to be 10, 11
    assert out == (10, 11) 
開發者ID:clcr,項目名稱:pyeo,代碼行數:10,代碼來源:pyeo_tests.py

示例8: test_check_overlap

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_check_overlap(managed_noncontiguous_geotiff_dir):
    test_dir = managed_noncontiguous_geotiff_dir
    test_raster = gdal.Open(os.path.join(test_dir.path, "ne_test"))
    test_aoi = ogr.Open(os.path.join(test_dir.path, "aoi"))
    assert pyeo.coordinate_manipulation.check_overlap(test_raster, test_aoi) is True 
開發者ID:clcr,項目名稱:pyeo,代碼行數:7,代碼來源:pyeo_tests.py

示例9: test_get_raster_bounds

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_get_raster_bounds(managed_noncontiguous_geotiff_dir):
    test_dir = managed_noncontiguous_geotiff_dir
    test_raster = gdal.Open(os.path.join(test_dir.path, "ne_test"))
    target = (0, 110, 0, 120)
    result = pyeo.coordinate_manipulation.get_raster_bounds(test_raster)
    assert result.GetEnvelope() == target 
開發者ID:clcr,項目名稱:pyeo,代碼行數:8,代碼來源:pyeo_tests.py

示例10: test_get_aoi_bounds

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_get_aoi_bounds(managed_noncontiguous_geotiff_dir):
    test_dir = managed_noncontiguous_geotiff_dir
    test_aoi = ogr.Open(os.path.join(test_dir.path, "aoi"))
    target = (10, 20, 10, 20)
    result = pyeo.coordinate_manipulation.get_aoi_bounds(test_aoi)
    assert result.GetEnvelope() == target 
開發者ID:clcr,項目名稱:pyeo,代碼行數:8,代碼來源:pyeo_tests.py

示例11: test_get_aoi_intersection

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_get_aoi_intersection(managed_noncontiguous_geotiff_dir):
    test_dir = managed_noncontiguous_geotiff_dir
    test_raster = gdal.Open(os.path.join(test_dir.path, "se_test"))
    test_aoi = ogr.Open(os.path.join(test_dir.path, "aoi"))
    result = pyeo.coordinate_manipulation.get_aoi_intersection(test_raster, test_aoi)
    assert result.GetEnvelope() == (10, 20, 10, 20) 
開發者ID:clcr,項目名稱:pyeo,代碼行數:8,代碼來源:pyeo_tests.py

示例12: test_aoi_to_mask

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def test_aoi_to_mask(managed_noncontiguous_geotiff_dir):
    test_dir = managed_noncontiguous_geotiff_dir
    test_aoi = ogr.Open(os.path.join(test_dir.path, "aoi"))
    result_path = os.path.join(test_dir.path, "test_out.tif")
    pyeo.aoi_to_mask(test_aoi, result_path)
    result = gdal.Open(result_path)
    assert result.ReadAsArray()[2, 2] == 1 
開發者ID:clcr,項目名稱:pyeo,代碼行數:9,代碼來源:pyeo_tests.py

示例13: clip_raster_by_vector

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def clip_raster_by_vector(input_folder, mask_shapefile, output_folder, file_extension='*.tif', t_srs='EPSG:32643', no_data=32767 ):
    files_list = os.listdir(input_folder)
    ds = ogr.Open(mask_shapefile)
    lyr = ds.GetLayer(0)
    lyr.ResetReading()
    ft = lyr.GetNextFeature()
    for item in files_list:
        if fnmatch.fnmatch(item, file_extension):
            in_raster = input_folder + '/' + item
            out_raster = output_folder + '/' +'tg_' + item
            subprocess.call(['gdalwarp', in_raster, out_raster, '-cutline', mask_shapefile, '-t_srs', t_srs, '-crop_to_cutline', '-dstnodata', "%s" %no_data]) 
開發者ID:Kirubaharan,項目名稱:hydrology,代碼行數:13,代碼來源:streams_milli.py

示例14: reproject_dataset

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def reproject_dataset(dataset, output_file_name, wkt_from="+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs", epsg_to=32643, pixel_spacing=1000, file_format='GTiff'):
    '''
    :param dataset: Modis subset name use gdal.GetSubdatasets()
    :param output_file_name: file location along with proper extension
    :param wkt_from: Modis wkt (default)
    :param epsg_to: integer default(32643)
    :param pixel_spacing: in metres
    :param file_format: default GTiff
    :return:
    '''
    wgs84 = osr.SpatialReference()
    wgs84.ImportFromEPSG(epsg_to)
    modis = osr.SpatialReference()
    modis.ImportFromProj4(wkt_from)
    tx = osr.CoordinateTransformation(modis, wgs84)
    g = gdal.Open(dataset)
    geo_t = g.GetGeoTransform()
    print geo_t
    x_size = g.RasterXSize
    y_size = g.RasterYSize
    (ulx, uly, ulz) = tx.TransformPoint(geo_t[0], geo_t[3])
    (lrx, lry, lrz) = tx.TransformPoint(geo_t[0] + (geo_t[1]*x_size), geo_t[3]+ (geo_t[5]*y_size))
    mem_drv = gdal.GetDriverByName(file_format)
    dest = mem_drv.Create(output_file_name, int((lrx-ulx)/pixel_spacing), int((uly - lry)/pixel_spacing), 1, gdal.GDT_Float32)
    new_geo = ([ulx, pixel_spacing, geo_t[2], uly, geo_t[4], -pixel_spacing])
    dest.SetGeoTransform(new_geo)
    dest.SetProjection(wgs84.ExportToWkt())
    gdal.ReprojectImage(g, dest, modis.ExportToWkt(), wgs84.ExportToWkt(), gdal.GRA_Bilinear)
    print "reprojected" 
開發者ID:Kirubaharan,項目名稱:hydrology,代碼行數:31,代碼來源:modis_tg_halli.py

示例15: process_modis

# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import Open [as 別名]
def process_modis(input_folder, output_folder, scale_factor=0.1, null_value=32760, file_extension='*.tif'):
    files_list = os.listdir(input_folder)
    for item in files_list:
        if fnmatch.fnmatch(item, file_extension):
            in_raster = input_folder + '/' + item
            in_raster = gdal.Open(in_raster, GA_ReadOnly)
            out_raster = output_folder + '/' + 'proc_' + item
            band1 = in_raster.GetRasterBand(1)
            in_array = BandReadAsArray(band1)
            in_array[in_array > null_value] = np.nan
            data_out = in_array * scale_factor
            gdalnumeric.SaveArray(data_out, filename=out_raster, format='GTiff', prototype=in_raster) 
開發者ID:Kirubaharan,項目名稱:hydrology,代碼行數:14,代碼來源:modis_tg_halli.py


注:本文中的ogr.Open方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。