From 8d662de2fd262b3a485f16e197cb4d0ca2a61cdf Mon Sep 17 00:00:00 2001
From: zsh_root <979909237@qq.com>
Date: 星期三, 10 十二月 2025 17:03:47 +0800
Subject: [PATCH] 发布版V1.0

---
 src/home/XyToLatLngConverter.java |  110 +++++++++++++++++++++++++++---------------------------
 1 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/src/home/XyToLatLngConverter.java b/src/home/XyToLatLngConverter.java
index 39d33fe..ab6bc18 100644
--- a/src/home/XyToLatLngConverter.java
+++ b/src/home/XyToLatLngConverter.java
@@ -6,23 +6,23 @@
     private static final DecimalFormat COORDINATE_FORMAT = new DecimalFormat("0.0000000");
 
     /**
-     * 将局部坐标转换为经纬度坐标
+     * 灏嗗眬閮ㄥ潗鏍囪浆鎹负缁忕含搴﹀潗鏍�
      * 
-     * @param localX 局部X坐标(厘米)
-     * @param localY 局部Y坐标(厘米)
-     * @param latA 点A的纬度(度分格式)
-     * @param lonA 点A的经度(度分格式)
-     * @param latB 点B的纬度(度分格式)
-     * @param lonB 点B的经度(度分格式)
-     * @param localXA 点A的局部X坐标(厘米)
-     * @param localYA 点A的局部Y坐标(厘米)
-     * @param localXB 点B的局部X坐标(厘米)
-     * @param localYB 点B的局部Y坐标(厘米)
-     * @return 字符串数组: 
-     *         [0] 十进制度纬度, 
-     *         [1] 十进制度经度, 
-     *         [2] 度分格式纬度, 
-     *         [3] 度分格式经度
+     * @param localX 灞�閮╔鍧愭爣(鍘樼背)
+     * @param localY 灞�閮╕鍧愭爣(鍘樼背)
+     * @param latA 鐐笰鐨勭含搴�(搴﹀垎鏍煎紡)
+     * @param lonA 鐐笰鐨勭粡搴�(搴﹀垎鏍煎紡)
+     * @param latB 鐐笲鐨勭含搴�(搴﹀垎鏍煎紡)
+     * @param lonB 鐐笲鐨勭粡搴�(搴﹀垎鏍煎紡)
+     * @param localXA 鐐笰鐨勫眬閮╔鍧愭爣(鍘樼背)
+     * @param localYA 鐐笰鐨勫眬閮╕鍧愭爣(鍘樼背)
+     * @param localXB 鐐笲鐨勫眬閮╔鍧愭爣(鍘樼背)
+     * @param localYB 鐐笲鐨勫眬閮╕鍧愭爣(鍘樼背)
+     * @return 瀛楃涓叉暟缁�: 
+     *         [0] 鍗佽繘鍒跺害绾害, 
+     *         [1] 鍗佽繘鍒跺害缁忓害, 
+     *         [2] 搴﹀垎鏍煎紡绾害, 
+     *         [3] 搴﹀垎鏍煎紡缁忓害
      */
     public static String[] convertLocalToGlobalCoordinates(
             String localX, String localY,
@@ -31,45 +31,45 @@
             double localXA, double localYA,
             double localXB, double localYB) {
         
-        // 1. 计算坐标系转换参数
+        // 1. 璁$畻鍧愭爣绯昏浆鎹㈠弬鏁�
         double[] transformParams = CoordinateTranslator.computeTransformParamsWithTwoPoints(
                 latA, lonA, latB, lonB, localXA, localYA, localXB, localYB);
         
-        // 2. 解析输入坐标并转换为米
+        // 2. 瑙f瀽杈撳叆鍧愭爣骞惰浆鎹负绫�
         double x = Double.parseDouble(localX) / 100.0;
         double y = Double.parseDouble(localY) / 100.0;
         
-        // 3. 从转换参数中提取必要信息
-        double originEasting = transformParams[0];    // 原点东坐标(米)
-        double originNorthing = transformParams[1];   // 原点北坐标(米)
-        double cosTheta = transformParams[2];         // 旋转矩阵cos分量
-        double sinTheta = transformParams[3];         // 旋转矩阵sin分量
-        double zone = transformParams[5];             // UTM带号
+        // 3. 浠庤浆鎹㈠弬鏁颁腑鎻愬彇蹇呰淇℃伅
+        double originEasting = transformParams[0];    // 鍘熺偣涓滃潗鏍�(绫�)
+        double originNorthing = transformParams[1];   // 鍘熺偣鍖楀潗鏍�(绫�)
+        double cosTheta = transformParams[2];         // 鏃嬭浆鐭╅樀cos鍒嗛噺
+        double sinTheta = transformParams[3];         // 鏃嬭浆鐭╅樀sin鍒嗛噺
+        double zone = transformParams[5];             // UTM甯﹀彿
         
-        // 4. 将局部坐标转换为UTM坐标
+        // 4. 灏嗗眬閮ㄥ潗鏍囪浆鎹负UTM鍧愭爣
         double[] utmCoordinates = convertLocalToUtm(x, y, originEasting, originNorthing, cosTheta, sinTheta);
         
-        // 5. 将UTM坐标转换为经纬度
+        // 5. 灏哢TM鍧愭爣杞崲涓虹粡绾害
         double[] latLng = convertUtmToWgs84(utmCoordinates[0], utmCoordinates[1], zone);
         
-        // 6. 准备结果数组
+        // 6. 鍑嗗缁撴灉鏁扮粍
         String[] result = new String[4];
-        result[0] = COORDINATE_FORMAT.format(latLng[0]);  // 十进制度纬度
-        result[1] = COORDINATE_FORMAT.format(latLng[1]);  // 十进制度经度
+        result[0] = COORDINATE_FORMAT.format(latLng[0]);  // 鍗佽繘鍒跺害绾害
+        result[1] = COORDINATE_FORMAT.format(latLng[1]);  // 鍗佽繘鍒跺害缁忓害
         
-        // 7. 转换为度分格式
+        // 7. 杞崲涓哄害鍒嗘牸寮�
         double latDegMin = convertDecimalToDegMin(latLng[0]);
         double lngDegMin = convertDecimalToDegMin(latLng[1]);
-        result[2] = COORDINATE_FORMAT.format(latDegMin);  // 度分格式纬度
-        result[3] = COORDINATE_FORMAT.format(lngDegMin);  // 度分格式经度
+        result[2] = COORDINATE_FORMAT.format(latDegMin);  // 搴﹀垎鏍煎紡绾害
+        result[3] = COORDINATE_FORMAT.format(lngDegMin);  // 搴﹀垎鏍煎紡缁忓害
         
         return result;
     }
 
     /**
-     * 将十进制度转换为度分格式
-     * @param decimalDegrees 十进制度坐标值
-     * @return 度分格式坐标值 (dddmm.mmmm)
+     * 灏嗗崄杩涘埗搴﹁浆鎹负搴﹀垎鏍煎紡
+     * @param decimalDegrees 鍗佽繘鍒跺害鍧愭爣鍊�
+     * @return 搴﹀垎鏍煎紡鍧愭爣鍊� (dddmm.mmmm)
      */
     private static double convertDecimalToDegMin(double decimalDegrees) {
         double degrees = Math.floor(decimalDegrees);
@@ -78,56 +78,56 @@
     }
 
     /**
-     * 将局部坐标转换为UTM坐标
+     * 灏嗗眬閮ㄥ潗鏍囪浆鎹负UTM鍧愭爣
      * 
-     * @param localX 局部坐标系X值(米)
-     * @param localY 局部坐标系Y值(米)
-     * @param originEasting 原点东坐标(米)
-     * @param originNorthing 原点北坐标(米)
-     * @param cosTheta 旋转矩阵cos分量
-     * @param sinTheta 旋转矩阵sin分量
-     * @return UTM坐标数组 [东坐标, 北坐标]
+     * @param localX 灞�閮ㄥ潗鏍囩郴X鍊�(绫�)
+     * @param localY 灞�閮ㄥ潗鏍囩郴Y鍊�(绫�)
+     * @param originEasting 鍘熺偣涓滃潗鏍�(绫�)
+     * @param originNorthing 鍘熺偣鍖楀潗鏍�(绫�)
+     * @param cosTheta 鏃嬭浆鐭╅樀cos鍒嗛噺
+     * @param sinTheta 鏃嬭浆鐭╅樀sin鍒嗛噺
+     * @return UTM鍧愭爣鏁扮粍 [涓滃潗鏍�, 鍖楀潗鏍嘳
      */
     private static double[] convertLocalToUtm(
             double localX, double localY,
             double originEasting, double originNorthing,
             double cosTheta, double sinTheta) {
         
-        // 交换XY坐标(局部坐标系通常以Y为前进方向)
+        // 浜ゆ崲XY鍧愭爣锛堝眬閮ㄥ潗鏍囩郴閫氬父浠涓哄墠杩涙柟鍚戯級
         double rotatedX = localY;
         double rotatedY = localX;
         
-        // 应用旋转和平移变换
+        // 搴旂敤鏃嬭浆鍜屽钩绉诲彉鎹�
         double dx = cosTheta * rotatedX + sinTheta * rotatedY;
         double dy = -sinTheta * rotatedX + cosTheta * rotatedY;
         
         return new double[] {
-            dx + originEasting,  // 东坐标
-            dy + originNorthing  // 北坐标
+            dx + originEasting,  // 涓滃潗鏍�
+            dy + originNorthing  // 鍖楀潗鏍�
         };
     }
 
     /**
-     * 将UTM坐标转换为WGS84经纬度
+     * 灏哢TM鍧愭爣杞崲涓篧GS84缁忕含搴�
      * 
-     * @param easting UTM东坐标(米)
-     * @param northing UTM北坐标(米)
-     * @param zone UTM带号
-     * @return 经纬度数组 [纬度, 经度] (十进制度)
+     * @param easting UTM涓滃潗鏍�(绫�)
+     * @param northing UTM鍖楀潗鏍�(绫�)
+     * @param zone UTM甯﹀彿
+     * @return 缁忕含搴︽暟缁� [绾害, 缁忓害] (鍗佽繘鍒跺害)
      */
     public static double[] convertUtmToWgs84(double easting, double northing, double zone) {
         return utm2ll_wgs84(easting, northing, zone);
     }
     
     /**
-     * UTM坐标转WGS84经纬度实现
+     * UTM鍧愭爣杞琖GS84缁忕含搴﹀疄鐜�
      */
     private static double[] utm2ll_wgs84(double x, double y, double f) {
         double[] latlon = new double[2];
         double A1 = 6378137.0;
         double F1 = 298.257223563;
 
-        // 常量定义
+        // 甯搁噺瀹氫箟
         double D0 = 180 / Math.PI;    
         double maxiter = 100;    
         double eps = 1e-11;    
@@ -177,7 +177,7 @@
     }
 
     /**
-     * 计算UTM转换系数
+     * 璁$畻UTM杞崲绯绘暟
      */
     private static double[] coef(double e, int m) {
         double[][] c0;

--
Gitblit v1.10.0