新手上路,把我在學習pythongis中的過程記錄,包括出現的問題以及解決辦法記錄下來,從而幫助更多的新手。我比較喜歡在geany上操作,以下** 也是在geany上操作的。
from osgeo import gdal
#匯入gdal包,這步驟也可驗證你gdal包是否裝好,環境設定是否正確。
import numpy as np
#匯入numpy包,讀取柵格資料的數值,陣列矩陣運算
#開啟檔案
#1 在cmd中可以cd到資料的資料夾,然後直接讀取,cd的方法
#2 在geany中我是先把資料路徑賦給fn,如下操作:
fn = r'd:\study\pythongis\chapter_02\***.tif'
dataset=gdal.open(fn)
#1 2方法選1種即可
#讀取柵格矩陣的列、行、波段數(按順序對應**)
im_width=dataset.rasterxsize
im_height=dataset.rasterysize
im_bands=dataset.rastercount
#仿射矩陣,左上角畫素的大地座標和畫素解析度
im_geotrans=dataset.getgeotransform(
)#地圖投影資訊,字串表示
im_proj=dataset.getprojection(
)###這裡我就出現了一些問題,error1-n:can't find proj.
###我在確保自己的gdal包安裝正確且無丟失情況下,通過設定使用者變數環境解決了。
###link:[關於gdal執行時出現cannot find proj.db的解決辦法]
)###大家可以嘗試,若不懂該方法可以和我**。
#讀取波段,引數為波段的索引號,波段索引號從1開始
band=dataset.getrasterband(1)
#用readasarray(, , , ),讀出從(xoff,yoff)開始,大小為(xsize,ysize)的矩陣。
im_datas=band.readasarray(0,
0,im_width,im_height)
#獲取某個範圍內(行列)的像元值;如1~5行和5~11列;(濾波計算中常用的)
data=im_datas[1:
6,5:
12]print
(data)
#輸出結果:[[
927,
934,
936,
938,
940,
946],[
935,
950,
955,
959,
961,
965],[
936,
950,
955,
959,
961,
965],[
936,
959,
959,
961,
961,
966],[
931,
958,
965,
962,
957,
950]
]del dataset#釋放dataset,否則dataset會一直被占用,在arcgis或envi中開啟該影象時顯示檔案已被占用
完成!
接下來會分享寫入柵格資料的經驗,然後是向量資料的讀寫!
C 讀取 讀取XML
讀取xml到listbox combobox 1,知識需求 1 訪問xml檔案的兩個基本模型 一,dom模型 使用dom的好處在於它允許編輯和更新xml文件,可以隨機訪問文件中的資料,可以使用xpath查詢,但是,dom的缺點在於它需要一次性的載入整個文件到記憶體中,對於大型的文件,這會造成資源問題...
讀取excel PySpark讀取Excel
日常工作中,客戶通過excel提供資料是一種很常見的方式,既然碰到了就得解決。我常用的辦法就是pandas讀取,並儲存為parquet,如果只讀取乙個sheet,import pandas as pddf pd.read excel excel1.xlsx df.to parquet excel e...
中讀取資料 讀取資料
對資料庫有一定了解的同學應該都知道資料表這個東西。資料表一般是以行列來儲存和展示資料的。每一列就是乙個資料字段,代表每一行資料的屬性。在python裡面也有類似表概念的東西,叫做dataframe。dataframe是我們資料分析和風控建模中很重要乙個元素,後續的很多資料操作都要以此為基礎。我們的資...