精华内容
下载资源
问答
  • matlab绘制地图

    2013-12-23 15:10:04
    这是一个可以绘制出透明地图的程序,很适合学习
  • MATLAB绘制地图路线

    2021-01-15 12:27:31
    已知横纵坐标的情况下以及未知横纵坐标情况下绘图
  • MATLAB 可以使用的 绘制地图 库 可以再PATH里面设置添加路径,好用
  • MATLAB绘制地图课件1使用向量绘制地图1.1绘制全球海岸线向量数据可以表示一个地图。这种向量存在的形式是一系列的经纬度或投影坐标对,它们代表一个点集、一个线条或者多边形。例如,描绘出行政区域边界的点、公路...

    MATLAB绘制地图课件

    1使用向量绘制地图1.1绘制全球海岸线向量数据可以表示一个地图。这种向量存在的形式是一系列的经纬度或投影坐标对,它们代表一个点集、一个线条或者多边形。例如,描绘出行政区域边界的点、公路系统、城市的中心或者以上三个集合放在一起,都可以被用于绘制地图。在这种表示中,地理数据以向量格式存在,以它为基础绘制的地图被称作向量地图。 在地图工具箱环境中,向量数据包含一系列的有序的地理(经纬度)或投影(x,y)坐标对(又被称作二元组)。相继的数对被认为按顺序连接,间断点可以这样处理:构造另一个独立的向量,或者在点集的每个断点处插入一个分隔符号(通常是NaN,意思是Not-a-Number)。下面看一个向量地图数据的例子。绘制全球海岸线键入命令:load coast 载入数据,数据是海岸线whos 显示当前工作空间中的变量列表屏幕显示:Name Size Bytes Class Attributes

    lat 9865x1 78920 double long 9865x1 78920 double 键入命令: axesm mercator framem plotm(lat,long) [lat(1:20) long(1:20)]可看到数据的地图

    1.2查看向量坐标的数据键入命令:>> [lat(20:40) long(20:40)]屏幕显示:ans =

    -80.9200 -146.5000 -80.6700 -145.5000 -80.3300 -148.0000 -80.0000 -150.0000 -79.6700 -152.5000 -79.2500 -155.0000 -78.8300 -157.0000 -78.7478 -157.2554 -78.6654 -157.5072 -78.5828 -157.7554 -78.5000 -158.0000 -78.4806 -157.6658 -78.4608 -157.3327 -78.4406 -157.0008 -78.4200 -156.6700 -78.5000 -154.5000 -78.1700 -154.5000 -78.1700 -154.5000 -78.0800 -156.6700 -77.8300 -158.0000 -77.5000 -158.33001.3修改颜色这有没有提示你这些地点代表哪个大陆的海岸线?为了看见这些向量点代表的海岸线,键入下面的命令将其显示为黄色:键入命令plotm(lat(20:40),long(20:40),'y')

    2点、线和多边形它们代表着地理要素。向量地理数据可以用来代表点要素(例如城市和路标)、线要素(例如河流和公路)和面要素(或者说多边形,例如湖泊)。?在下一节,我们结合地理数据结构体来说明它们之间的区别3?地理数据结构体?在上面的例子中,地理数据是以简单的向量的形式???在的。但是通常,我们会有一系列的地理要素(例如一系列的河流),而每个要素都有自己的属性(例如每个河流都有自己的长度),为了方便对地理数据的操作,MATLAB将数据打包成地理数据结构体(geographic?data?structures)。一个地理数据结构体是一个MATLAB结构体数组,其中每个元素对应着一个地理要素。每一个要素由坐标和属性来表示。一个具有地理坐标(也就是经纬度)的地理数据结构体被称作geostruct;具有地图坐标(投影后的x和y)的结构体被称作mapstruct。地理数据结构体只能用于向量数据,不能被用于处理栅格数据。地理数据结构体通常在从shapefile中导入向量地理数据的时候产生。简单地说,地理地理数据结构体将地理要素的空间位置信息和属性数据打包在了一个变量中。4?.绘制世界地图的例子

    wm=worldmap('world'); 其投影方式以及经纬度范围自动适应全球的区域land=shaperead('landareas','UseGeoCoords',true); 读取相应的shapefile文件到工作空间中,landareas中是polygon类型的数据geoshow(wm,land,'FaceColor',[0.5 0.7 0.5]); 绘制地图lakes=shaperead('worldlakes','UseGeoCoords',true); 读取世界河流数据geoshow(lakes,'FaceColor',

    展开全文
  • 效果:1、将位置数据转为图像,可以看到登录QQ的人主要分布在国内放大国内,可以看到大城市被点亮2、将位置绘制在世界地图上3、3D效果4、Matlab还可以展示热力图,不过有点麻烦,这里不展示了。但可以用更方便的高德...

    e8e1204593fbf22c7f6c8e207796085a.png

    Matlab提供了地图展示工具箱:Mapping Toolbox,可以用来显示地图。这里做个测试,从腾讯大数据拉取位置数据,然后展示在世界地图上。

    效果:

    1、将位置数据转为图像,可以看到登录QQ的人主要分布在国内

    3c3c1e6e25a65db21a441c512939467d.png

    放大国内,可以看到大城市被点亮

    cf82c5c3dee47004179174f48eb9eefd.png

    2、将位置绘制在世界地图上

    b783e62de84afb2b519f7c7762854e80.png

    3、3D效果

    9d53e9359518fc09fd6be54635f71a7f.gif

    4、Matlab还可以展示热力图,不过有点麻烦,这里不展示了。但可以用更方便的高德热力图js-api实现

    0cad72d80bf5e10f0f0c4bb32416b2dc.png

    代码:

    clc
    clear
    close all
    
    %% 获取数据
    if 1
        [locs, tim] = getTecentAll();
        save('tmp', 'tim', 'locs')
    else
        load('tmp', 'tim', 'locs')
    end
    % 数据清洗
    lat = locs(:, 1); lat(lat<-90) = -90;   lat(lat>90) = 90; % 纬度,-90~90
    lon = locs(:, 2); lon(lon<-180) = -180; lon(lon>180) = 180; % 经度,-180~180
    N = locs(:, 3);
    
    %% 生成图像
    ratio = 0.05;
    lats = -90+ratio:ratio:90;
    lons = -180+ratio:ratio:180;
    latr = -round(lat/ratio);
    lonr = round(lon/ratio);
    img = zeros(length(lats), length(lons));
    for i = 1:length(latr)
        xi = latr(i)+90/ratio;
        yi = lonr(i)+180/ratio;
        img(xi, yi) = img(xi, yi) + N(i);
    end
    
    showimg = log(img+1);
    figure
    imshow(showimg, [])
    colormap jet
    impixelinfo
    
    %% 绘图
    figure(123)
    clf
    ax = worldmap('World');
    setm(ax, 'Origin', [0 180 0]); % 调整地图原点
    
    % 世界地图
    land = shaperead('landareas', 'UseGeoCoords', true); % 海岸线
    lakes = shaperead('worldlakes', 'UseGeoCoords', true); % 湖泊
    rivers = shaperead('worldrivers', 'UseGeoCoords', true); % 河流
    cities = shaperead('worldcities', 'UseGeoCoords', true); % 城市
    geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5])
    geoshow(lakes, 'FaceColor', 'blue')
    geoshow(rivers, 'Color', 'blue')
    geoshow(cities, 'Marker', '.', 'Color', 'black')
    
    plotm(lat(1:50:end), lon(1:50:end), 'r.')
    
    %% 三维作图
    load topo
    figure
    axesm('globe','Geoid',earthRadius)
    meshm(topo,topolegend);
    demcmap(topo)
    view(3)
    
    stem3m(lat(1:50:end), lon(1:50:end), N(1:50:end), 'r.')
    
    %% 保存为js,供高德地图展示
    %makeHeatmapJS(lat, lon, N);

    其中获取腾讯数据的函数:

    %% 爬全部4组数据
    function [locs, tim] = getTecentAll()
    count = 4;
    locs = [];
    for i = 1:count
        fprintf('%d...t', i)
        [locsi, tim] = getTecentData(count, i-1);
        locs = [locs; locsi];
    end
    fprintf('n')
    end
    
    %% 爬数据
    function [locs, tim] = getTecentData(count, rank)
    url = 'https://xingyun.map.qq.com/api/getXingyunPoints';
    % 获取数据
    params = struct('count', count, 'rank', rank);
    options = weboptions('MediaType', 'application/json');
    response = webwrite(url, params, options);
    response = jsondecode(response);
    
    % 解析数据
    tim = datetime(response.time);
    locs = sscanf(response.locs, '%d,', [3, inf])';
    locs(:, [1,2]) = locs(:, [1,2])/100;
    end
    展开全文
  • 使用matlab绘制地图

    千次阅读 2020-02-13 20:03:33
    文章目录常用函数worldmapshapereadgeoshowmakesymbolspecplotm在地图上画点画线linem 常用函数 worldmap 返回matlab.graphics.axis.Axes 。例 %1 h = worldmap('France') %2 worldmap({'Africa','India'}) %3 world...

    • 当把东经西经换成小数表示时,北正南负、东正西负

    创建 axes

    worldmap

    %1
    ax = worldmap('France')
    %2
    ax = worldmap({'Africa','India'})
    %3
    ax = worldmap([25 50],[-130 -65]);
    %4
    load korea			  % Map of terrain elevations in Korea
    ax = worldmap(map, refvec);
    

    加载数据

    shaperead

    %1
    S = shaperead(FILENAME) returns an N-by-1 structure array,
    %2
    S = shaperead(filename,Name,Value, ...)
    %3
    [S, A] = shaperead(...)
    
    S    An N-by-1 geographic data structure array containing an element for each non-null, spatial feature in the shapefile.
    A    An N-by-1 attribute structure array, A, parallel to array S.
    

    常用内置文件

    文件名(.shp) 说明 数据结构
    usastatelo 美国州行政区域划分 Polygon
    landareas 世界的陆地形状 Polygon
    worldcities 世界城市 Point
    worldrivers 世界河流 Line
    worldlakes 世界湖泊 Polygon

    参数

    name value details
    UseGeoCoords true、false 默认false,此时结构体中用X,Y表示坐标;若为true,结构体中用Lat、Lon表示坐标。
    BoundingBox [xmin,ymin;xmax,ymax] for map coordinates, [lonmin,latmin;lonmax,latmax] for geographic coordinates

    数据结构

    type properties
    Lines ‘Color’, ‘LineStyle’, ‘LineWidth’, and ‘Visible.’
    Points or Multipoints ‘Marker’, ‘Color’, ‘MarkerEdgeColor’,‘MarkerFaceColor’,‘MarkerSize’, and ‘Visible.’
    Polygons ‘FaceColor’, ‘FaceAlpha’, ‘LineStyle’, ‘LineWidth’, ‘EdgeColor’, ‘EdgeAlpha’, and ‘Visible.’

    load

    • load coast

    显示地图元素

    geoshow

    • 第一个参数是ax和不是ax的区别
    figure(1)
    geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5]);
    
    figure(2)
    geoshow(land, 'FaceColor', [0.5 0.7 0.5]);
    

    在这里插入图片描述

    • 数据是Polygon、Point、Line
    states = shaperead('usastatelo', 'UseGeoCoords', true);
    faceColors = makesymbolspec('Polygon',...
            {'INDEX', [1 numel(states)], 'FaceColor', polcmap(numel(states))});
    geoshow(ax, states, 'DisplayType', 'polygon', 'SymbolSpec', faceColors)
    
    rivers = shaperead('worldrivers', 'UseGeoCoords', true);
    geoshow(rivers, 'Color', 'blue')
    
    cities = shaperead('worldcities', 'UseGeoCoords', true);
    geoshow(cities, 'Marker', '.', 'Color', 'red')
    
    • 画线——数据是以经度数组、纬度数组
    ax = worldmap('USA');
    load coast
    geoshow(ax, lat, long,...
            'DisplayType', 'polygon', 'FaceColor', [.45 .60 .30])
    
    • 画点 —— 数据是以经度数组、纬度数组

    TowerLon = -74.0;  %经度坐标  
    TowerLat = 40.43;%纬度坐标  
    %用红色标记绘制%埃菲尔铁塔  
    geoshow(TowerLat, TowerLon, 'Marker','.','MarkerEdgeColor','red','MarkerSize',10)  
    

    plotm 画线

    • h = plotm(lat,lon)displays projected line objects on the current map axes.
    • h = plotm(lat,lon,linetype) where linetype is a linespec that specifies the line style.
    • h = plotm(lat,lon,PropertyName,PropertyValue,...) allows the specification of any number of property name/property value pairs for any properties recognized by the MATLAB line function except for XData, YData, and ZData.

    格式、属性控制

    makesymbolspec

    construct vector symbolization specification

    SYMBOLSPEC = makesymbolspec(GEOMETRY,RULE1,RULE2,...RULEN)

    • GEOMETRY is one of ‘Point’, ‘MultiPoint’, ‘Line’, ‘Polygon’, or ‘Patch’
    • To create a rule that applies to all features, a default rule, use the
      following syntax for RULEN:
      {'Default',Property1,Value1,Property2,Value2,...,PropertyN,ValueN}
    • To create a rule that applies to only features that have a particular
      value or range of values for a specified attribute, use the following
      syntax:
      {AttributeName,AttributeValue,Property1,Value1,... Property2,Value2,...,PropertyN,ValueN}
      AttributeValue and ValueN can each be a two element vector, [low
      high], specifying a range. If AttributeValue is a range, ValueN may
      or may not be a range.
      allowable values for PropertyN
    type properties
    Lines ‘Color’, ‘LineStyle’, ‘LineWidth’, and ‘Visible.’
    Points or Multipoints ‘Marker’, ‘Color’, ‘MarkerEdgeColor’,‘MarkerFaceColor’,‘MarkerSize’, and ‘Visible.’
    Polygons ‘FaceColor’, ‘FaceAlpha’, ‘LineStyle’, ‘LineWidth’, ‘EdgeColor’, ‘EdgeAlpha’, and ‘Visible.’

    example:

    %1
    blueRoads = makesymbolspec('Line',{'Default','Color',[0 0 1]});
    %2
    roadColors = makesymbolspec('Line',{'CLASS',2,'Color','r'},...
                                           {'CLASS',3,'Color','g'},...
                                           {'CLASS',6,'Color','b'},...
                                           {'Default','Color','k'});
    %3
    lineStyle = makesymbolspec('Line',{'CLASS',[1 3],'LineStyle','-.'},...
                                          {'CLASS',[4 6],'LineStyle',':'});
    

    例二:

    clear all
    ax = worldmap([25 50],[-130 -65]);
    states = shaperead('usastatelo.shp', 'UseGeoCoords', true);
    
    % 准备颜色数据
    data = zeros(numel(states),3)
    for i = 1:numel(states)
        data(i,:)=[1 1 1] * i/51
    end
    
    % 绘制
    faceColors = makesymbolspec('Polygon',{'INDEX',[1 numel(states)], 'FaceColor',data})
    geoshow(ax, states,'SymbolSpec', faceColors)
    % geoshow(ax, states)
    

    结果:
    在这里插入图片描述

    setm

    • 设置坐标原点 setm(ax, ‘Origin’, [20 30])
    展开全文
  • matlab经纬度画轨迹图_MATLAB绘制地图

    千次阅读 2020-12-23 13:16:09
    1使用向量绘制地图1.1绘制全球海岸线向量数据可以表示一个地图。这种向量存在的形式是一系列的经纬度或投影坐标对,它们代表一个点集、一个线条或者多边形。例如,描绘出行政区域边界的点、公路系统、城市的中心或者...

    1

    使用向量绘制地图

    1.1

    绘制全球海岸线

    向量数据可以表示一个地图。

    这种向量存在的形式是一系列的经纬度或投影坐标

    对,

    它们代表一个点集、

    一个线条或者多边形。

    例如,

    描绘出行政区域边界的点、

    公路系统、

    城市的中心或者以上三个集合放在一起,

    都可以被用于绘制地图。

    这种表示中,

    地理数据以向量格式存在,

    以它为基础绘制的地图被称作向量地图。

    在地图工具箱环境中,

    向量数据包含一系列的有序的地理

    (经纬度)

    或投影

    (

    x

    y

    )坐标对(又被称作二元组)

    。相继的数对被认为按顺序连接,间断点可以这样

    处理:

    构造另一个独立的向量,

    或者在点集的每个断点处插入一个分隔符号

    (通

    常是

    NaN

    ,意思是

    Not-a-Number

    )

    。下面看一个向量地图数据的例子。

    绘制全球海岸线

    键入命令:

    load coast

    载入数据,数据是海岸线

    whos

    显示当前工作空间中的变量列表

    屏幕显示:

    Name         Size            Bytes  Class     Attributes

    lat       9865x1             78920  double

    long      9865x1             78920  double

    键入命令:

    axesm mercator

    framem

    plotm(lat,long)

    [lat(1:20) long(1:20)]

    可看到数据的地图

    展开全文
  • 【最新整理,下载后即可编辑】【最新整理,下载后即可编辑】1使用向量绘制地图1.1绘制全球海岸线向量数据可以表示一个地图。这种向量存在的形式是一系列的经纬度或投影坐标对,它们代表一个点集、一个线条或者多边形...
  • Matlab 绘制地图各种属性设置

    千次阅读 2014-07-11 13:18:38
    matlab自带的worldmap画地图,基本代码网上一大堆。但翻来覆去全是matlab help里面的一些基本例子。 看完了,也只是会画个很基本的草图而已。等着真要精化地图,各种设置麻烦死了。网上又直接百度不到。  很简单...
  • %生成背景地图地图h=worldmap('France');%读取和显示大陆架landareas=shaperead('landareas.shp','UseGeoCoords',true);geoshow(landareas,'FaceColor',[11.5]);%埃菲尔铁塔的坐标TowerLon=2.28;%经度坐标TowerLat=...
  • 一系列的地理要素(例如一系列的河流),而每个要素都有自己的属性(例如每个河流都有自己的长度),为了方便对地理数据的操作,MATLAB将数据打包成地理数据结构体(geographic data structures)。一个地理数据结构体是一...
  • 绘制点 %生成背景地图地图 h=worldmap('France'); %读取和显示大陆架 landareas=shaperead('landareas.shp','UseGeoCoords',true); geoshow(landareas,'FaceColor',[11.5]); %埃菲尔铁塔的坐标 TowerLo...
  • MATLAB绘制世界地图

    2018-05-30 23:46:27
    一套自己编写的MATLAB绘制世界地图的代码。里面带了一份成品,在MATLAB下运行world_map.m文件,运算快速,练手用。
  • matlab绘制世界地图代码

    千次阅读 2019-01-27 17:10:24
    matlab绘制世界地图 自我认为matlab画世界地图不好看,还是pyhon画的好看 第一张图 代码如下: 这里是引用 %% clear;clc;close all load geoid % Create a figure with an Eckert projection. figure axesm ...
  • matlab绘制中国地图

    千次阅读 2018-11-27 19:03:00
    reference:https://jingyan.baidu.com/article/870c6fc36fdacfb03ee4be58.html ... MATLAB是著名的科学软件,具有绘图、编程、仿真等强大的功能。现在介绍MATLAB绘制中国地图的三种方式,分别是(1)使用m_...
  • matlab绘制栅格地图

    千次阅读 2019-09-25 13:52:29
    1 %创建具有障碍物的栅格地图 2 %矩阵中0代表黑色栅格 3 a = ones(20); 4 a(3,3:7)=0; 5 a(3:10,7)=0; 6 a(10,3:7)=0; 7 a(17,13:17)=0; 8 a(10:17,13)=0; 9 a(10,13:17)=0; 10 a(14,15)=0; 11 ...
  • matlab栅格地图绘制

    2019-01-05 18:53:29
    matlab栅格地图绘制,介绍了相关matlab程序,用户可根据需要学习 是太阳能光伏发电系统(Solar power system)的简称,是一种利用太阳电池半导体材料的光伏效应,将太阳光辐射能直接转换为电能的一种新型发电系统,...
  • matlab绘制中国地图

    万次阅读 多人点赞 2013-11-09 10:51:48
    其实,上面的绘制任意省的地图方式还可以进一步简化:读取shapefile文件时使用'selector'选择你想要的省份就可以了: S = shaperead(fnshp_P, 'UseGeoCoords', true,... 'Selector',{@(NAME) strcmp(NAME,'安徽...
  • Matlab绘制经纬度地图并添加坐标点

    万次阅读 多人点赞 2019-02-12 14:07:41
    1.调用geoshow画出的经纬度图片 图片说明:该图片是为了说明某公司的工厂建设地址分布图,并且不同州的颜色深度根据人口密度大小确定,可知人口密度大的所建的工厂工程较多,...代码说明:在Matlab中运行,并且将...
  • matlab绘制世界地图

    千次阅读 2015-02-09 08:52:48
    maps %查看当前可用的地图投影方式 %% 导入数据,全球海岸线 load coast %% 绘图 axesm robinson patchm(lat,long,'g'); %% 设置属性 setm(gca);%查看当前可以设置的所有图形坐标轴(map axes)的属性 setm(gca,'...
  • matlab绘制世界地图的脚本

    万次阅读 多人点赞 2013-11-10 12:51:10
    matlab绘制世界地图的脚本: %% clear;clc;close all maps %查看当前可用的地图投影方式 %% 导入数据,全球海岸线 load coast %% 绘图 axesm robinson patchm(lat,long,'g'); %% 设置属性 setm(gca);%查看当前...
  • 使用matlab绘制世界地图有两种方法(自己使用过的,可能有别的我不了解的方法):第一种是worldmap和geoshow;第二种是利用m_map工具箱;下面分别介绍这两种方法。 1.worldmap & geoshow worldmap和geoshow是...
  • MATLAB绘制三维地图

    2021-03-05 20:47:55
    MATLAB中的插值函数为interp1,其调用格式为: yi= interp1(x,y,xi,'method') 其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量, 'method'表示采用的插值方法,MATLAB提供的插值方法有几种: 'nearest'...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 184
精华内容 73
关键字:

matlab绘制地图

matlab 订阅