问题标签 [contextily]
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 - 上下文底图匹配问题
我正在尝试在 python 中使用上下文在底图上绘制一组点。我有以下由 shapely.geometry 生成的点对象,先长,然后是纬度。
0 点 (-122.44040676 37.7452892821)
1 点 (-122.432337016 37.7814273807)
2 点 (-122.409302275 37.7923551768)
3 点 (-122.446989285 37.7963790178)
4 点 (-122.412922159 37.8076612624)
然后我将其转换为 geopandas 数据并习惯于跟随绘制它。
我将 crs 设置为geo_df = geo_df.to_crs(epsg=3857)
. 问题是我可以看到这些点,但底图显示不正确。似乎它只是在海洋中间展示它们。我怀疑底图有不同的 crs,或者我的 crs 中可能存在问题。有人对此有想法吗?这是具有更多点的完整图像。
zooming - 根据上下文,如何获得允许的最大缩放并相应地设置地图范围
使用 Python 3.8、GeoPandas 和 Contextily,我在不同区域以不同的缩放级别绘制了许多地图(循环遍历 GeoDataFrame 中的点列表)。不同的缩放级别适用于不同的全局区域。
将缩放设置为允许的最大值,捕获我正在绘制的点的最佳方法是什么?在下面的代码中,我不知道如何:
- 返回允许的最大缩放(我在第二个图中只使用了 13,因为那是错误消息)
- 更改第二个地块的范围——第二个地块的范围与第一个相同;我本来希望改变缩放级别会改变范围
我想我已经正确设置了 EPSG,这是此处类似问题的答案的要点。
代码:
python - Contextily basemap is blank with point GeoDataFrame
I have a dataframe of individual addresses with lat/long that I converted to a GeoPandas dataframe. I set the projection to the Contextily EPSG:3857 projection.
All of these individuals are in the state of Georgia, so these points look correct to me. I confirmed with df.crs
that the EPSG is 3857. I'm trying to plot the points on a contextily plot, using:
Here is the resulting blank plot
I tried to follow the advice of other people who have had similar issues: Github issue, Stack Overflow issue by changing the source and zoom level but that hasn't resolved it.
python - matplotlib 设置轴限制不起作用
我试图在 matplotlib 中指定数字限制,但它们没有被强制执行。我在我的子图中设置了限制,我看到这些数字明显处于不同的程度,所以我打印了指定的和实际的限制以确认它们是不同的。
无论数据范围如何,如何强制数字限制?
当我为几个数据帧运行这个函数时,地图不在相同的范围内,也不在我指定的范围内。
它返回的限制与我指定的不同。我指定的在左边,实际在右边。
python - 根据上下文更改底图大小
我正在创建一个程序来映射我选择的邮政编码,然后根据某些条件应用颜色图。我遇到的问题是我希望生成的图像始终是特定尺寸。我正在使用来自https://www.suche-postleitzahl.org/downloads的数据。
目前,我正在从地理数据框中绘制我的邮政编码:
我正在使用上下文添加底图,如下所示:
我试过了
并且
这些会增加生成的邮政编码图的大小,但不会增加我的底图。
我想要的行为是调整底图的大小,但我在上下文文档中找不到任何方法来做到这一点。
python - 添加上下文底图时忽略绘图限制
正如标题所说,当我自己绘制一些 geopandas 数据时,绘图限制与我指定的完全一样,但是当我通过上下文(v1.1.0)添加底图时,图块的范围决定了底层图像的大小,并且情节限制成为图像的延伸。结果,我实际想要绘制的区域更小并且经常偏离中心(这很糟糕)。
其他人已经发布,他们通过使用 xlim 和 ylim 参数修复了范围内的类似问题,但这对我不起作用。
在我的特殊情况下,xMin 的值为 15,535,161,但该图向西延伸超过 15,530,000(小于 xMin)。
上下文文档说该选项reset_extent
具有[Default=True]
和If True, the extent of the basemap added is reset to the original extent (xlim, ylim) of ax
. 然而,这似乎是一个谎言,因为它没有发生。
您可以在我的代码片段中看到,我在绘图和底图之前和之后明确设置了 lims,这也没有效果。我希望它将绘图的可见部分裁剪到绘图范围内(就像我用于绘制地图的其他语言一样)。
所以,要么这在上下文中被打破,它实际上不应该做我正在寻找的(显然是想要的)裁剪,或者我做错了我找不到或弄清楚的事情。希望有人能发现问题并告诉我如何让这些地图图看起来应该如何。
请注意,当我将 imshow 命令更改为ax.imshow(basemap, extent=[xMin, xMax, yMin, yMax])
我的数据时,我的数据正确显示在绘图限制中,但底图没有改变,它们也没有对齐。
另请注意,如果我删除填充,我的数据会一直延伸到北、南和东侧的边缘,但地图会延伸到西边界上的相同(错误)位置。
python - 如何将底图添加到已使用 geopanda 和上下文屏蔽的 geotiff
我是 geopandas 和 rasterio 的新手。我已经设法用我的掩码 geotiff 数据绘制了一个图,并使用转换来获取轴上的正确坐标值。我现在想根据上下文添加底图,但我很挣扎。
到目前为止,这是我的代码...
我认为contexily可以做到这一点,但我在两个图书馆之间迷路了。你能帮忙吗?