算法更新
This commit is contained in:
parent
081dc26d85
commit
f3f7474c25
@ -321,8 +321,10 @@ public class RedisUtil {
|
||||
Polygon polygon = parsePolygonFromWKT(polygonFromWKT);
|
||||
return isPointInPolygon(lng, lat, polygon);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断坐标点是否在附近站点区内
|
||||
* 判断坐标点是否在附近站点区内并返回站点id
|
||||
* @param lng 经度
|
||||
* @param lat 纬度
|
||||
* @return true-在内部;false-在外部或边界上(根据业务需求调整)
|
||||
|
||||
@ -253,6 +253,35 @@ public class RedisUtil {
|
||||
return isPointInPolygon(lng, lat, polygon);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 判断坐标点是否在附近站点区内并返回站点id
|
||||
* @param lng 经度
|
||||
* @param lat 纬度
|
||||
* @return true-在内部;false-在外部或边界上(根据业务需求调整)
|
||||
*/
|
||||
public Long isPointInSiteWithSiteRegionId(double lng, double lat,Long areaId) {
|
||||
//查询附近停车区
|
||||
List<String> nearbyParking = findNearbyParking(lng, lat,areaId);
|
||||
if (nearbyParking.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
//获取第一个大致包含该点位的停车区
|
||||
String regionId = checkPointInArea(lng, lat, nearbyParking,areaId);
|
||||
if (regionId == null) {
|
||||
return null;
|
||||
}
|
||||
//进行更精确的判断
|
||||
String polygonFromWKT = getPolygonFromWKT(areaId,regionId,"parking_area:meta:");
|
||||
Polygon polygon = parsePolygonFromWKT(polygonFromWKT);
|
||||
boolean inPolygon = isPointInPolygon(lng, lat, polygon);
|
||||
if (inPolygon) {
|
||||
return Long.valueOf(regionId);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断坐标点是否在附近运营区内
|
||||
* @param lng 经度
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user