From 49aa6ed510d18506cc11d24299899ab0b35047b3 Mon Sep 17 00:00:00 2001
From: 张洋洋 <10611411+yang-yang-z@user.noreply.gitee.com>
Date: 星期二, 11 二月 2025 18:20:59 +0800
Subject: [PATCH] [add]cityjson转sem

---
 src/main/java/com/se/simu/utils/ProjectionToGeographicUtil.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/se/simu/utils/ProjectionToGeographicUtil.java b/src/main/java/com/se/simu/utils/ProjectionToGeographicUtil.java
index de0de6e..17d2206 100644
--- a/src/main/java/com/se/simu/utils/ProjectionToGeographicUtil.java
+++ b/src/main/java/com/se/simu/utils/ProjectionToGeographicUtil.java
@@ -29,4 +29,29 @@
         vertice.add(0.0);
         return vertice;
     }
+
+    public static JSONArray get4548Point(Double x,Double y) {
+        // 鍒涘缓 CRSFactory 瀵硅薄
+        CRSFactory crsFactory = new CRSFactory();
+        // 瀹氫箟鎶曞奖鍧愭爣绯荤粺锛岃繖閲屼互 UTM 鎶曞奖涓轰緥锛寊one 33N
+        CoordinateReferenceSystem sourceCRS = crsFactory.createFromName("EPSG:4326");
+        // 瀹氫箟鍦扮悊鍧愭爣绯荤粺锛岃繖閲屼娇鐢� WGS84
+        CoordinateReferenceSystem targetCRS = crsFactory.createFromName("EPSG:4548");
+        // 鍒涘缓鍧愭爣杞崲瀵硅薄
+        BasicCoordinateTransform transform = new BasicCoordinateTransform(sourceCRS, targetCRS);
+        // 杈撳叆鎶曞奖鍧愭爣锛屼互 UTM 鎶曞奖鍧愭爣涓轰緥锛屽崟浣嶆槸绫�
+        ProjCoordinate sourceCoord = new ProjCoordinate(x, y);
+        ProjCoordinate targetCoord = new ProjCoordinate();
+        // 鎵ц鍧愭爣杞崲
+        transform.transform(sourceCoord, targetCoord);
+        JSONArray vertice = new JSONArray();
+        vertice.add(targetCoord.x);
+        vertice.add(targetCoord.y);
+        return vertice;
+    }
+
+    public static void main(String[] args) {
+        System.out.println(getPoint(470554.2614775232,4416699.023973457));
+        System.out.println(get4548Point(116.65575979450138,39.883938395445966));
+    }
 }

--
Gitblit v1.9.3