package com.onemap.analyse.mapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @Mapper public interface AnalyseUtilsDBMapper { /** * table中与wkt数据是否有交集 * * @param inputTable TABLE名称(vater空间中表) * @param inputSRID table * @param inputIds 查询数据集ID * @param intersectsWkt wkt * @param intersectsWktSRID wkt对应的坐标 * @return */ List intersectsTableWkt( @Param("inputTable") String inputTable, @Param("inputSRID") Integer inputSRID, @Param("inputIds") List inputIds, @Param("intersectsWkt") String intersectsWkt, @Param("intersectsWktSRID") Integer intersectsWktSRID); /** * table中与wkt数据取交集 * * @param inputTable TABLE名称(vater空间中表) * @param inputSRID table * @param inputIds 查询数据集ID * @param intersectionWkt wkt * @param intersectionWktSRID wkt对应的坐标 * @param outputColumn 返回TABLE表中的字段,先已返回,ID,GEOM(交集的),geom_area (交集的) * @return */ List intersectionTableWkt( @Param("inputTable") String inputTable, @Param("inputSRID") Integer inputSRID, @Param("inputIds") List inputIds, @Param("intersectionWkt") String intersectionWkt, @Param("intersectionWktSRID") Integer intersectionWktSRID, @Param("outputColumn") List outputColumn); /** * 计算wkt包含table中的数据,返回table id * * @param tableName * @param tableIds * @param ewkt * @return */ List containsTableWkt( @Param("tableName") String tableName, @Param("tableIds") List tableIds, @Param("ewkt") String ewkt); /** * 计算TableA包含TableB中的数据,返回tableB id * * @param tableNameA * @param tableNameB * @param tableIdsB * @return */ List containsTables( @Param("tableNameA") String tableNameA, @Param("tableNameB") String tableNameB, @Param("tableIdsB") List tableIdsB); /** * 计算wkt距离范围内table中的数据,返回table id * * @param tableName TABLE名称(vater空间中表) * @param tableIds 查询数据集ID * @param wkt wkt * @return */ List distanceTableWkt( @Param("tableName") String tableName, @Param("tableIds") List tableIds, @Param("wkt") String wkt, @Param("distance") Integer distance); /** * 计算TableA距离范围内TableB中的数据,返回tableB id * * @param tableNameA * @param tableNameB * @return */ List distanceTables( @Param("tableNameA") String tableNameA, @Param("tableNameB") String tableNameB, @Param("tableIdsB") List tableIdsB, @Param("distance") Integer distance); }