OsmNx: изображения SVG и PNG имеют разный масштаб - PullRequest
0 голосов
/ 01 октября 2019

Я работаю в Jupyter и не понимаю, почему OsmNx сохраняет SVG и PNG с разными шкалами.
Я попытался изменить DPI и настроить другие параметры, но не решил проблему.
Я ничего не нашел в онлайн-документации и некоторых руководствах.

Это сокращенный рабочий код:

import osmnx as ox
import os
from IPython.display import Image

%matplotlib inline
ox.config(log_file=False, log_console=False, use_cache=True)

place = "aPlace"
network_type = "drive"  
location_point = (50.6233696,12.3007474)

G = ox.graph_from_point(
    location_point, 
    distance=1600,  #<============
    distance_type='bbox', 
    network_type="drive", 
    clean_periphery=False, 
)


street_widths = {'footway' : 0.5,
             'steps' : 0.5,
             'pedestrian' : 0.5,
             'path' : 0.5,
             'track' : 0.5,
             'service' : 2,
             'residential' : 3,
             'primary' : 5,
             'motorway' : 6}

ox.plot_graph(G, show=True,node_size=0, edge_linewidth=2, edge_color="#000000", save=True, filename="map1", file_format='svg')
ox.plot_figure_ground(G, street_widths=street_widths, show=True, bgcolor="#ffff00",  edge_color="#000000", save=True, filename="map1", file_format="png")

Изменение distance SVG правильно масштабируется.
PNG вместо этого достигает максимального размера и затем обрезается.

В моем проекте PNG позже векторизовано. Я хочу сохранить толщину дороги в зависимости от типа дороги.
Именно поэтому я использую plot_figure_ground (который может принимать параметр street_widths), а не plot_graph (который отображает все дороги одинаковой толщины).

На этих изображениях вы можете видеть этоэффект ( SVG белый фон, PNG желтый фон):

images

Что я делаю не так?

1 Ответ

1 голос
/ 02 октября 2019

ответил здесь :

Это не проблема SVG против PNG, но сводится к тому, что вы используете две разные функции построения графиков с очень разнымицели (plot_graph против plot_figure_ground). Просто передайте аргумент dist в plot_figure_ground, чтобы переопределить его 805-метровую параметризацию по умолчанию. Это описано в документации: https://osmnx.readthedocs.io/en/stable/osmnx.html#osmnx.plot.plot_figure_ground

...