精华内容
下载资源
问答
  • java代码实现CGCS2000大地坐标系经纬度转换为对应XY值
    千次阅读
    2021-03-08 11:54:03
    通过经纬度转换为XY值

    输入的参数为经度,纬度

    得到的结果是[X,Y]

    代码内部longitude0代表中央子午线的值,需要根据实际内容配置,也可以自己提到参数中

    ​​​​​​​public static double[] GaussToBLToGauss(double longitude, double latitude)//参数 经度,纬度
    {
        double[] output = new double[2];
        double longitude1,latitude1, longitude0, X0,Y0, xval,yval;
        //NN曲率半径,测量学里面用N表示
        //M为子午线弧长,测量学里用大X表示
        //fai为底点纬度,由子午弧长反算公式得到,测量学里用Bf表示
        //R为底点所对的曲率半径,测量学里用Nf表示
        double a,f, e2,ee, NN, T,C,A, M, iPI;
        iPI = 0.0174532925199433; //3.1415926535898/180.0;
        a=6378137.0; f=1/298.257222101; //CGCS2000坐标系参数
        //a=6378137.0; f=1/298.2572236; //wgs84坐标系参数
        longitude0 = 117.0;//中央子午线 根据实际进行配置
        longitude0 = longitude0 * iPI ;//中央子午线转换为弧度
        longitude1 = longitude * iPI ; //经度转换为弧度
        latitude1 = latitude * iPI ; //纬度转换为弧度
        e2=2*f-f*f;
        ee=e2*(1.0-e2);
        NN=a/Math.sqrt(1.0-e2*Math.sin(latitude1)*Math.sin(latitude1));
        T=Math.tan(latitude1)*Math.tan(latitude1);
        C=ee*Math.cos(latitude1)*Math.cos(latitude1);
        A=(longitude1-longitude0)*Math.cos(latitude1);
        M=a*((1-e2/4-3*e2*e2/64-5*e2*e2*e2/256)*latitude1-(3*e2/8+3*e2*e2/32+45*e2*e2
                *e2/1024)*Math.sin(2*latitude1)
                +(15*e2*e2/256+45*e2*e2*e2/1024)*Math.sin(4*latitude1)-(35*e2*e2*e2/3072)*Math.sin(6*latitude1));
        xval = NN*(A+(1-T+C)*A*A*A/6+(5-18*T+T*T+72*C-58*ee)*A*A*A*A*A/120);
        yval = M+NN*Math.tan(latitude1)*(A*A/2+(5-T+9*C+4*C*C)*A*A*A*A/24
                +(61-58*T+T*T+600*C-330*ee)*A*A*A*A*A*A/720);
        X0 = 500000L;
        Y0 = 0;
        xval = xval+X0; yval = yval+Y0;
    
        //转换为投影
        output[0] = xval;
        output[1] = yval;
        return output;
    }

     

    更多相关内容
  • 火星坐标转换经纬度,火星坐标系转换软件工具【支持批量】 火星坐标转换工具,支持批量转换 火星坐标转换到地球坐标 地球坐标转换到火星坐标 批量转换工具
  • 大地坐标经纬度坐标转换
  • 大地经纬度坐标转换

    2018-04-06 16:23:32
    转换大地经纬度坐标使用。可用于西安80北京54和经纬度坐标之间的转换
  • 使用MATLAB,利用六颗卫星数据,利用最小二乘法,在CGCS2000坐标系下,进行定位解算,算出北斗接收机位置经纬度
  • 经纬度坐标系之间相互转换,主要有wgs84坐标系、火星坐标系(国测局)、百度坐标系。用户只需通过一个html网页即可做到经纬度互转,方便快捷高效,强力推荐呐~。
  • 软件是基于参考椭球面与全国大地控制点,建立全国高精度高分辨率格网改正量模型,利用地理信息平台进行二次开发,研发自动化程度高、速度快、操作方便的坐标转换软件系统,对存量土地数据进行转换,实现全国已有数据...
  • 地球表面cgcs2000大地坐标转经纬度源码
  • 经纬度WGS84地理坐标系转换成CGCS2000坐标系步骤基于ArcGIS中进行操作供大家参考学习文末有该文档的下载方式1、 将图层从奥维中导出成shp文件,2、 打开arcgis-arcmap3、地理处理-arctoolbox-数据管理工具-投影和...

    经纬度WGS84地理坐标系转换成CGCS2000坐标系步骤

    基于ArcGIS中进行操作

    供大家参考学习

    文末有该文档的下载方式

    1、 将图层从奥维中导出成shp文件,

    04be980152b99604a0fbfec071cf67be.png

    2、 打开arcgis-arcmap

    ac382c1cf60bd0745f32ff5c2eadecde.png

    3、地理处理-arctoolbox-数据管理工具-投影和变换-要素-投影

    0dceb54939f0ad6d24380f3952f47d2a.png

    4b1e1b0655823c5f4c16b94b4fe69863.png

    4、WGS84坐标转换为地理坐标系-world-ITRF2000

    02b48f8db5350041c0cbbbc801f912b2.png

    7db4ac50d95b10d9b87b4429bd5a7457.png

    4d64d199647d06f86f22362e2e5d503d.png

    649ebfb2e870bdb64e06699d18a5f908.png

    5、打开ArcCatalog,找到上一步中已经成ITRF2000坐标系的shp文件,单击右键-属性,将图层坐标重新定义成GCGS2000地理坐标系

    81e8e0d93c7f42a03606766725f71fe7.png

    0b65f7e158b8f11c79e4143b3a73828e.png

    bd8c50e620df28856722bd4f2d0eedc3.png

    6、重新打开arcmap,重新打开已经重新定义坐标系的shp文件,按照地理处理-arctoolbox-数据管理工具-投影和变换-要素-投影

    5eed81dfcb1087f85ba9079c7d6d39fc.png

    d3be38160b88b68f53e0a58d6c9197c0.png

    802c0a2593b9b0c05b67706c1b5f93dd.png

    9f06e87807990062dce5ba2cd02197a5.png

    7、关于带号计算方法

    b9b9872d45b1b187c37aa018721a7cce.png

    ffdc2d7fb205d6e15e52dbe127d21141.png

    420fddd357212af9b1331eddb41b8252.png

    15c636ff04146c69db55901a29892ba7.png

    如果不用带带号的,采用所在区域中央经度,

    d58eeff8c0d1465ae9279aebb43e86f1.png

    均为3度带中央经度线

    db9ad382365227b7a8662cafc4e3267a.png

    如果前面加带号,采用6度带或三度带带号,均为三度带带号

    8、计算

    上一步将GCGS2000地理坐标系转换为GCGS2000投影坐标系后,打开上一步转换成投影坐标系后的shp文件,单击图层,右键属性,常规里,将十进制单位改成米。

    再右键单击shp图层,打开属性表,添加字段,添加x,y坐标字段

    57ac9c78f37133ed9174aef16dea137a.png

    57ef550b802b706e133f97beb815868a.png

    fc82aee629e61950c871abadad863dbb.png

    7e1c8ff2a2e4d87110de1747c489a0e8.png

    e8a9597aaa53d301c7852693ca885dc0.png

    efff45258e89b65258dbdb977471cd79.png

    194a902f4e9c9325c3043f9e8ea3d51e.png

    4c67d257a791bf479dbb7c4f7256417e.png

    *这里需要注意一个事项,前面我们在选带号是,有带带号,也有没带带号,如果带带号,那么计算出来的y(对应经度)是8位,如果不带带号,对应的y(对应经度)是6位;x(对应纬度)是7位,不变。

    展开全文
  • 设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, % * 谷歌地图采用的是WGS84地理坐标系(中国范围除外); % * GCJ02坐标系:即火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS...
  • CAD制图中,经常要用到根据图上某点坐标标注经纬度的功能,之前在网上找了一个西安80坐标系下标注的,现在用2000的比较多,网上没有找到合适的,所以自己照着三调的培训资料写了一下,三调的资料内有高斯投影的计算...

    CAD制图中,经常要用到根据图上某点坐标标注经纬度的功能,之前在网上找了一个西安80坐标系下标注的,现在用2000的比较多,网上没有找到合适的,所以自己照着三调的培训资料写了一下,三调的资料内有高斯投影的计算公式以及图幅分幅和随球面积等计算内容。网上有很多.net下写的2000坐标系下高斯反算的代码,但是我没看懂,没理解需要迭代循环的一部分,如果有懂的,可以给科普一下。谢谢。
    五个常数自行翻阅三调培训资料,我不确定是不是涉密。

    (defun xytobl2000 (y x cm / a bb f e2 e12 p k0 k1 k2 k3	k4 E Bf	tt n2 C
    		   V N B L)
    					;椭球参数及常数
      (setq	a   6378137.0
    	bb  6356752.31414036
    	f   0.003352810681182
    	e2  0.006694380022901
    	e12 0.006739496775479
    	p   206264.806247097
    	k0  0.00000015***
    	k1  0.005052****
    	k2  0.00002***
    	k3  0.00000024*****
    	k4  0.0000*****
      )
      (setq	E  (* k0 x)
    	Bf (+ E
    	      (* (cos E)
    		 (- (+ (- (* k1 (sin E)) (* k2 (expt (sin E) 3)))
    		       (* k3 (expt (sin E) 5))
    		    )
    		    (* k4 (expt (sin E) 7))
    		 )
    	      )
    	   )
    	tt (/ (sin Bf) (cos Bf))
    	n2 (* e12 (expt (cos Bf) 2))
    	C  (/ (expt a 2) bb)
    	V  (sqrt (+ 1 n2))
    	N  (/ C V)
      )
      (setq	B (-
    	    (+
    	      (- Bf
    		 (* 0.5
    		    (* (expt V 2) tt (expt (/ y N) 2))
    		 )
    	      )
    	      (* (/ 1 24.0)
    		 (- (+ 5 (* 3 (expt tt 2)) n2) (* 9 n2 (expt tt 2)))
    		 (* (expt V 2) tt)
    		 (expt (/ y N) 4)
    	      )
    	    )
    	    (*
    	      (/ 1 720.0)
    	      (+
    		61
    		(* 90 (expt tt 2))
    		(* 45 (expt tt 4))
    	      )
    	      (* (expt V 2) tt)
    	      (expt (/ y N) 6)
    	    )
    	  )
      )					;endB
      (setq	L (+
    	    (-
    	      (*
    		(/ 1 (cos Bf))
    		(/ y N)
    	      )
    	      (*
    		(/ 1 6.0)
    		(+
    		  1
    		  (* 2 (expt tt 2))
    		  n2
    		)
    		(/ 1 (cos Bf))
    		(expt (/ y N) 3)
    	      )
    	    )
    	    (*
    	      (/ 1 120.0)
    	      (+
    		5
    		(* 28 (expt tt 2))
    		(* 24 (expt tt 4))
    		(* 6 n2)
    		(* 6 n2 (expt tt 2))
    	      )
    	      (/ 1 (cos Bf))
    	      (expt (/ y N) 5)
    	    )
    	    cm
    	  )
    
      )					;endL
    
      (list (dfm L) (dfm B))
    )					;end defun
    

    实际上没有什么技术含量,就是照书上的公式写出来就行,有了公式和简化后的常量,EXCEL也可以代入计算。

    展开全文
  • 基于matlab软件,可将经纬度坐标转换成空间直角坐标。内含WGS84参考椭球参数,可通过输入自己的经纬度坐标,实现三维空间直角坐标转换
  • 1.CGCS2000下的大地坐标到CGCS2000下的空间直角坐标转换; 2.CGCS2000下的空间直角坐标经过七参数转换,得到西安80下的空间直角坐标; 3.西安80下的空间直角坐标向西安80下的大地坐标转换; 4.西安80下的大地...
  • 百度米制坐标转WGS84/火星经纬度坐标,BD02(火星坐标系)/WGS84百米制转换
  • 经纬度与大地坐标转换工具,多个参考选择,投影面选择,操作简便。
  • 自己编写的大地坐标系经纬度)转J2000惯性系的Matlab源码,希望对大家有帮助,输入以角度制方式,需要弧度制的可自行更改
  • 坐标转换经过本人高精度GPS 验证 误差范围在1米以内,更深入了解的可以私信我
  • 本Matlab代码提供了地理坐标丰富的转换功能:涵盖了经纬度坐标转东北天坐标经纬度坐标转地心直角坐标;地心直角坐标转东北天;地心直角坐标转经纬度的功能;代码简洁易懂,高效
  • 支持GPS WGS84 国家2000 西安80 北京54坐标系的大地、经纬度坐标和平面坐标之间的转换,换带计算,不同坐标系之间的7参数、4参数转换 注意:运行时,杀毒软件可能会提示存在木马,这是授权机制引起的,请忽略,或者...
  • 最新2000坐标系转换,转换功能强大,坐标系转换,54坐标系、80坐标系、2000坐标系,相互转换,免费
  • java实现坐标系转换

    2020-09-25 17:09:36
    java实现2000坐标转wgs84,WGS84和cgcs2000互转,使用String字符串解析和三参数算法实现,只需坐标就能实现
  • 根据此jar包 可以轻松实现经纬度与城建坐标的互相转换问题
  • 大地经纬度和直角坐标系之间的换算工具,支持西安80和北京54两种坐标系统。
  • C#实现坐标转换

    2018-09-15 15:14:50
    通过C#窗体程序实现任意坐标系转换到54坐标系,80坐标系,54坐标系转换到80坐标系。
  • 计算UTM坐标转换经纬度坐标 根据UTM定义 Excel表格自动计算 输入UTM坐标参数,自动计算并且输出经纬度坐标 Excel表格自动计算 输入UTM坐标参数,自动计算并且输出经纬度坐标 Excel表格自动计算 输入UTM坐标参数...
  • python实现百度墨卡托坐标,百度经纬度坐标,火星坐标,WGS84坐标之间的相互转换
  • 以下的方法可以实现CGCS2000大地坐标系XY值转化为对应经纬度信息, 注意输入的XY值与给定的值相反,则参数X为已知的Y,参数Y为已知的X。 得出的结果为 [纬度,经度],不要应用错误。 L0参数为中央子午线的经线值...

    以下的方法可以实现CGCS2000大地坐标系XY值转化为对应经纬度信息,

    注意输入的XY值与给定的值相反,则参数X为已知的Y,参数Y为已知的X

    得出的结果为 [纬度,经度],不要应用错误。

    L0参数为中央子午线的经线值,应用方法前需要确定L0的值,否则得出的值会有很大的偏差。

    
    public static double [] xytolatlon(double X, double Y ,double L0) {
            double lat ,lon;
            Y-=500000;
            double []  result  = new double[2];
            double iPI = 0.0174532925199433;//pi/180
            double a = 6378137.0; //长半轴 m
            double b = 6356752.31414; //短半轴 m
            double f = 1/298.257222101;//扁率 a-b/a
            double e = 0.0818191910428; //第一偏心率 Math.sqrt(5)
            double ee = Math.sqrt(a*a-b*b)/b; //第二偏心率
            double bf = 0; //底点纬度
            double a0 = 1+(3*e*e/4) + (45*e*e*e*e/64) + (175*e*e*e*e*e*e/256) + (11025*e*e*e*e*e*e*e*e/16384) + (43659*e*e*e*e*e*e*e*e*e*e/65536);
            double b0 = X/(a*(1-e*e)*a0);
            double c1 = 3*e*e/8 +3*e*e*e*e/16 + 213*e*e*e*e*e*e/2048 + 255*e*e*e*e*e*e*e*e/4096;
            double c2 = 21*e*e*e*e/256 + 21*e*e*e*e*e*e/256 + 533*e*e*e*e*e*e*e*e/8192;
            double c3 = 151*e*e*e*e*e*e*e*e/6144 + 151*e*e*e*e*e*e*e*e/4096;
            double c4 = 1097*e*e*e*e*e*e*e*e/131072;
            bf = b0 + c1*Math.sin(2*b0) + c2*Math.sin(4*b0) +c3*Math.sin(6*b0) + c4*Math.sin(8*b0); // bf =b0+c1*sin2b0 + c2*sin4b0 + c3*sin6b0 +c4*sin8b0 +...
            double tf = Math.tan(bf);
            double n2 = ee*ee*Math.cos(bf)*Math.cos(bf); //第二偏心率平方成bf余弦平方
            double c = a*a/b;
            double v=Math.sqrt(1+ ee*ee*Math.cos(bf)*Math.cos(bf));
            double mf = c/(v*v*v); //子午圈半径
            double nf = c/v;//卯酉圈半径
    
            //纬度计算
            lat=bf-(tf/(2*mf)*Y)*(Y/nf) * (1-1/12*(5+3*tf*tf+n2-9*n2*tf*tf)*(Y*Y/(nf*nf))+1/360*(61+90*tf*tf+45*tf*tf*tf*tf)*(Y*Y*Y*Y/(nf*nf*nf*nf)));
            //经度偏差
            lon=1/(nf*Math.cos(bf))*Y -(1/(6*nf*nf*nf*Math.cos(bf)))*(1+2*tf*tf +n2)*Y*Y*Y + (1/(120*nf*nf*nf*nf*nf*Math.cos(bf)))*(5+28*tf*tf+24*tf*tf*tf*tf)*Y*Y*Y*Y*Y;
            result[0] =retain6(lat/iPI);
            result[1] =retain6(L0+lon/iPI);
            //System.out.println(result[1]+","+result[0]);
            return result;
        }
    private static double retain6(double num) {
            String result = String.format("%.6f", num);
            return Double.valueOf(result);
        }

    展开全文
  • matlab编程计算,源代码。可以将笛卡尔坐标系下的坐标转换为大地坐标系下的坐标,大地坐标系的参数可以自己设置,如选择WGS84或是CGCS2000
  • 摘要: 经纬度坐标系与UTM, MGRS坐标系之间的转换代码 c# 原文地址: http://lu.9efish.com/Blog/longitude-latitude-utm-mgrs-csharp 转载于:https://www.cnblogs.com/dotLive/archive/2010/08/17/1801163.html...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,844
精华内容 3,537
关键字:

2000坐标系转换经纬度