diff --git a/src/main/java/com/gis3c/spatial/dao/RiverDao.java b/src/main/java/com/gis3c/spatial/dao/RiverDao.java index 28ddf3d..8162bb6 100644 --- a/src/main/java/com/gis3c/spatial/dao/RiverDao.java +++ b/src/main/java/com/gis3c/spatial/dao/RiverDao.java @@ -1,10 +1,12 @@ package com.gis3c.spatial.dao; import com.gis3c.common.persistence.annotation.C3SpatialDao; +import com.gis3c.spatial.entity.ModelRiver; import com.gis3c.spatial.entity.SeparatedRiver; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -14,4 +16,7 @@ import java.util.Set; public interface RiverDao { public List findRiversByStationCodes(@Param("stationCodes") Set stationCodes); public List findRiversByRiverCodes(@Param("riverCodes") Set riverCodes); + + public List findModelRiverInfo(); + public List findModelRiverByName(@Param("riverName") String riverName); } diff --git a/src/main/java/com/gis3c/spatial/entity/ModelRiver.java b/src/main/java/com/gis3c/spatial/entity/ModelRiver.java new file mode 100644 index 0000000..bbc032b --- /dev/null +++ b/src/main/java/com/gis3c/spatial/entity/ModelRiver.java @@ -0,0 +1,34 @@ +package com.gis3c.spatial.entity; + +/** + * Created by hukekuan on 2018/4/25. + */ +public class ModelRiver extends BaseFeature{ + private String riverName; + private String aliasName; + private Integer orderNum; + + public String getRiverName() { + return riverName; + } + + public void setRiverName(String riverName) { + this.riverName = riverName; + } + + public String getAliasName() { + return aliasName; + } + + public void setAliasName(String aliasName) { + this.aliasName = aliasName; + } + + public Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } +} diff --git a/src/main/java/com/gis3c/spatial/service/RiverService.java b/src/main/java/com/gis3c/spatial/service/RiverService.java index 9cc8edd..df8762e 100644 --- a/src/main/java/com/gis3c/spatial/service/RiverService.java +++ b/src/main/java/com/gis3c/spatial/service/RiverService.java @@ -1,5 +1,8 @@ package com.gis3c.spatial.service; +import com.gis3c.spatial.entity.ModelRiver; + +import java.util.List; import java.util.Map; import java.util.Set; @@ -22,4 +25,17 @@ public interface RiverService { * @return */ public String findRiversByRiverCodes(Set riverCodes,Map sufaceStations); + + /** + * 获取500米分段河流河流名称和别名 + * @return + */ + public List findModelRiverInfo(); + + /** + * 根据河流名称获取500米分段河流GeoJSON数据 + * @param riverName + * @return + */ + public String findModelRiverByName(String riverName); } diff --git a/src/main/java/com/gis3c/spatial/service/impl/RiverServiceImpl.java b/src/main/java/com/gis3c/spatial/service/impl/RiverServiceImpl.java index 50e34e8..02b22bb 100644 --- a/src/main/java/com/gis3c/spatial/service/impl/RiverServiceImpl.java +++ b/src/main/java/com/gis3c/spatial/service/impl/RiverServiceImpl.java @@ -3,6 +3,7 @@ package com.gis3c.spatial.service.impl; import com.gis3c.common.exception.BusinessException; import com.gis3c.spatial.common.FeatureUtilities; import com.gis3c.spatial.dao.RiverDao; +import com.gis3c.spatial.entity.ModelRiver; import com.gis3c.spatial.entity.SeparatedRiver; import com.gis3c.spatial.service.RiverService; import org.springframework.beans.factory.annotation.Autowired; @@ -65,4 +66,22 @@ public class RiverServiceImpl implements RiverService { } return riverJson; } + + @Override + public List findModelRiverInfo() { + return riverDao.findModelRiverInfo(); + } + + @Override + public String findModelRiverByName(String riverName) { + String riverJson = null; + List queryRiver + = riverDao.findModelRiverByName(riverName); + try { + riverJson = FeatureUtilities.JavaBeans2Json(queryRiver); + } catch (IllegalAccessException | IOException e) { + throw new BusinessException("ModelRiver实体转GeoJSON出错"); + } + return riverJson; + } } diff --git a/src/test/java/com/gis3c/spatial/App.java b/src/test/java/com/gis3c/spatial/App.java index 8b94840..e864821 100644 --- a/src/test/java/com/gis3c/spatial/App.java +++ b/src/test/java/com/gis3c/spatial/App.java @@ -9,11 +9,13 @@ import com.gis3c.ol.service.MapService; import com.gis3c.ol.service.SourceService; import com.gis3c.spatial.common.FeatureUtilities; import com.gis3c.spatial.common.GeometryUtilities; +import com.gis3c.spatial.entity.ModelRiver; import com.gis3c.spatial.entity.Region; import com.gis3c.spatial.entity.RegionType; import com.gis3c.spatial.service.RegionService; import com.gis3c.spatial.service.RiverService; import com.gis3c.spatial.service.TestService; +import com.sun.corba.se.spi.ior.ObjectKey; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Point; import org.omg.PortableInterceptor.SYSTEM_EXCEPTION; @@ -37,8 +39,15 @@ public class App { return new ClassPathXmlApplicationContext("classpath:spring-config.xml"); } public static void main(String[] args) throws IllegalAccessException, IOException { -// ApplicationContext context = ApplicationInit(); -// RiverService riverService = context.getBean(RiverService.class); + ApplicationContext context = ApplicationInit(); + RiverService riverService = context.getBean(RiverService.class); + + List riverInfo = riverService.findModelRiverInfo(); + System.out.println(riverInfo); + + + + // // String resilt = riverService.findRiversByRiverCodes( // new HashSet<>(Arrays.asList(new String[]{"3783","3363"}))); diff --git a/src/test/resources/mappings/spatial/RiverDao.xml b/src/test/resources/mappings/spatial/RiverDao.xml index 19672e4..1fa3100 100644 --- a/src/test/resources/mappings/spatial/RiverDao.xml +++ b/src/test/resources/mappings/spatial/RiverDao.xml @@ -9,6 +9,13 @@ + + + + + + + + + + \ No newline at end of file