| | |
| | | select * from lf.sys_domain where dom_name='dlg25gbcode'; |
| | | select * from bd.dlg_25w_aanp limit 10; |
| | | |
| | | select * from bd.dlg_25w_agnp |
| | | where ST_Intersects(geom, |
| | | ST_PolygonFromText('POLYGON ((115.94927385452 32.3754479115071 0,121.989371092554 32.2766788010181 0,121.850621222894 29.6874200067864 0,115.9727267226 29.7835368627922 0,115.94927385452 32.3754479115071 0))', 0)) |
| | | limit 10; |
| | | select st_srid(geom) from bd.dlg_25w_agnp limit 1; |
| | | select * from bd.dlg_25w_agnp where class != 'BB' limit 1; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "æ å°åç§°", dataType = "String", paramType = "query", example = "dlgAgnp"), |
| | | @ApiImplicitParam(name = "filter", value = "è¿æ»¤æ¡ä»¶", dataType = "String", paramType = "query", example = "gid >= 50 and name like 'å¿' and objectid < 5000.0"), |
| | | @ApiImplicitParam(name = "wkt", value = "WKTï¼èåææ¬ï¼", dataType = "String", paramType = "query", example = "gAPpDbZ53XfoQfvT8dj/uhBWX5os8kBJQ1LrNvH3VX7byFQdUJMPiEr8Fkj0q2i1pw+L8KFrvR0MLXq2xaO21nlQQXmEPofJxpDQZwEWUIFZsToXo1kLRD3t6WQezxWB8YTzXHM20Ba73x/ZuuezVhOFOq1U8HKf1dXQdv7gBzEB6fWMmFDc3FuH8GDDHv3LfT86Gio9VgMO6ohlrUdf3ZKtTHeLSuzGF4t0RZuX97YBNo25IIzpeTfRTXBxfdxA"), |
| | | @ApiImplicitParam(name = "srid", value = "空é´å¼ç¨æ è¯ç¬¦", dataType = "Integer", paramType = "query", example = "4326") |
| | | @ApiImplicitParam(name = "wkt", value = "WKTï¼èåææ¬ï¼", dataType = "String", paramType = "query", example = "gAPpDbZ53XfoQfvT8dj/uhBWX5os8kBJQ1LrNvH3VX7byFQdUJMPiEr8Fkj0q2i1pw+L8KFrvR0MLXq2xaO21nlQQXmEPofJxpDQZwEWUIFZsToXo1kLRD3t6WQezxWB8YTzXHM20Ba73x/ZuuezVhOFOq1U8HKf1dXQdv7gBzEB6fWMmFDc3FuH8GDDHv3LfT86Gio9VgMO6ohlrUdf3ZKtTHeLSuzGF4t0RZuX97YBNo25IIzpeTfRTXBxfdxA") |
| | | }) |
| | | @GetMapping({"/selectCount"}) |
| | | public ResponseMsg<Long> selectCount(String name, String filter, String wkt, Integer srid) { |
| | | @GetMapping(value = "/selectCount") |
| | | @PostMapping(value = "/selectCount") |
| | | public ResponseMsg<Long> selectCount(String name, String filter, String wkt) { |
| | | try { |
| | | BasicMapper baseMapper = baseQueryService.getBasicMapper(name); |
| | | if (baseMapper == null) { |
| | |
| | | |
| | | QueryWrapper wrapper = new QueryWrapper(); |
| | | baseQueryService.addFilterWrapper(wrapper, filter); |
| | | baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt, srid); |
| | | baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); |
| | | |
| | | long count = baseMapper.selectCount(wrapper); |
| | | |
| | |
| | | @ApiImplicitParam(name = "name", value = "æ å°åç§°", dataType = "String", paramType = "query", example = "dlgAgnp"), |
| | | @ApiImplicitParam(name = "filter", value = "è¿æ»¤æ¡ä»¶", dataType = "String", paramType = "query", example = ""), |
| | | @ApiImplicitParam(name = "wkt", value = "WKTï¼èåææ¬ï¼", dataType = "String", paramType = "query", example = ""), |
| | | @ApiImplicitParam(name = "srid", value = "空é´å¼ç¨æ è¯ç¬¦", dataType = "Integer", paramType = "query", example = "4326"), |
| | | //@ApiImplicitParam(name = "srid", value = "空é´å¼ç¨æ è¯ç¬¦", dataType = "Integer", paramType = "query", example = "4326"), |
| | | @ApiImplicitParam(name = "pageIndex", value = "å页æ°ï¼ä»1å¼å§ï¼", dataType = "Integer", paramType = "query", example = "1"), |
| | | @ApiImplicitParam(name = "pageSize", value = "æ¯é¡µæ¡æ°", dataType = "Integer", paramType = "query", example = "10") |
| | | }) |
| | | @GetMapping(value = "/selectByPage") |
| | | public ResponseMsg<List<Object>> selectByPage(String name, String filter, String wkt, Integer srid, Integer pageIndex, Integer pageSize) { |
| | | @PostMapping(value = "/selectByPage") |
| | | public ResponseMsg<List<Object>> selectByPage(String name, String filter, String wkt, Integer pageIndex, Integer pageSize) { |
| | | try { |
| | | BasicMapper baseMapper = baseQueryService.getBasicMapper(name); |
| | | if (baseMapper == null) { |
| | |
| | | |
| | | QueryWrapper wrapper = new QueryWrapper(); |
| | | baseQueryService.addFilterWrapper(wrapper, filter); |
| | | baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt, srid); |
| | | baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); |
| | | |
| | | Page<Object> page = new Page<>(pageIndex, pageSize); |
| | | page.addOrder(OrderItem.asc("gid")); |
| | |
| | | public static String blacklistKey(String key) { |
| | | return "blacklist:" + key; |
| | | } |
| | | |
| | | /** |
| | | * å ä½å¯¹è±¡ç空é´åèé® |
| | | */ |
| | | public static String sridKey(String key) { |
| | | return "geom:srid:" + key; |
| | | } |
| | | } |
| | |
| | | * @param gid GID |
| | | * @return WKT |
| | | */ |
| | | @Select("select st_astext(geom) geom from ${tab} where gid = #{gid}") |
| | | @Select("select ST_AsText(geom) geom from ${tab} where gid = #{gid}") |
| | | public String selectWktById(@Param("tab") String tab, @Param("gid") Integer gid); |
| | | |
| | | /** |
| | | * æ ¹æ®è¡¨åæ¥è¯¢ç©ºé´åè |
| | | * |
| | | * @param tab 表å |
| | | * @return SRID |
| | | */ |
| | | @Select("select ST_SRID(geom) from ${tab} limit 1") |
| | | public Integer selectSrid(@Param("tab") String tab); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.lf.server.entity.all.RedisCacheKey; |
| | | import com.lf.server.entity.ctrl.IdNameEntity; |
| | | import com.lf.server.entity.ctrl.TabEntity; |
| | | import com.lf.server.entity.data.DictEntity; |
| | |
| | | import com.lf.server.mapper.all.BasicMapper; |
| | | import com.lf.server.mapper.all.GeomBaseMapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.cache.RedisCache; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | /** |
| | | * ç¶æ¥è¯¢æå¡ç±» |
| | |
| | | public class BaseQueryService implements BaseQueryMapper { |
| | | @Autowired |
| | | BaseQueryMapper baseQueryMapper; |
| | | |
| | | @Autowired |
| | | RedisService redisService; |
| | | |
| | | /** |
| | | * 表åMap |
| | |
| | | * @param basicMapper ç¶Mapper |
| | | * @param wrapper QueryWrapper |
| | | * @param wkt WKTï¼èåææ¬ï¼ |
| | | * @param srid 空é´å¼ç¨æ è¯ç¬¦ |
| | | * @throws Exception å¼å¸¸ |
| | | */ |
| | | public void addGeomWrapper(BasicMapper basicMapper, QueryWrapper wrapper, String wkt, Integer srid) throws Exception { |
| | | if (basicMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(wkt) && srid != null) { |
| | | public void addGeomWrapper(BasicMapper basicMapper, QueryWrapper wrapper, String wkt) throws Exception { |
| | | if (basicMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(wkt)) { |
| | | wkt = AesHelper.decrypt(wkt); |
| | | wrapper.apply(String.format("ST_Intersects(geom, ST_PolygonFromText('%s', %d))", wkt, srid)); |
| | | |
| | | Integer srid = getSrid((GeomBaseMapper) basicMapper); |
| | | wrapper.apply(String.format("ST_Intersects(ST_PolygonFromText('%s', %d), geom)", wkt, srid)); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åå ä½å¯¹è±¡ç空é´åè |
| | | * |
| | | * @param basicMapper 空é´åºç¡Mapper |
| | | * @return SRID |
| | | */ |
| | | private Integer getSrid(GeomBaseMapper basicMapper) { |
| | | String tab = getTabName(basicMapper); |
| | | String key = RedisCacheKey.sridKey(tab); |
| | | |
| | | Object obj = redisService.get(key); |
| | | if (obj instanceof Integer) { |
| | | return (Integer) obj; |
| | | } |
| | | |
| | | Integer srid = basicMapper.selectSrid(tab); |
| | | if (srid != null) { |
| | | redisService.put(key, srid, 5, TimeUnit.MINUTES); |
| | | } |
| | | |
| | | return srid; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®Mapperè·å表å |
| | | * |
| | | * @param basicMapper Mapper |
| | |
| | | 30.å¼åä¸ä¼ Shpæä»¶åè½ |
| | | 31.使ç¨Gdal读åShpæä»¶ï¼è¯»ååå 餿件 |
| | | 32.ä¿®æ¹åå
¸è¡¨çæ°æ®ç»æï¼åæ´æææ¶åçåå°æ¹æ³ |
| | | 33.å¼åå¼å表çæä½æ¥å£ < |
| | | 34. |
| | | 35. |
| | | 33.å¼åå¼å表çæä½æ¥å£ |
| | | 34.ä¿®æ¹åå
¸ç®¡çãå¼å管ççæ¥å£ |
| | | 35.å¯¹ç¨æ·ãèåãè§è²ãèµæºè¿è¡ææ < |
| | | 36. |
| | | 37. |
| | | 38. |
| | | 39. |
| | | 40. |
| | | ----------------------------------------------- |
| | | .å¯¹ç¨æ·ãèåãè§è²ãèµæºè¿è¡ææ |
| | | .æ·»å æ¥è¯¢è§è²ãèåãèµæºæéæ¥å£ |
| | | .å¼åæ ¹æ®å®ä½åç§°å¨ææ¥è¯¢è¡¨çè®°å½æ° |
| | | .å¼åæ ¹æ®å®ä½åç§°è¿è¡å¨æå页æ¥è¯¢ |