使用纬度和经度列从MySql表中获取国家/城市数据
这是我的样品台使用纬度和经度列从MySql表中获取国家/城市数据,mysql,geolocation,latitude-longitude,Mysql,Geolocation,Latitude Longitude,这是我的样品台 table name: activitylog id | activity | lat | long ---+--------------+-------------+------------- 1 | activity1 | 11.2742848 | 75.8013801 2 | activity2 | 11.2742848 | 75.8013801 3 | activity3 | 11.2742848 | 75
table name: activitylog
id | activity | lat | long
---+--------------+-------------+-------------
1 | activity1 | 11.2742848 | 75.8013801
2 | activity2 | 11.2742848 | 75.8013801
3 | activity3 | 11.2742848 | 75.8013801
4 | activity4 | 11.2742848 | 75.8013801
我必须从上面选择属于特定国家/城市的条目。国家或城市没有单独的栏目。我很担心谷歌的地理定位API。但对于一个长表,检查每个条目是否属于我的区域是一个非常缓慢的过程
我是否需要将所有Lat和Long详细信息存储在另一个表中?哪一种是最佳实践
编辑:在我的情况下,无法将城市或国家信息存储在表格上方。为什么要这样做 有一个免费的谷歌地理编码API通过HTTP REST API提供这项服务。注意,API的使用和速率是有限的,但您可以为无限访问付费 尝试此链接以查看输出示例(这是json格式的,输出也可以是XML格式的) 或 有一个web服务返回国家代码,并将lat和long作为参数 以下是一个例子: 我还发现了一些描述: 任何给定点的iso国家代码
- Web服务类型:REST
- Url:ws.geonames.org/countryCode
- 参数:lat、lng、类型、lang、, 半径(沿海地区最近国家的缓冲区,单位为km)
- 结果: 返回给定纬度/经度的iso国家代码
请注意,您应该在创建一个用户帐户以使用该服务。如何将此API应用于长表?我认为如果我对每个条目都使用这个API需要很长时间。我只想选择属于特定城市或国家的条目。在表中存储活动日志时,为什么不将此信息也存储在表中。通过这种方式,您可以直接获取数据。虽然有免费的DB availbale包含lat,long和city mapping..但我不建议使用它,因为在我的情况下,更改表是不可能的。因此,我正在寻找另一种方式。