# -*- coding: utf-8 -*-
from osgeo import gdal
import osr
import numpy as np
from matplotlib import pyplot as plt
from gdalconst import *
from matplotlib import cm
gdal.allregister()
filename = r"c:\users\y\desktop\12\astgtm2_n00e011\astgtm2_n00e011_num.tif"
data = gdal.open(filename, ga_readonly)
defconverttoutm
(dataset, dx, utmzone):
datum = 'wgs84'
oldref = osr.spatialreference() #初始化空間座標
# 從資料集中複製投影座標系
oldref.importfromwkt(dataset.getprojectionref())
newref = osr.spatialreference()
newref.setutm(abs(utmzone), utmzone > 0)
# 建立乙個座標轉換物件
transform = osr.coordinatetransformation(oldref, newref)
tvect = dataset.getgeotransform()
nx, ny = dataset.rasterxsize, dataset.rasterysize
#轉換左上角座標,x,y
(ulx, uly, ulz ) = transform.transformpoint(tvect[0], tvect[3])
#轉換左下角座標
(lrx, lry, lrz ) = transform.transformpoint(tvect[0] + tvect[1]*nx+ny*tvect[2],
tvect[3] + tvect[5]*ny+nx*tvect[4])
#分別是左上角x,每個畫素寬,旋轉,分別是左上角y,旋轉,畫素高
newtvect = (ulx, dx, tvect[2], uly, tvect[4], -dx)
return newtvect
nx, ny = data.rasterxsize, data.rasterysize
dx = 10
#格網間隔
utmzone = 10
#南半球為負,utm 帶號=(經度整數字/6)的整數部分+31(東經為正值,西經為負值)
gridnew = data.readasarray().astype(np.float)#所有點高程
(upper_left_x, x_size, x_rotation, upper_left_y, y_rotation, y_size) = converttoutm(data, dx, utmzone)
xllcenter = upper_left_x + dx/2
# 左下角畫素中心x座標(utm)
yllcenter = upper_left_y - (ny-1)*dx - dx/2
# 左下角畫素中心y座標
###yllcenter 之所以是,是此時座標係為笛卡爾,
##東西為x,南北朝上為y,左上角座標減去(ny-1)*dx可得左下角畫素座標,再減去0.5個格網,就得到左下角畫素的中心座標
#每個畫素的座標
xcoordinates = [x*dx + xllcenter for x in range(nx)]
ycoordinates = [y*dx + yllcenter for y in range(ny)]
#建立2d格網描述x,y
投影後的
python dll呼叫 python呼叫dll
在python中呼叫dll檔案中的介面比較簡單,例項 如下 如我們有乙個test.dll檔案,內部定義如下 extern c int stdcall test void p,int len return len 在python中我們可以用以下兩種方式載入 1.import ctypes dll ct...
GDAL 處理柵格資料
gdal 是柵格資料處理模組 ogr 是向量資料處理模組 gdal資料驅動,與ogr資料驅動類似,需要先建立某一型別的資料驅動,再建立響應的柵格資料集。一次性註冊所有的資料驅動,但是只能讀不能寫 gdal.allregister 單獨註冊某一型別的資料驅動,這樣的話可以讀也可以寫,可以新建資料集 d...
python關於GDAL配置
檢查電腦安裝python版本如下,win r輸入cmd開啟控制台 輸入python,即可檢視版本號 c users administrator python python 3.9.0 tags v3.9.0 9cf6752,oct 5 2020,15 34 40 msc v.1927 64 bit ...