Отображение пути Linestrings в GeoViews
Я пытаюсь визуализировать некоторые LINESTRINGS в блокноте Jupyter, используя объект Path в Goeviews. Путь должен иметь цветовую кодировку по объему трафика (см. Пример ниже). Я прочитал соответствующий пост Отображение путей с Geoviews, и данный пример работал для меня.
Тем не менее, окраска, кажется, не работает для Linestrings. Я что-то пропустил? Любая помощь высоко ценится!
import requests
import geopandas as gpd
import json
import holoviews as hv
import geoviews as gv
hv.extension('bokeh')
url = 'http://stadtplan.bonn.de/geojson?Thema=19584'
r = requests.get(url)
data = r.json()
gdf_traffic = gpd.GeoDataFrame.from_features(data['features'])
gdf_traffic.head(1)
#'geschwindigkeit' = 'traffic' in German
%%opts Path [width=500 height=500 color_index="geschwindigkeit"] (cmap='inferno')
gv.Path(gdf_traffic, vdims=["geschwindigkeit"])
2 ответа
Имея аналогичную проблему, я в конечном итоге использовалhvplot
:
gdf_traffic.set_geometry("geometry").hvplot(
by = "geschwindigkeit",
tiles = "CartoLight",
legend_position = "top_left"
)
Вам нужно будетimport hvplot.pandas
до создания кадра геоданных .
Я не уверен, почему записи отсутствуют в легенде, еще не разбирался. Не знаю, как изменить цветовую карту, похоже, на github HoloViz есть соответствующие отчеты об ошибках .
Если кто-то все еще хочет знать, как раскрасить LineStrings, это работает для меня:
gv.Path(gdf_traffic, vdims["geschwindigkeit"]).opts(opts.Path(color="yellow",line_width=2))