【问题标题】:Using geographical graph data to guide Google Street View Static API使用地理图数据指导 Google Street View Static API
【发布时间】:2019-09-22 10:57:52
【问题描述】:

我正在尝试使用源自osmnxGoogle Street View Static API 的地理数据(街道和十字路口)来获取街景图像

  1. 从十字路口拍摄。
  2. 直视道路。

我使用 osmnx(参见下面的代码)来获取如下所示的数据:

节点:

(NodeView((298466819, 20925446, 298466822, ...

还有边:

OutMultiEdgeView([(298466819, 8324095, 0), (298466819, 298466822, 0), (298466822, 8324094, 0), ...

所以我可以像这样画地图:

如果有帮助,它可以很容易地转换为纬度/经度坐标。

通过google_streetview api 使用 Google API 非常简单:

import google_streetview.api

# Define parameters for street view api
params = [{
    'size': '640x640', # max 640x640 pixels
    'location': '55.6901769, 12.5595158',
    'heading': '0',
    'pitch': '0',
    'key': '--'
}]

# Create a results object
results = google_streetview.api.results(params)

results.preview()

我需要帮助弄清楚的是,给定节点和边,我是否可以计算每个节点的 heading 参数,这样我可以从节点中获得至少一张俯视街道的图像?


路线图图表数据:

import osmnx as ox
location_point = (55.6901, 12.5638)
G_nbro = ox.graph_from_point(location_point, distance=500, distance_type='network', network_type='drive')

相关:

Getting the POV for Google StreetView API

Is there a way to use the Google Street View API and only return "side view"?

【问题讨论】:

    标签: python google-street-view osmnx google-street-view-static-api


    【解决方案1】:

    我想通了。

    1. 获取节点的所有连接邻居:
    nodes_dict = {node:nx.neighbors(G_nbro, node) for node in G_nbro.nodes}
    
    for node in nodes_dict.keys():
        for nbr in nodes_dict[node]:
            print(node, nbr)
    
    1. 获取每个点之间的航向。这里有一个例子:
    G_nbro[8322831][4555480822][0]['bearing']
    
    311.045
    

    插入 Google API,它就可以很好地工作。

    【讨论】:

      猜你喜欢
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2018-07-24
      • 1970-01-01
      相关资源
      最近更新 更多