matlab奇技淫巧——绘制三维地图

news2024/11/20 12:31:10

  在数据处理工作中,常常会用到地图的绘制,最常用的自然是绘制平面的区域/全球地图,通过

worldmap('world')           % 创建世界地图坐标区域
load coastlines             % 导入海岸线数据
plotm(coastlat,coastlon)

即可绘制,效果如下,其中经度为 − 180 ∼ 180 -180\sim180 180180 ,负为西经,正为东经,纬度为 − 90 ∼ 90 -90\sim90 9090 ,北纬为正,南纬为负。

在这里插入图片描述

  不过本博文题目是 matlab 奇技淫巧,岂可局限于此,下面我们就画一个三维地图,就像地球仪那样的。 ๑乛◡乛๑

  首先,需要绘制一个球体,这个可以用 sphere 函数生成,然后使用 mesh 绘制,这样就获得了一个球体。随后再绘制海岸线,需要将经纬度转换成 x , y , z x,y,z x,y,z 三维坐标,然后用 plot3 绘制,代码如下

figure('color','w')
hold on

[x,y,z]=sphere(36);             % 生成一个球,36边,即分辨率:经度10度,纬度5度
mesh(x,y,z,'EdgeColor','k');    % EdgeColor属性设置网格颜色
axis equal;

% 绘制海岸线
load coastlines             % 导入海岸线数据
x2=cosd(coastlat).*cosd(coastlon);
y2=cosd(coastlat).*sind(coastlon);
z2=sind(coastlat);
plot3(x2,y2,z2,'k')

hold off

就可以得到三维地球了,如下

在这里插入图片描述

在这个地图上,可以用 scatter 或 plot3 绘制自己需要的散点数据,譬如绘制 WWLLN 闪电定位数据如下

在这里插入图片描述

  但有时我们不止需要绘制散点数据,还要绘制场强等数据(类似 surf 的绘制结果),这时就要用到纹理贴图了,如下

[x,y,z]=sphere(36);
h=surface(x,y,z);
set(h,'CData',map,'FaceColor','texturemap');	%texturemap纹理贴图

其中 map 数据就是需要绘制的场强数据,map 为 180*360 的二维矩阵,对应 9 0 ∘ S ∼ 9 0 ∘ N ,   18 0 ∘ W ∼ 18 0 ∘ E 90^\circ S\sim90^\circ N,\ 180^\circ W\sim180^\circ E 90S90N, 180W180E ,利用这一方法绘制的 CHAMP 卫星观测的地球磁场强度图如下

在这里插入图片描述

(完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1105358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【eNSP】VLAN间通信

VLAN间通信 文章目录 一、使用路由器物理接口实现VLAN间通信实验拓扑图1、配置交换机Access接口和路由器IP地址LSW1AR1 2、验证 二、使用路由器子接口实验拓扑图1、路由器、交换机基本配置LSW1AR1 2、配置路由器子接口AR1 3、验证 三、使用VLANIF技术实现VLAN间通信原理图实验拓…

vue3弹窗中循环生成表单的校验和重置问题

应用场景: 1、弹框里的表单是根据后台返回的时段生成的,后台返回几个时段,就渲染几组表单。 -1- 重置:遍历每个表单,获取当前表单的引用,在resetFields() -2- 校验:创建一个数组来存储每个表单的…

MySQL学习(五)——索引

文章目录 1. 索引介绍2. 索引结构2.1 索引结构介绍2.2 二叉树2.3 B-Tree2.4 BTree2.5 Hash 3. 索引分类3.1 索引分类3.2 聚集索引和二级索引 4 索引语法4.1 语法介绍4.2 数据准备4.3 索引演示 5 SQL 性能优化5.1 执行频率查询5.2 慢查询日志5.3 profile详情5.4 explain 6 索引使…

谈谈 Redis 如何来实现分布式锁

谈谈 Redis 如何来实现分布式锁 基于 setnx 可以实现,但是不是可重入的。 基于 Hash 数据类型 Lua脚本 可以实现可重入的分布式锁。 获取锁的 Lua 脚本: 释放锁的 Lua 脚本: 但是还是存在分布式问题,比如说,一个客…

金融信息化研究所与YashanDB等单位启动金融多主数据库应用行动计划

10月13日,2023金融业 数据库技术大会在京成功召开。会上,金融信息化研究所与崖山数据库YashanDB、阿里巴巴、奥星贝斯、达梦、南大通用、华为、天翼云、万里数据库、优炫数据库共同启动金融多主数据库应用行动计划,并成立金融多主数据库应用…

基于SpringBoot的大学生体质测试管理系统

基于SpringBoot的大学生体质测试管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 管理员界面 教师界面 学生界面 摘要 大学生体质测试管理系统是一…

谁懂?这23个关于大数据的灵魂拷问!

在企业内训行业也深耕蛮多年了,每次做大数据培训,都会遇到一些发人深省的灵魂拷问。 在这些拷问的人群中,有一些是没有接触过大数据平台,有一些甚至已经是大数据老兵。 那趁着这次机会,让我们索性一次把这些问题言简意…

maven依赖冲突以及解决方法

什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引…

竞赛 深度学习YOLO抽烟行为检测 - python opencv

文章目录 1 前言1 课题背景2 实现效果3 Yolov5算法3.1 简介3.2 相关技术 4 数据集处理及实验5 部分核心代码6 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习YOLO抽烟行为检测 该项目较为新颖,适合作为竞赛课…

Yaml语法学习

SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的 application.properties(官方不推荐) 语法结构 : keyvalue application.yml 语法结构 :key:空格 value server:port: 8081 配置文件的作用 &…

jvm 各个版本支持的参数

知道一些 jvm 调优参数,但是没有找到官网对应的文档,在网上的一些文章偶然发现,记录一下。 https://docs.oracle.com/en/java/javase/ 包含各个版本 jdk 8 分为 windows 和 unix 系统 https://docs.oracle.com/javase/8/docs/technotes/too…

关于CW32单片机pack包安装 KEIL IAR

CW32 系列微控制器软件开发工具入门 芯片包 1. 下载芯片包 官方下载链接:武汉鑫源半导体 2. 安装芯片包 双击芯片包.pack文件 支持 CW32F 系列的 IDE 支持 CW32F 系列的工具链: • • EWARM v7.70 或更高版本 MDK-ARM v5.17 或更高版本 2.1 EW…

重生奇迹mu宠物带来不一样的体验

重生奇迹mu宠物有什么作用? 全新版本中更是推出了各种宠物,在玩游戏时还可以带着宠物,一起疯狂的刷怪等等,可以为玩家带来非常不错的游戏体验,那么下面就来给大家说说各种宠物适合做什么事情。 1、强化恶魔适合刷怪 …

电脑无法安装软件怎么办?

无论是个人电脑还是办公电脑,无一例外的都会安装一些软件来帮助我们使用。我们经常在电脑上下载软件,而且会设置下载安装到空余空间大的盘里,但是有时候我们的盘里显示还有很多的空闲空间,但我们安装软件的时候就是无法安装&#…

共享盘文件如何防止别人恶意删除

在如今数字化信息交流的社会中,共享文件已经成为很常见的设置了。然而,对于共享盘文件而言,恶意删除是一种常见的安全威胁,因此用户需要掌握一些方法来保护自己的文件安全。本文将介绍防止别人恶意删除共享盘文件的方法&#xff0…

零基础快速上手HarmonyOS ArkTS开发1---运行Hello World、ArkTS开发语言介绍

概述: 在华为开发者大会2023年8月4日(HDC.Together)大会上,HarmonyOS 4正式发布,其实在2021年那会学习了一点鸿蒙的开发: 不过因为现在的鸿蒙手机完全兼容Android应用,所以学习动力也不是很足,一直就搁置了&#xff0…

搭建GPFS双机集群

1.环境说明: 系统主机名IP地址内存添加共享磁盘大小Centos7.9gpfs1192.168.10.1012G20GCentos7.9gpfs2192.168.10.1022G20G 2.环境配置: 配置网路IP地址: 修改网卡会话: nmcli connection modify ipv4.method manual ipv4.addre…

Web自动化测试中会遇到的特殊场景

前言 做Web自动化测试会遇到一些特殊的场景,在编写自动化脚本时,需要根据具体情况进行处理。 同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直…

Apache Shiro 组件反序列化漏洞分析

概述 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 它的原理比较简单:为了让浏览器或服务器重启后用户不丢失…

『C语言进阶』const详解

🔥博客主页: 小羊失眠啦 🔖系列专栏: C语言、Linux 🌥️每日语录:生活便是寻求新的知识。 ❤️感谢大家点赞👍收藏⭐评论✍️ 一、什么是const 常类型,使用类型修饰符const说明的类…