正交投影 Python

2023-12-26

我使用正交投影来绘制地图。 我使用这个程序:

from mpl_toolkits.basemap import Basemap
import numpy as np    
import matplotlib.pyplot as plt   
import os, sys    
from sys import argv   
import pylab    
from mpl_toolkits.basemap import Basemap, shiftgrid    
from matplotlib import mpl     
from matplotlib import rcParams    
import matplotlib.pyplot as plt    
import matplotlib.mlab as mlab    
import matplotlib.patches as patches    
import matplotlib.path as path    
import matplotlib.dates as dt    
from numpy import linalg    
import netCDF4    
import time    
import datetime as d   
import sys    
import math    
from mpl_toolkits.axes_grid1 import make_axes_locatable   
from pylab import *


nc = netCDF4.Dataset ('tt.nc')    
latvar = nc.variables['lat']    
lat = latvar[:]    
lon = nc.variables['lon'][:]    
lat_0=30;lon_0=-25    
m1 = Basemap(projection='ortho',lon_0=-25,lat_0=30,resolution='l')    
m = Basemap(projection='ortho',lon_0=lon_0,lat_0=lat_0,resolution='l',\
    llcrnrx=0.,llcrnry=0.,urcrnrx=m1.urcrnrx/2.,urcrnry=m1.urcrnry/2.)

X, Y = m(lon, lat)    
O_x_1=nc.variables['O3']   
h=9    
lev=0    
minOzone=0    
maxOzone=40    
plotOzone = m.pcolor(X,Y,O_x_1[h,lev,:,:],vmin=minOzone,vmax=maxOzone)
ax=colorbar(plotOzone, shrink=0.8,norm=(0,40))    
m.drawcoastlines()   
m.drawparallels(np.arange(-90.,120.,30.))    
m.drawmeridians(np.arange(0.,420.,60.))    
plt.show()

我需要做什么才能使地图居中 关于欧洲?

我已经玩过 lat_0 和 lon_0 但那没有 给我想要的...

我无法添加数字来显示我获得的结果 我想要什么...

谢谢你!


lat_0 和 lon_0 用于设置投影的原点,而不是地图的范围。通常是扭曲最少的地方,因此您不希望原点偏离您感兴趣区域的中心太多。如果您不指定范围,底图将自动将地图以原点为中心居中。

如果您知道要使用的范围(或边界框),则可以将地图居中(不同于其原点)。如果您知道“正交”投影中的角坐标,则可以使用示例中的关键字(llcrnrx 等)。我对底图 1.0.6 中的“llcrnrlon”关键字没有运气,它们似乎建议您可以输入地理范围的坐标(纬度/经度)。

另一种方法是抓取轴并手动设置 x 和 y 限制。一个好处是,您可以在声明 Basemap 对象后执行此操作,然后将其用于坐标转换。一个例子:

from mpl_toolkits.basemap import Basemap

fig = plt.figure(figsize=(5,5))

m = Basemap(projection='ortho',lon_0=5,lat_0=35,resolution='l')

m.drawcoastlines()
m.drawparallels(np.arange(-90.,120.,15.))
m.drawmeridians(np.arange(0.,420.,30.))

# your extent in lat/lon (dec degrees)
ulx = -10
uly = 65
lrx = 65
lry = 35

# transform coordinates to map projection
xmin, ymin = m(ulx, lry)
xmax, ymax = m(lrx, uly)

# set the axes limits
ax = plt.gca()
ax.set_xlim(xmin, xmax)
ax.set_ylim(ymin, ymax)

确保地图声明中的投影适合您的需求,我刚刚选择了位于欧洲境内的原点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正交投影 Python 的相关文章

随机推荐

  • 如何在父窗口调整大小时调整 iframe 大小

    我不认为这不是另一个 根据内容高度调整 iframe 大小 的问题 我实际上想根据父窗口的大小调整动态调整 iframe 的大小 对于 JS Fiddle 粉丝 我有一个例子here http jsfiddle net MkJVJ 对于那些
  • 使 win32 控制台应用程序显示一个窗口

    我一直在开发一个 win32 控制台应用程序 现在我希望它能够选择显示非模式状态 通知窗口 有什么方法可以从控制台应用程序执行此操作 或者我需要将其重写为 Windows 应用程序吗 这是针对信息亭系统的 因此我需要使用窗口句柄上最上面的标
  • 如果使用 doIf 传递了上一个场景,Gattle 需要运行下一个场景

    我是 Scala 和加特林的新手 如果使用 doIf 通过了先前的场景 我需要运行 sceneio 我的代码是 Http请求 object CompanyProfileRequest val check company profile Ht
  • JFrame.getLocationOnScreen() 用于最小化窗口

    I call getLocationOnScreen http docs oracle com javase 6 docs api java awt Component html getLocationOnScreen 28 29 from
  • 我应该使用 Cygwin 安装哪些软件包才能使其不臃肿,同时又拥有我作为开发人员所需的一切? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 通常 我在虚拟机中运行 Linux 但是 我的大多数虚拟机都位于外部 HDD 上 我可能有也可能没有 我认为当我需要类似 Linux
  • 将结构成员 NAME 传递给 C 中的函数?

    有没有简单的方法可以将结构成员的名称传递给 C 中的函数 例如 如果我想实现这一点 我知道代码不正确 我只是为了解释问题而写的 struct Test int x int y int main struct Test t t x 5 t y
  • 如何修复深色模式无法跨多个 html 页面保留的问题?

    这是我上一个问题的后续问题 可以在这里找到如何实现将暗 亮模式功能保存到本地存储 https stackoverflow com questions 74764851 how do i implement the saving of dar
  • 为什么 getUserMedia() 在 chrome 中显示权限被拒绝错误

    我正在使用 getUserMedia 在 Node js 和 Angular 项目 MEAN 中进行视频流 我的
  • 停止过滤WordPress函数wp_insert_post

    我必须对 WordPress 构建的网站进行一些小的更改 并且我遇到了 wp insert content 函数的一些问题 该函数对输入进行清理 完全删除一些 HTML 标签 例如 并删除其他标签的属性 我想关掉它 我到处都能找到链接htt
  • 如何设置TextView的文本?

    我面临将文本设置为的问题TextView在android中我的代码是 public class Main extends Activity Override public void onCreate Bundle savedInstance
  • MatTableDataSource:无法读取未定义的属性“长度”

    我在使用角度材料数据表时遇到以下错误 我可以从 api 获取数据 但无法在视图中呈现它 Error 错误图像 https i stack imgur com CjT7x jpg TS dataSource new MatTableDataS
  • 如何在 .NET 中克隆字典?

    我知道我们应该使用字典而不是哈希表 但我找不到克隆字典的方法 即使我将其转换为 ICollection 来获取 SyncRoot 我知道这也是不受欢迎的 我现在正忙着改变这一点 我是否有正确的假设 即无法以通用方式实现任何类型的克隆 这就是
  • Ruby 中非常便宜的命令行选项解析

    编辑 请 please please在回复之前请阅读本文底部列出的两个要求 人们不断发布他们的新宝石和库等等 这显然不符合要求 有时我想以非常便宜的方式将一些命令行选项修改为一个简单的脚本 一种有趣的方法是 无需处理 getopts 或解析
  • 如何为使用 Vuex 存储的 Vue 表单组件编写 Jest 单元测试?

    我有一个登录表格 当我用数据填写登录表单并单击登录按钮时 表单数据 用户名 密码 被发送到服务器并得到响应 回 如果表单数据无效 则会显示一条消息
  • 在 Rails 中显示两个文本正文之间的差异

    有没有一种简单的方法可以做到这一点 创建标记文本来显示两段文本之间的更改 也许是一个内置的助手 看过但没找到 您可以使用 jsdifflib http snowtide com jsdifflib http snowtide com jsd
  • TabLayout高亮和波纹效果

    我对 TabLayout 有两个问题 1 我可以删除TabLayout突出显示或更改选项卡布局的突出显示颜色吗 2 我可以为选项卡添加涟漪效果吗 每个选项卡都包含 TextView 我尝试添加自定义背景 如下所示
  • 以编程方式更改 Gnome 终端主题

    我想在本地计算机 Ubuntu GNOME 上创建一个设置 终端窗口具有不同的背景颜色 具体取决于我是登录到本地计算机还是通过 ssh 连接到远程计算机 有没有办法做到这一点 这并不能满足您的要求 但它可能会满足您的要求 您可以修改您的 b
  • Material UI v1 - 设置表格列宽

    我想使用 css 在 Material UI 表上设置列宽 而不是在 React 中使用 类 但我不明白如何控制列宽 我尝试设置 TH 列的宽度 但它不起作用 参见示例 Material ui 表示例 https codesandbox i
  • 将 .RData 文件加载到 Python 中

    我有一堆 RData 时间序列文件 希望将它们直接加载到 Python 中 而不需要先将文件转换为其他扩展名 例如 csv 关于实现这一目标的最佳方法有什么想法吗 对于那些不想安装 R 来完成此任务 r2py 需要它 的人来说 作为替代方案
  • 正交投影 Python

    我使用正交投影来绘制地图 我使用这个程序 from mpl toolkits basemap import Basemap import numpy as np import matplotlib pyplot as plt import