GPS经纬度及时间格式化转化教程

版权申诉
0 下载量 8 浏览量 更新于2024-10-08 收藏 12KB RAR 举报
资源摘要信息:"GeshiHua压缩包中包含有关GPS经纬度转换和时间处理的相关技术文档和工具。本文将详细解读GPS数据处理的基本概念、经纬度转换方法,以及时间标准化的过程,特别关注如何将标准时间转换为北京时间。" 知识点1:GPS数据基础 GPS(全球定位系统)是基于人造卫星的全球导航系统,能提供精确的时间和地理位置信息。GPS设备能够接收来自至少四颗在地球轨道上的GPS卫星发出的信号,并计算出接收器的精确位置和当前时间。 知识点2:经纬度格式化 经纬度是表示地球表面上点位置的一种方式,分别用经度(Longitude)和纬度(Latitude)来描述。经度表示东西位置,纬度表示南北位置。经度的范围是从0度至180度东经或西经,纬度的范围是从0度至90度北纬或南纬。GPS接收器获取的经纬度数据通常为十进制形式,有时需要转换成度、分、秒(DMS)格式以满足某些应用的需要。 知识点3:GPS时间格式化 GPS系统中的时间是基于UTC(协调世界时)的,但是它使用GPS时间,该时间从特定日期开始连续计数,不考虑闰秒。GPS时间格式化通常涉及将GPS时间戳转换为更易读的日期和时间格式,并考虑到本地时区和夏令时等因素。 知识点4:时间标准化转换 时间标准化转换通常是指将一个时区的时间转换为另一个时区的时间。在这个案例中,将GPS时间转换为北京时间(中国标准时间,CST)。北京时间比UTC时间早8小时,因此在转换时通常需要将UTC时间加上8小时。 知识点5:北京时间的含义 北京时间并非基于北京所在的地理位置(东经116度),而是基于东经120度,这是中国统一使用的时间标准。中国大陆、香港、澳门和台湾都使用北京时间。 知识点6:编程实现经纬度和时间转换 编程实现经纬度和时间转换需要一定的算法支持,如: - 对于经纬度转换,可以使用Haversine公式计算两点间的距离,或者使用Map Projection转换坐标。 - 对于时间转换,需要了解时区信息,并对时间进行相应的加减操作。 知识点7:实用工具或代码库的使用 在处理GPS数据和时间转换时,可利用各种编程语言的库和工具来简化工作,如Python中的pytz库用于处理时区,或者专业的GIS(地理信息系统)软件如QGIS或ArcGIS。 知识点8:GIS在GPS数据处理中的应用 GIS是一种强大的工具,用于捕获、存储、分析和管理地理数据。它在处理GPS数据时,不仅可以帮助实现经纬度的转换,还可以进行地图投影转换、路径规划、区域分析等复杂任务。 总结以上知识点,文件"GeshiHua.rar"中的内容涉及了GPS数据处理,特别是经纬度的格式化转换和时间转换为北京时间的过程。这些操作对于需要在特定时区进行位置监控或数据分析的应用场景尤其重要。了解相关知识不仅可以帮助开发者有效地处理数据,还可以提升数据处理的准确性和效率。在实际应用中,结合专业工具和编程库,可以更加高效地处理和利用GPS数据。

SELECT DISTINCT cr.id, IF( cr.cur_local IS NULL, cr.end_local, cr.cur_local ) AS end_local, cr.route_status, cra.car_info_id, si.user_name AS name, ci.car_number, ci.car_used, si.phone_number AS driver_phone, ci.use_type, IF( cr.cur_local_time IS NULL, cr.end_time, cr.cur_local_time ) AS end_time, cr.is_gps_hardware AS is_device FROM car_route cr LEFT JOIN car_route_apply cra ON cr.id = cra.route_id LEFT JOIN car_info ci ON ci.id = cra.car_info_id LEFT JOIN zt_sys_user_info si ON si.id = cr.user_id LEFT JOIN zt_sys_staff_info ss ON ss.user_id = cr.user_id WHERE ss.company_id = '5b14469fd5564f04a0a2baed31d8d7c6' AND cr.create_time IN (SELECT MAX(b.create_time) FROM car_route b LEFT JOIN zt_sys_staff_info c ON c.user_id = b.user_id WHERE b.user_id IS NOT NULL AND b.user_id <> '' AND b.route_status IN (2, 3, 4) AND b.route_type IN (1, 2) AND c.company_id = '5b14469fd5564f04a0a2baed31d8d7c6' AND ( ST_Distance( ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX(cur_local, ',', - 1), ' ', SUBSTRING_INDEX(cur_local, ',', 1), ')' ) ), ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX( '39.915,116.404', ',', - 1 ), ' ', SUBSTRING_INDEX( '39.915,116.404', ',', 1 ), ')' ) ) ) < 37417 OR ST_Distance( ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX(end_local, ',', - 1), ' ', SUBSTRING_INDEX(end_local, ',', 1), ')' ) ), ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX( '39.915,116.404', ',', - 1 ), ' ', SUBSTRING_INDEX( '39.915,116.404', ',', 1 ), ')' ) ) ) < 37417 ) GROUP BY b.user_id) 帮我优化这段sql

2023-07-15 上传

import netCDF4 as nc import numpy as np from netCDF4 import Dataset import matplotlib.pyplot as plt from matplotlib.cm import get_cmap from matplotlib.colors import from_levels_and_colors import cartopy.crs as crs import cartopy.feature as cfeature from cartopy.feature import NaturalEarthFeature from wrf import to_np, getvar, interplevel, smooth2d, get_cartopy, cartopy_xlim, cartopy_ylim, latlon_coords, vertcross, smooth2d, CoordPair, GeoBounds,interpline import warnings warnings.filterwarnings('ignore') file = 'D:/transfer/wrfout_d01_2016-03-01_00_00_00' dataset = nc.Dataset(file) latitude = dataset.variables['XLAT'][0][:] longitude = dataset.variables['XLONG'][0][:] tp1 = dataset.variables['RAINC'][1][:][:] co = dataset.variables['co'][1][1][:][:] time = dataset.variables['Times'][:] co2 = dataset.variables['co2'][:] #var = ds.variables['co2'] #print(co2[:]) plt.imshow(co2[ :, :, 98, 78], cmap='hot_r', vmax=400, vmin=350, alpha=0.5) plt.colorbar() #plt.scatter(latitude,longitude, c=co, s=3, cmap='Reds', vmax=1, vmin=0) proj = crs.PlateCarree(central_longitude=180) proj_data = crs.PlateCarree()#LambertCylindrical() #plt.contourf(co[:, :, 98, 78], cmap='hot') fig , ax = plt.subplots(1,1,figsize=(8,8),subplot_kw={'projection':proj}) #plt.imshow(longitude, latitude, co) ax.set_title('CO2 concentration') #ax.set_xlabel('Longitude') #ax.set_ylabel('Latitude') ax.add_feature(cfeature.COASTLINE.with_scale('50m'),lw=0.5) ax.add_feature(cfeature.BORDERS) leftlon, rightlon, lowerlat, upperlat = (90, 110, 4, 31) ######## 调节绘图经纬度范围 Region = [leftlon, rightlon, lowerlat, upperlat] ax.set_extent(Region, crs=proj_data) #经纬度范围,坐标参考系转换 plt.show()

2023-05-28 上传