创建地图投影坐标参考系统中的数据
这个例子演示了如何导入和显示地理数据包含坐标投影坐标参考系统。
特别是,这个例子说明了如何
导入特定的栅格和矢量数据集
创建地图显示可视化数据
在地图上显示显示多个数据集
显示多个数据集与地理坐标和投影坐标参考系统在一个单一的地图显示
示例1:进口栅格数据投影坐标参考系统
地理栅格数据,包含坐标投影坐标参考系统可以存储在各种不同的格式,包括诸如GeoTIFF的标准文件格式,空间数据传输标准(sdt) NetCDF, HDF4或HDF5。这个例子说明了从GeoTIFF文件导入数据。中的数据文件包含坐标地图投影坐标参考系统马萨诸塞州平面大陆区坐标系统。
图像的坐标在GeoTIFF文件中,boston.tif
在投影坐标参考系统。你可以决定使用geotiffinfo
功能和检查个人电脑
和投影
字段值。
信息= geotiffinfo (“boston.tif”);disp (info.PCS)
马萨诸塞州NAD83 /内地
disp (info.Projection)
马萨诸塞州SPCS83大陆区域(米)
定义的坐标的长度单位UOMLength
字段信息
结构。
disp (info.UOMLength)
我们调查的脚
导入形象和空间引用对象,使用readgeoraster
。
(波士顿,R) = readgeoraster (“boston.tif”);
示例2:显示栅格数据投影坐标参考系统
你可以显示图像在正常使用MATLAB轴mapshow
,这显示图像和设置轴的极限的极限定义的引用对象,R
。的坐标,正如上面提到的,我们调查的脚
并且相对于地图的西南的起源,这就是为什么数量庞大。区域内的坐标总是积极的。
mapshow(波士顿,R)轴图像标题(“波士顿”)
示例3:进口矢量数据投影坐标参考系统
地理矢量数据,其中包含坐标的投影坐标参考系统可以存储在shapefile。这个例子演示了如何导入矢量数据在从shapefile投影坐标参考系统,boston_roads.shp
。
进口矢量线的数据boston_roads.shp
文件作为地理空间表。
道路= readgeotable (“boston_roads.shp”);
的形状
变量的表包含关于线形状的信息。查询形状的投影坐标参考系统。
roads.Shape.ProjectedCRS
ans = projcrs属性:名称:“NAD83 /麻萨诸塞州大陆”GeographicCRS: [1×1 geocrs] ProjectionMethod:“兰伯特圆锥共形(2 sp)”LengthUnit: "meter" ProjectionParameters: [1×1 map.crs.ProjectionParameters]
示例4:显示矢量和栅格数据投影坐标参考系统
矢量和栅格数据在这个例子中是相同的投影坐标参考系统。然而,矢量数据的长度单位米,在栅格数据测量脚的长度单位。将栅格数据转换为长度单位米和显示的数据在同一坐标轴。
将光栅图像的坐标从单位人测量英尺计。
R。XWorldLimits = R。XWorldLimits * unitsratio (“米”,“科幻小说”);R。YWorldLimits = R。YWorldLimits * unitsratio (“米”,“科幻小说”);
显示光栅图像和矢量数据使用mapshow
。
波士顿图mapshow (R) mapshow(道路)标题(“波士顿和道路”)
示例5:显示数据在地理和投影坐标参考系统
你可能地理数据的纬度和经度坐标和其他数据的坐标投影坐标参考系统。您可以显示这些数据集在同一个地图显示。这个例子演示了如何显示数据在地理坐标参考系统(经度和纬度),数据在地图投影坐标参考系统(马萨诸塞州飞机大陆区坐标系统)。
读一个光栅图像worldfile的纬度和经度坐标。使用imread
图像和阅读worldfileread
阅读worldfile并构造一个空间引用对象。
文件名=“boston_ovr.jpg”;概述= imread(文件名);overviewR = worldfileread (getworldfilename(文件名)“地理”、大小(概述));
显示图像和GeoTIFF概述图像在同一地图显示,您需要创建一个地图显示使用映射工具箱™投影结构包含的投影信息数据的投影坐标参考系统,马萨诸塞州平面大陆区坐标系统。地图显示在这个系统,你可以用投影GeoTIFF文件中包含的信息。使用geotiff2mstruct
构建一个映射函数工具箱™投影结构,从GeoTIFF信息的内容结构。的geotiff2mstruct
函数返回一个投影以米为单位。使用投影结构定义的投影参数地图显示。
mstruct = geotiff2mstruct(信息);
使用纬度和经度波士顿概述图像的局限性。
latlim = overviewR.LatitudeLimits;lonlim = overviewR.LongitudeLimits;
创建一个axesm
的地图通过使用地图投影的投影信息存储结构和设置地图经纬度限制。在地图上显示地理数据。geoshow
项目的纬度和经度坐标。
图ax = axesm (mstruct,“网格”,“上”,…“GColor”,(。9。9。9),…“MapLatlimit”latlim,“MapLonLimit”lonlim,…“ParallelLabel”,“上”,“PLabelLocation”.025,“PlabelMeridian”,“西方”,…“MeridianLabel”,“上”,“MlabelLocation”,0。“MLabelParallel”,“南”,…“MLabelRound”2,“PLabelRound”2,…“PLineVisible”,“上”,“PLineLocation”.025,…“MLineVisible”,“上”,“MlineLocation”,. 05);geoshow(概述、overviewR)轴从tightmap标题({“波士顿和周边地区”,“地理坐标”})
由于GeoTIFF图像的坐标投影坐标参考系统,使用mapshow
覆盖更详细的波士顿图像上显示。情节波士顿图像的边界为红色。
mapshow(波士顿,R)情节(R。XWorldLimits ([1 1 2 2 1]), R。YWorldLimits ((1 2 2 1 1)),“颜色”,“红色”)标题({“波士顿和周边地区”,“地理和投影坐标”})
变焦的地理区域GeoTIFF图像通过设置轴的极限的极限波士顿形象和添加一个小的缓冲。注意,缓冲区的大小(δ
)在米表示。
δ= 1000;xLimits = R。XWorldLimits +(-它δ);yLimits = R。YWorldLimits +(-它δ);xlim (ax, xLimits) ylim (ax, yLimits) setm (ax,“网格”,“关闭”);
你可以将道路矢量叠加到地图显示。使用一个符号规范给每个类道路自身的颜色。
roadColors = makesymbolspec (“行”,…{“类”2,“颜色”,“k”},…{“类”3,“颜色”,‘g’},…{“类”4“颜色”,“红色”},…{“类”5,“颜色”,“青色”},…{“类”6“颜色”,“b”},…{“默认”,“颜色”,“k”});mapshow(道路、“SymbolSpec”roadColors)标题({“波士顿和周边地区”,“包括波士顿公路”})
你也可以覆盖GPS数据存储在一个GPX文件。进口点的矢量地理数据boston_placenames.gpx
文件中包含的映射工具箱™软件。文件包含的地理纬度和经度坐标点特征在波士顿的一部分,麻萨诸塞州,美国。
地名= readgeotable (“boston_placenames.gpx”);
覆盖的地名在地图和增加标记的大小,改变标记圆圈和边缘和脸上颜色设置为黄色。
geoshow(地名,“标记”,“o”,“MarkerSize”6…“MarkerEdgeColor”,“y”,“MarkerFaceColor”,“y”)标题({“波士顿和周边地区”,“波士顿公路和地名等”})
数据集信息
的文件boston.tif
和boston_ovr.jpg
包括材料版权归之眼,保留所有权利。之眼被合并到数字地球公司在1月29日,2013年。对数据集的更多信息,使用的命令类型boston.txt
和类型boston_ovr.txt
。
的文件boston_roads.shp
和boston_placenames.gpx
从地理信息局(MassGIS),马萨诸塞州联邦执行办公室的技术和安全服务。对数据集的更多信息,使用的命令类型boston_roads.txt
和类型boston_placenames_gpx.txt
。