| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | |
| | | @Api(tags = "仿真管理") |
| | | @Slf4j |
| | |
| | | String floodFile = vo.getFloodFile(); |
| | | log.info("范围文件地址:{}", floodFile); |
| | | try { |
| | | // 判断地址不为空 |
| | | if (StringUtils.isEmpty(floodFile)) { |
| | | return fail("范围文件地址不能为空", false); |
| | | } else { |
| | | // 获取文件的后缀名 |
| | | String fileName = floodFile.substring(floodFile.lastIndexOf(".")); |
| | | // 判断后缀名是否为.shp |
| | | if (!fileName.equalsIgnoreCase(".shp")) { |
| | | return fail("范围文件格式不正确", false); |
| | | // 判断是否绘制区域 |
| | | if (!StringUtils.isEmpty(vo.getMaxx().toString()) && !Objects.isNull(vo.getMaxx())) { |
| | | rangeVerify(vo.getMinx(), vo.getMaxx(), vo.getMiny(), vo.getMaxy()); |
| | | log.info("绘制区域范围验证通过!"); |
| | | } else |
| | | // 判断地址不为空 |
| | | if (StringUtils.isEmpty(floodFile)) { |
| | | return fail("范围文件地址不能为空", false); |
| | | } else { |
| | | // 1 读取shp文件,获取范围值 |
| | | JSONObject jsonObject = ShpToolUtils.readShp(floodFile); |
| | | // 2 获取jsonObject中的范围值 |
| | | Double minX = jsonObject.getDouble("minY"); |
| | | Double maxX = jsonObject.getDouble("maxY"); |
| | | Double minY = jsonObject.getDouble("minX"); |
| | | Double maxY = jsonObject.getDouble("maxX"); |
| | | // 3 判断范围值是否为空 |
| | | // vo.setMinx(jsonObject.getDouble("minX")); |
| | | // vo.setMaxx(jsonObject.getDouble("maxX")); |
| | | // vo.setMiny(jsonObject.getDouble("minY")); |
| | | // vo.setMaxy(jsonObject.getDouble("maxY")); |
| | | vo.setMinx(jsonObject.getDouble("minY")); |
| | | vo.setMaxx(jsonObject.getDouble("maxY")); |
| | | vo.setMiny(jsonObject.getDouble("minX")); |
| | | vo.setMaxy(jsonObject.getDouble("maxX")); |
| | | rangeVerify(minX,maxX, minY, maxY); |
| | | // 获取文件的后缀名 |
| | | String fileName = floodFile.substring(floodFile.lastIndexOf(".")); |
| | | // 判断后缀名是否为.shp |
| | | if (!fileName.equalsIgnoreCase(".shp")) { |
| | | return fail("范围文件格式不正确", false); |
| | | } else { |
| | | // 1 读取shp文件,获取范围值 |
| | | JSONObject jsonObject = ShpToolUtils.readShp(floodFile); |
| | | // 2 获取jsonObject中的范围值 |
| | | Double minX = jsonObject.getDouble("minY"); |
| | | Double maxX = jsonObject.getDouble("maxY"); |
| | | Double minY = jsonObject.getDouble("minX"); |
| | | Double maxY = jsonObject.getDouble("maxX"); |
| | | // 3 判断范围值是否为空 |
| | | // vo.setMinx(jsonObject.getDouble("minX")); |
| | | // vo.setMaxx(jsonObject.getDouble("maxX")); |
| | | // vo.setMiny(jsonObject.getDouble("minY")); |
| | | // vo.setMaxy(jsonObject.getDouble("maxY")); |
| | | vo.setMinx(jsonObject.getDouble("minY")); |
| | | vo.setMaxx(jsonObject.getDouble("maxY")); |
| | | vo.setMiny(jsonObject.getDouble("minX")); |
| | | vo.setMaxy(jsonObject.getDouble("maxX")); |
| | | rangeVerify(minX, maxX, minY, maxY); |
| | | } |
| | | } |
| | | } |
| | | // todo: 解析范围文件 根据不同的的格式文件进行不同的解析,获取需要计算的范围值 |
| | | // 上传格式:.shp/.tiff/.img/.geojson |
| | | // 重新给vo赋值 |