新闻详情

新闻详情

首页 / 资讯中心 / 详情

WGS84转CGS2000 国家大地坐标系转换

发布时间:2026/10/1 9:28:55来源:尧图网络
WGS84转CGS2000 国家大地坐标系转换
publicstaticPointWGS84ToCGS2000(doublexCoordinates,doubleyCoordinates)//参数 经度纬度{// 数值过低可能是因为行政区代码错误导致的if(xCoordinates0.0000001||yCoordinates0.0000001){returnnull;}intProjNo0;PointpointnewPoint(xCoordinates,yCoordinates);if(CheckIsWGS84Coordinates(xCoordinates,yCoordinates)){pointWgs84ToCgs2000(point,ProjNo);}else{if(!String.valueOf(point.getX()).startsWith(String.valueOf(ProjNo))){//point CoordinateTrans.Xian80ToWgs84(point, null);//point ShapeAreaHelper.TransCoordinatesFrom84To2000(point, ProjNo);}}returnpoint;}/** * 84经纬度坐标转2000平面坐标 * param sourcePoint * param ProjNo * return */publicstaticPointWgs84ToCgs2000(PointsourcePoint,intProjNo){if(sourcePointnull){//throw new Exception(sourcePoint);}PointtargetPointGaussProjCal(sourcePoint,ProjNo);returntargetPoint;}/** * 高斯投影正算 * param sourcePoint * param ProjNo * return */publicstaticPointGaussProjCal(PointsourcePoint,intProjNo){PointpointGaussProjCal(sourcePoint.getX(),sourcePoint.getY(),EarthParam.CGS2000.A,EarthParam.CGS2000.F,ProjNo);returnpoint;}privatestaticPointGaussProjCal(doublelongitude,doublelatitude,doublea,doublef,intProjNo){//int ProjNo 0;intZoneWide;////带宽doublelongitude1,latitude1,longitude0,latitude0,X0,Y0,xval,yval;doublee2,ee,NN,T,C,A,M,iPI;iPIMath.PI/180;////3.1415926535898/180.0;ZoneWide3;////3度带宽//a 6378245.0; f 1.0 / 298.3; //54年北京坐标系参数//a6378140.0; f1/298.257; //80年西安坐标系参数//a6378137m;f1/298.257223563;//WGS-84坐标系if(ProjNo0){ProjNo(int)Math.round(longitude/ZoneWide);}longitude0ProjNo*ZoneWide;longitude0longitude0*iPI;latitude00;//经度转换为弧度longitude1longitude*iPI;//纬度转换为弧度latitude1latitude*iPI;e22*f-f*f;eee2*(1.0-e2);NNa/Math.sqrt(1.0-e2*Math.sin(latitude1)*Math.sin(latitude1));TMath.tan(latitude1)*Math.tan(latitude1);Cee*Math.cos(latitude1)*Math.cos(latitude1);A(longitude1-longitude0)*Math.cos(latitude1);Ma*((1-e2/4-3*e2*e2/64-5*e2*e2*e2/256)*latitude1-(3*e2/83*e2*e2/3245*e2*e2*e2/1024)*Math.sin(2*latitude1)(15*e2*e2/25645*e2*e2*e2/1024)*Math.sin(4*latitude1)-(35*e2*e2*e2/3072)*Math.sin(6*latitude1));xvalNN*(A(1-TC)*A*A*A/6(5-18*TT*T72*C-58*ee)*A*A*A*A*A/120);yvalMNN*Math.tan(latitude1)*(A*A/2(5-T9*C4*C*C)*A*A*A*A/24(61-58*TT*T600*C-330*ee)*A*A*A*A*A*A/720);X01000000L*(ProjNo)500000L;Y00;xvalxvalX0;yvalyvalY0;returnnewPoint(xval,yval);}/** * 判断是否wgs84坐标 * param xCoordinates * param yCoordinates * return */publicstaticbooleanCheckIsWGS84Coordinates(doublexCoordinates,doubleyCoordinates){booleanresfalse;if(xCoordinates360xCoordinates!0yCoordinates360yCoordinates!0){restrue;}returnres;}/** * 保留三位小数 * param para * return */publicdoublegetBigDecimal(doublepara){BigDecimalbnewBigDecimal(para);//3 为保留小数位数 四舍五入doublepi1b.setScale(3,java.math.BigDecimal.ROUND_HALF_UP).doubleValue();returnpi1;}/** * 保留三位小数 * 测试方法 * return */Testvoidtest4(){/*String path E:\\dev\\cgdb\\CompressedPackage\\DB\\20220331154011253\\420322郧西县\\1716641\\(420322)郧西县_20220331154011253.db; //DBUtil.setConnection(path); Integer integer DBUtil.selectTBCount(path); System.out.println(integer);*/PointpointWGS84ToCGS2000(111.591111974096,32.3265852655767);doublebigDecimalgetBigDecimal(point.getX());doublebigDecimal1getBigDecimal(point.getY());System.out.println(bigDecimal);System.out.println(bigDecimal1);System.out.println(X:point.getX() Y:point.getY());}publicclassEarthParam{/** * 长轴 eg:6378137 *///private double A;/** * 扁心率 eg:1 / 298.257223563 *///private double F;publicclassCGS2000{/** * 精确 */publicstaticfinaldoubleA6378137;/** * 模糊 like */publicstaticfinaldoubleF1.0/298.257222101;}publicclassWGS84{/** * 精确 */publicstaticfinaldoubleA6378137;/** * 模糊 like */publicstaticfinaldoubleF1.0/298.257223563;}publicclassXIAN80{/** * 精确 */publicstaticfinaldoubleA6378140;/** * 模糊 like */publicstaticfinaldoubleF1.0/298.25722101;}publicclassBJ54{/** * 精确 */publicstaticfinaldoubleA6378245.0;/** * 模糊 like */publicstaticfinaldoubleF1.0/298.257;}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

第一次给自己定目标试试。 2026/10/1 10:17:17

第一次给自己定目标试试。

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
8年Java后端忠告:CRUD已卷死,大模型才是后端工程师的第二条黄金曲线 2026/10/1 10:17:11

8年Java后端忠告:CRUD已卷死,大模型才是后端工程师的第二条黄金曲线

先把核心结论说透: 不是 Java 后端不行了,是纯 CRUD 后端的路,已经越走越窄、越走越卷、越走越贬值; 而大模型应用开发,是未来 5–10 年,所有后端工程师最稳、薪资最高、缺口最大的职业第二条增长曲线。 深…

阅读更多 →
流式输出(Streaming)是OpenAI API的核心能力之一,其本质是基于SSE(服务器推送事件)协议的分块传输机制 2026/10/1 10:17:10

流式输出(Streaming)是OpenAI API的核心能力之一,其本质是基于SSE(服务器推送事件)协议的分块传输机制

流式输出(Streaming)是OpenAI API的核心能力之一,其本质是基于SSE(服务器推送事件)协议的分块传输机制。大模型生成文本遵循自回归逻辑:每次仅预测下一个token(词元),而非…

阅读更多 →
2026 年版|别再混淆 AI Agent 与 Agentic AI!概念、架构、落地场景全解析 2026/10/1 10:17:04

2026 年版|别再混淆 AI Agent 与 Agentic AI!概念、架构、落地场景全解析

本文详细解析了AI Agent和Agentic AI的概念、联系与区别。AI Agent是指能够感知环境、自主决策并采取行动的智能系统;而Agentic AI则更强调系统整体围绕复杂目标自主行动的能力,通常涉及多智能体协作、跨系统编排等。文章还讨论了两者在现实中的应用场景…

阅读更多 →
字节跳动职位分析:AI数据运营(PGC方向)-TikTok 2026/10/1 10:16:51

字节跳动职位分析:AI数据运营(PGC方向)-TikTok

一、职位概述该职位隶属于字节跳动 TikTok 业务线,聚焦 PGC(专业生产内容)方向的数据运营工作,核心职责是主导数据标注项目的端到端管理,确保交付质量与效率,并推动流程优化与自动化建设。职位兼具项目管理…

阅读更多 →
物联网卡丢包导致传感器数据缺失?从链路排查到本地缓存重传的完整实战 2026/10/1 10:16:51

物联网卡丢包导致传感器数据缺失?从链路排查到本地缓存重传的完整实战

1. 问题现场:传感器数据为什么总在"最后一公里"消失做过工业物联网项目的人,大概率都遇到过这种让人抓狂的场景:现场传感器明明在正常采集,PLC 上的数值也在跳动,但传到云端或者本地服务器之后,数…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉