Holoviews в сочетании с geoviews.tile_sources вызывает ошибку масштаба оси - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь объединить слой geoviews.tile_sources со слоем datashade. Оба слоя по отдельности приводят к правильной оси (см. Изображение), но при объединении (используя *) масштаб искажается.

import numpy as np
import pandas as pd
import holoviews as hv
from geoviews.tile_sources import EsriImagery
from holoviews.operation.datashader import datashade

hv.extension('bokeh')

lats = np.random.uniform(51.111, 51.222, 10000)
longs = np.random.uniform(1.31, 1.33, 10000)

df = pd.DataFrame({"latitude": lats, "longitude": longs})

points = hv.Points(df, ['longitude', 'latitude'])
shader = datashade(points)

EsriImagery * shader

Incorrect axis

Тем не менее, оба отдельных графика правильны:

shader + EsriImagery

enter image description here

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Вы пытаетесь объединить объект HoloViews в координатах PlateCarree с объектом GeoViews в координатах Web Mercator, которые отличаются в несколько миллионов раз.Вы можете исправить это, изменив hv.Points () на gv.Points (), который будет объектом GeoViews в координатах PlateCaree, которые GeoView будут проецировать в ту же систему координат, что и слой листов при его отображении.Вы также можете рассмотреть возможность использования gv.project_points () для проецирования одного раза в начале, а не по умолчанию для повторного проецирования при каждом его отображении.

0 голосов
/ 15 ноября 2018

Элементы HoloViews ничего не знают о системе координат ваших данных, в то время как источники листов определены в системе координат Mercator.Поэтому, когда вы накладываете hv.Points поверх источника плитки, предполагается, что ваши координаты уже находятся в координатах Mercator.Поэтому для наложения данных, находящихся в разных системах координат, следует использовать элементы GeoViews, например, в вашем случае gv.Points, как описано в данном руководстве пользователя .Это гарантирует, что ваши точки будут правильно интерпретированы как пары широта / долгота и могут автоматически проецироваться в ту же систему координат, что и источник плитки.

...