Matlab绘制经纬度地图并添加坐标点
1.调用geoshow画出的经纬度图片
图片说明:该图片是为了说明某公司的工厂建设地址分布图,并且不同州的颜色深度根据人口密度大小确定,可知人口密度大的所建的工厂工程较多,其中红色为已经建成并且投入了使用的工厂位置,绿色为正在修建的工厂位置。该图的做法:①首先通过该公司网站获取了在建和已建工厂的经纬度;②将数据导入2中的代码生成图片。
2.相关代码
代码说明:在Matlab中运行,并且将3中的数据表保存至运行相同路径的目录中。
%% 初始化环境
clc
clear
close all
landcolor = [0.98 0.97 0.97];
lakescolor = [0.71 0.84 0.92];%% 从经纬度出发
rest = xlsread('map.xlsx');
[m,n] = size(rest);
limit = [26 48 -130 -60];
res = []; %获得各种的经纬度的信息%% 将含有经纬度的数据点画在地图上for i = 1:mif rest(i, 1) > limit(1) && rest(i, 1) < limit(2) && rest(i, 2) > limit(3) && rest(i, 2) < limit(4) res = [res; rest(i, :)];end
end
mcolor = [249 222 239; 255 86 0; 236 165 201; 47 70 150];
mcolor = mcolor ./255;%用不同的颜色的点标记不同属性的地址
for i = 1:size(res, 1)greenpoint(i).Geometry = 'Point';redpoint(i).Geometry = 'Point';if res(i, 3) == 0 %0表示绿点,即在建工程greenpoint(i).Lon = res(i, 2);greenpoint(i).Lat = res(i, 1);greenpoint(i).Name = '';endif res(i, 3) == 1 %1表示红点,即已建工程redpoint(i).Lon = res(i, 2);redpoint(i).Lat = res(i, 1);redpoint(i).Name = '';end
end%% 开始绘图
figure%画出地图的经纬度范围
ax = worldmap('World');
ax = worldmap([25, 55], [230, 300]);%画出美国大陆地图
land = shaperead('landareas', 'UseGeoCoords', true);
geoshow(ax, land, 'FaceColor', landcolor)%画出美国湖泊地图
lakes = shaperead('worldlakes', 'UseGeoCoords', true);
geoshow(lakes, 'FaceColor', lakescolor)%画出美国各个州,根据人口密度确定不同颜色
states = shaperead('usastatelo', 'UseGeoCoords', true);
scolor = [];
for i = 1:size(states, 1)if states(i).PopDens2000 >= 150 %获取人口密度scolor = [scolor; mcolor(4, :)];elseif states(i).PopDens2000 >= 50scolor = [scolor; mcolor(3, :)];elsescolor = [scolor; mcolor(1, :)];end
end
index = find(scolor(:, 1) >= 1);
for i = 1:size(index, 1)scolor(index(i), :) = [1 0 0];
end
faceColors = makesymbolspec('Polygon',...{'INDEX', [1 numel(states)], 'FaceColor', ...scolor});
geoshow(ax, states, 'DisplayType', 'polygon', ...'SymbolSpec', faceColors)%画出美国内陆河流
rivers = shaperead('worldrivers', 'UseGeoCoords', true);
geoshow(rivers, 'Color', 'blue')%画出第一类点,用绿点表示
geoshow(redpoint,'MarkerEdgeColor','g','Marker', '.', 'MarkerSize',10) %g表示绿色%画出第二类点,用红点表示
geoshow(greenpoint,'MarkerEdgeColor', 'r', 'Marker', '.', 'MarkerSize',10 ) %r表示红色%矫正图形
set(gcf, 'Position', [100, 100, 800, 400])
3.相关数据
数据说明:LA为纬度(Latitude),LO为经度(Longitude),R1为工厂类型的属性,其中(0表示绿点,即在建工程;1表示红点,即已建工程)。此数据为部分数据,具体数据按实际情况可进行修改。
LA | LO | R1 |
41.6175 | -70.488528 | 0 |
33.020052 | -117.126278 | 0 |
39.822355 | -75.240447 | 1 |
39.19477 | -75.54729 | 0 |
41.500575 | -95.451663 | 0 |
40.499647 | -78.391352 | 1 |
34.242065 | -111.322538 | 0 |
43.018501 | -85.723629 | 0 |
32.897259 | -83.689432 | 0 |
39.162833 | -84.426528 | 1 |
45.851688 | -66.560635 | 0 |
33.745288 | -118.012279 | 0 |
37.258506 | -121.871476 | 1 |
39.962023 | -75.172049 | 0 |
26.782582 | -80.092328 | 0 |
30.060278 | -81.513861 | 1 |
46.05864 | -72.312291 | 0 |
38.815129 | -77.642614 | 0 |
41.53713 | -73.005368 | 1 |
熟悉和掌握Matlab中的Mapping toolbox,对画出各种地理信息图帮助很大。
Matlab绘制经纬度地图并添加坐标点相关推荐
- ArcGIS根据经纬度在地图上添加坐标点
文章目录 前言 步骤 1.添加底图 2.制作经纬度表格 3.添加数据 4.显示xy数据 (1)显示XY数据对应的字段 (2)添加地理坐标系 5.添加经纬网等作图要素 结果展示与修改 总结 前言 常常需 ...
- Pyecharts Geo在地图上添加坐标点
Pyecharts Geo在地图上添加坐标点 添加坐标点 输入坐标点 将坐标点添加入系列并配置系列 加一点点小细节给图片美化一下 让坐标点不显示value 调整图例位置,向右靠拢 改变图例选中与非选中 ...
- Matlab绘制中国地图(大陆地区)
1 简介 MATLAB是著名的科学软件,具有绘图.编程.仿真等强大的功能.现在介绍MATLAB绘制中国地图的三种方式,分别是(1)使用m_map工具箱命令绘制中国地图:(2)使用mapshow和geo ...
- cesium地图添加坐标点
附上api文档链接 showPoint(){this.pointLayer= new Cesium.CustomDataSource("pointLayer");cViewer.d ...
- matlab画中国地图深浅,matlab绘制中国地图
使用mapshow+shapefile的方法: %% mapchina clc;clear;clf % shapefile中都包含了国界和省界 fnshp_L='E:\ChinaMap\国界与省界\b ...
- matlab绘制中国地图
使用mapshow+shapefile的方法: %% mapchina clc;clear;clf % shapefile中都包含了国界和省界 fnshp_L='E:\ChinaMap\国界与省界\b ...
- 动态设置高德地图中心点(坐标点),始终位于屏幕中心
项目需求是做一个类似于滴滴的车辆救援,界面是地图上面再覆盖一部分表单.订单状态不同,表单里的信息不同,那么表单的高度就不同.因为界面都使用到了map,所以尽管订单有不同的状态,但是我都在一个界面做,通 ...
- Leaflet中使用Leaflet.draw插件实现图形交互绘制和编辑(修改图形坐标点)
场景 Leaflet中使用Leaflet.Pin插件实现图层要素编辑效果: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1224 ...
- 如何在百度地图上标注坐标点?
话不多说,先上幅效果图 材料:anaconda3(64位).百度地图api,坐标点 一.生成HTML适配的格式 1.读取文件,抓取经纬度坐标 import pandas as pd data = pd ...
- MATLAB随机生成m个三维坐标点,且各个坐标点之间的距离不小于n
randi函数 randi(max,m,n); %生成均匀分布的随机整数,max生成的随机整数最大值,生成m行n列的矩阵 编写函数sampling function [x,y,z]=sampling( ...
最新文章
- Linux命令之 umount -- 卸载文件系统
- python编辑程序模型_python并发编程之IO模型
- 电脑密码忘记怎么办??
- python为啥叫屁眼_python的递归
- 联想笔记本键盘亮屏幕不亮_笔记本电脑进入睡眠状态后无法通过鼠标或键盘来唤醒屏幕怎么解决...
- 国家统计局统计用区划和城乡划分代码
- Linux学习—编译
- php 去零取整,php取整的几种方法
- SAP QM 特性导出及定性定量
- 2020晓庄学院专转本C语言考试试卷,南京晓庄学院五年一贯制专转本模拟考试c语言...
- 如何清理 C 盘空间
- PTA翁恺7-6 厘米换算英尺英寸 (15 分)
- android的随机之魂
- jane street market prediction 冠军方案 奇巧淫技与topline链接整理(3/3)
- [wp7软件]相机 画图 截屏 photo 集合 软件(一)
- 学习软件之epub阅读器推荐
- oracle安装界面空白,在windows 2012中安装oracle 12c R2界面空白挂起无响应CPU达到100%的问题...
- 《视频直播技术详解》系列:(4)采集
- 不能打开到主机的连接, 在端口 1521: 连接失败
- Linux启动定时任务
热门文章
- 农夫山泉CIO分享SAP HANA数据库实施经验
- 计算机比赛训练总结500字,比赛活动总结500字(精选7篇)
- 先少谈点人工智能好吗?
- 板内板间通信协议及接口(六)RS232 RS485 RS422
- iLife '09测评
- 微积分“小糊涂”,难担大任
- 数模技术转换应用于计算机控制,数模转换器的作用
- uva12307(旋转卡壳)
- 三创赛优秀作品_厉害了!珠海这所学校的大学生夺得“三创赛”全国总决赛一等奖...
- 安装和配置fedora19要做的那些事,超值经验