最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python逐像素獲取柵格經(jīng)緯度分別保存在兩個(gè)矩陣中(代碼收藏)

 更新時(shí)間:2024年01月23日 09:54:16   作者:悟矣言兮 科研萌新  
這篇文章主要介紹了python逐像素獲取柵格經(jīng)緯度分別保存在兩個(gè)矩陣中的實(shí)現(xiàn)示例,建議收藏代碼總會(huì)用到,有需要的朋友可以借鑒參考下,希望能夠有所幫助

python逐像素獲取柵格經(jīng)緯度

需求目的

使用python逐像素獲取柵格經(jīng)緯度,并將經(jīng)度和緯度分別保存為矩陣,兩個(gè)矩陣像素分別記錄柵格對(duì)應(yīng)像素位置的經(jīng)度和緯度。

需求分析

如果僅需要map產(chǎn)生迭代器,速度最快,但是將迭代器轉(zhuǎn)換為list,array等過(guò)程速度很慢,沒(méi)有for循環(huán)直接產(chǎn)生列表矩陣速度快。

實(shí)現(xiàn)示例

# -*- coding: utf-8 -*-
"""
任何問(wèn)題聯(lián)系郵箱:
chinesevoice@163.com
"""
from osgeo import gdal
import numpy as np
from itertools import product
from functools import partial
# import multiprocessing as mp
import time
gdal.AllRegister
dataset = gdal.Open('218-2020-07-01-2020-10-01.tif',gdal.GA_ReadOnly)
trans = dataset.GetGeoTransform()
proj = dataset.GetProjection()
rows = dataset.RasterYSize
cols = dataset.RasterXSize
print('坐標(biāo)六參數(shù):',trans)
print('投影參數(shù):',proj)
print('行列數(shù):',rows,cols)
#==========第一種方法===========
#行列轉(zhuǎn)經(jīng)緯度
def rowcol2lonlat(extend,xsize,ysize):
    #xsize表示列
    lon = extend[0] + xsize * extend[1] + ysize * extend[2] + extend[1]/2
    lat = extend[3] + xsize * extend[4] + ysize * extend[5] + extend[5]/2
    return lon,lat
#分別獲取兩個(gè)矩陣
def get_lon_lat_array(row,col,tran):
    lon_array = np.repeat(np.nan, row*col).reshape(row,col)
    lat_array = np.repeat(np.nan, row*col).reshape(row,col)
    for r in range(0,row):
        for c in range(0,col):
            lon_array[r,c],lat_array[r,c] = rowcol2lonlat(tran,c,r)
    return lon_array,lat_array
ts = time.time()
lon_array,lat_array = get_lon_lat_array(rows,cols,trans)
# print(lon_array.shape,lat_array.shape)
# print(lon_array.view())
te = time.time()
print('第一種方法用時(shí):',te-ts)
#==========第二種方法===========
def get_lon_lat_array_2(row,col,tran):
    rowlst = np.arange(0, row,step = 1)
    collst = np.arange(0, col,step = 1)
    #rc_comb = product(rowlst,collst)
    rc2lon = lambda rowcol,tran:tran[0] + rowcol[1] * tran[1] + rowcol[0] * tran[2] + tran[1]/2
    rc2lat = lambda rowcol,tran:tran[3] + rowcol[1] * tran[4] + rowcol[0] * tran[5] + tran[5]/2
    # lon_array = np.array(list(map(partial(rc2lon,tran = trans),product(rowlst,collst)))).reshape(row,col)
    # lat_array = np.array(list(map(partial(rc2lat,tran = trans),product(rowlst,collst)))).reshape(row,col)
    # lon_array = np.fromiter(map(partial(rc2lon,tran = trans),product(rowlst,collst)),dtype=np.float64).reshape(row,col)
    # lat_array = np.fromiter(map(partial(rc2lat,tran = trans),product(rowlst,collst)),dtype=np.float64).reshape(row,col)
    lon_array = [*map(partial(rc2lon,tran = trans),product(rowlst,collst))]
    lat_array = [*map(partial(rc2lat,tran = trans),product(rowlst,collst))]
    return lon_array,lat_array
ts2 = time.time()
lon_array2,lat_array2 = get_lon_lat_array_2(rows,cols,trans)
# print(lon_array2.shape,lat_array2.shape)
# print(lon_array2.view())
te2 = time.time()
print('第二種方法用時(shí):',te2-ts2)

以上就是python逐像素獲取柵格經(jīng)緯度分別保存在兩個(gè)矩陣中(代碼收藏)的詳細(xì)內(nèi)容,更多關(guān)于python柵格經(jīng)緯度獲取保存的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • NumPy 通用函數(shù)(ufunc)的實(shí)現(xiàn)

    NumPy 通用函數(shù)(ufunc)的實(shí)現(xiàn)

    本文主要介紹了NumPy 通用函數(shù)(ufunc)的實(shí)現(xiàn),包括數(shù)學(xué)運(yùn)算類(lèi)、統(tǒng)計(jì)與聚合類(lèi)和數(shù)組操作類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • 在python的類(lèi)中動(dòng)態(tài)添加屬性與生成對(duì)象

    在python的類(lèi)中動(dòng)態(tài)添加屬性與生成對(duì)象

    這篇文章給大家介紹了如何在python的類(lèi)中動(dòng)態(tài)添加屬性和生成對(duì)象,文中通過(guò)幾個(gè)方面來(lái)進(jìn)行介紹,對(duì)這感興趣的朋友們可以學(xué)習(xí)學(xué)習(xí)。
    2016-09-09
  • python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之最近鄰kNN分類(lèi)器

    python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之最近鄰kNN分類(lèi)器

    這篇文章主要介紹了python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之最近鄰kNN分類(lèi)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python中字典的相關(guān)操作介紹

    Python中字典的相關(guān)操作介紹

    大家好,本篇文章主要講的是Python中字典的相關(guān)操作介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02
  • python單例設(shè)計(jì)模式實(shí)現(xiàn)解析

    python單例設(shè)計(jì)模式實(shí)現(xiàn)解析

    這篇文章主要介紹了python單例設(shè)計(jì)模式實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java編程迭代地刪除文件夾及其下的所有文件實(shí)例

    Java編程迭代地刪除文件夾及其下的所有文件實(shí)例

    這篇文章主要介紹了Java編程迭代地刪除文件夾及其下的所有文件實(shí)例,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 基于PyTorch實(shí)現(xiàn)EdgeCNN的實(shí)戰(zhàn)教程

    基于PyTorch實(shí)現(xiàn)EdgeCNN的實(shí)戰(zhàn)教程

    本文我們將使用PyTorch來(lái)簡(jiǎn)易實(shí)現(xiàn)一個(gè)EdgeCNN,不使用PyG庫(kù),讓新手可以理解如何PyTorch來(lái)搭建一個(gè)簡(jiǎn)易的圖網(wǎng)絡(luò)實(shí)例demo,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • python常見(jiàn)的占位符總結(jié)及用法

    python常見(jiàn)的占位符總結(jié)及用法

    在本篇文章里小編給大家整理的是一篇關(guān)于python常見(jiàn)的占位符總結(jié)及用法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-07-07
  • Python中一個(gè)函數(shù)返回多個(gè)值的實(shí)現(xiàn)方法

    Python中一個(gè)函數(shù)返回多個(gè)值的實(shí)現(xiàn)方法

    在Python編程中,我們經(jīng)常遇到需要從一個(gè)函數(shù)中返回多個(gè)值的情況,雖然許多編程語(yǔ)言只允許函數(shù)返回單個(gè)值,但Python提供了多種優(yōu)雅的方式來(lái)解決這個(gè)問(wèn)題,本文將詳細(xì)介紹Python中函數(shù)返回多個(gè)值的各種實(shí)現(xiàn)方法,需要的朋友可以參考下
    2026-05-05
  • Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法

    Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法

    下面小編就為大家分享一篇Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

盘山县| 昔阳县| 维西| 焦作市| 郑州市| 东乌珠穆沁旗| 锦屏县| 深泽县| 郁南县| 尚义县| 鞍山市| 东乌珠穆沁旗| 谷城县| 海林市| 隆子县| 靖西县| 乐东| 永春县| 万山特区| 连城县| 德保县| 北碚区| 凤庆县| 河东区| 东丽区| 新竹县| 图木舒克市| 宕昌县| 军事| 水城县| 德阳市| 贵港市| 桐梓县| 都昌县| 梅河口市| 太谷县| 松滋市| 工布江达县| 淮南市| 运城市| 江西省|