假设有一个带有这些cols的mysql数据库:
| house | postcode | lat | lon |
邮政编码完成但是lat和lon是空的。 我想写/找到一个我可以运行一次的脚本来完成表格。
这可能纯粹是在php(任何提示吗?)或者我需要使用javascript api和$ _POST到php文件吗?
答案 0 :(得分:2)
无需任何外部API
英国邮政编码数据现在可从Ordnance Survey CodePoint免费获取,作为可下载的一系列CSV文件(2009年2月);但不幸的是,位置点是使用Northing / Eastings而不是纬度和经度存储的。
您需要将Northings / Eastings转换为纬度/经度。网上有很多关于此的文章,例如
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椭球而不是谷歌地图(和大多数GSM系统)使用的WGS84模型。不允许这种差异可以让你在康沃尔和东安格利亚之间的70-120米之间。
使用PHP,这种转换的最佳解决方案是Jonathan Stott的PHPCoord
答案 1 :(得分:0)
PHP可以通过file_get_contents
或cURL
等HTTP请求访问XML / JSON API。
答案 2 :(得分:0)
这可以完全用PHP完成,依赖于一些为你提供lat / lon数据的外部API。
通常,Web API并不关心在其客户端上运行的语言。使用“JavaScript API”,您可能意味着以一种JavaScript友好格式(如JSON)返回数据的服务。但是,JSON不必由JavaScript程序处理; PHP程序可以很好地解析它。