天天看點

基于arcgis的遙感影像标簽制作(邊緣檢測)

文章目錄

  • ​​1. ArcCatalog建立shp檔案​​
  • ​​2. ArcMap進行點線面的勾畫​​
  • ​​3. 矢量栅格化​​

1. ArcCatalog建立shp檔案

  • 先在目标檔案夾中利用arccatalog建立矢量檔案,如果是分割任務,就建立面矢量。
    基于arcgis的遙感影像标簽制作(邊緣檢測)
  • 選擇原始影像對應的坐标系
    基于arcgis的遙感影像标簽制作(邊緣檢測)

2. ArcMap進行點線面的勾畫

  • 将步驟一中生成的矢量檔案利用arcmap打開,進行點線面的勾描
  • 基于arcgis的遙感影像标簽制作(邊緣檢測)
    基于arcgis的遙感影像标簽制作(邊緣檢測)
    基于arcgis的遙感影像标簽制作(邊緣檢測)
  • 遇到需要在面狀矢量打洞的情況

    參考​​​javascript:void(0)​​

3. 矢量栅格化

def vector2raster():
    inputfilePath = '0000000001_V1/0000000001_V1_LINE.shp'
    outputfile = 'raster_clip.tif'
    templatefile = '0000000001_V1/0000000001.tif'
    data = gdal.Open(templatefile, gdalconst.GA_ReadOnly)
    x_res = data.RasterXSize
    y_res = data.RasterYSize
    vector = ogr.Open(inputfilePath)
    layer = vector.GetLayer()
    targetDataset = gdal.GetDriverByName('GTiff').Create(outputfile, x_res, y_res, 3, gdal.GDT_Byte)
    targetDataset.SetGeoTransform(data.GetGeoTransform())
    targetDataset.SetProjection(data.GetProjection())
    band = targetDataset.GetRasterBand(1)
    NoData_value = -999
    band.SetNoDataValue(NoData_value)
    band.FlushCache()
    gdal.RasterizeLayer(targetDataset, [1, 2, 3], layer, )      

繼續閱讀