我正在尝试将水路与地面(街道网络/地图)和脚印(建筑物)一起绘制。我的问题是水道是大的封闭多边形区域,这意味着不是绘制一条具有正确厚度的漂亮蓝色河流,而是将河流绘制在图形的一半以上(并且那里没有水 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
它给出了下图。
我试过其他地方,那里也一样。 有什么办法可以解决这个问题,让河流像预期的那样漂亮吗?我试图遍历形状匀称的物体并弄清楚是否可以删除坐标,但它很快就会变得丑陋。