Python使用proj将GPS经纬度数据转换为utm坐标系(真实的地理位置坐标系,以米为单位),然后可以进行轨迹显示
生活随笔
收集整理的這篇文章主要介紹了
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坐标系(真实的地理位置坐标系,以米为单位),然后可以进行轨迹显示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3使用serial以及pys
- 下一篇: Redis集群读写分离架构搭建以及主从数