zhouyuexiang 1 year ago
parent
commit
e081bad990

+ 20 - 1
tile-service/src/main/java/cn/com/taiji/tile/service/impl/TileServiceImpl.java

@@ -3,13 +3,17 @@ import cn.com.taiji.common.domain.PageResult;
 import cn.com.taiji.cql.model.GeoDataSource;
 import cn.com.taiji.cql.model.GeoRequestParam;
 import cn.com.taiji.cql.service.IECqlService;
+import cn.com.taiji.tile.model.POI;
 import cn.com.taiji.tile.service.ITileService;
+import cn.com.taiji.tile.style.ShapeStyle;
+import cn.com.taiji.tile.util.ShapeUtils;
 import cn.com.taiji.tile.util.TileUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.geotools.jdbc.JDBCDataStoreFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -64,7 +68,7 @@ public class TileServiceImpl implements ITileService {
             //3根据空间地理数据生成图层二进制数据
             System.out.println("返回的数据:"+cqlDataList.toString());
 
-            return TileUtils.getTile(cqlDataList, requestParam.getBbox());
+            return ShapeUtils.getTileByte( requestParam.getBbox(),convert(cqlDataList),new ShapeStyle());
 
         }else{
 
@@ -74,6 +78,21 @@ public class TileServiceImpl implements ITileService {
         return new byte[0];
     }
 
+    public static List<POI> convert(List<Map<String, Object>> maps) {
+        List<POI> pois = new ArrayList<>();
+        for (Map<String, Object> map : maps) {
+            POI poi = new POI();
+            poi.setId((String) map.get("id"));
+            poi.setName((String) map.get("id"));
+            poi.setShape(map.get("location").toString());
+            poi.setLat(0d);
+            poi.setLon(0d);
+            poi.setPcolor("rgb(255, 255, 0)");
+            pois.add(poi);
+        }
+        return pois;
+    }
+
     @Override
     public List<?> queryElements(String bbox, Integer type, String layerName) {
         //1. 将bbox转换为四个点位