0

私は Jupyter で作業していますが、OsmNxがSVGPNGを異なるスケールで保存する理由がわかりません。
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の黄色の背景):

画像

私は何を間違っていますか?

4

1 に答える 1

1

ここで答えた:

これは SVG と PNG の問題ではありませんが、非常に異なる目的 (plot_graph と plot_figure_ground) で 2 つの異なるプロット関数を使用しているという事実に帰着します。dist 引数を plot_figure_ground に渡すだけで、805 メートルのデフォルトのパラメーター化をオーバーライドできます。ドキュメントで説明されています: https://osmnx.readthedocs.io/en/stable/osmnx.html#osmnx.plot.plot_figure_ground

于 2019-10-02T19:10:04.710 に答える