2

我正在尝试将水路与地面(街道网络/地图)和脚印(建筑物)一起绘制。我的问题是水道是大的封闭多边形区域,这意味着不是绘制一条具有正确厚度的漂亮蓝色河流,而是将河流绘制在图形的一半以上(并且那里没有水 IRL ...)。到目前为止,这就是我在 Jupyter-Lab 中所拥有的(示例坐标与几条道路进行快速测试):

%matplotlib inline
import matplotlib.pyplot as plt
import osmnx as ox
ox.config(log_file=True, log_console=True, use_cache=True)
import numpy as np 

map_settings = dict(
    dist=805,
    edge_color='k',
    bgcolor='w',
    dpi = 300,
    point = (45.27386, 25.04644),
    default_width=2,
    )
fig, ax = ox.plot_figure_ground(network_type='all', 
    **map_settings,
    )

gdf_bldings = ox.footprints.footprints_from_point(point=map_settings['point'], 
    distance=map_settings['dist'], footprint_type='building',
    )

fig, ax = ox.footprints.plot_footprints(gdf_bldings, fig=fig, ax=ax, 
    set_bounds=False, save=False, show=True, close=False, 
    dpi=map_settings['dpi'],
    )


gdf_water = ox.footprints.footprints_from_point(point=map_settings['point'], 
    distance=map_settings['dist'], footprint_type='waterway',
    )

fig, ax = ox.footprints.plot_footprints(gdf_water, fig=fig, ax=ax, color='b', 
    set_bounds=False, save=False, show=True, close=False, 
    dpi=map_settings['dpi'],
    )

coslat = np.cos(np.cos(map_settings['point'][1] / 180. * np.pi) )
ax.set_aspect(1/coslat)
fig.set_figwidth(10)
fig

它给出了下图。

地面网络、建筑足迹和水道的 OSMnx 图

我试过其他地方,那里也一样。 有什么办法可以解决这个问题,让河流像预期的那样漂亮吗?我试图遍历形状匀称的物体并弄清楚是否可以删除坐标,但它很快就会变得丑陋。

4

0 回答 0