Импорт данных высот в geoviews/holoviews (формат данных)

Как импортировать другие растровые форматы в geoviews/holoviews, кроме файлов netCDF, показанных в руководствах? Например, я хочу импортировать файл ESRI .bil и обернуть его в изображение geoviews, но он импортируется неправильно. Есть ли способ сделать это, я пропускаю шаг?

В конечном счете, я хочу иметь возможность проецировать точечные данные на растровое изображение в правильных широтных и длинных позициях для извлечения данных, но я не могу получить точки, спроецированные в правильных позициях.

from cartopy import crs
import holoviews as hv
import xarray as xr
import geoviews as gv
import pandas as pd
from osgeo import gdal



kdims = ['easting', 'northing']
vdims = ['elevation']
xr_raster = gv.Dataset(DEM, kdims=kdims, vdims=vdims, crs=crs.PlateCarree())

image = gv.Image(xr_raster, crs=crs.PlateCarree()) (style={'cmap':'inferno'})

image

Это обеспечивает эту ошибку: TypeError: shape() получил неожиданный аргумент ключевого слова 'gridded'

import iris
iris_raster = iris.load_cube('/path/to/raster.bil')

Это ошибки как: ValueError: Не удалось найти спецификацию формата для данного буфера.

Мне удалось только импортировать данные, используя gdal, и затем отобразить их как растр Holoviews или изображение Geoviews:

Test = gdal.Open(Data_path + "DEM.bil")
DEM = Test.ReadAsArray()

hv.notebook_extension()
%opts Raster [xrotation=20] Points (color='r')[xrotation=20]

#Import point data
df = pd.read_csv(path+name)
stream_dataset = gv.Dataset(df, kdims=['x', 'y'], vdims=['elevation', 'chi', 'flow_distance'])
stream = hv.Points(stream_dataset)

#Import raster
raster = hv.Raster(DEM)(style={'cmap':'inferno'}) 
image = gv.Image(DEM, crs=crs.PlateCarree()) (style={'cmap':'inferno'})

raster + stream + image

Это результат:

Результаты

0 ответов

Другие вопросы по тегам