假设有一个带有这些列的 mysql 数据库:
| house | postcode | lat | lon |
邮政编码是完整的,但纬度和经度是空的。 我想编写/找到一个我可以运行一次来完成表格的脚本。
这是否可能纯粹在 php 中(有任何提示?)还是我需要使用 javascript api 和 $_POST 到 php 文件?
最佳答案
不需要任何外部API
英国邮政编码数据现在可从英国陆军测量局免费获得 CodePoint作为可下载的 CSV 文件系列(2009 年 2 月);但不幸的是,位置点是使用北距/东距而不是纬度和经度存储的。
您需要将北纬/东纬转换为纬度/经度。网上有很多关于此的文章,例如
http://www.deepbluesky.com/blog/-/converting-os-coodinates-into-longitude-latitude_7/
http://mediakey.dk/~cc/convert-northing-and-easting-utm-to-longitude-and-latitude/
但您需要注意,OS Northings/Eastings 基于 Airy 1830 椭球体,而不是 Google map (和大多数 GSM 系统)使用的 WGS84 模型。如果不考虑这种差异,康沃尔和东安格利亚之间 70-120 米之间的任何距离都会让您失望。
使用 PHP,此转换的最佳解决方案是 PHPCoord作者:乔纳森·斯托特
关于php - 英国邮政编码 -> 坐标 : possible purely in php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3117573/