由于它们的条款,为了从Google Geocoding API迁移而来,我研究了nominatim
package和OpenStreetMap API(专门用于地理编码)。但是,相当简单的地址不会返回任何结果。甚至来自osm_geocode
示例的代码都丢失了地址。难道我做错了什么?
我按照说明进行了操作,并注册了免费的API密钥here。查看代码:
# Set my API key
osmKey <- "insert your key"
# Geocode a very famous address, exact code taken from GitHub page
osm_geocode("1600 Pennsylvania Ave, Washington, DC.", key = osmKey)
返回:
# A tibble: 0 x 0
是否在.
之后删除DC.
并不重要。我什至选择了一个最近使用ISO 3166-1alpha2国家/地区代码访问的地址,非常清楚它的存在:
osm_geocode("90 Washington St, New York, NY", country_codes = "us", key = osmKey)
# A tibble: 0 x 0
为确认某些地址有效:
osm_geocode("Washington, DC.", key = osmKey)
place_id licence osm_type osm_id
1 187983016 Data © OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright relation 5396194
lat lon display_name class type importance
1 38.89495 -77.03665 Washington, District of Columbia, United States of America place city 0.2891642
icon bbox_left
1 http://ip-10-98-176-55.mq-us-east-1.ec2.aolcloud.net/nominatim/images/mapicons/poi_place_city.p.20.png 38.79163
bbox_top bbox_right bbox_bottom
1 38.99585 -77.11977 -76.90937
因此API可以使用,但特定的地址不能使用。我听说这是一个可靠的API。任何人都可以提供帮助吗?为什么我的街道地址不起作用?