如何用matlab给地图标点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用matlab给地图标点?相关的知识,希望对你有一定的参考价值。

思路是先用matlab画一张地图,然后标出一个已知经纬度数据的点,如何实现?

参考技术A

如何用matlab给地图标点?


第一步,根据地图数据,绘制某区域地理图

第二步,使用plotm函数,在地图上绘制轴上投影二维线和点,其格式


plotm(lat、lon、LineSpec) 指定线样式、标记和颜色。

例如:
load coastlines


ax = axesm('sinusoid','Frame','on');
plotm(coastlat,coastlon,'g')


plotm(39.90,116.40,'ro')

运行结果

如何用OpenLayers画扇形

《WebGIS之OpenLayers全面解析》是第一本全面介绍Openlayers3的中文专业书籍,于2016年7月由电子工业出版社出版,并已登录淘宝、京东、当当等网络商城。
书籍内容简介:
OpenLayers作为业内使用最为广泛的地图引擎之一,已被各大GIS厂商和广大WebGIS二次开发者采用。借助OpenLayers强大的扩展功能,可以实现与各个不同的WebGIS平台产品相结合,开发出各具特色的WebGIS应用系统。 本书主要内容涵盖:WebGIS开发基础、OpenLayers开发基础、OpenLayers快速入门、OpenLayers之多源数据加载、OpenLayers之图形绘制、OpenLayers之OGC、OpenLayers之高级功能,最后给出了OpenLayers之项目实战――水利信息在线分析服务系统。Openlayers功能全且具有强大的可扩展性,使用Javascript语言,支持HTML5新特性,不依赖任何浏览器插件,是目前GIS领域使用最为广泛的开源WebGIS开发库。本书一共由9个章节内容组成,提供近百个程序实例,基本涵盖了WebGIS开发中的全部功能,可使读者迅速入门并掌握WebGIS和Openlayers开发,提高基础知识学习效率和系统开发效率。读者只需要将书中的示例稍加改动,便可快速的将其移植到具体的WebGIS应用中。本书具体内容安排如下:
第一章 概述:介绍了什么是WebGIS,并对目前常见的开源WebGIS软件进行了介绍。
第二章 WebGIS开发基础:对WebGIS开发涉及到的各种基础开发知识进行了讲解,指导读者快速入门WebGIS。
第三章 Openlayers开发基础:对Openlayers Javascript开发库的框架设计、API组成和开发调试方式进行了讲解,指导读者快速了解Openlayers。
第四章 Openlayers快速入门:对Openlayers中提供的常用的10个控件的二次开发进行了讲解,指导读者快速开发出一个简单的网络地图应用。
第五章 Openlayers之多源数据展示篇:通过丰富的示例讲解了Openlayers中如何显示来自各种网络地图服务商提供的地图数据,指导读者实现各种网络地图、KML、GPX、GeoJSON等开放数据源的叠加显示。
第六章 Openlayers之图形绘制篇:本章重点讲解了WebGIS应用中常用的点、线、矩形、多边形、圆等浏览器客户端的图形绘制功能,指导读者开发出各种鼠标交互图形绘制功能。
第七章 Openlayers之OGC篇:对Openlayers中如何加载WMS、WMTS、WFS、WCS图层进行了示例讲解,指导读者快速掌握OGC服务数据的对接。
第八章 Openlayers之高级功能篇:对Openlayers中投影、热区、聚合标注、热点图、统计图、标绘等高级功能进行了示例讲解,指导读者快速高效地开发高级WebGIS功能。
第九章 Openlayers之项目实战:结合一个具体的项目需求进行开发实战,配以详细的程序示例,讲解如何将Openlayers中的常用功能应用到项目实践中,指导读者基于前面章节中的Openlayers开发知识进行WebGIS系统开发。
本书可用于开设GIS专业的各大院校作为网络GIS课程的教材和教辅参考书,本书迎合WebGIS客户端开发技术的趋势和读者需求,适时推出本书,可作为学习WebGIS和Openlayers的入门及高级应用教材,也可供GIS领域科研工作者、高校师生及IT技术人员作为技术参考书。
参考技术A ol3的:
/**
* 创建扇形
* @param [x,y] center 扇形中心点
* @param number randius 扇形半径 与中心点对应的坐标系单位
* @param number sAngle 扇形起始边与X轴正方向夹角°
* @param number angle 圆心角°(逆时针方向为正)
* @returns ol.geom.MultiLineString
* @constructor
*/
ol.geom.Sector = function (center, randius, sAngle, angle)
sAngle = (360 - sAngle + 90) % 360;
var lines = [];
var s = false;
var sp = center;
var ep = null;
for (var i = 0; i <= angle; i += 0.5)
var x = center[0] + randius * Math.cos(degreeToRadian(sAngle + i));
var y = center[1] + randius * Math.sin(degreeToRadian(sAngle + i));
if (s)
sp = [x, y];
s = !s;
else
ep = [x, y];
lines.push([sp, ep]);
sp = ep;


if (sp != null && angle != 360) lines.push([sp, center]);
return new ol.geom.MultiLineString(lines);
;

var degreeToRadian = function (degree)
return Math.PI * degree / 180;
;

以上是关于如何用matlab给地图标点?的主要内容,如果未能解决你的问题,请参考以下文章

求助:如何用matlab测量中国地图面积

如何用matlab绘制三维地形图

如何用百度地图自定义路线并导航

如何在matlab上画中国地图

百度地图标点图标

如何用matlab读取txt文件中的数据,并画图