projinv
将 x-y 地图坐标转换为纬度-经度坐标
说明
示例
通过指定 x-y 坐标的投影坐标参考系 (CRS),将 x-y 坐标转换为纬度-经度坐标。然后,在地理坐标区上显示经纬度坐标。
为此,首先导入包含马萨诸塞州康科德市道路 x-和 y-坐标的 shapefile。获取关于 shapefile 的结构信息。通过访问结构体的 CoordinateReferenceSystem 字段,获取坐标的投影 CRS。
roads = shaperead("concord_roads.shp"); x = [roads.X]; y = [roads.Y]; info = shapeinfo("concord_roads.shp"); proj = info.CoordinateReferenceSystem;
将 x-y 坐标系转换为经纬度坐标系。
[lat,lon] = projinv(proj,x,y);
在地理坐标区上显示坐标。
figure geoplot(lat,lon) hold on geobasemap streets

本示例中使用的 x-y 坐标的地理坐标参考系为 NAD83。您可以通过查询 GeographicCRS 属性来查找投影 CRS 所基于的地理坐标系。
proj.GeographicCRS.Name
ans = "NAD83"
'streets' 底图所采用的地理坐标参考系为 WGS84。NAD83 与 WGS84 相似,但并非完全相同。因此,在高缩放级别下,坐标与底图可能出现错位现象。
输入参数
输出参量
版本历史记录
在 R2006a 之前推出当在同一 MATLAB® 会话中多次调用 projinv 和 projfwd 函数,且输入相同的 projcrs 对象或地图投影结构时,其在 Windows® 上的性能表现得到提升。
例如,这段代码比上一版本快了约 1.67 倍。代码:
获取 DTED 文件的网格坐标
使用
projcrs对象对坐标进行投影和反投影获取另一个 DTED 文件的网格坐标
使用相同的
projcrs对象测量投影和逆投影坐标所需的时间
function timingTest info1 = georasterinfo("n39_w106_3arc_v2.dt1"); R1 = info1.RasterReference; [latGrid1,lonGrid1] = geographicGrid(R1); p = projcrs(4088); [xfwd1,yfwd1] = projfwd(p,latGrid1,lonGrid1); [latinv1,loninv1] = projinv(p,xfwd1,yfwd1); info2 = georasterinfo("n40_w106_3arc_v2.dt1"); R2 = info2.RasterReference; [latGrid2,lonGrid2] = geographicGrid(R2); tic [xfwd2,yfwd2] = projfwd(p,latGrid2,lonGrid2); [latinv2,loninv2] = projinv(p,xfwd2,yfwd2); toc end
大致的执行时间为:
R2022a:0.70 秒
R2022b:0.42 秒
该代码在搭载 Windows 10 核 Intel® Xeon® CPU W-2133 @ 3.6 GHz 的测试系统上进行了计时,通过调用函数 timingTest 完成。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)