cartopy绘制地图第七天python绘制浮雕图和比例尺pythonangs

本文使用python和cartopy绘制地形图,同时绘制了比例尺。

首先,上图是恭敬的。一些图例符号是错误的。请不要介意。随便表达

只有1:10和1:50的浮雕图,也就是第三个选项“格子”(别问我为什么是中国人,问我告诉你我是浏览器翻译的。)

只需单击并找到您需要下载的内容。反正我电脑里1:10最大的地图画不出来。错误报告显示地图太大。其他一切都很好。根据实际情况下载即可。

下载后是一个压缩包。解压得到XXXXXX TIF文件就好了。可以在代码目录中使用。

事实上,这并不难。我只是告诉你cartopy可以画地形图

#地图周围的经纬度

西 u003d 110

东 u003d 125

南 u003d 20

北 u003d 30

#解决中文乱码问题

#画布设置、投影设置

#边界设置

img_extent u003d [西、东、南、北]

#浮雕地图导入

有些朋友在这里还可以。

#设置经纬度网格和标签,将透明度改为1,就会出现网格alphau003d1

#设置经度和纬度的显示,比如经度70到135,间隔5

def draw\the\scale(y,x,text,length u003d 1.5,lw u003d 5):

#绘制比例函数

#length 表示比例尺在经度上的长度

step u003d length/5#计算步长,绘制五个网格

#画五条黑白线

#画两个长鳞片

#绘制四段

#写作,0500 公里

def drowscale(范围,scale_y,scale_x,scale_text,step u003d 5,lw u003d 10,scale_length u003d 1.5,scale_lw u003d 5):

#scale_length:表示比例尺的长度(以经度为单位,例如1.5经度)

for y in [extent[2],extent[3]] :#绘制上下边框

xmin u003d 范围[0]

而 (xmin < 范围[1]):

xmin u003d xmin+步*2

xmin u003d 范围[0]+步长

而 (xmin < 范围[1]):

xmin u003d xmin+步*2

for x in [extent[0],extent[1]] :#左右画

ymin u003d 范围[2]

而(ymin < 范围[3]):

ymin u003d ymin+步*2

ymin u003d 范围[2]+步长

而(ymin < 范围[3]):

ymin u003d ymin+步*2

drow_the_scale(scale_y,scale_x,scale_text)#绘制比例

这里写了两个函数,每个函数一个。其实就是在地图周围画黑白线,然后在画面中的某个位置画黑白线,形成一个比例尺。可以说是有些巧妙,也很不规范。默认情况下,1 度代表 111 公里。

主要原因是作者找不到cartopy绘图比例的功能。底图可以,但我不想使用它。如果有朋友知道,请留言告诉我。谢谢你。

随便画一些散点信息供朋友们使用。一共五个函数批量绘制散点。只需给出经度和纬度的列表。我随便在上面标了点。

def drowpentagram(ax,points,c u003d 'red',su003d300):

#绘制五个尖角星轴,points,c color,s size

对于点中点:

def drowcircle(ax,points,edgecolors u003d 'red',linewidths u003d 2,su003d300):

#Circle ax,points required, edgecolors color, s size, linewidths line width

对于点中点:

def drowfork(ax,points,c u003d 'blue',linewidths u003d 2,su003d300):

#画十字轴,点,c颜色,s大小,线宽,线宽

对于点中点:

def drowbox(ax,points,edgecolors u003d 'blue',linewidths u003d 2,su003d300):

#绘制正方形 ax,points, required band, edgecolors color, s size, linewidths 线宽

对于点中点:

def drowtriangle(ax,points,edgecolors u003d 'blue',linewidths u003d 2,su003d300):

#绘制三角形 ax,points, required band, edgecolors color, s size, linewidths 线宽

对于点中点:

给出一个legend函数,封装

def drowlegend(ax,x,y,text,step u003d 0.5):

#绘制图例

drowcircle(ax,((x,y),))#画一个红色圆圈

drowcircle(ax,((x,y - step),),edgecolors u003d 'green')#画一个绿色圆圈

drowfork(ax,((x,y - step*2),))#画一个叉子

drowbox(ax,((x,y - step*3),))#画正方形

drowtriangle(ax,((x,y - step*4),))#画三角形

将 numpy 导入为 np

def drowpentagram(ax,points,c u003d 'red',su003d300):

#绘制五个尖角星轴,points,c color,s size

对于点中点:

def drowcircle(ax,points,edgecolors u003d 'red',linewidths u003d 2,su003d300):

#Circle ax,points required, edgecolors color, s size, linewidths line width

对于点中点:

def drowfork(ax,points,c u003d 'blue',linewidths u003d 2,su003d300):

#画十字轴,点,c颜色,s大小,线宽,线宽

对于点中点:

def drowbox(ax,points,edgecolors u003d 'blue',linewidths u003d 2,su003d300):

#绘制正方形 ax,points, required band, edgecolors color, s size, linewidths 线宽

对于点中点:

def drowtriangle(ax,points,edgecolors u003d 'blue',linewidths u003d 2,su003d300):

#绘制三角形 ax,points, required band, edgecolors color, s size, linewidths 线宽

对于点中点:

def draw\the\scale(y,x,text,length u003d 1.5,lw u003d 5):

#绘制比例函数

#length 表示比例尺在经度上的长度

step u003d length/5#计算步长,绘制五个网格

#画五条黑白线

#画两个长鳞片

#绘制四段

#写作,0500 公里

def drowscale(范围,scale_y,scale_x,scale_text,step u003d 5,lw u003d 10,scale_length u003d 1.5,scale_lw u003d 5):

#scale_length:表示比例尺的长度(以经度为单位,例如1.5经度)

for y in [extent[2],extent[3]] :#绘制上下边框

xmin u003d 范围[0]

而 (xmin < 范围[1]):

xmin u003d xmin+步*2

xmin u003d 范围[0]+步长

而 (xmin < 范围[1]):

xmin u003d xmin+步*2

for x in [extent[0],extent[1]] :#左右画

ymin u003d 范围[2]

而(ymin < 范围[3]):

ymin u003d ymin+步*2

ymin u003d 范围[2]+步长

而(ymin < 范围[3]):

ymin u003d ymin+步*2

drow_the_scale(scale_y,scale_x,scale_text)#绘制比例

def drowlegend(ax,x,y,text,step u003d 0.5):

#绘制图例

drowcircle(ax,((x,y),))#画一个红色圆圈

drowcircle(ax,((x,y - step),),edgecolors u003d 'green')#画一个绿色圆圈

drowfork(ax,((x,y - step*2),))#画一个叉子

drowbox(ax,((x,y - step*3),))#画正方形

drowtriangle(ax,((x,y - step*4),))#画三角形

通过

#主函数

如果 __name__ u003du003d '__main__':

points_pentagram u003d [(113.3, 23.23,'Guangzhou')]#五角星坐标和名称

points_circle_red u003d [(116.1, 26.7),(117.1, 27.7)]#红色圆坐标

points_circle_green u003d [(115.1, 25.7),(118.1, 28.7)]#绿色圆坐标

points_fork u003d [(115.1, 26.7),(118.1, 29.7)]#分叉坐标

points_box u003d [(117.1, 26.7),(115.1, 27.7)]#方坐标

points_triangle u003d [(118.1, 26.7),(114.1, 27.7)]#三角坐标

#图例文字说明

text u003d ['大风','冰雹','龙卷风','闪电','强降水']

#地图周围的经纬度

西 u003d 110

东 u003d 125

南 u003d 20

北 u003d 30

#解决中文乱码问题

#画布设置、投影设置

#边界设置

img_extent u003d [西、东、南、北]

#浮雕地图导入

#设置经纬度网格和标签,将透明度改为1,就会出现网格alphau003d1

#设置经度和纬度的显示,比如经度70到135,间隔5

drowscale(img_extent,21,123.1,'500')#绘制比例

drowpentagram(ax,points_pentagram)#画五颗尖角星

drowcircle(ax,points_circle_red)#画一个红色圆圈

drowcircle(ax,points_circle_green,edgecolors u003d 'green')#画一个绿色圆圈

drowfork(ax,points_fork)#画一个叉子

drowbox(ax,points_box)#画正方形

drowtriangle(ax,points_triangle)#画三角形

drowlegend(ax,123.1,24,text,step u003d 0.5)#绘制图例

有朋友知道cartopy自带刻度功能吗?我翻了翻文件,没找到。我的朋友留言帮助我。作者绘制的尺度只有自己的表格,深度不够严谨。

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐

求助!为什么用InsCode部署会出现无限重定向?

如何重塑熊猫。系列

在哪里可以找到有关 Keras 中默认权重初始化器的文档? [复制]

THE END
0.冰雹猜想小清新队友前段时间在看《Python编程快速上手-让繁琐工作自动化》这本书,每章都会有一点习题,其中第三章有个叫“Collatz 序列”的习题,就是著名的冰雹猜想(其实我是学习了Python后才知道有这个数学问题的额~~)。 百度了这个冰雹猜想,有数学家对亿级自然数做了检验,目前仍然无解。 jvzquC41yy}/ewgnqiy/exr1htktjPftfgt0r86423814@3jvor
1.[Python小项目]冰雹猜想python冰雹猜想本文介绍了冰雹猜想的数学原理,讲述了数字通过特定规则变化最终回到1的过程。并用Python编程实现了计算雹程序列、分析雹程、顶峰值和倍率的功能,展示了在1000万以内数字的冰雹猜想实例。 冰雹猜想 一、前言 1.1 冰雹猜想是什么? 一个正整数x,如果是奇数就乘以3再加1,如果是偶数就直接除以2,这样经过若干次数,这个数jvzquC41dnuh0lxfp0tfv8htngkq1jwvkerf1mjvckrt1:84857779
2.Python面试算法题精解:从斐波那契到动态规划本文系统性地讲解了Python面试中常见的算法题目,从经典的斐波那契数列和台阶问题入手,深入分析了递归、记忆化递归和迭代三种解法的优劣。接着详细介绍了链表操作和二叉树遍历算法,包括链表反转、成对调换以及二叉树的前序、中序、后序和层次遍历。然后探讨了排序算法(冒泡排序、快速排序、归并排序)和查找算法(线性查找、jvzquC41dnuh0lxfp0tfv8lkvdrpih529;?0c{ykenk0fnyckny03>5922=15
3.3.数据模型—Python3.15.0a0文档未来版本的 Python 可能会加入更多的类型 (例如有理数、高效存储的整型数组等等),不过新增类型往往都是通过标准库来提供的。以下部分类型的描述中包含有 '特殊属性列表' 段落。这些属性提供对具体实现的访问而非通常使用。它们的定义在未来可能会改变。3.2.1. None 此类型只有一种取值。是一个具有此值的单独对象。jvzquC41fqit0y~vjqt/q{l1|j3dp8igx1xfhnwgpek0fjycoqjfn7mvon
4.6.表达式—Python3.13.9文档本章将解释 Python 中组成表达式的各种元素的的含义。 语法注释: 在本章和后续章节中,会使用扩展 BNF 标注来描述语法而不是词法分析。 当(某种替代的)语法规则具有如下形式 并且没有给出语义,则这种形式的 name 在语法上与 othername 相同。 算术转换: 当对下述某个算术jvzquC41fqit0y~vjqt/q{l1|j3dp880355sgojtgpif1n}rtgytkxsu0jznn
5.Python实现斐波那契数列求和:从递归到动态规划简介:在Python中实现斐波那契数列求和是算法设计的入门级练习,它涉及递归、迭代、动态规划和矩阵乘法等多种编程技术。该课程设计帮助学生理解并掌握斐波那契数列的基础定义,递归和迭代的实现,以及如何使用动态规划和生成器来优化计算过程。通过学习和比较不同方法的性能,学生能够针对具体场景选择最优的编程策略。 jvzquC41dnuh0lxfp0tfv8|gkzooa;>377;:;8ftvkimg8igvcomu866;89629=
6.Day4Hailstonehailstone算法一键获取完整项目代码python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 我们可以看出来,因为最后的图形貌似冰雹,所以被称为Hailstone Sequence 但是我们一直有一个问题,是否存在一些数,可以使得while循环一直执行下去,也就是说这个函数到底满不满足有穷性?意思是对于任意的n,while循环jvzquC41dnuh0lxfp0tfv8|gkzooa=:72:8778ftvkimg8igvcomu86352<24<5
7.8.复合语句—Python3.13.9文档请注意语句总是以 NEWLINE 结束,之后可能跟随一个 DEDENT。 还要注意可选的后续子句总是以一个不能作为语句开头的关键字作为开头,因此不会产生歧义(‘悬空的 else’问题在 Python 中是通过要求嵌套的 if 语句必须缩进来解决的)。为了保证清晰,以下各节中语法规则采用将每个子句都放在单独行中的格式。8.1. if 语句 if 语句用于有jvzquC41fqit0y~vjqt/q{l1|j3dp880355sgojtgpif1ltorq{ofhxvovy/j}rn
8.heapq—Heapqueuealgorithm—Python3.15.0a1documentationThis makes the relationship between the index for a node and the indexes for its children slightly less obvious, but is more suitable since Python uses zero-based indexing. (b) Textbooks often focus on max-heaps, due to their suitability for in-place sorting. Our implementation favors min-jvzquC41fqit0y~vjqt/q{l1wm5eg4nkdxbt‚4jgcvr0qyon
9.必修1第4章Python程序设计综合应用测试21. 角谷猜想又称冰雹猜想,是指任意一个正整数N,如果为偶数则令其变成N除以2的值,如果为奇数则令其变成N乘以3再加1的值,如此反复,结果必然在若干步骤之后变成1。下面的程序可以统计出对于任意一个自然数N经过角谷猜想变成1的变化次数。请完善python程序的缺失部分。 jvzquC41yy}/ys}0ep5y|867:6<67::0cuvy
10.python编写朋克风格的天气查询程序python这篇文章主要为大家详细介绍了一个基于 Python 的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open - Meteo API获取天气数据,感兴趣的小伙伴可以了解下+ 目录 工具介绍 这个天气查询工具是一个基于 Python 的桌面应用程序,使用了tkinter库来创建图形用户界面(GUI),并通过requests库调用 Open -jvzquC41yy}/lk:30pku1y~vjqt05=82927:57mvo
11.本月据官方渠道传达新政策,当代码邂逅神话:Python人马兽的起源传说:刚获悉研究机构传出重磅消息,当代码邂逅神话:Python人马兽的起源传说 本月据官方渠道传达新政策,当代码邂逅神话:Python人马兽的起源传说 当代码邂逅神话:Python人马兽的起源传说 在数字与传说的交汇处 程序员用键盘敲击出了一片新天地 这里诞生了一种奇异的生物——Python人马兽 它既不是纯粹的机器造物 也不完全jvzq<84o0vuqu}jr0eun0ls1rqyu1;547371;8~ukdthe€9m;k4ivvq
12.开发类(java后端开发web前端开发Python开发等)数字冰雹-数字孪生引擎供应商&行业IOC应用供应商任职要求 目前开放岗位软件类岗位(10-15K) 开发类:java后端开发、web前端开发、Python开发技术支持类:售前、测试、运营、产品职能类:行政、人力、法务、商务、市场等数据服务类岗位(8-12K) 数据类:各类算法工程师、数据采集工程师、数据仓库工程师、舆情分析工程师、jvzq<84yyy4bjk~u0eun1Std0jznnHokf?84;9>6(eoe?:<642>
13.奇酷教育郑州中心Python开发2403期2024-03-04抢座中 郑州中心UI/UE全链路设计2403期2024-03-04抢座中 郑州中心WEB大前端2403期2024-03-04抢座中 web2012孙*亚郑州工商学院**冰雹信息技术有限公前端工程师8000 web2107b李*龙郑州理工职业学院东*盛科应届8000 web2103李*林商丘技师学院邦*信息前端工程师jvzq<84yyy4rktzgfw4dqv4jvor0uyjekcr0us1
14.每日一程14.python打印冰雹序列Notus(Java)每日一程-14.python-打印冰雹序列 Author: Notus(hehe_xiao@qq.com) Create: 2019-02-21 Update: 2019-02-21 给定一个正整数,打印出对应的冰雹序列 冰雹序列 冰雹序列是由Collatz猜想提出的。 给出下列公式和初始的正整数值,生成的序列以1结束。jvzquC41yy}/ewgnqiy/exr1ngu2:@:1r1716::9494ivvq
15.python洛谷做题37:P5727深基5.例3冰雹猜想经过验证很大的数字(7 × 10 11 7\times10^{11}7×1011)都可以按照这样的方式比变成1 11,所以被称为“冰雹猜想”。例如当n nn是20 2020,变化的过程是20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 20\to 10\to 5\to 16\to 8\to 4\to 2\to 120→10→5→16→8→4→2→1。jvzquC41dnuh0lxfp0tfv8|gkzooa=85479868ftvkimg8igvcomu8672599;=;