有许多地理空间数据集,其中包含以纬度和经度为单位的坐标数据。这个示例演示了如何使用纬度和经度中的坐标导入地理数据、在地图显示中显示地理数据以及自定义显示。
特别地,这个例子说明了如何
导入特定的地理向量和栅格数据集
创建地图显示和可视化数据
在单个地图显示中显示多个数据集
使用标尺和北箭头自定义地图显示
定制的地图显示用的地图的插图
矢量地理数据可以存储在各种不同的格式包括标准文件格式,如shapefile GPS交换(GPX) NetCDF, HDF4,或HDF5和特定地图矢量数据产品,如智能0级(VMAP0),和全球有层次高分辨率地理(GSHHG)。下载188bet金宝搏这个示例从一个shapefile导入多边形地理矢量数据。shapefile中的顶点可以是地理坐标(纬度和经度),也可以是投影坐标参考系统。
阅读美国州边界从usasatehi.shp
包含在Mapping Toolbox™软件中的文件。州界以经度和纬度为单位。将geostruct数组转换为geoshape矢量
并存储结果州
。
状态= geoshape(shaperead(“usastatehi”,“UseGeoCoords”,真));
将多边形地理矢量数据显示在地图轴上。由于地理范围是在美国,您可以使用usamap
设置映射轴。使用geoshow
将地理数据投影并显示在地图轴上。通过设置帧的面颜色来显示背景中的海洋颜色。
图ax = usamap(“本土”);oceanColor = [0.5 0.7 0.9]。setm (ax,“FFaceColor”地理秀(州)标题({…“边界的美国国界”,…“多边形地理矢量数据”})
进口点从地理矢量数据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”);
使用来自州边界和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);标题({“马萨诸塞州以及周边地区”,“地名和路线”})
通过使用地名和路由数据范围计算地图的新纬度和经度限制来放大地图。将极限延长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)标题(“地名和路线特写”)
地理栅格数据可以存储为各种不同的格式,包括标准文件格式,如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));
在地图轴上显示RGB图像。地图的范围设置为空间引用对象定义的范围,R
。数据的坐标是经度和纬度。
图ax = usamap(RGB, R);setm (ax,…“MLabelLocation”,0。“PLabelLocation”,0。…“MLabelRound”2,“PLabelRound”(2) geoshow(RGB, R)“波士顿概述”)
可以在单个地图显示中显示光栅和矢量数据。因为所有这些数据集的坐标都在纬度和经度中,所以使用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)标题(“波士顿概况和地理矢量数据”)
自定义地图显示,包括一个比例尺。比例尺是一种图形对象,它以投影的正确大小显示地面上的距离。这个例子演示了如何构造一个标尺来显示以国际英里为单位的水平距离。
计算马萨诸塞州的纬度和经度限制,并使用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,“规模与统治者”})
通过添加一个指北针自定义地图。北箭头指向地理北极的图形元素。
使用纬度和经度值来定位北箭头。
northArrowLat = 42.5;northArrowLon = -70.25;northarrow(“纬度”northArrowLat,“经”,northArrowLon);标题({titleText,“用尺子和北箭”})
通过添加inset映射自定义映射。inset map是较大地图中的一个小地图,它使您能够可视化主地图的更大地理区域。为周围区域创建一个inset map。使用轴
函数来包含和定位inset映射。在插图:
显示状态边界周围区域
绘制一个红色框,显示主图的程度
h2 =轴('位置',[0.15 0.6 0.2 0.2],'可见',“关闭”);usamap ({“爸爸”,“我”})plabel从;mlabel从setm (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
。