从街道点生成建筑足迹

问题描述 投票:1回答:1

我正在使用OSMNX从特定角度生成建筑物轮廓。但是,OSMNx不显示任何封装。我从GoogleMaps验证了相同的地方,它显示了在设定点附近有很多建筑物,如下图所示:

OSMNx脚本

import osmnx
import pandas as pd
import networkx as nx
import osmnx as ox
from IPython.display import Image
import matplotlib.colors as colors
import pprint
ox.config(use_cache=True, log_console=True)

# get a graph for some city
G = ox.graph_from_place('Colac, Victoria, Australia', network_type='drive')

img_folder = 'images'
extension = 'png'
size = 640
dpi = 20

# #-----------------------------------------------------------------------------------------------------
def make_plot(place, point, network_type='drive', bldg_color='orange', dpi=400,
              dist=500, default_width=4, street_widths=None):
    gdf = ox.footprints.footprints_from_point(point=point, distance=dist)
    fig, ax = ox.plot_figure_ground(point=point, dist=dist, network_type=network_type, default_width=default_width,
                                    street_widths=street_widths, save=False, show=False, close=True)
    fig, ax = ox.footprints.plot_footprints(gdf, fig=fig, ax=ax, color=bldg_color, set_bounds=False,
                                            save=True, show=False, close=True, filename=place, dpi=dpi)
 # #-----------------------------------------------------------------------------------------------------
place = 'Colac_buildings'
#Colac Lat,Lon
point = (-38.338850, 143.599013)
make_plot(place, point)
Image('{}/{}.{}'.format(img_folder, place, extension), height=size, width=size)

enter image description here

  1. 这是否意味着OSMNx中信息丢失?获取建筑物信息或占地面积的最佳方法是什么?
  2. 实际上,我正在尝试提取特定区域内所有建筑物的地址。还有其他方法可以实现吗?
python networkx openstreetmap arcgis osmnx
1个回答
3
投票

OSMNx使用来自OpenStreetMap而不是Google Maps的数据。对于您的位置-38.338850, 143.599013,OSM中还没有建筑物(但附近有一些建筑物,例如西边)。

为了改善这一点,您可以创建一个OSM帐户和start to improve the map。除了建立占用空间外,您还可以向OSM添加缺少的地址(如果您有权访问兼容的许可证)。之后,您可以使用地址解析器检索它们,例如Nominatim

© www.soinside.com 2019 - 2024. All rights reserved.