python:根据一个点的经纬度确定其在某一图像上的像元位置

import numpy as np


# 根据经纬度和地理信息返回行列号
def lon_lat_to_row_col(lon, lat, geo_information):
    a = np.array([[geo_information[1], geo_information[2]], [geo_information[4], geo_information[5]]])
    b = np.array([lon - geo_information[0], lat - geo_information[3]])
    r = np.linalg.solve(a, b)  # 使用numpy的linalg.solve进行二元一次方程的求解
    # col = r[0]
    # row = r[1]
    # 上面注释掉的col和row是有小数点的,需要用整数,所以用int()向下取整。
    col = int(r[0])
    row = int(r[1])
    return col, row

已知某个基础图像和一个点的经纬度,确定该点在基础图像上的像元位置(行列号)。

读取基础图像的地理信息geo_information的方法,可见python:返回图像的经纬度范围,行列数和地理信息第6、7行,或如下图。

from osgeo import gdal


file = ''  # 这里设定文件的路径+文件名
dataset = gdal.Open(file)
geo_information = dataset.GetGeoTransform()

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值