精华内容
下载资源
问答
  • MATLAB程序实现经纬度转换平面坐标
    万次阅读 多人点赞
    2020-09-05 15:41:51

     近期搜了下经纬度坐标转换成直角坐标的程序和原理啥的,哎,真难啊,其实道理都懂吧,下面直接贴代码,

    主要是加了个for循环而言,优化输出效果。

    %%%MATLAB程序实现经纬度转换成平面尔坐标:
    M_PI=3.14159265358979323846;
    L = 6381372 * M_PI * 2; %地球周长  
    W = L; % 平面展开后,x轴等于周长  
    H = L / 2; % y轴约等于周长一半  
    mill = 2.3; % 米勒投影中的一个常数,范围大约在正负2.3之间  
    position=[120.7015202,36.37423; 
    120.6987175,36.37457569;
    120.6997954,36.37591239;
    120.70691,36.37579616;
    120.7056165,36.37248342;
    120.7031731,36.37753964;
    120.6928965,36.37800457;
    120.6943337,36.37521499;
    120.6973521,36.37876006;
    120.6962022,36.37643544;
    120.7011609,36.37905063;
    120.6939026,36.38021291;
    120.6983582,36.38056159;
    120.7025263,36.38120084;
    120.6914592,36.38201441;
    120.6960585,36.38247931;
    120.7005141,36.38276987;
    120.6998673,36.37079794;
    120.6928965,36.37079794;
    120.6964897,36.36824059;
    120.6969209,36.37143727;
    120.7052571,36.36899618;
    120.7088504,36.37021674;
    120.7087066,36.36731063;
    120.7130185,36.36829872;
    120.6896626,36.36661314;
    120.6937588,36.36242812;
    120.6993643,36.38741865;
    120.7129466,36.37201847;
    120.7002266,36.36428816;]%30个经纬度坐标点
    n=size(position,1);
    
    %%lon=120.7015202;%经度
    %%lat=36.37423;%纬度
    new_position=[];
    for i =1:n
        lon=position(i,1);
        lat=position(i,2);
        x = lon * M_PI / 180; % 将经度从度数转换为弧度  
        y = lat * M_PI / 180; %将纬度从度数转换为弧度  
        y1 = 1.25 * log(tan(0.25 * M_PI + 0.4 * y)); % 米勒投影的转换  
        % 弧度转为实际距离  
        dikaerX = (W / 2) + (W / (2 * M_PI)) * x ; %笛卡尔坐标x
        dikaerY = (H / 2) - (H / (2 * mill)) * y1 ;%笛卡尔坐标y
        new_position(i,1)=dikaerX;
        new_position(i,2)=dikaerY;
        fprintf('第%d个点的',i)
        fprintf('坐标是=(%f %f);',new_position(i,1),new_position(i,2))
        fprintf('\n')
    end

    参考文章链接:<https://blog.csdn.net/qq_32693445/article/details/79597213?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase>

     

    更多相关内容
  • 批量点,矩阵形式给出,MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。调用单点经纬度坐标转换为平面坐标的函数也在文件中。博客中有详细解释和C++代码...
  • 单点经纬度转换坐标

    2019-02-25 13:04:20
    MATLAB—经纬度坐标转换为平面坐标;Mercator投影变换。这个如果出现不合理转换请查看我的另一篇(正常是可以的)单点经纬度转换坐标,那个需要积分多一点(后台审核积分)。博文中含有这几个坐标转换的文档解释
  • MATLAB经纬度坐标转换为平面坐标

    万次阅读 多人点赞 2019-02-23 11:03:27
    XY平面被当作Mercator投影平面,Y轴和X轴原点分别设0纬度和0经度。通过如下公式将地理坐标变换到Mercator投影平面。由于标准电子海图/航道图使用WGS84坐标系,本文使用WGS84参数进行变换。投影基准纬度0度。 ...
    1. 原理示意图:

    Mercator投影变换示意图

    在这里插入图片描述
    2. 公式:

    XY平面被当作Mercator投影平面,Y轴和X轴原点分别设为0纬度和0经度。通过如下公式将地理坐标变换到Mercator投影平面。由于标准电子海图/航道图使用WGS84坐标系,本文使用WGS84参数进行变换。投影基准纬度为0度。
    在这里插入图片描述
    公式参数如下:
    X:水平直角坐标,单位为米(m);
    Y:纵向直角坐标,单位为米(m);
    B:纬度,单位为弧度(rad);
    L:经度,单位为弧度(rad);
    Bo:投影基准纬度,Bo =0,单位为弧度((rad);
    Lo:坐标原点的经度,Lo =0,单位为弧度(rad);
    a:地球椭球体长半轴,a=6378137.0000,单位为米(m);
    b:地球椭球体短半轴,b=6356752.3142,单位为米(m);
    e:第一偏心率;
    e’:第二偏心率。
    N-卯酉圈曲率半径,单位为米(m)。

    1. 代码

    单点经纬度坐标转换好用代码原创度高积分需要多
    C++语言实现

    批量数据经纬度坐标转换
    批量数据经纬度坐标转换

    展开全文
  • 利用matlab经纬度转换为XYZ坐标,用于相对位置参考和平面制图,精度高,使用方便,可直接在当前程序中调用,仅需配置参考位置,并输入需要转换的经纬度,输出北向夹角和与参考位置之间的距离,采用三角公式计算X、...
  • 该mat文件用于matlab中将经纬度坐标转换成地理坐标,按照北京54,第20度带进行坐标平面的投影,调用projfwd函数即可。
  • MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。(这个程序考虑第一偏心率、第二偏心率)原创度高所以积分多。博文中含有这几个坐标转换的文档解释...
  • %x=[E1,N1];y[E2,N2])经度 ,纬度 function [distance,deg] = Spherediff(x,y,R) if nargin < 3 R = 6378137; %地球半径 end x = deg2rad(x); %度转弧度 y = deg2rad(y);...DeltaS = acos(cos(x(2))*cos(y(2))*cos...
    %x=[E1,N1];y[E2,N2])经度 ,纬度
    function [distance,deg] = Spherediff(x,y,R)
    if nargin < 3
    R = 6378137; %地球半径
    end
    x = deg2rad(x); %度转弧度
    y = deg2rad(y);
    DeltaS = acos(cos(x(2))*cos(y(2))*cos(x(1)-y(1))+sin(x(2))*sin(y(2)));
    distance = R * DeltaS; %米
    DeltaA = atan((x(1)-y(1))*cos(y(2))/(y(2)-y(1)));
    deg = mod(DeltaA * 180/pi+360,360); %度
    end
    
    展开全文
  • MATLAB经纬度坐标转换成直角坐标

    千次阅读 2021-01-13 23:52:41
    代码如下%从northEastChina20文本中读取经纬度坐标及台站名,该文件中存放格式三列,第一列是经度,第二列是纬度,第三列是台站名的三个字母​​缩写[lon,lat,sta]=textread('northEastChina20','%f %f%s',13);...

    代码如下

    %

    从northEastChina20文本中读取经纬度坐标及台站名,该文件中存放格式为三列,第一列是经度,第二列是纬度,第三列是台站名的三个字母​​缩写

    [lon,lat,sta]=textread('northEastChina20','%f %f

    %s',13);

    sta=cell2mat(sta); %将cell转换成字符串

    latlon20=[lat,lon];把纬度放在第一列,经度放在第二列

    axesm utm

    %设置投影方式,这是MATLAT自带的Universal Transverse Mercator

    (UTM)方式

    Z=utmzone(latlon20);%utmzone根据latlon20里面的数据选择他认为合适的投影区域,可以是一个台站的经纬度,也可以是所有台站的经纬度(此时是平均)

    setm(gca,'zone',Z)

    h = getm(gca)

    R=zeros(size(latlon20));

    for i=1:length(latlon20)

    [x,y]= mfwdtran(h,latlon20(i,1),latlon20(i,2));

    调用MATLAB自带的函数,根据先前设置的Z,逐个台站进行转换计算

    R(i,:)=[x;y];

    end

    dlmwrite('coordinate.txt',R)

    figure; plot(R(:,1),R(:,2),'ro','linewidth',6) %在直角坐标下画出这些台站

    以上程序会产生两张图,第一张是空白的,因为没有航空轨迹图

    第二张就是转换后台站所处的位置

    转换后的坐标

    ​​​

    以上代码参考修改自http://www.ilovematlab.cn/thread-99440-1-1.html​

    展开全文
  • 地球经纬度转换为平面坐标,想必是数学建模里面经常会遇到的问题。 由于地球是一个近似椭圆,因此用经纬度确定的坐标,无法直接使用平面几何的计算公式计算距离等数据。使用墨卡托投影法将经纬度坐标投影为平面坐标...
  • C#调用dll,实现平面坐标经纬度转换。 椭球体选择: 北京54 西安80 WGS84 National2000 投影方式: 高斯 Mercator UTM
  • 在一些题目中,给定目标点的经纬度,需要通过算法将其转换平面坐标,以便更精确地计算距离。 使用墨卡托投影法将经纬度坐标投影为平面坐标matlab代码 function [x,y]=ll_xy(lng, lat) earthRad = 6378137.0;...
  • 二:输出的coordinate.txt文件里数据怎样处理精度问题,就像您贴出来的转换后的坐标似地能保留到小数点后很多位?请看附录二附录一:我的程序>> L=dlmread('hangji01.txt');axesm utmZ=utmzone(L(1,1...
  • 计算UTM坐标转换为经纬度坐标 根据UTM定义 Excel表格自动计算 输入UTM坐标参数,自动计算并且输出经纬度坐标 Excel表格自动计算 输入UTM坐标参数,自动计算并且输出经纬度坐标 Excel表格自动计算 输入UTM坐标参数...
  • MATLAB 代码,高斯平面坐标转换为经纬度, 6度带,坐标系WGS84. MATLAB 代码,高斯平面坐标转换为经纬度, 6度带,坐标系WGS84.
  • 批量点,矩阵形式给出,MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。需要调用单点经纬度坐标转换为平面坐标的函数
  • matlab经纬度坐标与高斯坐标转换(proj4)-5

    万次阅读 多人点赞 2019-04-12 18:58:44
    北京54,西安80,wgs84坐标都是是大地坐标,也就是我们通常所说的...UTM是一种投影坐标,是将球面经纬度坐标经过投影算法转换成的平面坐标,即通常所说的XY坐标. WGS-84坐标系 WGS-84坐标系(World Geodetic Sy...
  • 这是我的文章【Google地图经纬度平面坐标的相互转换、简单地图Demo】的附件,内含无水印世界地图、简单地图demo源码 接到公司派下来的一个任务,让我做一个简单的地图Demo,要求是输入城市名,然后在地图上标记出...
  • /// 将经纬度转换为平面坐标。 /// </summary> /// <param name="map"></param> /// <param name="x"></param> /// <param name="y"></param> /// <returns&...
  • 程序包含两个函数,其中[Gaussian_X,Gaussian_Y]=convert84BLToGauss(longitude,latitude) 函数将经纬度转为o-xy坐标;[longitude,latitude]=convert84GaussToBL(X,Y) 函数将o-xy坐标转为经纬度;选用的6度带宽。
  • Matlab版本:8.1.0.604 (R2013a) 这里需要用到的命令有:maps, defaultm, projfwd, projinv 1, 查看有哪些地图投影方式: 运行maps查看有哪些投影方式 >> maps MapTools Projections CLASS NAME.....
  • matlab开发-gps坐标转换

    2019-08-21 11:31:37
    matlab开发-gps坐标转换。操作GPS位置数据的实用程序
  • 经纬度平面坐标转换方法

    万次阅读 2016-11-13 16:28:57
    这里以从XY到经纬度转换为例:首要要明确 XY使用的坐标系XY点所在分带的中央子午线,这个不清楚自己去百度分带方法XY的格式:在坐标的使用中通常在Y坐标前加入了带号,计算时需要去掉代号再计算一定要分清XY...
  • 经纬度坐标平面笛卡尔坐标

    热门讨论 2008-11-02 21:27:54
    经纬度平面坐标,传入经纬度值,传出平面坐标值,转换是等距离转换
  • 地心坐标转换为地理坐标系,MATLAB程序,简单易懂,适合初学者。
  • 像素转化经纬度不难吧线性源方程组比如bai开始的1像素du代表50度,101像素代表zhi100度y=ax+b50=a+b100=101a+b求得a,b,像素和经纬度的dao转换关系就可以得到。接下来是自定义坐标轴的问题,可以这么用例如:set...
  • 利用matlab编写的投影与坐标转换程序。
  • 由于需要对经纬度信息进行卡尔曼滤波,而且系统状态含有速度信息,所以要使用基于米定位的坐标系。故而需要先把经纬度信息转为UTM信息。 需要保证输入的观察值Ck的UTM区域要与当前拍的先验估计值保持在同一个区域...
  • 城市地理176 MATLAB在测绘80与2000坐标转换中的应用 熊高翔 (成都理工大学,四川 成都 610051) 摘要:2008 年 7 月 1 日起我国正式启用 2000 国家大地坐标系作为国家法定坐标系。对现代测绘工作来说,对 80 西安...
  • 详细介绍了大地经纬度坐标与地心地固坐标的的转换的推导过程,并且给出了具体的代码实现。

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 170
精华内容 68
关键字:

matlab经纬度转换为平面坐标

matlab 订阅
友情链接: hac.zip