| | |
| | | |
| | | -- insert into nsl.simu (name, service_name, type, area_type, area_name, status, geom) values ('颿µæ¨¡æ-0416', '20250416100000', 1, 1, '大å
´åº', 0, ST_GeomFromText('MULTIPOLYGON(((116.666748 39.639859,116.659403 39.626287,116.665956 39.654698,116.666748 39.639859)))')); |
| | | |
| | | select id, name, service_name, type, area_type, area_name, status, result, create_time, create_user, update_time, update_user, bak, data, st_astext(geom) geom from nsl.simu order by id desc; |
| | | -- update nsl.simu set status = 0, area_name = 'æ¿å±±åº' where id = 24; |
| | | select id,name,service_name,type,area_type,area_name,status,result,create_time,update_time,bak,data,st_astext(geom) from nsl.simu where id > 0 order by id desc; |
| | | -- update nsl.simu set status = 0, area_name = 'æ¿å±±åº', data = '{"startTime":"2025-05-01 11:10:54","type":3,"total":50,"duration":6,"intensity":70,"history":"XXå¹´50mméé¨"}' where id = 24; |
| | | ---------------------------------------------- 2.æ¨æ¼åºå |
| | | -- drop table if exists nsl.region; |
| | | create table nsl.region ( |
| | |
| | | comment on column nsl.udometer.geom is '空é´ä½ç½®'; |
| | | |
| | | select * from nsl.udometer; |
| | | ---------------------------------------------- |
| | | ---------------------------------------------- å° MULTIPOLYGON 转æ¢ä¸º POLYGON |
| | | select st_astext(ST_GeometryN(geom, generate_series(1, ST_NumGeometries(geom)))) as geom from nsl.region limit 1; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | |
| | | private String zarr2tifBat; |
| | | |
| | | private Integer saveFrames; |
| | | |
| | | private List<Integer> sizes; |
| | | |
| | | private String terrainFile; |
| | |
| | | this.zarr2tifBat = zarr2tifBat; |
| | | } |
| | | |
| | | public Integer getSaveFrames() { |
| | | return saveFrames; |
| | | } |
| | | |
| | | public void setSaveFrames(Integer saveFrames) { |
| | | this.saveFrames = saveFrames; |
| | | } |
| | | |
| | | public boolean isCopyTif() { |
| | | return copyTif; |
| | | } |
| | |
| | | if (null == data) return fail("æ¹æ¡æ°æ®æ ¼å¼(JSON)䏿£ç¡®"); |
| | | |
| | | if (simu.getStatus() != 0) return fail("æ¹æ¡æ£å¨è¿è¡æå·²å®æ"); |
| | | if (StringUtils.isEmpty(simu.getGeom())) return fail("æ¹æ¡çå¾å½¢ä¸ºç©º"); |
| | | |
| | | int rows = resolveService.start(simu); |
| | | |
| | |
| | | @ApiOperation(value = "04.testPngList <") |
| | | @GetMapping("/testPngList") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "path", value = "è·¯å¾", dataType = "String", paramType = "query", example = "D:\\other\\simu\\out\\fs24cubic"), |
| | | @ApiImplicitParam(name = "path", value = "è·¯å¾", dataType = "String", paramType = "query", example = "fs24cubic"), |
| | | @ApiImplicitParam(name = "size", value = "尺寸", dataType = "Integer", paramType = "query", example = "1024") |
| | | }) |
| | | public R<Object> testPngList(String path, Integer size) { |
| | |
| | | return GdalHelper.createSpatialReference(this.getEpsg()); |
| | | } |
| | | |
| | | public void setEnvelope(double[] envelope) { |
| | | this.minx = envelope[0]; |
| | | this.maxx = envelope[1]; |
| | | this.miny = envelope[2]; |
| | | this.maxy = envelope[3]; |
| | | } |
| | | |
| | | public String getInPath() { |
| | | return inPath; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.se.nsl.domain.vo; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | @SuppressWarnings("ALL") |
| | | public class ConfigVo { |
| | | private List<Object> terrain; |
| | | |
| | | private List<Object> landuse; |
| | | |
| | | private List<Object> station; |
| | | |
| | | private Integer kSt; |
| | | |
| | | private String raingage; |
| | | |
| | | private String infiltration; |
| | | |
| | | private Integer duration; |
| | | |
| | | private Boolean save_state; |
| | | |
| | | private List<String> save_variables; |
| | | |
| | | private Integer save_interval; |
| | | |
| | | private Integer save_frames; |
| | | |
| | | private Integer save_start; |
| | | |
| | | private Double dt; |
| | | |
| | | private Boolean variable_dt; |
| | | |
| | | public ConfigVo() { |
| | | terrain = new ArrayList<Object>(Arrays.asList("Data/Hillzone.tif", 1)); |
| | | landuse = new ArrayList<Object>(Arrays.asList("Data/landuse.tif", 1)); |
| | | station = new ArrayList<Object>(Arrays.asList("Data/station.tif", 1)); |
| | | kSt = 40; |
| | | raingage = "Data/beijing.dat"; |
| | | infiltration = "Data/landuse_to_infiltration.dat"; |
| | | duration = 3600 * 24; |
| | | save_state = true; |
| | | save_variables = new ArrayList<>(Arrays.asList("depth")); |
| | | save_interval = 60; |
| | | save_frames = 60; |
| | | save_start = 0; |
| | | dt = 0.1; |
| | | variable_dt = true; |
| | | } |
| | | |
| | | public ConfigVo(int hours, int frames) { |
| | | this(); |
| | | |
| | | duration = 3600 * hours; |
| | | save_frames = frames; |
| | | save_interval = duration / frames; |
| | | } |
| | | } |
| | |
| | | import com.se.nsl.helper.WebHelper; |
| | | import lombok.SneakyThrows; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.gdal.ogr.Geometry; |
| | | import org.gdal.ogr.ogr; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | Date now = new Date(); |
| | | String date = StringHelper.YMDHMS2_FORMAT.format(now); |
| | | |
| | | // å°WKT转æ¢ä¸ºGeometry对象 |
| | | Geometry geom = Geometry.CreateFromWkt(simu.getGeom()); |
| | | if (geom.GetGeometryType() == ogr.wkbMultiPolygon) { |
| | | geom = geom.GetGeometryRef(0); |
| | | } |
| | | double[] envelope = new double[4]; |
| | | geom.GetEnvelope(envelope); |
| | | |
| | | SimuData data = JSON.parseObject(simu.getData(), SimuData.class); |
| | | data.setInPath(date); |
| | | data.setOutPath(date); |
| | | data.setEpsg(4548); |
| | | data.setEnvelope(envelope); |
| | | |
| | | simu.setData(JSON.toJSONString(data)); |
| | | simu.setServiceName(date); |
| | | simu.setStatus(1); // 0-å建仿çï¼1-é¢å¤çï¼2-åæä¸ï¼10-宿ï¼20-åºé |
| | | simu.setUpdateTime(new Timestamp(now.getTime())); |
| | |
| | | try { |
| | | DataPo data = JSONUtil.toBean(simu.getData(), DataPo.class); |
| | | |
| | | //update(simu, 2, null); |
| | | update(simu, 1, null); |
| | | //gedbService.copeVectors(token, data, db); |
| | | |
| | | //update(simu, 3, null); |
| | |
| | | |
| | | simuService.updateById(simu); |
| | | } |
| | | |
| | | private void initArgs(){ |
| | | |
| | | } |
| | | } |
| | |
| | | sww2tifBat: D:\other\simu\uwsolver\sww2tif.bat |
| | | uwSolverBat: D:\other\simu\uwsolver\CudaUWSolver.Demo.NoVis.20250430\start.bat |
| | | zarr2tifBat: D:\other\simu\uwsolver\zarr2tif 1.0\CudaUWSolver.Demo.NoVis.20250430\start.bat |
| | | saveFrames: 10 |
| | | #sizes: 64,128,256,512,1024,2048,4096 |
| | | sizes: 1024 |
| | | # è¾åºæä»¶ |
| | |
| | | <!--æå®å½ç»æéä¸å¼ä¸º null æ¶ï¼æ¯å¦è°ç¨æ å°å¯¹è±¡ç setterï¼map 对象æ¶ä¸º putï¼æ¹æ³--> |
| | | <setting name="callSettersOnNulls" value="true"/> |
| | | <!--æå® MyBatis æç¨æ¥å¿çå
·ä½å®ç°ï¼LOG4J/LOG4J2/SLF4J/STDOUT_LOGGING/NO_LOGGING--> |
| | | <setting name="logImpl" value="NO_LOGGING" /> |
| | | <setting name="logImpl" value="STDOUT_LOGGING" /> |
| | | </settings> |
| | | <typeAliases> |
| | | <package name="com.se.nsl.domain"/> |