|
|
@@ -44,41 +44,41 @@
|
|
|
</select>
|
|
|
|
|
|
<!-- 查询附近站点 -->
|
|
|
-<!-- <select id="findNearbyStations" resultType="bus.model.dto.BStationInfoDto"-->
|
|
|
-<!-- parameterType="bus.model.dto.NearbyRoutesDto" >-->
|
|
|
-<!-- SELECT-->
|
|
|
-<!-- id,-->
|
|
|
-<!-- name,-->
|
|
|
-<!-- latitude,-->
|
|
|
-<!-- longitude,-->
|
|
|
-<!-- ROUND(-->
|
|
|
-<!-- 6378.137 * 2 * ASIN(-->
|
|
|
-<!-- SQRT(-->
|
|
|
-<!-- POW(SIN((#{latitude} - latitude) * PI() / 180 / 2), 2) +-->
|
|
|
-<!-- COS(#{latitude} * PI() / 180) * COS(latitude * PI() / 180) *-->
|
|
|
-<!-- POW(SIN((#{longitude} - longitude) * PI() / 180 / 2), 2)-->
|
|
|
-<!-- )-->
|
|
|
-<!-- ) * 1000-->
|
|
|
-<!-- , 2) AS distance-->
|
|
|
-<!-- FROM b_station_info-->
|
|
|
-<!-- WHERE-->
|
|
|
-<!-- is_delete = 0-->
|
|
|
-<!-- AND latitude BETWEEN #{latitude} - #{radius} / 111300 AND #{latitude} + #{radius} / 111300-->
|
|
|
-<!-- AND longitude BETWEEN #{longitude} - #{radius} / (111300 * COS(#{latitude} * PI() / 180))-->
|
|
|
-<!-- AND #{longitude} + #{radius} / (111300 * COS(#{latitude} * PI() / 180))-->
|
|
|
-<!-- AND (-->
|
|
|
-<!-- 6378.137 * 2 * ASIN(-->
|
|
|
-<!-- SQRT(-->
|
|
|
-<!-- POW(SIN((#{latitude} - latitude) * PI() / 180 / 2), 2) +-->
|
|
|
-<!-- COS(#{latitude} * PI() / 180) * COS(latitude * PI() / 180) *-->
|
|
|
-<!-- POW(SIN((#{longitude} - longitude) * PI() / 180 / 2), 2)-->
|
|
|
-<!-- )-->
|
|
|
-<!-- ) * 1000-->
|
|
|
-<!-- ) <= #{radius}-->
|
|
|
-<!-- ORDER BY distance-->
|
|
|
-<!-- </select>-->
|
|
|
-
|
|
|
<select id="findNearbyStations" resultType="bus.model.dto.BStationInfoDto"
|
|
|
+ parameterType="bus.model.dto.NearbyRoutesDto" >
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ name,
|
|
|
+ latitude,
|
|
|
+ longitude,
|
|
|
+ ROUND(
|
|
|
+ 6378.137 * 2 * ASIN(
|
|
|
+ SQRT(
|
|
|
+ POW(SIN((#{latitude} - latitude) * PI() / 180 / 2), 2) +
|
|
|
+ COS(#{latitude} * PI() / 180) * COS(latitude * PI() / 180) *
|
|
|
+ POW(SIN((#{longitude} - longitude) * PI() / 180 / 2), 2)
|
|
|
+ )
|
|
|
+ ) * 1000
|
|
|
+ , 2) AS distance
|
|
|
+ FROM b_station_info
|
|
|
+ WHERE
|
|
|
+ is_delete = 0
|
|
|
+ AND latitude BETWEEN #{latitude} - #{radius} / 111300 AND #{latitude} + #{radius} / 111300
|
|
|
+ AND longitude BETWEEN #{longitude} - #{radius} / (111300 * COS(#{latitude} * PI() / 180))
|
|
|
+ AND #{longitude} + #{radius} / (111300 * COS(#{latitude} * PI() / 180))
|
|
|
+ AND (
|
|
|
+ 6378.137 * 2 * ASIN(
|
|
|
+ SQRT(
|
|
|
+ POW(SIN((#{latitude} - latitude) * PI() / 180 / 2), 2) +
|
|
|
+ COS(#{latitude} * PI() / 180) * COS(latitude * PI() / 180) *
|
|
|
+ POW(SIN((#{longitude} - longitude) * PI() / 180 / 2), 2)
|
|
|
+ )
|
|
|
+ ) * 1000
|
|
|
+ ) <= #{radius}
|
|
|
+ ORDER BY distance
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="findAllbyStations" resultType="bus.model.dto.BStationInfoDto"
|
|
|
parameterType="bus.model.dto.NearbyRoutesDto">
|
|
|
SELECT
|
|
|
id,
|