算法更新
This commit is contained in:
parent
081dc26d85
commit
f3f7474c25
@ -321,8 +321,10 @@ public class RedisUtil {
|
|||||||
Polygon polygon = parsePolygonFromWKT(polygonFromWKT);
|
Polygon polygon = parsePolygonFromWKT(polygonFromWKT);
|
||||||
return isPointInPolygon(lng, lat, polygon);
|
return isPointInPolygon(lng, lat, polygon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断坐标点是否在附近站点区内
|
* 判断坐标点是否在附近站点区内并返回站点id
|
||||||
* @param lng 经度
|
* @param lng 经度
|
||||||
* @param lat 纬度
|
* @param lat 纬度
|
||||||
* @return true-在内部;false-在外部或边界上(根据业务需求调整)
|
* @return true-在内部;false-在外部或边界上(根据业务需求调整)
|
||||||
|
|||||||
@ -253,6 +253,35 @@ public class RedisUtil {
|
|||||||
return isPointInPolygon(lng, lat, polygon);
|
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 经度
|
* @param lng 经度
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user