Сопоставление идентификаторов Google Building ID с идентификаторами зданий Open Street Map
Я работаю над проектом картирования, который включает в себя использование Tangram (удивительной библиотеки картирования webgl) для визуализации зданий на карте. Здания Tangram взяты из Open Street Maps и используют идентификаторы OSM:
Однако, как предсказывает судьба, мои данные поступают из Google Location API, который имеет свою собственную систему идентификаторов. Используя запрос как:
curl https://maps.googleapis.com/maps/api/geocode/json?address=Timble-Bridge,%20Yorkshire%20Britain&key=API_KEY_HERE
возвращается (обратите внимание на хеш идентификатора места):
{
"results": [
{
"address_components": [
{
"long_name": "59",
"short_name": "59",
"types": [
"street_number"
]
},
{
"long_name": "Long Lane",
"short_name": "Long Ln",
"types": [
"route"
]
},
{
"long_name": "London",
"short_name": "London",
"types": [
"postal_town"
]
},
{
"long_name": "Greater London",
"short_name": "Greater London",
"types": [
"administrative_area_level_2",
"political"
]
},
{
"long_name": "England",
"short_name": "England",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "United Kingdom",
"short_name": "GB",
"types": [
"country",
"political"
]
},
{
"long_name": "EC1A 9EJ",
"short_name": "EC1A 9EJ",
"types": [
"postal_code"
]
}
],
"formatted_address": "59 Long Ln, London EC1A 9EJ, UK",
"geometry": {
"location": {
"lat": 51.5192377,
"lng": -0.0998815
},
"location_type": "ROOFTOP",
"viewport": {
"northeast": {
"lat": 51.52058668029149,
"lng": -0.09853251970849797
},
"southwest": {
"lat": 51.51788871970849,
"lng": -0.101230480291502
}
}
},
"partial_match": true,
"place_id": "ChIJ5UYg9FMbdkgRBOslATQK-ok",
"types": [
"cafe",
"establishment",
"food",
"point_of_interest"
]
}
],
"status": "OK"
}
Теперь мне интересно, есть ли какая-нибудь существующая база данных, которая сопоставляет идентификаторы OSM с идентификаторами местоположения Google. Если кто-либо знает о какой-либо такой службе или о любом сопоставлении более высокого порядка, которое можно использовать для детерминированного сопоставления OSM и идентификаторов Google с услугой идентификации более высокого порядка, я был бы очень признателен за любую информацию, которую вы можете предложить.
1 ответ
Нет, такой базы данных не существует и она не может существовать.
Такое отображение потребовало бы, чтобы:
- Оба набора данных открыты. OSM открыт, а данные Google - нет.
- Здания отображаются таким же образом. Это не всегда так. Здание в Google может состоять из нескольких зданий в OSM, и наоборот.
- Идентификаторы стабильны. Я не знаю об идентификаторах Google, но идентификаторы в OSM могут измениться.