我正在开发一个涉及每秒大量实时数据的项目(通过websockets实现)。因此,它无法处理调用Google API将城市+地区转换为经纬度坐标。我得到了约1到100的成功率。是否有无限制的替代Google API的城市和地区到坐标服务?理想情况下是这样的数据的本地存储JSON数组。
我正在开发一个涉及每秒大量实时数据的项目(通过websockets实现)。因此,它无法处理调用Google API将城市+地区转换为经纬度坐标。我得到了约1到100的成功率。是否有无限制的替代Google API的城市和地区到坐标服务?理想情况下是这样的数据的本地存储JSON数组。
query/results/place/centroid
。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 -->
请查看datasciencetoolkit.org。他们提供一个VM镜像/AMI,您可以在EC2上托管它,并对您自己的服务器进行地理定位调用,因此没有API限制。
此外,还有Yahoo的地理定位API,其限制比Google更高。