天涯海角异孤星
很久以前,还在用 php5.x 的时候,将数据导出为 Excel 文件需要用到 PHPExcel 扩展包。随着 php 版本更新到 7.x,PHPExcel 已过时,官方推出全新版本 PhpSpreadsheet。
但无论是 PHPExcel 还是 PhpSpreadsheet,都有个弊端:内存开销极大!这在操作大文件时及其明显,脚本动不动就内存超标。针对这个问题,PhpSpreadsheet 新增了一个缓存功能,可以在操作表格时,将数据缓冲到 Redis、Memcache 等地方。
近年来,开发项目一直使用 DcatAdmin 后台框架,记得框架里有个导出 Excel 的功能,但却不需要安装 PhpSpreadsheet,而是需要安装 Easy Excel...
在MySQL 5.6中,可以使用以下公式来计算两个地图坐标之间的距离:
SELECT
(6371 * acos(cos(radians(lat1)) * cos(radians(lat2)) *
cos(radians(lng2) - radians(lng1)) + sin(radians(lat1)) *
sin(radians(lat2)))) AS distance
FROM
your_table
WHERE
your_table.id = your_id;
其中,lat1
和lng1
是第一个坐标的纬度和经度,lat2
和lng2
是第二个坐标的纬度和经度。your_table
是你的表的名称,your_id
是你要查询的记录的ID。
这个公式使用了余弦定理来计算两个点之间的距离。它将地球视为一个完美的球体,并假设它的半径为6371公里。