python 图上打经纬度的点

时间: 2023-09-06 11:04:15 浏览: 30
在Python中,我们可以使用各种库和模块来制作图表,并在图表上打印经纬度点。其中,matplotlib是最常用的库之一。 首先,我们需要导入matplotlib和其他必要的模块。然后,创建一个新的图表和坐标系。 ```python import matplotlib.pyplot as plt # 创建一个新的图表和坐标系 fig, ax = plt.subplots() ``` 接下来,我们可以通过使用scatter()函数在坐标轴上打印经纬度点。scatter()函数可以接受一个包含经度和纬度的列表作为参数。 ```python # 经度和纬度数据 longitude = [116.3975, 113.2644, 121.4737] latitude = [39.9087, 23.1291, 31.2304] # 打印经纬度点 ax.scatter(longitude, latitude, color='red', marker='o') # 添加标题和坐标轴标签 ax.set_title('经纬度点分布图') ax.set_xlabel('经度') ax.set_ylabel('纬度') # 显示图表 plt.show() ``` 以上代码会在图表上打印三个经纬度点,分别对应北京(116.3975, 39.9087)、广州(113.2644, 23.1291)和上海(121.4737, 31.2304)的经纬度。 通过适当调整图表的大小、坐标轴的范围等参数,我们可以根据需求进行进一步的定制,以满足特定的需求。
相关问题

python 读取无人机图片 经纬度信息

可以使用python的Pillow库来读取图片,然后使用EXIF数据来获取图片的经纬度信息。以下是示例代码: ``` from PIL import Image from PIL.ExifTags import GPSTAGS, TAGS def get_exif_data(image): """ 获取图片的元数据 """ exif_data = {} with Image.open(image) as img: info = img._getexif() if info: for tag, value in info.items(): decoded = TAGS.get(tag, tag) exif_data[decoded] = value return exif_data def get_geotagging(exif_data): """ 获取图片的经纬度信息 """ lat = None lng = None gps_info = {} if "GPSInfo" in exif_data: # 获取GPS信息 gps_info = exif_data["GPSInfo"] gps_latitude = get_gps_coords(gps_info, "GPSLatitude") gps_latitude_ref = gps_info.get("GPSLatitudeRef") gps_longitude = get_gps_coords(gps_info, "GPSLongitude") gps_longitude_ref = gps_info.get("GPSLongitudeRef") lat = convert_to_degrees(gps_latitude) if gps_latitude_ref != "N": lat = 0 - lat lng = convert_to_degrees(gps_longitude) if gps_longitude_ref != "E": lng = 0 - lng return lat, lng def get_gps_coords(gps_info, gps_tag): """ 获取GPS信息中的经纬度坐标值 """ coords = gps_info.get(gps_tag) if coords is None: return None num, den = coords[0], coords[1] val = float(num) / float(den) for i in range(2, len(coords)): num, den = coords[i], coords[i + 1] if i + 1 < len(coords) else 1 val += (float(num) / float(den)) / 60.0 return val def convert_to_degrees(value): """ 将经纬度转换为以度为单位的值 """ deg, minutes = int(value[0]), value[1:] val = deg + (float(minutes[0]) / float(minutes[1])) / 60.0 return val # 调用上述函数来获取图片的经纬度信息 exif_data = get_exif_data("image.jpg") lat, lng = get_geotagging(exif_data) print("经度:", lng) print("纬度:", lat) ``` 需要注意的是,无人机拍摄的图片可能不包含GPS信息,或是GPS信息不完整甚至不正确,此时获取到的经纬度信息就可能是不准确的。

python 两个经纬度点判断方位

可以使用以下代码来判断两个经纬度点之间的方位: ```python import math def bearing(lat1, lon1, lat2, lon2): """ 计算两个经纬度点之间的方位角度 """ lat1 = math.radians(lat1) lon1 = math.radians(lon1) lat2 = math.radians(lat2) lon2 = math.radians(lon2) delta_lon = lon2 - lon1 y = math.sin(delta_lon) * math.cos(lat2) x = math.cos(lat1) * math.sin(lat2) - math.sin(lat1) * math.cos(lat2) * math.cos(delta_lon) bearing = math.atan2(y, x) return math.degrees(bearing) # 输入两个经纬度点 lat1 = 39.908722 lon1 = 116.397499 lat2 = 39.908722 lon2 = 116.397500 # 计算方位角度 bearing_angle = bearing(lat1, lon1, lat2, lon2) # 判断方位 if bearing_angle >= 0 and bearing_angle < 90: print('东北') elif bearing_angle >= 90 and bearing_angle < 180: print('东南') elif bearing_angle >= 180 and bearing_angle < 270: print('西南') else: print('西北') ``` 其中,使用了`math`库的`radians()`函数将角度转换为弧度,然后根据经纬度计算出两个点之间的方位角度,最后根据方位角度判断方位。

相关推荐

最新推荐

recommend-type

Python中如何利用经纬度进行距离计算

其实经纬度属于球面坐标,而我们常规的距离是在平面维度上的,因此,在进行距离计算之前,首先需将球面坐标转换为平面坐标,这样之后才能进行平面距离的测算,计算出来的距离单位就是米了,符合我们的常规认知。...
recommend-type

Python 利用高德地图api实现经纬度与地址的批量转换

主要介绍了Python 利用高德地图api实现经纬度与地址的批量转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

python实现根据给定坐标点生成多边形mask的例子

处理数据集的过程中用到了mask 但是源数据集中只给了mask顶点的坐标值,那么在python中怎么实现生成只有0、1表示的mask区域呢? 主要借鉴cv2中的方法: (我使用的数据情况是将顶点坐标分别存储在roi.mat中的x和y元素...
recommend-type

利用python和百度地图API实现数据地图标注的方法

主要介绍了利用python和百度地图API实现数据地图标注的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

QT5开发及实例配套源代码.zip

QT5开发及实例配套[源代码],Qt是诺基亚公司的C++可视化开发平台,本书以Qt 5作为平台,每个章节在简单介绍开发环境的基础上,用一个小实例,介绍Qt 5应用程序开发各个方面,然后系统介绍Qt 5应用程序的开发技术,一般均通过实例介绍和讲解内容。最后通过三个大实例,系统介绍Qt 5综合应用开发。光盘中包含本书教学课件和书中所有实例源代码及其相关文件。通过学习本书,结合实例上机练习,一般能够在比较短的时间内掌握Qt 5应用技术。本书既可作为Qt 5的学习和参考用书,也可作为大学教材或Qt 5培训用书。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

用Spring boot和vue写一个登录注册界面

好的,这是一个比较常见的技术问题,我可以为您提供一些参考资料和思路。首先,您可以使用Spring Boot作为后端框架来处理用户认证和注册的逻辑,比如使用Spring Security实现用户登录认证。同时,您还需要设计相应的数据模型和数据库表结构来存储用户信息。在前端方面,您可以使用Vue.js作为框架来构建登录注册页面,使用Axios来发起API请求并和后端进行交互。当然,在实现过程中,还需要考虑一些具体细节,比如数据校验、安全性和用户体验等方面。希望这些信息能够帮助到您。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。