张洋洋
2025-01-23 2953a6d4cf34e3b91005390f9874db5565092056
[add]cityjson转sem
已添加3个文件
已修改3个文件
62 ■■■■■ 文件已修改
libs/citygson-1.1.3.8.jar 补丁 | 查看 | 原始文档 | blame | 历史
libs/sem-1.1.1.jar 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/controller/SimuController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/utils/SemUtils.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/utils/TiffToRGBUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
libs/citygson-1.1.3.8.jar
Binary files differ
libs/sem-1.1.1.jar
Binary files differ
pom.xml
@@ -308,6 +308,25 @@
            <artifactId>commons-imaging</artifactId>
            <version>1.0-alpha2</version>
        </dependency>
        <dependency>
            <groupId>org.citygml4j</groupId>
            <artifactId>citygson</artifactId>
            <version>1.1.3.8</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/libs/citygson-1.1.3.8.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>cn.smartearth</groupId>
            <artifactId>sem</artifactId>
            <version>1.1.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/libs/sem-1.1.1.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.2</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
src/main/java/com/se/simu/controller/SimuController.java
@@ -343,7 +343,7 @@
    @ApiOperation(value = "tarr文件组装")
    @GetMapping(value = "/saveZarr", produces = "application/json; charset=UTF-8")
    public R<Boolean> saveZarr(@RequestParam("name") String tableName) throws IOException {
    public R<Boolean> saveZarr(@RequestParam("name") String tableName) throws Exception {
        List<String> list = CsvToSQLiteUtils.getNameList(tableName);
        String path = outPath + "\\";
        String rainfall = "rainfall\\";
@@ -400,6 +400,7 @@
        FileWriter fileWriter = new FileWriter(path + tableName + "\\降雨量.json");
        fileWriter.write(jsonObject.toJSONString());
        fileWriter.close();
        SemUtils.cityJsonToSem(path + tableName + "\\降雨量.json",path + tableName + "\\降雨量.sem");
        return success(true);
    }
@@ -443,6 +444,7 @@
        FileWriter fileWriter = new FileWriter(pointPath);
        fileWriter.write(jsonObject.toJSONString());
        fileWriter.close();
        SemUtils.cityJsonToSem(pointPath,path + times + "\\管点.sem");
        return success(pointPath);
    }
@@ -473,7 +475,9 @@
            JSONArray jsonArray=new JSONArray();
            jsonArray.add(boundarie);
            metry.put("boundaries", jsonArray);
            cityObject.put("geometry",metry);
            JSONArray metryArray=new JSONArray();
            metryArray.add(metry);
            cityObject.put("geometry",metryArray);
            cityObject.put("attributes",attribute);
            cityObject.put("attributes", attribute);
            geometry.add(metry);
@@ -488,6 +492,7 @@
        FileWriter fileWriter = new FileWriter(pointPath);
        fileWriter.write(jsonObject.toJSONString());
        fileWriter.close();
        SemUtils.cityJsonToSem(pointPath, path + times + "\\管线.sem");
        return success(pointPath);
    }
    @ApiOperation(value = "地形转cityjson")
@@ -506,6 +511,7 @@
        FileWriter fileWriter = new FileWriter(path + "terrain.json");
        fileWriter.write(jsonObject.toJSONString());
        fileWriter.close();
        SemUtils.cityJsonToSem(path + "terrain.json", path + "terrain.sem");
        return success(path);
    }
    public JSONObject getModule(String moduleName) {
src/main/java/com/se/simu/utils/SemUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.se.simu.utils;
import cn.smartearth.sem.SEM;
public class SemUtils {
    public static void main(String[] args) throws Exception {
        //cityjson转sem ç®¡ç‚¹ å®Œæˆ
//        SEM sem = SEM.fromCityJSON("D:\\out\\point\\1737602481122\\管点.json");
//        sem.writeToFile("D:\\out\\point\\1737602481122\\point.sem");
        //cityjson转sem ç®¡çº¿
//        SEM sem = SEM.fromCityJSON("D:\\out\\line\\1737615372545\\管线.json");
//        sem.writeToFile("D:\\out\\line\\1737615372545\\管线.sem");
        //cityjson转sem åœ°å½¢ å®Œæˆ
//        SEM sem = SEM.fromCityJSON("D:\\out\\terrain\\1737603153671\\terrain.json");
//        sem.writeToFile("D:\\out\\terrain\\1737603153671\\terrain.sem");
        //cityjson转sem é™é›¨(成功)
        SEM sem = SEM.fromCityJSON("D:\\out\\station_rain_1736399134241\\降雨量.json");
        sem.writeToFile("D:\\out\\station_rain_1736399134241\\降雨量.sem");
    }
    public static void cityJsonToSem(String jsonUrl,String semUrl) throws Exception {
        //cityjson转sem
        SEM sem = SEM.fromCityJSON(jsonUrl);
        sem.writeToFile(semUrl);
    }
    public static void semToCityJson() throws Exception {
        //sem转cityjson
        SEM sem2 = new SEM("C:\\XXX\\Grid.sem");
        sem2.writeToCityJSON("C:\\XXX\\Gridout.json");
    }
}
src/main/java/com/se/simu/utils/TiffToRGBUtil.java
@@ -1,8 +1,8 @@
package com.se.simu.utils;
import org.apache.commons.imaging.*;
import org.gdal.gdal.Band;
import org.gdal.gdal.Dataset;
import org.gdal.gdal.Band;
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;