Python使用proj将GPS经纬度数据转换为utm坐标系(真实的地理位置坐标系,以米为单位),然后可以进行轨迹显示

本文介绍了如何使用Python的pyproj库将GPS的经纬度数据转换为UTM坐标,以便进行地理位置轨迹的显示。通过Transformer.from_crs方法,结合GPS坐标系ID 4326和目标UTM坐标系ID,例如32750,确定时区后进行转换。运行效果展示了转换后的轨迹信息。
摘要由CSDN通过智能技术生成

1. 代码如下

from pyproj import Transformer
import pyproj
import json
from matplotlib.pyplot import *



if __name__ == '__main__':
    # 使用json包读取json文件得到GPS经纬度数据
	gps_file = open('gps.json')
	gps_data = gps_file.read()
	gps_data = json.loads(gps_data)



    # 使用pyproj包的Transformer类初始化GPS转utm的类
    # 其中第一个参数 4326 是源数据的坐标系ID,文章下文中会再进行说明
    # 第二个参数 32750 是要转换的目标坐标系ID
	tf = Transformer.from_crs(4326, 32750)

    # 取一个经纬度进行转换,并设为基准值,纬度是36.649这个, 经度是117.022
	utm_x, utm_y = tf.transform(36.64918343, 117.02233187)
	print(utm_x, utm_y)
	



	# 转换其它经纬度坐标并计算差值
	x_base = [0.0]
	y_base = [0.0]
	for i in range(1, len(gps_data['wei'])):
		tmp_x, tmp_y = tf.transform(gps_data['wei'][i], gps_data['jing'][i])
		x_base.append(tmp_x - utm_x)
		y_base.append(tmp_y - utm_y)




    # 使用matplotlib包的pyplot进行显示
    figure()
	plot(x_base, y_base, 'b', linewidth=2.0)
	show()
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值