Changeset 15390 in josm for trunk/src/org/openstreetmap/josm/data/gpx
- Timestamp:
- 2019-09-29T23:59:43+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/gpx/GpxDistance.java
r15035 r15390 2 2 package org.openstreetmap.josm.data.gpx; 3 3 4 import java.util.ArrayList;5 import java.util.List;6 7 import org.openstreetmap.josm.data.coor.EastNorth;8 import org.openstreetmap.josm.data.coor.LatLon;9 4 import org.openstreetmap.josm.data.osm.Node; 10 5 import org.openstreetmap.josm.data.osm.OsmPrimitive; 11 import org.openstreetmap.josm.data.osm.Relation;12 import org.openstreetmap.josm.data.osm.Way;13 6 import org.openstreetmap.josm.tools.Geometry; 14 7 … … 36 29 .min().orElse(Double.MAX_VALUE); 37 30 } 38 39 /**40 * Get the distance between an object and a waypoint41 * @param p OsmPrimitive to get the distance to the WayPoint42 * @param waypoint WayPoint to get the distance from43 * @return The shortest distance between p and waypoint44 * @deprecated Use {@code Geometry.getDistance(p, new Node(waypoint.getCoor()))}45 * instead46 */47 @Deprecated48 public static double getDistance(OsmPrimitive p, WayPoint waypoint) {49 return Geometry.getDistance(p, new Node(waypoint.getCoor()));50 }51 52 /**53 * Get the shortest distance between a relation and a waypoint54 * @param relation Relation to get the distance from55 * @param waypoint WayPoint to get the distance to56 * @return The distance between the relation and the waypoint57 * @deprecated Use {@code Geometry.getDistance(relation, new Node(waypoint.getCoor()))}58 * instead59 */60 @Deprecated61 public static double getDistanceRelation(Relation relation, WayPoint waypoint) {62 double shortestDistance = Double.MAX_VALUE;63 List<Node> nodes = new ArrayList<>(relation.getMemberPrimitives(Node.class));64 List<Way> ways = new ArrayList<>(relation.getMemberPrimitives(Way.class));65 List<Relation> relations = new ArrayList<>(relation.getMemberPrimitives(Relation.class));66 if (nodes.isEmpty() && ways.isEmpty() && relations.isEmpty()) return Double.MAX_VALUE;67 for (Relation nrelation : relations) {68 double distance = getDistanceRelation(nrelation, waypoint);69 if (distance < shortestDistance) shortestDistance = distance;70 }71 for (Way way : ways) {72 double distance = getDistanceWay(way, waypoint);73 if (distance < shortestDistance) shortestDistance = distance;74 }75 for (Node node : nodes) {76 double distance = getDistanceNode(node, waypoint);77 if (distance < shortestDistance) shortestDistance = distance;78 }79 return shortestDistance;80 }81 82 /**83 * Get the shortest distance between a way and a waypoint84 * @param way Way to get the distance from85 * @param waypoint WayPoint to get the distance to86 * @return The distance between the way and the waypoint87 * @deprecated Use {@code Geometry.getDistanceWayNode(way, new Node(waypoint.getCoor()))} instead88 */89 @Deprecated90 public static double getDistanceWay(Way way, WayPoint waypoint) {91 if (way == null || waypoint == null) return Double.MAX_VALUE;92 return Geometry.getDistanceWayNode(way, new Node(waypoint.getCoor()));93 }94 95 /**96 * Get the distance between a node and a waypoint97 * @param node Node to get the distance from98 * @param waypoint WayPoint to get the distance to99 * @return The distance between the two points100 * @deprecated Use {@code Geometry.getDistance(node, new Node(waypoint.getCoor()))}101 * instead102 */103 @Deprecated104 public static double getDistanceNode(Node node, WayPoint waypoint) {105 if (node == null || waypoint == null) return Double.MAX_VALUE;106 return Geometry.getDistance(node, new Node(waypoint.getCoor()));107 }108 109 /**110 * Get the distance between coordinates (provided by EastNorth) and a waypoint111 * @param en The EastNorth to get the distance to112 * @param waypoint WayPoint to get the distance to113 * @return The distance between the two points114 * @deprecated Use {@code Geometry.getDistance(new Node(en), new Node(waypoint.getCoor()))} instead115 */116 @Deprecated117 public static double getDistanceEastNorth(EastNorth en, WayPoint waypoint) {118 if (en == null || waypoint == null) return Double.MAX_VALUE;119 return Geometry.getDistance(new Node(en), new Node(waypoint.getCoor()));120 }121 122 /**123 * Get the distance between coordinates (latitude longitude) and a waypoint124 * @param latlon LatLon to get the distance from125 * @param waypoint WayPoint to get the distance to126 * @return The distance between the two points127 * @deprecated Use {@code Geometry.getDistance(new Node(latlon), new Node(waypoint.getCoor()))} instead128 */129 @Deprecated130 public static double getDistanceLatLon(LatLon latlon, WayPoint waypoint) {131 if (latlon == null || waypoint == null || waypoint.getCoor() == null) return Double.MAX_VALUE;132 return Geometry.getDistance(new Node(latlon), new Node(waypoint.getCoor()));133 }134 31 }
Note:
See TracChangeset
for help on using the changeset viewer.