当前位置: 首页 > news >正文

gps的定位图,在车的位置去寻找周围20x20的区域,怎么确定周围有多少辆车,使用什么数据结构

记录一下
题目: 给出gps的定位图,在车的位置去寻找周围20x20的区域,怎么确定周围有多少辆车,使用什么数据结构

当时回答的思路把这个问题想成图论的岛屿搜索问题了(基于建好的二维数组)

  1. 把有车的网格设为“1”,没有车设为“0”,数组result
  2. 设置 visited 二维数组,全部设为 False
  3. 设置四个方向 directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]
  4. 使用 dfs进行深度优先搜索,与岛屿问题一样,通过判断边界条件和visited数组(访问后设置为True),将有车的坐标添加到 result 中

假设: 当时如果是没有建好该 20 x 20的区域,只是基于当前的车的坐标,怎么设置数据结构?

我当时的回答是直接建数组或者基于该点进行四个方向的建图,发现考察的是采取哪个数据结构比较好?

第一步 :坐标的转换,发现和我的项目里面有关联,GPS的坐标一般是基于WGS84,也就是EPSG4326坐标系,采用CRS的工具包from_crs将经纬度转换为平面坐标系 x 和 y(查询武汉的经度范围,EPSG45xx)

第二步 :选取数据结构,初始我想使用20x20的网格索引,发现不太好动态搜索;
然后我想使用四叉树(四个象限进行建树),发现这样可能会更复杂;最后查了一下,发现使用R树可能在这个问题中比较好,没想到。

from rtree import index# 1. 使用 R-Tree 索引构建
# ----------------------------
def build_rtree(cars):"""构建 R-Tree 索引"""idx = index.Index()  # 创建索引对象for car in cars:# 用 (x, y, x+w, y+h) 来定义车的位置和占用的矩形区域idx.insert(car['id'], (car['x'], car['y'], car['x'] + car['w'], car['y'] + car['h']))return idx# ----------------------------
# 2. 使用 R-Tree 进行查询
# ----------------------------
def query_nearby(idx, x, y, width=20, height=20):"""查询周围 20x20 米范围内的车辆"""# 查询范围是以 (x, y) 为中心,宽度和高度分别为 20 和 20query_rect = (x - width/2, y - height/2, x + width/2, y + height/2)# 查询返回的 ID 列表return list(idx.intersection(query_rect))
http://www.dtcms.com/a/541951.html

相关文章:

  • 江门城乡建设局官方网站网页设计代码居中
  • AOI在新能源电池制造领域的应用
  • 网站开发软件 连接SQL数据库网站开发难度
  • 怎么做注册账号的网站做电力产品的外贸网站
  • 精美手机网站模板网站开发常见毕业设计题目
  • 中国建设银行网站登录不上模板建站有什么优势
  • ECharts GL 3D饼图组件深度解析:从数学原理到工程实践
  • 让数据流动更智能:元数据如何重塑DataOps与ETL
  • 微信导航网站模板xcache wordpress
  • 都安做网站政务网站建设经验交流发言
  • 数据结构_深入理解堆(大根堆 小根堆)与优先队列:从理论到手撕实现
  • 线性数据结构深度解析:数组、链表、栈与队列的实现与应用
  • 顺德网站建设公司做网站送的企业邮箱能用吗
  • 兼职做国外网站钻前怀化网络推广公司
  • 如何做好楼宇自控系统设计?以服务人们需求为核心的路径
  • 做分析图网站桂林网站开发公司
  • 三亚网站建设费用郫县建设局网站
  • 网至普的营销型网站建设网页设计基础怎么制作水平导航条
  • SRE 进阶:AI 驱动的集群全自动化排查指南(零人工干预版)
  • 2025年接单经验和软件外包平台一览
  • 可以免费商用国外印花图案设计网站wordpress虚线框可序列
  • wordpress建立数据库错误关键词优化怎么做
  • 网站建设网银开通请别人做网站签订合同
  • 在 C 语言中判断字符串非空:str str[0] vs strlen
  • 使用 iText 9 为 PDF 添加文字水印的完整实战
  • cms仿站四川建设网官网app
  • Linux系统日志持久化配置完全指南:让日志在重启后不丢失
  • 江苏省建设工程注册中心网站外贸求购信息网
  • 双峰网站建设安徽中兴建设工程有限公司网站
  • Spring进阶 - Spring事务理论+实战,一文吃透事务