使用纬度和经度数据创建地图显示

有许多地理空间数据集,其中包含以纬度和经度为单位的坐标数据。这个示例演示了如何使用纬度和经度中的坐标导入地理数据、在地图显示中显示地理数据以及自定义显示。

特别地,这个例子说明了如何

  • 导入特定的地理向量和栅格数据集

  • 创建地图显示和可视化数据

  • 在单个地图显示中显示多个数据集

  • 使用标尺和北箭头自定义地图显示

  • 定制的地图显示用的地图的插图

例1:导入多边形地理矢量数据

矢量地理数据可以存储在各种不同的格式包括标准文件格式,如shapefile GPS交换(GPX) NetCDF, HDF4,或HDF5和特定地图矢量数据产品,如智能0级(VMAP0),和全球有层次高分辨率地理(GSHHG)。下载188bet金宝搏这个示例从一个shapefile导入多边形地理矢量数据。shapefile中的顶点可以是地理坐标(纬度和经度),也可以是投影坐标参考系统。

阅读美国州边界从usasatehi.shp包含在Mapping Toolbox™软件中的文件。州界以经度和纬度为单位。将geostruct数组转换为geoshape矢量并存储结果

状态= geoshape(shaperead(“usastatehi”,“UseGeoCoords”,真));

例2:显示多边形地理矢量数据

将多边形地理矢量数据显示在地图轴上。由于地理范围是在美国,您可以使用usamap设置映射轴。使用geoshow将地理数据投影并显示在地图轴上。通过设置帧的面颜色来显示背景中的海洋颜色。

图ax = usamap(“本土”);oceanColor = [0.5 0.7 0.9]。setm (ax,“FFaceColor”地理秀(州)标题({“边界的美国国界”,“多边形地理矢量数据”})

例3:导入点和线地理矢量数据

进口点从地理矢量数据boston_placenames.gpx包含在Mapping Toolbox™软件中的文件。该文件包含美国马萨诸塞州波士顿部分地区的地理点特征的纬度和经度坐标。使用gpxread读取GPX文件并返回ageopoint向量

地名= gpxread (“boston_placenames”);

导入行向量数据sample_route.gpx包含在Mapping Toolbox™软件中的文件。该文件包含从波士顿洛根国际机场到The MathWorks的GPS路线的经纬度坐标,在公司马萨诸塞州Natick郡,美国。使用gpxread读取GPX文件并返回ageopoint向量

路线= gpxread (“sample_route.gpx”);

例4:显示点和线的地理矢量数据

使用来自州边界和GPX文件的数据,在以马萨诸塞州为中心的地图轴中显示地理矢量数据。所有这些数据集的坐标都是经纬度。

找出马萨诸塞州的州界。

stateName =“麻省”;马=州(strcmp(状态。名字,stateName));

使用usamap设置马萨诸塞州周围区域的地图轴。通过设置画面的脸部颜色来给海洋上色。显示州边界和突出显示马萨诸塞州使用geoshow将地理数据显示在地图轴上。因为GPX路由是存储在a中的一组点geopoint向量,提供纬度和经度坐标geoshow将路由显示为一条线。

图ax = usamap('嘛');setm (ax,“FFaceColor”,oceanColor)geoshow(状态)geoshow(毫安,“线宽”,1.5,“FaceColor”[0.5 0.8 0.6])geoshow(地名);geoshow(route.Latitude,route.Longitude);标题({“马萨诸塞州以及周边地区”,“地名和路线”})

示例5:根据数据范围设置纬度和经度限制

通过使用地名和路由数据范围计算地图的新纬度和经度限制来放大地图。将极限延长0。05度。

lat =[路线。纬度placenames.Latitude];朗=[路线。经度placenames.Longitude];[min(lat) max(lat)];[min(lon) max(lon)];[latlim, lonlim] = bufgeoquad(latlim, lonlim, .05, .05);

用新的限制构造一个地图轴,并显示地理数据。

图ax = usamap(latlim, lonlim);setm (ax,“FFaceColor”,oceanColor)geoshow(状态)geoshow(地名)geoshow(route.Latitude,route.Longitude)标题(“地名和路线特写”)

示例6:导入地理栅格数据

地理栅格数据可以存储为各种不同的格式,包括标准文件格式,如GeoTIFF、空间数据传输标准(SDTS)、NetCDF、HDF4或HDF5,以及特定的栅格数据产品,如DTED、GTOPO30、ETOPO和USGS 1度(3弧-秒)DEM格式。下载188bet金宝搏这个示例导入一个光栅数据文件和一个马萨诸塞州波士顿周围区域的worldfile。图像的坐标是经度和纬度。使用imread读取图像和worldfileread读取worldfile并构造一个空间引用对象。

文件名='boston_ovr.jpg';RGB = imread(文件名);R = worldfileread (getworldfilename(文件名)“地理”,大小(RGB));

例7:显示地理栅格数据

在地图轴上显示RGB图像。地图的范围设置为空间引用对象定义的范围,R。数据的坐标是经度和纬度。

图ax = usamap(RGB, R);setm (ax,“MLabelLocation”,0。“PLabelLocation”,0。“MLabelRound”2,“PLabelRound”(2) geoshow(RGB, R)“波士顿概述”)

例8:显示地理矢量和栅格数据

可以在单个地图显示中显示光栅和矢量数据。因为所有这些数据集的坐标都在纬度和经度中,所以使用geoshow将它们显示在单个地图显示中。根据路线、地名和概览图像的限制设置新的限制。

lat =[路线。纬度地名。纬度R.LatitudeLimits];朗=[路线。经度地名。经度R.LongitudeLimits];[min(lat) max(lat)];[min(lon) max(lon)];
图ax = usamap(latlim, lonlim);setm (ax,'GColor',“k”,“PLabelLocation”,0。“PLineLocation”(.05) geoshow(RGB, R) geoshow(州)states.Longitude纬度,“线宽”2,'颜色',“y”)geoshow(地名)geoshow(路线。纬度,route.Longitude)标题(“波士顿概况和地理矢量数据”)

例9:使用标尺自定义地图显示

自定义地图显示,包括一个比例尺。比例尺是一种图形对象,它以投影的正确大小显示地面上的距离。这个例子演示了如何构造一个标尺来显示以国际英里为单位的水平距离。

计算马萨诸塞州的纬度和经度限制,并使用bufgeoquad函数。

latlim = [分钟(ma.Latitude),最大值(ma.Latitude)];lonlim = [分钟(ma.Longitude),最大值(ma.Longitude)];[latlim, lonlim] = bufgeoquad(latlim, lonlim, .05, .05);

在地图上显示州边界、地名、路线和概览图像。

图ax = usamap(latlim, lonlim);setm (ax,“FFaceColor”,oceanColor)geoshow(状态)geoshow(毫安,“线宽”,1.5,“FaceColor”,(。5 .8 .6]) geoshow(RGB, R) geoshow(地名)geoshow(路由)。纬度,路径。经度)titleText =“马萨诸塞州以及周边地区”;标题(titleText)

插入标尺。属性可以确定标尺的位置ginput功能如下:

[xLoc, yLoc] = ginput(1);

先前选择的位置设置如下。

xLoc = -127800;yLoc = 5014700;scaleruler ('单位',“小姐”,“RulerStyle”,“补丁”,“XLoc”xLoc,“YLoc”,yLoc);标题({titleText,“规模与统治者”})

示例10:自定义带有北箭头的地图显示

通过添加一个指北针自定义地图。北箭头指向地理北极的图形元素。

使用纬度和经度值来定位北箭头。

northArrowLat = 42.5;northArrowLon = -70.25;northarrow(“纬度”northArrowLat,“经”,northArrowLon);标题({titleText,“用尺子和北箭”})

示例11:使用Inset映射自定义映射显示

通过添加inset映射自定义映射。inset map是较大地图中的一个小地图,它使您能够可视化主地图的更大地理区域。为周围区域创建一个inset map。使用函数来包含和定位inset映射。在插图:

  • 显示状态边界周围区域

  • 绘制一个红色框,显示主图的程度

h2 =轴('位置',[0.15 0.6 0.2 0.2],'可见',“关闭”);usamap ({“爸爸”,“我”})plabel;mlabelsetm (h2,“FFaceColor”,' w ');geoshow(州,“FaceColor”,(。9。6。7),“父”, h2) plotm(latlim([1 2 2 1 1]), lonlim([2 2 1 1 2]),'颜色',“红色”,“线宽”, 2) title(ax, {titleText,“带有标尺、北箭头和插图”})

数据集信息

该文件boston_placenames.gpx来自马萨诸塞州地理信息局(MassGIS)技术和安全服务执行办公室。有关数据集的更多信息,请使用该命令类型boston_placenames_gpx.txt

该文件boston_ovr.jpg包括材料版权所有GeoEye,保留所有权利。GeoEye于2013年1月29日并入DigitalGlobe corporation。有关数据集的更多信息,请使用该命令类型boston_ovr.txt

另请参阅

||||||