首页 > 解决方案 > OSMnx:创建矩形建筑足迹

问题描述

我正在使用 OSMnx 存储库页面上示例页面中显示的示例“make_plot”函数来生成建筑足迹地图。输出的是一个正方形的图片,有没有什么办法可以调整高度和宽度来生成一个矩形文件?

我对示例进行了一些更改以使用几何模块而不是弃用的足迹:

def make_plot(place, point, dist, network_type='all', bldg_color='#FF0000', dpi=300,
            default_width=1,
            street_widths = {
                "footway": 0.5,
                "steps": 0.5,
                "pedestrian": 0.5,
                "service": 0.5,
                "path": 0.5,
                "track": 0.5,
                "primary": 0.5,
                "secondary": 0.5,
                "trunk": 1,
                "motorway": 2 ,
                }):
gdf = ox.geometries.geometries_from_point(center_point=point, tags={'building':True}, dist=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, bgcolor='#343434')
fig, ax = ox.plot.plot_footprints(gdf, ax=ax, color=bldg_color,
                            save=True, show=False, close=True, filepath="images/{}.png".format(place), dpi=dpi)

make_plot(地点、点、距离)

标签: osmnx

解决方案


输出的是一个正方形的图片,有没有什么办法可以调整高度和宽度来生成一个矩形文件?

您正在查询一个正方形区域,因此您的结果图是相应的正方形。如果你查询一个非正方形区域,你会得到一个非正方形图:

import osmnx as ox
ox.config(use_cache=True, log_console=True)
gdf = ox.geometries_from_place('Piedmont, CA, USA', tags={'building':True})
fig, ax = ox.plot_footprints(gdf)

矩形图

请注意,您得到了fig, ax支持,您当然可以使用通常的matplotlib 方式调整图形大小fig.set_size_inches(9, 3):请注意,这会调整您的图形大小而不是拉伸它(例如,从正方形到矩形)。另请注意,所有 OSMnx 绘图函数都采用可选figsize参数。请参阅文档

我对示例进行了一些更改以使用几何模块而不是弃用的足迹

这些示例在一个月前 OSMnx v0.16.0 发布时进行了更新,以反映新geometries模块。footprints然后也删除了对已弃用模块的任何引用。


推荐阅读