| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.moon.server.entity.all.StaticData; |
| | | import com.moon.server.entity.ctrl.PubEntity; |
| | | import com.moon.server.entity.data.MetaEntity; |
| | | import com.moon.server.entity.data.MetaPubEntity; |
| | | import com.moon.server.entity.data.PublishEntity; |
| | | import com.moon.server.entity.shujian.*; |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.lang.reflect.Field; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 数简.服务 |
| | |
| | | @Service |
| | | public class ShuJianService { |
| | | @Value("${shujian.ak}") |
| | | private String ak; |
| | | String ak; |
| | | |
| | | @Value("${shujian.url}") |
| | | private String sjUrl; |
| | | String sjUrl; |
| | | |
| | | @Resource |
| | | MetaService metaService; |
| | | |
| | | @Resource |
| | | PublishService publishService; |
| | | |
| | | private final static Log log = LogFactory.getLog(ShuJianService.class); |
| | | |
| | | public final static List<String> TYPES = new ArrayList<>(Arrays.asList("DOM", "DEM")); |
| | | |
| | | /** |
| | | * 分页查询数简的颜色表 |
| | |
| | | /** |
| | | * 创建图层实体类 |
| | | */ |
| | | public CreateLayerEntity createLayerEntity(PubEntity pubEntity) { |
| | | CreateLayerEntity entity = new CreateLayerEntity(1, 3); |
| | | public CreateLayerEntity createLayerEntity(PubEntity pub) { |
| | | String epsg = getEpsg(pub); |
| | | String ids = StringHelper.join(pub.getIds(), ","); |
| | | List<MetaEntity> list = metaService.selectByIds(ids); |
| | | |
| | | CreateLayerEntity entity = new CreateLayerEntity(); |
| | | entity.setCreate_service(0); |
| | | |
| | | CreateLayerEntity.Layer layer = entity.getLayer(); |
| | | layer.setName(""); |
| | | layer.setProjection("ESRI:" + StaticData.I104903); |
| | | layer.setType(0); |
| | | layer.setEnhance_type(0); |
| | | |
| | | String[] noData = new String[3]; |
| | | noData[0] = "0"; |
| | | noData[1] = "0"; |
| | | noData[2] = "0"; |
| | | layer.setNodata(noData); |
| | | layer.setName(pub.getName()); |
| | | layer.setProjection(epsg); |
| | | layer.setType(TYPES.indexOf(pub.getType())); |
| | | layer.setEnhance_type(pub.getEnhanceType()); |
| | | layer.setNodata(getNoData(pub, list)); |
| | | |
| | | CreateLayerEntity.ImagePathList imagePathList = entity.getImage_path_list().get(0); |
| | | imagePathList.setPath(""); |
| | |
| | | return entity; |
| | | } |
| | | |
| | | private List<String> getNoData(PubEntity pub, List<MetaEntity> metas) { |
| | | int bands = 1; |
| | | for (MetaEntity meta : metas) { |
| | | if (StringHelper.isEmpty(meta.getBands())) { |
| | | continue; |
| | | } |
| | | try { |
| | | int b = Integer.parseInt(meta.getBands()); |
| | | if (b > bands) { |
| | | bands = b; |
| | | } |
| | | } catch (Exception e) { |
| | | // |
| | | } |
| | | } |
| | | |
| | | List<String> list = new ArrayList<>(); |
| | | for (int i = 0; i < bands; i++) { |
| | | list.add(String.valueOf(pub.getNodata())); |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * 发送图层实体类 |
| | | */ |