package com.tairui.app.cim.mapper;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.tairui.app.cim.dao.model.AlarmPoint;
|
import com.tairui.app.cim.dao.model.Elevation;
|
import com.vividsolutions.jts.geom.Point;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Select;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* Mapper 接口
|
* </p>
|
*
|
* @author yw
|
* @since 2022-05-21
|
*/
|
@Mapper
|
@Repository
|
public interface ElevationMapper extends BaseMapper<Elevation> {
|
|
/**
|
* 包含面
|
* select * from (select gid,geom,coor_z,cen_x,cen_y,name from elevation_correction where floor_num='Floor5')
|
* as xx where ST_Within(st_geomfromtext('Point(124.041948 41.840189)',4326),xx.geom)
|
*
|
* @param x
|
* @param y
|
* @param floor
|
* @return
|
*/
|
@Select("select gid,to_char(coor_z,'999.999') as high ,name from elevation_correction " +
|
"where floor_num='${floor_num}' and ST_Within(st_geomfromtext('Point(${x} ${y})',4326),geom) ")
|
public List<Elevation> queryFloor(@Param("x") double x, @Param("y") double y, @Param("floor_num") String floor_num);
|
|
|
/**
|
* 查询最近的面
|
* select * from (select gid,geom,coor_z,cen_x,cen_y,name from elevation_correction
|
* where floor_num='Floor3') as xx order by (st_geomfromtext('Point(124.04 41.840)',4326)<->xx.geom) asc limit 1
|
*
|
* @param x
|
* @param y
|
* @param floor
|
* @return
|
*/
|
|
@Select("select gid,to_char(coor_z,'999.999') as high ,ST_X(ST_AsText(ST_PointOnSurface(geom::geometry))) as cen_x," +
|
"ST_Y(ST_AsText(ST_PointOnSurface(geom::geometry))) as cen_y,name from elevation_correction " +
|
"where floor_num='${floor_num}' order by (st_geomfromtext('Point(${x} ${y})',4326)<->geom) asc limit 1")
|
public List<Elevation> queryMinDistance(@Param("x") double x, @Param("y") double y, @Param("floor_num") String floor_num);
|
}
|