从上下文上讲,如何获得最大缩放比例并相应地设置地图范围

亚历克斯S1

使用Python 3.8,GeoPandas和Contexti,我在不同区域以不同的缩放级别(在GeoDataFrame中的点列表中循环)绘制了大量地图。不同的缩放级别适用于不同的全局区域。

将缩放比例设置为最大允许值(捕获我正在绘制的点)的最佳方法是什么?在下面的代码中,我不知道如何:

  1. 返回允许的最大缩放比例(我在第二个图中只使用了13个,因为那是错误消息)
  2. 更改第二个图的范围-第二个图的范围与第一个图的范围相同;我本来希望更改缩放级别会改变范围

我想我已经正确设置了EPSG,这是这里回答类似问题的要点

码:

import pandas as pd
import geopandas as gpd
%matplotlib inline 
import matplotlib.pyplot as plt
import contextily as ctx
from shapely.geometry import Point
plt.style.use('seaborn-whitegrid')

long, lat = [(-118.02, -118.051, -118.04), (39.499, 39.512, 39.501)]
df = pd.DataFrame(list(zip(lat, long)), columns =['lat', 'long'])
gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df['long'], df['lat']))
gdf.crs = "EPSG:4326"

fig = plt.figure(figsize=(10,7.5), constrained_layout=True)
gs = fig.add_gridspec(1, 2)
ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])

gdf.plot(ax = ax1)
ctx.add_basemap(ax1, crs='epsg:4326', source=ctx.providers.Esri.WorldShadedRelief)
ax1.tick_params('x', labelrotation=90)
ax1.set_aspect('equal')
ax1.set_title('Auto-Zoom')

gdf.plot(ax = ax2)
ctx.add_basemap(ax2, crs='epsg:4326', source=ctx.providers.Esri.WorldShadedRelief, zoom = 13)
ax2.tick_params('x', labelrotation=90)
ax2.set_aspect('equal')
ax2.set_title('Defined Zoom')

在此处输入图片说明

斯沃琪

正如询问者所证实的那样。新增选项reset_extent=Falsectx.add_basemap(ax2, ... )将解决绘图上的问题ax2

用于在实际使用之前检查可能的缩放值。用这个

# Test if zoom: 28 is valid or not?
retval = ctx.tile._validate_zoom(28, ctx.providers.Esri.WorldShadedRelief, auto=True)

返回值,此处retval表示有效的缩放值(小于或等于检查值)。在这种情况下,28用于检查但13被返回。因此13表示该特定底图图块图像的最大有效缩放。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从上下文设置用户字段值?

来自分类Dev

如何从上下文获取FREContext?

来自分类Dev

如何重置画布上下文的比例?

来自分类Dev

如何设置Angular 2和Webpack项目以从上下文路径检索图像?

来自分类Dev

在Angular中设置上下文范围

来自分类Dev

如何从上下文菜单在文件上运行PowerShell脚本?

来自分类Dev

如何从上下文菜单(在音频文件上)运行poweshell脚本?

来自分类Dev

如何从上下文菜单中删除重复的元素?

来自分类Dev

如何从上下文中获取片段对象

来自分类Dev

如何从上下文中获取应用程序

来自分类Dev

如何从上下文菜单中删除重复的元素?

来自分类Dev

Hybris:如何从上下文中获取枚举的名称?

来自分类Dev

从上下文中获取活动?

来自分类Dev

无法从上下文访问请求

来自分类Dev

地图查看器从上下文代理实例检索POI

来自分类Dev

从上下文菜单中打开后无法最大化cygwin

来自分类Dev

如何缩放到画布的中心,而不是上下文的中心

来自分类Dev

如何在图块服务器上设置最大缩放比例?

来自分类Dev

在基于Django类的视图中从上下文数据设置初始formfield值

来自分类Dev

Django从上下文设置自动用户,用户字段不为空,JWT

来自分类Dev

在基于Django类的视图中从上下文数据设置初始formfield值

来自分类Dev

Scala上下文范围

来自分类Dev

如果调用方法然后对结果执行.Where(),如何执行“从上下文中的tbl返回(从上下文中的[表名]选择tbl]”)?

来自分类Dev

如何最好地实例化执行上下文?

来自分类Dev

如何在当前上下文中设置跨度上下文?

来自分类Dev

如何在Robolectric 3中获得上下文

来自分类Dev

如何获得该语言的上下文无关语法?

来自分类Dev

如何获得画布上下文的框尺寸?

来自分类Dev

如何在Javascript中获得对象的正确上下文

Related 相关文章

  1. 1

    如何从上下文设置用户字段值?

  2. 2

    如何从上下文获取FREContext?

  3. 3

    如何重置画布上下文的比例?

  4. 4

    如何设置Angular 2和Webpack项目以从上下文路径检索图像?

  5. 5

    在Angular中设置上下文范围

  6. 6

    如何从上下文菜单在文件上运行PowerShell脚本?

  7. 7

    如何从上下文菜单(在音频文件上)运行poweshell脚本?

  8. 8

    如何从上下文菜单中删除重复的元素?

  9. 9

    如何从上下文中获取片段对象

  10. 10

    如何从上下文中获取应用程序

  11. 11

    如何从上下文菜单中删除重复的元素?

  12. 12

    Hybris:如何从上下文中获取枚举的名称?

  13. 13

    从上下文中获取活动?

  14. 14

    无法从上下文访问请求

  15. 15

    地图查看器从上下文代理实例检索POI

  16. 16

    从上下文菜单中打开后无法最大化cygwin

  17. 17

    如何缩放到画布的中心,而不是上下文的中心

  18. 18

    如何在图块服务器上设置最大缩放比例?

  19. 19

    在基于Django类的视图中从上下文数据设置初始formfield值

  20. 20

    Django从上下文设置自动用户,用户字段不为空,JWT

  21. 21

    在基于Django类的视图中从上下文数据设置初始formfield值

  22. 22

    Scala上下文范围

  23. 23

    如果调用方法然后对结果执行.Where(),如何执行“从上下文中的tbl返回(从上下文中的[表名]选择tbl]”)?

  24. 24

    如何最好地实例化执行上下文?

  25. 25

    如何在当前上下文中设置跨度上下文?

  26. 26

    如何在Robolectric 3中获得上下文

  27. 27

    如何获得该语言的上下文无关语法?

  28. 28

    如何获得画布上下文的框尺寸?

  29. 29

    如何在Javascript中获得对象的正确上下文

热门标签

归档