问题标签 [geoviews]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-colaboratory - 在 Google Colaboratory Notebook 上使用 Geoviews 绘制 Xarray 图像
我正在尝试从 Google Colaboratory 上的此链接复制代码,但我的 Colab Notebook 因我不明白的原因而崩溃。是否有可能让它正常工作?
openstreetmap - 使用全息视图放大时,如何让 plottetd 点保持相同大小?
我正在使用 python 中的全息视图在地图上绘制点,即使放大,我也希望绘制的点保持相同的大小。我正在使用散景扩展。
我发现这篇文章解决了散景问题,这是一个链接。但到目前为止,我还没有找到全息视图的解决方案。
这是一些示例代码:
python - 如何将等值线地图与 Python 中的阴影栅格相结合?
我想在地图上绘制区域的特征,但人口密度非常不均匀,较大的瓷砖会误导性地吸引注意力。想想邮政编码的平均值(比如考试成绩)。
高分辨率地图可用于区分有人居住的地区,甚至是其中的密度。下面的 Python 代码确实根据每个像素的平均密度生成了一个彩色栅格。
但是,我真正需要的是从同一区域的等值线地图(在这种情况下为匈牙利的邮政编码)着色,但着色只影响无论如何都会出现在栅格上的点。光栅只能确定像素的伽玛(或者可能是某些 3D 模拟中的高度)。什么是解决这个问题的好方法?
不知rasterio.mask.mask
何故?
(顺便说一句,带有邮政编码边界的叠加层也很好,但我对如何使用它有更好的理解GeoViews
。)
python-3.x - 如何使用 gv.Polygons 而不是 gv.Shape 成功绘制 Choropleth
- 进一步测试后更新 20/02/20:
我还有 2 个其他 shapefile(一个用于英国邮政编码区,一个用于 Parl 选区)。与这些一起使用 gv.Shape 时,我不需要设置用于成功绘制的投影,这与我在原始帖子中讨论的不同。我还可以使用 gv.Polygons 成功地为这些生成 choropleths:
当我检查这些使用的投影时{'init': 'epsg:4326'}
,我更改了 lad19 shapefile 上的投影以匹配:
gdf = gdf.to_crs(epsg=4326)
但是,当我尝试使用 gv.Polygons 生成 choropleth 时,它失败并出现与我之前记录的第一个错误相同的错误。
这感觉就像我接近解决方案一样,有人有什么建议吗?
- 原始开始:
我已经下载了这个英国 shapefile: https ://geoportal.statistics.gov.uk/datasets/local-authority-districts-december-2019-boundaries-uk-buc
我可以使用以下代码( gv.Shape 方法)成功创建交互式 UK Choropleth :
我的问题是我想转向更具交互性的绘图,即用户在左侧的地图上选择一个多边形,并在右侧为给定的多边形/地方当局区域显示一个表格和/或其他一些绘图: http://holoviews.org/gallery/demos/bokeh/choropleth_data_link.html
为此,我必须从使用 gv.Shape 切换到 gv.Polygons,无论我尝试什么,我都无法让它成功工作。
不成功的 gv.Polygons 方法:
我在这里检查了https://spatialreference.org/ref/epsg/osgb-1936-british-national-grid/这似乎是所需的投影,即 OSGB。
所以我认为我可能必须明确设置 kdims:
这给了我一个与以前非常相似的错误。
通过阅读这些错误消息链接中的用户指南,它说“表格数据具有固定的列标题列表,其值存储在任意长的行列表中。电子表格、关系数据库、CSV 文件和许多其他典型数据源自然适合变成这种格式。”
我尝试使用从 csv 和羽毛格式的 shapefile 和 demo_file 创建的 gdf 进行此操作,但均未成功。
我尝试的最后一件事是将 gdf 与 demo_file df 合并,然后尝试再次绘制等值线:
但正如你所看到的,我又遇到了同样的错误。
有趣的一点是,当我检查在合并的 finalgdf 上使用的投影时,它返回为 NoneType:
所以我将它设置为 OSGB:
然后重复了我上次的情节尝试,但是我又遇到了同样的错误:
我完全输了。谁能帮助我使用 gv.Polygons 而不是 gv.Shape 成功地重新创建我的英国等值线?
如果做不到这一点,如果有一种方法可以按照http://holoviews.org/gallery/demos/bokeh/choropleth_data_link.html将我使用 gv.Shape 生成的 choropleth 成功链接到数据表和/或其他图,那么那将是伟大的。我也尝试过但也未能成功。
谢谢
我正在使用 OSX (10.15.2 (19C57))、firefox 74.0 (64-bit) 并且我正在使用 Jupyter Notebook
软件版本:(试图包括相关的,因为这里不能全部适合它们 - 如果我遗漏了任何让我知道,我会添加它们)
python-3.x - 使用 OSGB 投影时的 gv.Polygons DataError
我有 2 个英国的 shapefile:
使用 WGS 84 投影的 shapefile,我可以使用 gv.Polygons 成功绘制我的等值线:
但是,如果我使用 OSGB 投影使用 shapefile,则会出现错误:
我尝试转换使用的投影,但是当我再次尝试运行 gv.Polygons 时又遇到了同样的错误:
请注意,我可以使用 gv.Shape 成功地为这两个 shapefile 绘制等值线。使用 gv.Shape 的唯一区别是使用 shapefile 1 我不需要指定使用的投影,而使用 shapefile 2 我必须指定crs=ccrs.OSGB()
.
有谁知道这里发生了什么?
谢谢
Shapefile 下载链接:
形状文件 1:
形状文件 2:
pandas - GeoViews 保存的内联 HTML 文件非常大
我使用 geopandas 和 geoviews 的组合创建了地理数据框。我正在使用的库如下:
我已经连接了 3 个 shapefile 来构建英国医疗保健边界的多边形图片(如果需要,可以链接到提供的文件)。不幸的是,据我发现,英国并没有产生一个结合所有这些的文件,因此不得不合并来自我感兴趣的 3 个单独国家的形状文件。这 3 个形状文件的大小为:
形状文件 1 = 5mb ( https://www.opendatani.gov.uk/dataset/department-of-health-trust-boundaries )
形状文件 2 = 204kb ( https://geoportal.statistics.gov.uk/datasets/5252644ec26e4bffadf9d3661eef4826_4 )
形状文件 3 = 22kb ( https://data.gov.uk/dataset/31ab16a2-22da-40d5-b5f0-625bafd76389/local-health-boards-december-2016-ultra-generalised-clipped-boundaries-in-wales )
我已成功合并它们以构建我正在寻找使用的图片:
但是,我想将这些图表包含在一个可共享的 html 文件中。我遇到的问题是,当我使用以下方法保存 HTML 时:
我生成了一个显示图表的 html 文件,但大小为 80mb,太大了,特别是如果我想在同一个 html 中包含更多多边形图表和其他图表。
有谁知道一种更有效的方法,从内存的角度来看,我可以将我的多边形图存储在 HTML 文件中以供共享?
shapely - 从 shapefile 显示多边形的 geoviews/geopandas/shapely 问题
我正在尝试将表示 Coast Redwoods 范围的 shapefile 覆盖到我在geoviews中处理的其他一些数据上。我可以使用 cartopy 和 matplotlib 成功绘制数据。GeoPandas 读取 shapefile,但将 GeoDataFrame 或单个形状多边形传递给 gv.Shape(如“Shape”下的 geoviews用户指南中)始终导致
我不确定问题出在 Shapely 还是 Geoviews 中。我怀疑 geoviews 因为 geopandas 能够重新投影和绘制多边形。
我已经放了一个笔记本来演示这个问题并提供了 shapefile。
非常感谢任何帮助或想法。
python - 从数组绘制到 geoviews/holoviews。需要转换为 xarray 吗?
首先,如果有人有一个很好的教程的链接,可以使用geoviews或holoviews创建colomaps并将其传输到仪表板,请发送链接。我试图模仿他们在此处视频中的时间戳所做的事情。除了他们网站上的几个例子之外,也很难找到好的地理视图文档,所以指向完整文档会很棒。
无论如何,我认为我有一个非常基本的情节。它是 y 的 xa 网格和 az 值的网格。我想在geoviews中绘制这个。它基本上包含来自 GPS 站的插值运动,我想制作 z 值的颜色图。我可以用 matplotlib 用一个简单的方法很容易地绘制这个
但是试图将它放入geoviews会产生一个非常时髦的数据框。
运行print(np.shape(mesh_x),np.shape(mesh_y), np.shape(z1))
显示所有这些的形状都是 (41,348)。如果我尝试将它们放入一个数组中, a = np.array((mesh_x,mesh_y,z1))
我会得到一个形状为 (3,41,348) 的数组,如预期的那样。从这里我真的只是在猜测该怎么做。当我尝试将其放入 geoviews 点数据框时
points = [a[0], a[1], a[2]]
df = gv.Points(points)
df.dframe()
然后运行df.dframe()
它显示两列,经度和纬度的值不正确,这是它显示的屏幕截图,如果它有帮助
我曾尝试转换为 xarray,因为它似乎在 geoviews 网站上显示的所有示例中都是首选,但它看起来也很时髦。当我尝试时,xrtest = xr.DataArray((mesh_x,mesh_y,z1))
我得到一个看起来像这样的 xarray
在这一点上,我不知道该怎么做。我尝试了几种不同的方法,虽然我可能会工作,但我不记得所有这些方法。这就是我现在的位置。我确定我做错了什么,我只是不知道如何正确地做。谢谢
python - geoviews 数据集在覆盖 holoviews 平铺源时将纬度/经度转换为小数
我有一个 geoviews 数据集,我终于开始工作了。它是一组 GPS 站的纬度、经度和速度,在它们之间进行插值。这些值位于规则网格上。
我按照 https://geoviews.org/user_guide/Gridded_Datasets_II.html中的示例创建了一个集合,如下所示
当我调用 ensemble 时,我得到一个带有正确 lat 和 lon 值的热图,如下所示 注意 lats 和 lon 在这里是正确的。现在我将再次运行上面显示的被注释掉的行。这是输出
我已经尝试过使用不同的瓷砖来源,希望可以解决它。我还尝试覆盖地理视图功能,例如海岸线(gf.coastline()),当我运行时出现错误TypeError: range() got an unexpected keyword argument 'dimension_range'
我真的很想喜欢这个包,它看起来像一个强大的包,但我很难让事情正常工作。我还将为其他能够创建热图并在其下显示底图的软件包提供建议。最好具有内置缩放功能。
谢谢
python - 创建 Geoviews quadmesh 时出错:没有可用的存储后端能够支持提供的数据格式
我正在使用 Geoviews 和 Python 来绘制田野中的杂草。我想使用四边形来可视化我们的数据,类似于geoviews 网站上的示例。我有以下代码:
运行代码会产生以下错误:
在将数据读入 Geoviews 数据集之前,我曾尝试将数据转换为 XArray 数据集而不是 pandas 字典,但这会产生相同的错误。