如何用Python替代Mapinfo更快查找两张表中距离最近的点
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关如何用Python替代Mapinfo更快查找两张表中距离最近的点,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
千家信息网最后更新 2026年11月03日如何用Python替代Mapinfo更快查找两张表中距离最近的点
本篇文章给大家分享的是有关如何用Python替代Mapinfo更快查找两张表中距离最近的点,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
一、前言
工作中有时需要把A表中的经纬度点,从B表中匹配一个最近的点出来,用Mapinfo也可以实现,但处理速度慢,特别是数据量大时根本处理不动,此时用Python就能轻松实现,还能显示处理进度,详细如下。
二、项目目标
用Python实现两张表间最近点的计算。
三、项目准备
软件:PyCharm
需要的库:pandas, xlrd,os
四、项目分析
1)如何选择并读取要处理的Excel文件?
利用os、xlrd,选择要读取处理的Excel文件。
2)如何计算两个经纬度点的距离?
利用pandas库读取两张表的内容,再定义函数计算两个经纬度点的距离。
3)如何循环计算并保存最近一个点的数据?
利用For循环,对两张表的内容进行循环读取,通过If判断保留最近的距离点数据。
4)如何保存结果?
利用to_excel保存,得到最近点的数据。
五、项目实现
1、第一步导入需要的库
import pandas as pd import xlrd import os
2、第二步选择并读取要处理的Excel文件
path="D:/a/" #获取文件夹下所有EXCEL名 bb = path + 'result.xlsx' writer = pd.ExcelWriter(bb,engine='openpyxl') xlsx_names = [x for x in os.listdir(path) if x.endswith(".xlsx")] # 获取第一个EXCEL名 xlsx_names1 = xlsx_names[0] aa = path + xlsx_names1 #打开第一个EXCEL first_file_fh=xlrd.open_workbook(aa) # 获取SHEET名 first_file_sheet=first_file_fh.sheets()3、第三步循环计算并保存最近一个点的数据
for i in range(h2): w1=df1.loc[i,'纬度'] j1 = df1.loc[i,'经度'] d1 = df1.loc[i, :] d0=10000000000000000000000000.0000 print("原小区第%d个。" %(i+1)) test_dict = {'距离': [d0]} d3 = pd.DataFrame(test_dict) for l in range(h3): w2=df2.loc[l, '纬度'] j2=df2.loc[l,'经度'] d=haversine(j1, w1, j2, w2) if d4、第四步保存计算后的文件
resultdata1.to_excel(excel_writer=writer, sheet_name='原小区', encoding="utf-8", index=False) resultdata2.to_excel(excel_writer=writer, sheet_name='最近小区', encoding="utf-8", index=False) resultdata3.to_excel(excel_writer=writer, sheet_name='距离', encoding="utf-8", index=False) writer.save() writer.close()
六、效果展示
1、处理前数据:
2、处理进度显示:
3、处理结果:
利用Python计算两个经纬度点间的距离,并在两张表间进行最近点计算,这本来是Mapinfo的分内之事,但数据量大时就处理不动了,Python处理速度快,还能对数据进行预处理,正是由于可以自己优化代码,可以无限提高运行速度,比如数据切块处理,有兴趣的同学可以进一步研究下。
以上就是如何用Python替代Mapinfo更快查找两张表中距离最近的点,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
处理
数据
文件
经纬
经纬度
项目
循环
两个
小区
速度
utf-8
选择
中距离
更快
内容
更多
知识
篇文章
纬度
经度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技有限公司
疫情对互联网科技公司影响
河南真二互联网科技有限公司
互联网巨头科技公司
科技制造互联网公司
为想互联网科技
互联网科技媒体
互联网科技ppt模板
菲比寻常互联网科技
甘肃拓世互联网科技有限公司
互联网和高科技公司
中化能源互联网科技招聘
互联网科技创新服务
港股科技和互联网
青岛科技大学互联网大赛研究生
和信科技工业互联网
互联网科技如何创业
下一代互联网重大应用科技园
2021世界互联网领先科技成果发布
北京互联网科技类企业分布
为想互联网科技怎么样
美国互联网科技
青岛互联网科技公司
互联网金融科技平台
一五八零互联网科技
中化能源互联网科技招聘
想开互联网科技公司怎么样
张召忠谈中国互联网科技
互联网风格科技公司名称
普陀区互联网教育科技管理办法