我正在处理一个涉及每秒大量实时数据(通过websockets实现)的项目。因此,它无法处理调用Google的API将City + Region转换为Longlat坐标。我的成功率约为1至100。有没有无限的替代城市&地区来协调Google API的服务?理想情况下,这些数据的本地存储JSON数组?谷歌地图替代地理定位API
7
A
回答
2
通常,当您处理大量数据点时,您需要在服务器上对它们进行一次地理编码。然后,您可以将经纬度数据流传输到您的客户端以备使用。
谷歌有一个Geocoding web service你可以从你的服务器使用,但有一个2500 /天的请求限制。如果这不起作用,您也可以查看OSM的Nominatim; Mapquest hosts无限制的网络服务。
3
看看datasciencetoolkit.org。它们提供可以在EC2上托管的VM映像/ AMI,并可以对您自己的服务器进行地理位置调用,因此不会受到API限制。
然后还有雅虎的地理定位API,它的限制比Google的要高。
5
您可以使用Yahoo提供的服务YQL。这项服务对于数量有限的请求是免费的,每天最多10万次。然后,您可以从query/results/place/centroid中的响应XML中检索经度和纬度。
我注意到这个服务的一件事是城市名称需要精确,并且可能有多个结果。
http://developer.yahoo.com/yql/
例YQL查询:
http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM geo.places WHERE text="Seattle" and placeTypeName = "Town"
响应XML:
<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2012-07-09T16:20:40Z" yahoo:lang="en-US">
<results>
<place xmlns="http://where.yahooapis.com/v1/schema.rng" xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/2490383">
<woeid>2490383</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Seattle</name>
<country code="US" type="Country">United States</country>
<admin1 code="US-WA" type="State">Washington</admin1>
<admin2 code="" type="County">King</admin2>
<admin3/>
<locality1 type="Town">Seattle</locality1>
<locality2/>
<postal/>
<centroid>
<latitude>47.603561</latitude>
<longitude>-122.329437</longitude>
</centroid>
<boundingBox>
<southWest>
<latitude>47.422359</latitude>
<longitude>-122.472153</longitude>
</southWest>
<northEast>
<latitude>47.745071</latitude>
<longitude>-122.176193</longitude>
</northEast>
</boundingBox>
<areaRank>6</areaRank>
<popRank>12</popRank>
</place>
</results>
</query>
<!-- total: 82 -->
<!-- engine5.yql.mud.yahoo.com -->
相关问题
- 1. 谷歌地图API(地理位置)
- 2. 谷歌地图地理定位API或路线API
- 3. 谷歌地理定位API问题
- 4. 使用谷歌地理定位API的地理位置
- 5. 替代谷歌地图
- 6. 谷歌地图infowindow替代
- 7. 谷歌地图的替代
- 8. 谷歌地图API v3,地理定位不正确返回
- 9. 谷歌地图API:地理位置+自定义标记
- 10. 请求谷歌地图地理定位API
- 11. 谷歌地图通过Ruby实现地理定位API
- 12. 使用谷歌地图地理定位API
- 13. 谷歌地图和谷歌地理定位API之间的精度差异
- 14. 使用谷歌地图API和谷歌文本进行地理定位搜索
- 15. 谷歌地图API代码
- 16. 谷歌地理定位
- 17. 谷歌地图API定位的问题
- 18. 谷歌地图API定位角坐标
- 19. 谷歌地图API地理位置和地点搜索
- 20. 谷歌地图和jQuery谷歌地图api的位置差异
- 21. 谷歌地图api地理编码
- 22. 谷歌地图地理编码API
- 23. 地理位置谷歌地图v2
- 24. 谷歌地图中的地理位置
- 25. 谷歌地图:地理位置援助
- 26. 地理位置谷歌地图jquery
- 27. 地理位置与谷歌地图V3
- 28. 定制谷歌地图API
- 29. 谷歌地图(API)定价
- 30. 谷歌地图定位器
一个解决方案不能提高API调用限制,我们总是可以购买更多的津贴,但这是高要求/秒是不可实现的。我同意我们需要流数据中的这些信息,但目前我们手中没有,我希望链接到这样的信息的开源数组。 – 2012-07-09 16:31:13
如果您无法修改数据源本身,则始终可以代理数据流。让您的服务器连接到数据源,进行地理编码,然后将数据+坐标流送到客户端。 – josh3736 2012-07-09 16:36:57