从街道点生成建筑迹线

2024-09-29 17:47:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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. 实际上,我试图提取特定区域内所有建筑物的地址。有没有其他方法可以做到这一点

Tags: importtrueplotdistastypefigplace
1条回答
网友
1楼 · 发布于 2024-09-29 17:47:31

OSMNx使用的数据来自OpenStreetMap,而不是谷歌地图。对于您的位置-38.338850, 143.599013,OSM中还没有建筑物(但附近有几座,例如西面)

为了改进这一点,您可以创建一个OSM帐户和start to improve the map。除了构建封装外形,您还可以向OSM添加缺少的地址(如果您有权访问兼容的许可证)。之后,您可以使用地理编码器检索它们,例如Nominatim

相关问题 更多 >

    热门问题