日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2025/3/19 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python使用proj将GPS经纬度数据转换为utm坐标系(真实的地理位置坐标系,以米为单位),然后可以进行轨迹显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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 是要轉換的目標坐標系IDtf = Transformer.from_crs(4326, 32750)# 取一個經緯度進行轉換,并設為基準值,緯度是36.649這個, 經度是117.022utm_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()===================================== 備用 ================================ # 使用utm包,GPS轉UTM import utm [east, north, zone_number, zone_letter] = utm.from_latlon(緯度, 經度) [緯度, 經度] = utm.to_latlon(east, north, zone_number, zone_letter)================================ utm包將GPS轉utm并顯示 ============================= import utm import json from matplotlib.pyplot import *def gps2utm(gps_data):base = utm.from_latlon(gps_data['lat'][0], gps_data['lon'][0])x_data, y_data = [0.0], [0.0]for i in range(1, len(gps_data['lat'])):tmp = utm.from_latlon(gps_data['lat'][i], gps_data['lon'][i])x_data.append(tmp[0] - base[0])y_data.append(tmp[1] - base[1])return x_data, y_dataif __name__ == '__main__':gps_file = open('gps.json')gps_data = gps_file.read()gps_data = json.loads(gps_data)x_list, y_list = gps2utm(gps_data)figure()plot(x_list, y_list, 'b', linewidth=2.0)show()

說明:Transformer.from_crs函數涉及兩個坐標系ID,第一個ID 4326是代表G84坐標系(ID查找可去GPS坐標系編碼系統),一般是這個;第二個ID 32750是代表G84所對應的UTM坐標系ID(可去UTM坐標系編碼系統),如下圖。

?

注意:這里涉及一個時區,例如上圖三個坐標系都是WGS_1984_UTM,只是后面的時區Zone不同,那這個zone怎么確定呢?可去經緯度轉UTM的在線轉換及定位網站測試一下經緯度所在地點,以及轉換后的UTM信息,如下圖,可以得到時區是50S。

?

2. 運行效果及軌跡展示

總結

以上是生活随笔為你收集整理的Python使用proj将GPS经纬度数据转换为utm坐标系(真实的地理位置坐标系,以米为单位),然后可以进行轨迹显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。