关于用PYTHON的GDAL库处理地理数据的问题

关于用PYTHON的GDAL库处理地理数据的问题,第1张

一般情况下,直接调用就可以了

但若你的参数是程序自动生成的,就有必要用apply了

def test(a,b):

print(a,b)

x=(1,2) #这个x由程序生成

apply(test,x) #x是可变参数,相当于调用test(1,2),你若写成test(x)就是错的

1、通过GDAL读取经纬度(度分秒),转换成小数形式。

2、使用GDAL的CoordinateTransformation方法将经纬度转换成投影坐标,再转换成行列坐标,最后读取像元值。就可以获取单位了。

//波段循环读取每波段到波段表m_bandList(vector)容器里,前提是你已经有了数据集pDataset

for(int i=0;i<m_nBands;i++)

{

GDALRasterBand pBand = pDataset->GetRasterBand(i+1);

m_bandListinsert(m_bandListend(),pBand);

}

//从波段表里取j波段

GDALRasterBand pband = m_bandList[j] ;

//读取stWstH大小的图像数据到pBuf里(大小是stWstH),起始点是图像左上角0,0

//m_datatype是数据类型,如单通道8位是GDT_Byte什么的

pband->RasterIO(GF_Read,0,0,stW,stH,(void )pBuf,stW,stH,m_datatype,0,0);

//这样数据都在pBUf里了,接下来你想访问哪个像素值就看你了

//比如先行后列读取(x,y)像素值到到pixel

unsigned char pixel=pBuf[ystW+x];

以上就是关于关于用PYTHON的GDAL库处理地理数据的问题全部的内容,包括:关于用PYTHON的GDAL库处理地理数据的问题、gdal导入地图怎么获取单位、gdal读多波段数据的像元,也就是每个波段读一个值,得到一个象元,该怎么处理呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9722610.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存