2017-06-11 4 views
0

マップの上にインタラクティブなデータシャドウプロットをオーバーレイしようとしています。地図の背景の代わりに「地図データはまだ利用できません。私は別のマップサービスと異なるマップを試しましたが、どちらも機能しませんでした。 は、ここで私は類似のデータセットが見つかりコードされていますdatashaderで背景をマップする - 「まだデー​​タを利用できません」

import bokeh.plotting as bp 
from bokeh.models.tiles import WMTSTileSource 
bp.output_notebook() 

def base_plot(tools='pan,wheel_zoom,reset',webgl=False): 
    p = bp.figure(tools=tools, 
     plot_width=int(850), plot_height=int(500), 
     x_range=x_range, y_range=y_range, outline_line_color=None, 
     min_border=0, min_border_left=0, min_border_right=0, 
     min_border_top=0, min_border_bottom=0, webgl=webgl) 

    p.axis.visible = False 
    p.xgrid.grid_line_color = None 
    p.ygrid.grid_line_color = None 

    return p 

-

background = "black" 
from datashader.bokeh_ext import InteractiveImage 

def image_callback(x_range, y_range, w, h, color_fn=tf.shade): 
    cvs = ds.Canvas(plot_width=w, plot_height=h, x_range=x_range, y_range=y_range) 
    agg = cvs.points(df, 'Dropoff_longitude', 'Dropoff_latitude', ds.count('Passenger_count')) 
    image = color_fn(agg) 
    return tf.dynspread(image,threshold=0.75, max_px=8) 
    #return(image) 

p = base_plot() 

url="https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{Z}/{Y}/{X}.png" 
#url="http://tile.stamen.com/toner-background/{Z}/{X}/{Y}.png" 
tile_renderer = p.add_tile(WMTSTileSource(url=url)) 
tile_renderer.alpha=1.0 if background == "black" else 0.15 

InteractiveImage(p, image_callback) 

は、ここでそれが出力でどのように見えるかです:なぜこの

Output screenshot

誰もが知っています起こっている?

ありがとうございます!

答えて

1

ソースデータを脆弱な緯度と経度(-75.2のような数字)として取り込み、Webメルターの座標(-8235000のような数字)を使ってインデックス付けされた画像タイルでオーバーレイしようとしています。マップタイルソースは、その解像度で利用可能な画像データがないことを正しく報告します。 100万分の1程度ズームアウトした場合、マップタイルが表示されますが、データとの位置合わせはできません。 Bokehはタイルソースを使用するときにWeb Mercator座標をサポートするだけなので、地図タイルでオーバーレイしたい場合は、データシェーダを実行する前にWeb Mercatorにデータを投影する必要があります。この目的でdatashader.utils.lnglat_to_meters()を使用できます。詳細はdocstringを参照してください。物事が投影されていたら、あなたの例では、正常に動作します:

screenshot

+0

すべては、この機能で働きました。あなたに感謝します! –

関連する問題