将Google构建ID映射到Open Street Map构建ID

时间:2017-06-24 14:04:22

标签: google-maps google-maps-api-3 openstreetmap mapzen tangram

我正在开发一个映射项目,该项目涉及使用Tangram(一个很棒的webgl映射库)来可视化地图上的建筑物。 Tangram建筑物来自Open Street Maps,并使用OSM id:

enter image description here

幸运的是,我的数据来自谷歌的Location API,它有自己的id系统。使用如下的请求:

curl https://maps.googleapis.com/maps/api/geocode/json?address=Timble-Bridge,%20Yorkshire%20Britain&key=API_KEY_HERE

一个人回来(注意底部的地方id哈希):

{
  "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 ID映射到Google位置ID。如果有人知道任何此类服务,或任何更高阶的映射可以用来确定性地将OSM和Google id映射到更高级别的识别服务,我将非常感谢您提供的任何见解。

1 个答案:

答案 0 :(得分:2)

不,这样的数据库不存在且无法存在。

这样的映射需要:

  • 两个数据集都已打开。 OSM是开放的,但谷歌的数据不是。
  • 建筑物以类似的方式进行映射。这并非总是如此。 Google中的建筑物可能包含OSM中的多个建筑物,反之亦然。
  • ID稳定。我不了解Google的ID,但OSM中的ID可能会发生变化。