欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Rasterio讀取柵格數(shù)據(jù)的實例講解

 更新時間:2019年11月26日 10:20:38   作者:TheOneGIS  
今天小編就為大家分享一篇使用Rasterio讀取柵格數(shù)據(jù)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Rasterio簡介

有沒有覺得用GDAL的Python綁定書寫的代碼很不Pythonic,強(qiáng)迫癥的你可能有些忍受不了。不過,沒關(guān)系,MapBox旗下的開源庫Rasterio幫我們解決了這個痛點。

Rasterio是基于GDAL庫二次封裝的更加符合Python風(fēng)格的主要用于空間柵格數(shù)據(jù)處理的Python庫。

Rasterio中柵格數(shù)據(jù)模型基本和GDAL類似,需要注意的是:

在Rasterio 1.0以后,對于GeoTransform的表示棄用了GDAL風(fēng)格的放射變換,而使用了Python放射變換的第三方庫affine庫的風(fēng)格。

對于放射變換

affine.Affine(a, b, c,
    d, e, f)

GDAL中對應(yīng)的參數(shù)順序是:(c, a, b, f, d, e)

采用新的放射變換模型的好處是,如果你需要計算某個行列號的地理坐標(biāo),直接使用行列號跟給放射變換對象相乘即可,完全符合數(shù)學(xué)上矩陣乘法的操作,更加直觀和方便。

柵格數(shù)據(jù)讀取代碼示例

下面的示例程序中演示了如何讀取一個GeoTIFF文件并獲取相關(guān)信息,需要注意的是:

1、rasterio使用rasterio.open()函數(shù)打開一個柵格文件

2、rasterio使用read()函數(shù)可以將數(shù)據(jù)集轉(zhuǎn)為numpy.ndarray,該函數(shù)如果不帶參數(shù),將把數(shù)據(jù)的所有波段做轉(zhuǎn)換(第一維是波段數(shù)),如果指定波段,則只取得指定波段對應(yīng)的數(shù)據(jù)(波段索引從1開始)

3、數(shù)據(jù)的很多元信息都是以數(shù)據(jù)集的屬性進(jìn)行表示的

import rasterio

with rasterio.open('example.tif') as ds:
 print('該柵格數(shù)據(jù)的基本數(shù)據(jù)集信息(這些信息都是以數(shù)據(jù)集屬性的形式表示的):')
 print(f'數(shù)據(jù)格式:{ds.driver}')
 print(f'波段數(shù)目:{ds.count}')
 print(f'影像寬度:{ds.width}')
 print(f'影像高度:{ds.height}')
 print(f'地理范圍:{ds.bounds}')
 print(f'反射變換參數(shù)(六參數(shù)模型):\n {ds.transform}')
 print(f'投影定義:{ds.crs}')
 # 獲取第一個波段數(shù)據(jù),跟GDAL一樣索引從1開始
 # 直接獲得numpy.ndarray類型的二維數(shù)組表示,如果read()函數(shù)不加參數(shù),則得到所有波段(第一個維度是波段)
 band1 = ds.read(1)
 print(f'第一波段的最大值:{band1.max()}')
 print(f'第一波段的最小值:{band1.min()}')
 print(f'第一波段的平均值:{band1.mean()}')
 # 根據(jù)地理坐標(biāo)得到行列號
 x, y = (ds.bounds.left + 300, ds.bounds.top - 300) # 距離左上角東300米,南300米的投影坐標(biāo)
 row, col = ds.index(x, y) # 對應(yīng)的行列號
 print(f'(投影坐標(biāo){x}, {y})對應(yīng)的行列號是({row}, {col})')
 # 根據(jù)行列號得到地理坐標(biāo)
 x, y = ds.xy(row, col) # 中心點的坐標(biāo)
 print(f'行列號({row}, {col})對應(yīng)的中心投影坐標(biāo)是({x}, {y})')
 # 那么如何得到對應(yīng)點左上角的信息
 x, y = (row, col) * ds.transform
 print(f'行列號({row}, {col})對應(yīng)的左上角投影坐標(biāo)是({x}, {y})')

輸出如下:

該柵格數(shù)據(jù)的基本數(shù)據(jù)集信息(這些信息都是以數(shù)據(jù)集屬性的形式表示的):
數(shù)據(jù)格式:GTiff
波段數(shù)目:3
影像寬度:4800
影像高度:4800
地理范圍:BoundingBox(left=725385.0, bottom=2648415.0, right=869385.0, top=2792415.0)
反射變換參數(shù)(六參數(shù)模型):
 | 30.00, 0.00, 725385.00|
| 0.00,-30.00, 2792415.00|
| 0.00, 0.00, 1.00|
投影定義:CRS({'init': 'epsg:32649'})
第一波段的最大值:5459
第一波段的最小值:-313
第一波段的平均值:489.80300625
(投影坐標(biāo)725685.0, 2792115.0)對應(yīng)的行列號是(10, 10)
行列號(10, 10)對應(yīng)的中心投影坐標(biāo)是(725700.0, 2792100.0)
行列號(10, 10)對應(yīng)的左上角投影坐標(biāo)是(725685.0, 2792115.0)

以上這篇使用Rasterio讀取柵格數(shù)據(jù)的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Django中實現(xiàn)添加user到group并查看

    在Django中實現(xiàn)添加user到group并查看

    今天小編就為大家分享一篇在Django中實現(xiàn)添加user到group并查看,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python 猴子補(bǔ)丁(monkey patch)

    python 猴子補(bǔ)丁(monkey patch)

    這篇文章主要介紹了python 猴子補(bǔ)丁(monkey patch),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 基于隨機(jī)梯度下降的矩陣分解推薦算法(python)

    基于隨機(jī)梯度下降的矩陣分解推薦算法(python)

    這篇文章主要為大家詳細(xì)介紹了基于隨機(jī)梯度下降的矩陣分解推薦算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python中subprocess實例用法及知識點詳解

    python中subprocess實例用法及知識點詳解

    在本篇文章里小編給大家分享的是關(guān)于python中subprocess實例用法及知識點詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2021-10-10
  • Django 404、500頁面全局配置知識點詳解

    Django 404、500頁面全局配置知識點詳解

    在本篇文章里小編給大家整理了關(guān)于Django 404、500頁面全局配置知識點詳解,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • 淺談Python traceback的優(yōu)雅處理

    淺談Python traceback的優(yōu)雅處理

    這篇文章主要介紹了淺談Python traceback的優(yōu)雅處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • python range()函數(shù)取反序遍歷sequence的方法

    python range()函數(shù)取反序遍歷sequence的方法

    今天小編就為大家分享一篇python range()函數(shù)取反序遍歷sequence的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python實現(xiàn)從PPT中導(dǎo)出高分辨率圖片

    Python實現(xiàn)從PPT中導(dǎo)出高分辨率圖片

    這篇文章主要為大家分享了一個實用腳本——如何利用Python實現(xiàn)從PPT中導(dǎo)出高分辨率(高 dpi)的圖片,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-05-05
  • pyinstaller打包路徑的總結(jié)

    pyinstaller打包路徑的總結(jié)

    本文主要介紹了pyinstaller打包路徑的總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • python調(diào)用并鏈接MATLAB腳本詳解

    python調(diào)用并鏈接MATLAB腳本詳解

    這篇文章主要介紹了python調(diào)用并鏈接MATLAB腳本詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07

最新評論