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