问题标签 [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.
geopandas - Geoview和geopandas groupby投影错误
我在地理数据框上的 groupby 之后遇到投影错误。您将在下面找到我正在使用的库:
虽然这些是一些关键库的版本: bokeh 2.1.1 geopandas 0.6.1 geoviews 1.8.1 holoviews 1.13.3
我已经连接了 3 个 shapefile 来构建英国医疗保健边界的多边形图片(如果需要,可以链接到提供的文件)。不幸的是,据我发现,英国并没有产生一个结合所有这些的文件,因此不得不合并来自我感兴趣的 3 个单独国家的形状文件。这 3 个形状文件的大小为:
形状文件 1 = ( https://www.opendatani.gov.uk/dataset/department-of-health-trust-boundaries )
形状文件 2 = ( https://geoportal.statistics.gov.uk/datasets/5252644ec26e4bffadf9d3661eef4826_4 )
我将它们连接在一起的代码如下:
一旦加入,每个文件都具有相同的 esri 投影,并且当我运行时,形状完美地绘制为一个:
这给了我一个英国的多边形图,每个 ccg 的所有区域边界。
然后,我在我的地理数据框中添加了一个名为“Country”的新列,它将每个 CCG 归属于它们所属的任何国家。因此,所有威尔士 CCG 都归于威尔士,所有英国 CCG 归于英格兰,所有苏格兰 CCG 归于苏格兰。只是对数据进行简单的附加分组。
我想要实现的是在我正在制作的多边形地图旁边有一个下拉菜单,当从下拉小部件中选择它时,它将显示特定国家/地区的所有 CCG。我知道这样做的方法是通过 groupby。但是,当我使用以下代码来实现这一点时:
我得到一长串投影错误,说明:
“警告:param.project_path:将多边形元素从 PlateCarree 坐标参考系 (crs) 投影到墨卡托投影时,没有任何投影路径包含在投影指定的范围内。确保您为数据指定了正确的坐标系。”</p>
我没有地图,但我保留了小部件。有谁知道这里出了什么问题以及可能的解决方案是什么?它让我发疯!
亲切的问候,
matplotlib - 如何使用地理视图缩放正交投影?
我知道使用 matplotlib 我可以用类似的东西放大正交投影:
我如何使用 hvplot / Geoviews / Holoviews 做到这一点?我发现的所有例子都没有放大这个特定的投影,
实际例子:
谢谢
python - 在 hv.Layout 或面板 Row,Column,Gridspec 中包含的各个绘图上设置独立缩放级别
摘要版本:
我有 2 个使用 holoviewsstreams.Selection1D
和DynamicMap
. 当单独绘制时,它们可以设置不同的缩放级别(第二个图是第一个图的放大版本)。但是,当我在布局中并排绘制它们时,我无法在每个图上设置独立的缩放级别。如何生成一个布局,其中两个包含的地图处于不同的缩放级别但它们仍然共享它们的轴?
通过进一步调查,此问题似乎适用于全息视图布局和面板行、列和网格规范。本质上,当我使用其中一种机制来呈现我的两个绘图时,我在绘图级别设置的任何选项都会被布局、行等覆盖。
完整版: 我有 2 个合唱团:
1. 英国地图。多边形是地方当局区。引脚是商店位置。
当您单击特定的商店位置图钉时,它应该会生成此地图的附加放大版本:
2.商店特定的放大地图:
当我分别绘制 2 个等值线时,它们具有上述所需的缩放级别。
但是,如果我将两个图链接在一起并使用布局并排显示两个地图(左侧为完整的英国地图,右侧放大了商店特定地图),则右侧放大的图实际上并没有缩放。相反,它与完整的英国地图保持在相同的缩放级别(抱歉,在这里我不得不显示一个在另一个之上而不是从左到右的图):
我尝试按照此处所述手动设置正确地图的缩放:https ://github.com/holoviz/geoviews/issues/340
这成功地将我的右侧地图的缩放设置为所需的级别,但不幸的是它也将整个英国地图放大了相同的数量。
我还尝试为两个图设置缩放级别(使用英国的 total_bounds 左图),但这只会产生与不为任一图设置缩放级别相同的结果。
我还尝试shared_axes=False
在布局上进行设置。这具有为我的左右等值线具有两个单独的缩放级别的理想结果。但是,现在由于轴不再链接,虽然单击英国地图确实会在右侧生成正确的放大地图,但右侧地图不会移动到每个引脚选择的新位置。您必须手动平移到新位置。
如何生成全息视图布局或面板行、列或网格规范,其中两个包含的地图处于不同的缩放级别但它们仍然共享它们的轴?
谢谢
python - 生成缓冲区半径多边形 - 可能的投影问题
我创建了一个带有 Pointsgeometry
列的 GeoDataFrame:
1. 创建df
2. 创建gdf
自df
3.重投影到使用米的CRS并计算buffer_radius
每个Point周围10KM
4.将几何列更改为新buffer_radius
列
上述过程似乎生成了我想要的 GeoDataFrame ,其中包含gdf
一个名为 Polygons 的新“几何”列buffer_radius
。
然后我想绘制这些新创建的多边形,所以首先我转换了buffer_radius
列的 CRS:
5.重新投影到允许我制作情节的CRS:
6. 制作最终情节:
然后我尝试绘制多边形,但它返回了一个空图:
我的情节返回空的事实让我想知道这是否是一个可能的投影问题?
有谁知道我在这里做错了什么?任何想法或指示将不胜感激。
谢谢
python - 使用 geoviews 时无法导入 matplotlib 后端
我正在尝试从 Geoviews 主页 ( https://geoviews.org/index.html ) 运行示例。但是,我不能使用 matplotlib 后端来绘制曲面。我不断收到此错误:
警告:param.notebook_extension:Holoviews matplotlib 扩展无法导入,它引发了以下异常:ImportError('cannot import name 'rc_params_from_file' from 'matplotlib' (unknown location)') WARNING:param.notebook_extension: matplotlib backend hook <function _load_mpl at 0x00000224D63544C8> 失败,出现以下异常:没有名为“matplotlib.ticker”的模块
我已经尝试过重新安装 matplotlib、geoviews 和 holoviews。
我正在使用 Windows 10 中的 Jupyter Notebooks 运行代码。有什么想法吗?
bokeh - 如何为地理视图(散景)创建自定义颜色图?
我正在尝试在 Geoviews 中绘制一个 xarray 数据集,如下所示:
https://geoviews.org/gallery/bokeh/xarray_image.html#bokeh-gallery-xarray-image
在那里我可以通过 cmap 定义颜色图。
cmap 只是一个十六进制代码列表,例如:
['#150b00','#9b4e00','#f07800','#ffa448','#a8a800','#dddd00','#ffff00','#ffffb3','#ffffff','#b0ffff' , '#00e8e8', '#00bfbf', '#008a8a', '#79bcff', '#0683ff', '#0000c1', '#000048']
我想为这些颜色定义值的级别,比如这个列表:
[-10.0, -5.0, -2.5, -1.0, -0.5, -0.2, -0.1, -0.05, 0.05, 0.1, 0.2, 0.5, 1.0, 2.5, 5.0, 10.0]
如何定义这些级别?
python - 自定义多边形未在 Geoviews 中绘制
我正在尝试在 Geoviews 中绘制自定义多边形。我希望多边形以 10 度的纬度增量跨越地球。我创建的多边形使用以下代码:
但是,当我尝试在 Geoviews 上绘制此图时,出现错误。我的代码是:
我收到的错误是:
我有一个具有类似设置的 shapefile(有 2 列、区域和几何),并且代码可以使用它。但是,当我尝试使用自定义多边形时,会出现上述错误。我尝试构建多边形以绘制它的方式有什么问题吗?链接到带有多边形的全局 shapefile 的加分点,所以我可以完全绕过它:)
如果需要更多上下文,这是我的存储库的链接,或者如果我能澄清任何事情,我很乐意编辑我的问题。https://github.com/JSLifeform/Ocean-Temperature-Comparisons/tree/broken
folium - 使用folium Map作为holoviews DynamicMap
我有一个folium.Map
包含带有可点击 URL 的自定义 HTML 弹出窗口。单击地图的多边形时会打开这些弹出窗口。这是一个似乎无法使用holoviews
.
我想用 holoviews/geoviews 构建的最终应用程序的理想示例是这里的源代码,但我想用我的 folium Map 交换主地图并绘制多边形而不是光栅化点。现在,当我想holoviews.DynamicMap
从 folium.Map 创建时,holoviews(当然)抱怨数据类型“map”不被接受。这在某种程度上仍然可能吗?我在 GitHub 上找到了一些笔记本,其中全息视图使用一种可再次写入和读取 HTML 的变通方法嵌入到 folium 地图中,但似乎不可能将 folium 地图嵌入到全息视图中,以便可以使用 Streams 从该图中更新其他图!?
这是我使用的数据集的一些玩具数据(来自这里)。为简单起见,假设我只有点数据而不是多边形:
如果我理解正确,现在需要以它可以作为第一个参数传递给 holoviews.DynamicMap 的方式进行调整:
哪里my_streams
还有其他一些应该随着叶图的范围更新的地块。这是可能的还是我的策略错误?
bokeh - 使散景的自定义 TapTool 为全息视图工作
我想TapTool
在单击每个holoviews.Polygons
. 在散景中如何工作的一个完美示例是点数据的散景文档。但是,当我尝试在全息视图中使用它时,它似乎不起作用。我能做的最接近的事情是:
该图显示得很好,并且 URL 打开的触发工作正常,但是“@domain”的解析不起作用并且 URL 是“google.???” 这里有什么问题?