php - 英国邮政编码 -> 坐标 : possible purely in php?

标签 php mysql google-maps

假设有一个带有这些列的 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/

相关文章:

php - 如何从 yii 获取多维数组 'CDbDataReader::readAll'

angular - 如何使用 agm-map 和 agm-polyline 将折线的颜色与 Angular 2 交替?

java - Android 创建 BitmapDescriptor 异常

javascript - 未捕获的类型错误 : Cannot read property 'route'

mysql - MariaDB - 在线移动/归档表

php - 在 laravel 中缺少路由问题所需的参数

javascript - 从 HTML 添加新元素到 div 中

php - 如何使用更新批量查询更改 codeigniter 中的多行

mysql - JPA 一元运算符

mysql - 从 MySQL 中的字符串列中提取一组数字