国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python GDAL 經(jīng)緯度轉(zhuǎn)像素坐標(biāo)(包括投影坐標(biāo))

這篇具有很好參考價(jià)值的文章主要介紹了python GDAL 經(jīng)緯度轉(zhuǎn)像素坐標(biāo)(包括投影坐標(biāo))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

# -*- encoding: utf-8 -*-

from osgeo import gdal
from osgeo import osr
import numpy as np

def getSRSPair(dataset):
    '''
    獲得給定數(shù)據(jù)的投影參考系和地理參考系
    :param dataset: GDAL地理數(shù)據(jù)
    :return: 投影參考系和地理參考系
    '''
    prosrs = osr.SpatialReference()
    prosrs.ImportFromWkt(dataset.GetProjection())
    geosrs = prosrs.CloneGeogCS()
    return prosrs, geosrs

def geo2lonlat(dataset, x, y):
    '''
    將投影坐標(biāo)轉(zhuǎn)為經(jīng)緯度坐標(biāo)(具體的投影坐標(biāo)系由給定數(shù)據(jù)確定)
    :param dataset: GDAL地理數(shù)據(jù)
    :param x: 投影坐標(biāo)x
    :param y: 投影坐標(biāo)y
    :return: 投影坐標(biāo)(x, y)對(duì)應(yīng)的經(jīng)緯度坐標(biāo)(lon, lat)
    '''
    prosrs, geosrs = getSRSPair(dataset)
    ct = osr.CoordinateTransformation(prosrs, geosrs)
    coords = ct.TransformPoint(x, y)
    return coords[:2]


def lonlat2geo(dataset, lon, lat):
    '''
    將經(jīng)緯度坐標(biāo)轉(zhuǎn)為投影坐標(biāo)(具體的投影坐標(biāo)系由給定數(shù)據(jù)確定)
    :param dataset: GDAL地理數(shù)據(jù)
    :param lon: 地理坐標(biāo)lon經(jīng)度
    :param lat: 地理坐標(biāo)lat緯度
    :return: 經(jīng)緯度坐標(biāo)(lon, lat)對(duì)應(yīng)的投影坐標(biāo)
    '''
    prosrs, geosrs = getSRSPair(dataset)
    ct = osr.CoordinateTransformation(geosrs, prosrs)
    coords = ct.TransformPoint(lon, lat)
    return coords[:2]

def imagexy2geo(dataset, row, col):
    '''
    根據(jù)GDAL的六參數(shù)模型將影像圖上坐標(biāo)(行列號(hào))轉(zhuǎn)為投影坐標(biāo)或地理坐標(biāo)(根據(jù)具體數(shù)據(jù)的坐標(biāo)系統(tǒng)轉(zhuǎn)換)
    :param dataset: GDAL地理數(shù)據(jù)
    :param row: 像素的行號(hào)
    :param col: 像素的列號(hào)
    :return: 行列號(hào)(row, col)對(duì)應(yīng)的投影坐標(biāo)或地理坐標(biāo)(x, y)
    '''
    trans = dataset.GetGeoTransform()
    px = trans[0] + col * trans[1] + row * trans[2]
    py = trans[3] + col * trans[4] + row * trans[5]
    return px, py


def geo2imagexy(dataset, x, y):
    '''
    根據(jù)GDAL的六 參數(shù)模型將給定的投影或地理坐標(biāo)轉(zhuǎn)為影像圖上坐標(biāo)(行列號(hào))
    :param dataset: GDAL地理數(shù)據(jù)
    :param x: 投影或地理坐標(biāo)x
    :param y: 投影或地理坐標(biāo)y
    :return: 影坐標(biāo)或地理坐標(biāo)(x, y)對(duì)應(yīng)的影像圖上行列號(hào)(row, col)
    '''
    trans = dataset.GetGeoTransform()
    a = np.array([[trans[1], trans[2]], [trans[4], trans[5]]])
    b = np.array([x - trans[0], y - trans[3]])
    return np.linalg.solve(a, b)  # 使用numpy的linalg.solve進(jìn)行二元一次方程的求解


if __name__ == '__main__':
    gdal.AllRegister()
    dataset = gdal.Open(r"F:\2016\Data\Great Khingan\DEM\Projection\strm_6102_UTM.tif")
    print('數(shù)據(jù)投影:')
    print(dataset.GetProjection())
    print('數(shù)據(jù)的大小(行,列):')
    print('(%s %s)' % (dataset.RasterYSize, dataset.RasterXSize))

    x = 464201
    y = 5818760
    lon = 122.47242
    lat = 52.51778
    row = 2399
    col = 3751

    print('投影坐標(biāo) -> 經(jīng)緯度:')
    coords = geo2lonlat(dataset, x, y)
    print('(%s, %s)->(%s, %s)' % (x, y, coords[0], coords[1]))
    print('經(jīng)緯度 -> 投影坐標(biāo):')
    coords = lonlat2geo(dataset, lon, lat)
    print('(%s, %s)->(%s, %s)' % (lon, lat, coords[0], coords[1]))

    print('像素坐標(biāo) -> 投影坐標(biāo):')
    coords = imagexy2geo(dataset, row, col)
    print('(%s, %s)->(%s, %s)' % (row, col, coords[0], coords[1]))
    print('投影坐標(biāo) -> 像素坐標(biāo):')
    coords = geo2imagexy(dataset, x, y)
    print('(%s, %s)->(%s, %s)' % (x, y, coords[0], coords[1]))

?文章來源地址http://www.zghlxwxcb.cn/news/detail-774411.html

到了這里,關(guān)于python GDAL 經(jīng)緯度轉(zhuǎn)像素坐標(biāo)(包括投影坐標(biāo))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 經(jīng)緯度轉(zhuǎn)換為UTM坐標(biāo)

    UTM(通用橫向墨卡托投影): 是一種以米為單位的坐標(biāo)系統(tǒng),用于地圖和GPS導(dǎo)航。將地球劃分為60個(gè)縱向的區(qū)域。每個(gè)區(qū)域?qū)?度,從赤道開始往南北兩級(jí)方向劃分。每個(gè)區(qū)域都有一個(gè)特定的字母。 將經(jīng)緯度值轉(zhuǎn)化為弧度值 根據(jù)經(jīng)緯度計(jì)算所在的UTM區(qū)域 計(jì)算UTM帶號(hào),即 zone

    2024年02月10日
    瀏覽(18)
  • 【Unity】坐標(biāo)轉(zhuǎn)換經(jīng)緯度方法(應(yīng)用篇)

    【Unity】坐標(biāo)轉(zhuǎn)換經(jīng)緯度方法(應(yīng)用篇)

    解決地圖中經(jīng)緯度坐標(biāo)轉(zhuǎn)換與unity坐標(biāo)互轉(zhuǎn)的問題。使用線性變換的方法,理論上可以解決小范圍內(nèi)所有坐標(biāo)轉(zhuǎn)換的問題。 之前有寫過[Unity]坐標(biāo)轉(zhuǎn)換經(jīng)緯度方法(原理篇),在實(shí)際使用中,由于步驟比較繁瑣,基于之前的方法,詳細(xì)說明使用方法。 案例資源下載地址 綁定腳本

    2024年02月10日
    瀏覽(30)
  • Java根據(jù)坐標(biāo)經(jīng)緯度計(jì)算兩點(diǎn)距離(5種方法)、校驗(yàn)經(jīng)緯度是否在圓/多邊形區(qū)域內(nèi)的算法推薦

    Java根據(jù)坐標(biāo)經(jīng)緯度計(jì)算兩點(diǎn)距離(5種方法)、校驗(yàn)經(jīng)緯度是否在圓/多邊形區(qū)域內(nèi)的算法推薦

    目錄 前言 一、根據(jù)坐標(biāo)經(jīng)緯度計(jì)算兩點(diǎn)距離(5種方法) 1.方法一 2.方法二 3.方法三 4.方法四 5.方法五 5.1 POM引入第三方依賴 5.2 代碼 6.測(cè)試結(jié)果對(duì)比 二、校驗(yàn)經(jīng)緯度是否在制定區(qū)域內(nèi) 1.判斷一個(gè)坐標(biāo)是否在圓形區(qū)域內(nèi) 2.判斷一個(gè)坐標(biāo)是否在一個(gè)多邊形區(qū)域內(nèi) 3.結(jié)果 總結(jié) ??

    2024年02月10日
    瀏覽(28)
  • 空間直角坐標(biāo)系(XYZ)轉(zhuǎn)經(jīng)緯度(BLH)

    空間直角坐標(biāo)系(XYZ)轉(zhuǎn)經(jīng)緯度(BLH)

    本章首先介紹空間直角坐標(biāo)系與大地坐標(biāo)系,然后列出XYZ轉(zhuǎn)換BLH的公式,最后基于C語言完成該部分代碼設(shè)計(jì)。 ? 參考書籍: 董大男,陳俊平,王解先等,GNSS高精度定位原理,科學(xué)出版社 黃丁發(fā),熊永良,周樂韜等,GPS衛(wèi)星導(dǎo)航定位技術(shù)與方法,科學(xué)出版社。 ? 空間直角坐

    2023年04月15日
    瀏覽(28)
  • Unity解決:GIS(GPS的經(jīng)緯度坐標(biāo))定位系統(tǒng)坐標(biāo)轉(zhuǎn)unity坐標(biāo)(世界坐標(biāo))

    Unity解決:GIS(GPS的經(jīng)緯度坐標(biāo))定位系統(tǒng)坐標(biāo)轉(zhuǎn)unity坐標(biāo)(世界坐標(biāo))

    目錄 一、前言 二、功能實(shí)現(xiàn) 三、測(cè)試 四、備注 ?如果要實(shí)現(xiàn)該效果的demo,請(qǐng)聯(lián)系作者 最近項(xiàng)目中用到了第三方的定位系統(tǒng),有的是使用GPS定位、有的是使用UWB定位。第三方的定位系統(tǒng)把他們的定位信息通過網(wǎng)絡(luò)發(fā)送給Unity,在Unity內(nèi)實(shí)時(shí)顯示人/設(shè)備的移動(dòng)。因?yàn)榈谌娇?/p>

    2024年02月11日
    瀏覽(75)
  • Arcgis之Python的Arcpy的點(diǎn)線面對(duì)象的創(chuàng)建處理和通過pandas讀取txt中的經(jīng)緯度坐標(biāo)創(chuàng)建幾何對(duì)象

    Arcgis之Python的Arcpy的點(diǎn)線面對(duì)象的創(chuàng)建處理和通過pandas讀取txt中的經(jīng)緯度坐標(biāo)創(chuàng)建幾何對(duì)象

    前言 本節(jié)將介紹點(diǎn)線面對(duì)象的創(chuàng)建和處理。創(chuàng)建 點(diǎn) 對(duì)象有三個(gè)類,分別是 Point 、 Multipoint 、 PointGeometry ,創(chuàng)建 線 對(duì)象的類為 Polyline ,創(chuàng)建 面 對(duì)象的類為 Polygon 。 一、點(diǎn)對(duì)象的創(chuàng)建——Point 點(diǎn)對(duì)象經(jīng)常與光標(biāo)配合使用。點(diǎn)要素將返回單個(gè)點(diǎn)對(duì)象而不是點(diǎn)對(duì)象數(shù)組。而其他

    2024年02月12日
    瀏覽(42)
  • Unity中實(shí)現(xiàn)世界坐標(biāo)到GPS經(jīng)緯度的轉(zhuǎn)換解決方案

    在Unity3D中,將世界坐標(biāo)轉(zhuǎn)換為GPS經(jīng)緯度是一個(gè)常見的需求,特別是在開發(fā)基于地理位置的應(yīng)用程序時(shí)。本文將提供一種詳細(xì)的解決方案,包括相應(yīng)的源代碼,以幫助您實(shí)現(xiàn)這一轉(zhuǎn)換。 步驟1:獲取參考點(diǎn)的GPS經(jīng)緯度 首先,您需要獲取一個(gè)已知GPS經(jīng)緯度坐標(biāo)和對(duì)應(yīng)的Unity世界坐

    2024年02月03日
    瀏覽(26)
  • Java:計(jì)算地球上兩個(gè)經(jīng)緯度坐標(biāo)之間的距離-geodesy和geotools實(shí)現(xiàn)

    兩個(gè)點(diǎn)的經(jīng)緯度 latitude緯度 longitude經(jīng)度 地點(diǎn) 22.678611 113.805695 深圳同泰萬怡酒店 22.716473 113.826391 深圳寶安中天美景華美達(dá)酒店 各種計(jì)算方式 計(jì)算方式 距離 Elasticsearch:7.12.1 4715.088099751495 自定義公式計(jì)算 4720.367727793572 org.gavaghan/geodesy 4715.085736444097 org.geotools/gt-referencing 4701.260

    2024年02月02日
    瀏覽(27)
  • 手機(jī)上獲取地圖某個(gè)定位的經(jīng)緯度坐標(biāo)的方法 - 查詢經(jīng)度、緯度 - 百度地圖app、高德地圖app、Earth地球

    手機(jī)上獲取地圖某個(gè)定位的經(jīng)緯度坐標(biāo)的方法 - 查詢經(jīng)度、緯度 - 百度地圖app、高德地圖app、Earth地球

    拖動(dòng)、定位、獲得左上角的 東經(jīng)、北緯等信息,就是經(jīng)度、緯度了。 手機(jī)安裝app 蘋果: Earth-地球 安卓、鴻蒙: Earth地球 ? 打開軟件,拖動(dòng)地圖 ? 左上角的坐標(biāo)就是 經(jīng)度、緯度 ? ? 百度地圖app、高德地圖app都無法獲取坐標(biāo)、經(jīng)度、緯度 ? 手機(jī)也可以用 網(wǎng)頁版坐標(biāo)拾取系

    2024年02月09日
    瀏覽(24)
  • 用戶Ip地址和百度地圖api接口獲取用戶地理位置(經(jīng)緯度坐標(biāo),城市)

    ?php //獲取用戶ip(外網(wǎng)ip 服務(wù)器上可以獲取用戶外網(wǎng)Ip 本機(jī)ip地址只能獲取127.0.0.1) function ? getip(){ ???? if (! empty ( $_SERVER [ \\\"HTTP_CLIENT_IP\\\" ])){ ???? $cip ? =? $_SERVER [ \\\"HTTP_CLIENT_IP\\\" ]; ???? } ???? else ? if (! empty ( $_SERVER [ \\\"HTTP_X_FORWARDED_FOR\\\" ])){ ???? $cip ? =? $_SERVER [ \\\"HTTP_X_FOR

    2024年02月11日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包