新闻中心

使用 Shapely 和 Geopy 查找多边形中最远坐标并计算距离(海里)

2025-11-02
浏览次数:
返回列表

使用 shapely 和 geopy 查找多边形中最远坐标并计算距离(海里)

本文介绍了如何使用 Python 的 Shapely 和 Geopy 库来确定给定多边形中最远的两个坐标点,并计算它们之间的距离,结果以海里为单位。文章详细讲解了代码实现,包括必要的库导入、多边形创建、坐标遍历和距离计算,并提供了完整的可执行代码示例。

在处理地理空间数据时,经常需要计算多边形上两点之间的距离。本教程将指导你如何使用 Shapely 库创建多边形,并利用 Geopy 库找出多边形上距离最远的两点,并计算它们之间的距离(以海里为单位)。

准备工作

首先,确保你已经安装了 Shapely 和 Geopy 库。如果没有安装,可以使用 pip 进行安装:

pip install Shapely geopy

代码实现

以下代码演示了如何实现这一目标:

Musho Musho

AI网页设计Figma插件

Musho 76 查看详情 Musho
import shapely.geometry as sg
from geopy.distance import distance

# 创建多边形对象
t1 = sg.Polygon([(-74.418225663382, 39.36239030236737), # Atlantic City, NJ
                 (-74.27880733397238, 39.71055595453288),
                 (-74.75681303480502, 40.219387193292164),
                 (-75.4705021020258, 40.60356289498688),
                 (-76.88460230031765, 40.264996135212186), # Harrisburg, PA
                 (-74.418225663382, 39.36239030236737)])

# 初始化变量以存储最远坐标和最大距离
furthest_pair = None
max_distance = 0

# 遍历多边形的所有坐标对
for i, p1 in enumerate(t1.exterior.coords):
    for j, p2 in enumerate(t1.exterior.coords[i+1:]):
        dist = distance(p1, p2).nm  # 计算两点之间的距离(海里)
        if dist > max_distance:
            max_distance = dist
            furthest_pair = (p1, p2)

# 打印最远坐标和它们之间的距离
print("最远坐标:", furthest_pair)
print("它们之间的距离:", max_distance, "海里")
print("应该大约是: ", 126.0, "海里")

代码解释:

  1. 导入必要的库: shapely.geometry 用于创建和操作几何对象,geopy.distance 用于计算地理坐标之间的距离。注意导入 geopy.distance 时,需要使用 from geopy.distance import distance,直接导入模块会导致后续调用 distance 方法时出现错误。
  2. 创建多边形对象: 使用 sg.Polygon() 函数创建一个多边形对象,传入一个包含坐标点的列表。
  3. 初始化变量: furthest_pair 用于存储最远的坐标点对,max_distance 用于存储它们之间的距离。
  4. 遍历坐标对: 使用嵌套循环遍历多边形的所有坐标点对。注意内层循环从 i+1 开始,避免重复计算。
  5. 计算距离: 使用 distance(p1, p2).nm 计算两个坐标点之间的距离,结果以海里为单位。 geopy.distance.distance 接受两个元组作为输入,每个元组代表一个坐标点 (latitude, longitude)。
  6. 更新最远距离: 如果当前坐标对的距离大于 max_distance,则更新 max_distance 和 furthest_pair。
  7. 打印结果: 打印最远坐标点对和它们之间的距离。

注意事项

  • 确保提供的坐标点是经纬度坐标,并且顺序正确(纬度在前,经度在后)。
  • geopy.distance.distance 函数返回的是一个 geopy.distance.vincenty.VincentyDistance 对象,需要使用 .nm 属性才能获取以海里为单位的距离。
  • Shapely 库主要用于几何对象的创建和操作,而 Geopy 库则专注于地理坐标的计算。

总结

本教程介绍了如何使用 Shapely 和 Geopy 库来查找多边形中最远的坐标点并计算它们之间的距离(海里)。通过理解和修改上述代码,你可以将其应用于各种地理空间数据处理任务中。

以上就是使用 Shapely 和 Geopy 查找多边形中最远坐标并计算距离(海里)的详细内容,更多请关注其它相关文章!


# git  # python  # seo经典范文  # 宁波seo推广排名  # 便宜的网站推广效果好  # 北京技术网站建设  # 百度seo怎么考证  # 怎样做营销推广认可s火17星热情  # 视频营销推广怎么推  # 衡山的网站建设  # 宝安推荐网站建设哪家快  # 佳木斯商城网站建设  # 的是  # 解决方法  # 重写  # 点对  # 自定义  # 两点  # 如何实现  # 如何使用  # 坐标点  # 遍历  # ai  # go 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】  Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  windows10怎么关闭系统提示音_windows10彻底静音设置方法  MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略  Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法  Golang如何实现Web文件静态资源服务器_Golang静态资源服务器开发与实践  UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS  《GTA6》开发画面疑似泄露!这次可不是AI了  mysql备份恢复性能优化_mysql备份恢复性能优化方法  12306选座怎么选到特殊座位_12306特殊座位选择注意事项  如何高效处理PHP中的Excel数据导入导出?PortPHP/Spreadsheet助你轻松搞定!  html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】  谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作  将HTML Canvas内容转换为可上传的图像文件(File对象)  凉拌黄瓜怎么拌更入味 凉拌黄瓜简单家常做法  Golang指针如何与map组合使用_Golang map指针组合实践  PHP 枚举:根据字符串获取枚举案例的策略与实现  漫蛙2(台版)官方入口地址 漫蛙2(台版)正版漫画网页端  怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】  J*aScript中向JSON对象添加新属性的正确姿势  QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台  在J*a中如何捕获IndexOutOfBoundsException_索引越界异常防护方法说明  批改网学生版PC登录 批改网官网登录系统入口  高德地图沿途添加点失败如何解决 高德多点规划方法  德邦快递查询平台 德邦快递物流信息查询入口  小米14应用无法联网原因分析_小米14网络权限修复  J*aScript打印功能_j*ascript输出控制  新手怎么开始学化妆 零基础化妆入门教程  Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析  想当下一个《2077》?《心之眼》Steam评价升至"多半好评"  TypeScript/J*aScript:高效查找数组中首个唯一ID对象  电脑IP地址怎么查 查看本机IP地址的几种方法  sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE  铁路12306的积分有效期是多久_铁路12306积分有效期说明  lar*el怎么安全地存储和获取配置文件中的敏感信息_lar*el敏感信息安全存储方法  圆通快递查询实时追踪 圆通物流包裹状态快速查看  抖音网页版怎么|直播|_抖音网页版开播操作指南  Go RPC HTTP服务正确实现与常见陷阱解析  QQ官网正版登录链接 QQ在线登录入口最新  高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法  QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口  QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台  如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略  Django表单提交验证失败后保持字段值不刷新  护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?  谷歌邮箱网页版官方页面入口 谷歌邮箱网页端快速访问  Lar*el 8 多关键词数据库搜索优化实践  红果短剧网页版官网入口 官方最新网址发布  台积电1.4nm工艺A14瞄准2028:10年来性能提升80% 

搜索