Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ private TurfClassification() {
* @since 3.0.0
*/
@NonNull
public static Point nearest(@NonNull Point targetPoint, @NonNull List<Point> points) {
public static Point nearestPoint(@NonNull Point targetPoint, @NonNull List<Point> points) {
if (points.isEmpty()) {
return targetPoint;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* between two GeoJson Points using {@link TurfMeasurement#distance(Point, Point, String)} the third
* optional parameter can define the output units.
* <p>
* Note that {@link TurfConversion#convertDistance(double, String, String)} can be used to transform
* Note that {@link TurfConversion#convertLength(double, String, String)} can be used to transform
* one unit to another, such as miles to feet.
* </p>
*
Expand Down
32 changes: 16 additions & 16 deletions services-turf/src/main/java/com/mapbox/turf/TurfConversion.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ private TurfConversion() {
* @return a double value representing the distance in degrees
* @since 3.0.0
*/
public static double distanceToDegrees(double distance, @TurfUnitCriteria String units) {
return radiansToDegrees(distanceToRadians(distance, units));
public static double lengthToDegrees(double distance, @TurfUnitCriteria String units) {
return radiansToDegrees(lengthToRadians(distance, units));
}

/**
Expand All @@ -75,8 +75,8 @@ public static double radiansToDegrees(double radians) {
* @return converted radian to distance value
* @since 1.2.0
*/
public static double radiansToDistance(double radians) {
return radiansToDistance(radians, TurfConstants.UNIT_DEFAULT);
public static double radiansToLength(double radians) {
return radiansToLength(radians, TurfConstants.UNIT_DEFAULT);
}

/**
Expand All @@ -88,7 +88,7 @@ public static double radiansToDistance(double radians) {
* @return converted radian to distance value
* @since 1.2.0
*/
public static double radiansToDistance(double radians, @NonNull @TurfUnitCriteria String units) {
public static double radiansToLength(double radians, @NonNull @TurfUnitCriteria String units) {
return radians * FACTORS.get(units);
}

Expand All @@ -101,8 +101,8 @@ public static double radiansToDistance(double radians, @NonNull @TurfUnitCriteri
* @return converted distance to radians value
* @since 1.2.0
*/
public static double distanceToRadians(double distance) {
return distanceToRadians(distance, TurfConstants.UNIT_DEFAULT);
public static double lengthToRadians(double distance) {
return lengthToRadians(distance, TurfConstants.UNIT_DEFAULT);
}

/**
Expand All @@ -114,23 +114,23 @@ public static double distanceToRadians(double distance) {
* @return converted distance to radians value
* @since 1.2.0
*/
public static double distanceToRadians(double distance, @NonNull @TurfUnitCriteria String units) {
public static double lengthToRadians(double distance, @NonNull @TurfUnitCriteria String units) {
return distance / FACTORS.get(units);
}

/**
* Converts a distance to the default units. Use
* {@link TurfConversion#convertDistance(double, String, String)} to specify a unit to convert to.
* {@link TurfConversion#convertLength(double, String, String)} to specify a unit to convert to.
*
* @param distance double representing a distance value
* @param originalUnit of the distance, must be one of the units defined in
* {@link TurfUnitCriteria}
* @return converted distance in the default unit
* @since 2.2.0
*/
public static double convertDistance(@FloatRange(from = 0) double distance,
@NonNull @TurfUnitCriteria String originalUnit) {
return convertDistance(distance, originalUnit, TurfConstants.UNIT_DEFAULT);
public static double convertLength(@FloatRange(from = 0) double distance,
@NonNull @TurfUnitCriteria String originalUnit) {
return convertLength(distance, originalUnit, TurfConstants.UNIT_DEFAULT);
}

/**
Expand All @@ -143,12 +143,12 @@ public static double convertDistance(@FloatRange(from = 0) double distance,
* @return the converted distance
* @since 2.2.0
*/
public static double convertDistance(@FloatRange(from = 0) double distance,
@NonNull @TurfUnitCriteria String originalUnit,
@Nullable @TurfUnitCriteria String finalUnit) {
public static double convertLength(@FloatRange(from = 0) double distance,
@NonNull @TurfUnitCriteria String originalUnit,
@Nullable @TurfUnitCriteria String finalUnit) {
if (finalUnit == null) {
finalUnit = TurfConstants.UNIT_DEFAULT;
}
return radiansToDistance(distanceToRadians(distance, originalUnit), finalUnit);
return radiansToLength(lengthToRadians(distance, originalUnit), finalUnit);
}
}
2 changes: 1 addition & 1 deletion services-turf/src/main/java/com/mapbox/turf/TurfJoins.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public static boolean inside(Point point, MultiPolygon multiPolygon) {
* @return points that land within at least one polygon.
* @since 1.3.0
*/
public static FeatureCollection within(FeatureCollection points, FeatureCollection polygons) {
public static FeatureCollection pointsWithinPolygon(FeatureCollection points, FeatureCollection polygons) {
ArrayList<Feature> features = new ArrayList<>();
for (int i = 0; i < polygons.features().size(); i++) {
for (int j = 0; j < points.features().size(); j++) {
Expand Down
20 changes: 10 additions & 10 deletions services-turf/src/main/java/com/mapbox/turf/TurfMeasurement.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public static Point destination(@NonNull Point point, @FloatRange(from = 0) doub
double latitude1 = degrees2radians * point.latitude();
double bearingRad = degrees2radians * bearing;

double radians = TurfConversion.distanceToRadians(distance, units);
double radians = TurfConversion.lengthToRadians(distance, units);

double latitude2 = Math.asin(Math.sin(latitude1) * Math.cos(radians)
+ Math.cos(latitude1) * Math.sin(radians) * Math.cos(bearingRad));
Expand Down Expand Up @@ -120,7 +120,7 @@ public static double distance(@NonNull Point point1, @NonNull Point point2,
double a = Math.pow(Math.sin(dLat / 2), 2)
+ Math.pow(Math.sin(dLon / 2), 2) * Math.cos(lat1) * Math.cos(lat2);

return TurfConversion.radiansToDistance(
return TurfConversion.radiansToLength(
2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)), units);
}

Expand All @@ -133,8 +133,8 @@ public static double distance(@NonNull Point point1, @NonNull Point point2,
* @see <a href="http://turfjs.org/docs/#linedistance">Turf Line Distance documentation</a>
* @since 1.2.0
*/
public static double lineDistance(@NonNull LineString lineString,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
public static double length(@NonNull LineString lineString,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
List<Point> coordinates = lineString.coordinates();
return length(coordinates, units);
}
Expand All @@ -148,8 +148,8 @@ public static double lineDistance(@NonNull LineString lineString,
* @see <a href="http://turfjs.org/docs/#linedistance">Turf Line Distance documentation</a>
* @since 1.2.0
*/
public static double lineDistance(@NonNull MultiLineString multiLineString,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
public static double length(@NonNull MultiLineString multiLineString,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
double d = 0;
for (List<Point> points : multiLineString.coordinates()) {
d += length(points, units);
Expand All @@ -167,8 +167,8 @@ public static double lineDistance(@NonNull MultiLineString multiLineString,
* @see <a href="http://turfjs.org/docs/#linedistance">Turf Line Distance documentation</a>
* @since 1.2.0
*/
public static double lineDistance(@NonNull Polygon polygon,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
public static double length(@NonNull Polygon polygon,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
double d = 0;
for (List<Point> points : polygon.coordinates()) {
d += length(points, units);
Expand All @@ -186,8 +186,8 @@ public static double lineDistance(@NonNull Polygon polygon,
* @see <a href="http://turfjs.org/docs/#linedistance">Turf Line Distance documentation</a>
* @since 1.2.0
*/
public static double lineDistance(@NonNull MultiPolygon multiPolygon,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
public static double length(@NonNull MultiPolygon multiPolygon,
@NonNull @TurfConstants.TurfUnitCriteria String units) {
double d = 0;
List<List<List<Point>>> coordinates = multiPolygon.coordinates();
for (List<List<Point>> coordinate : coordinates) {
Expand Down
8 changes: 4 additions & 4 deletions services-turf/src/main/java/com/mapbox/turf/TurfMisc.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ public static LineString lineSlice(@NonNull Point startPt, @NonNull Point stopPt
throw new TurfException("Start and stop points in Turf lineSlice cannot equal each other.");
}

Feature startVertex = pointOnLine(startPt, coords);
Feature stopVertex = pointOnLine(stopPt, coords);
Feature startVertex = nearestPointOnLine(startPt, coords);
Feature stopVertex = nearestPointOnLine(stopPt, coords);
List<Feature> ends = new ArrayList<>();
if ((int) startVertex.getNumberProperty(INDEX_KEY)
<= (int) stopVertex.getNumberProperty(INDEX_KEY)) {
Expand Down Expand Up @@ -102,10 +102,10 @@ public static LineString lineSlice(@NonNull Point startPt, @NonNull Point stopPt
* @since 1.3.0
*/
@NonNull
public static Feature pointOnLine(@NonNull Point pt, @NonNull List<Point> coords) {
public static Feature nearestPointOnLine(@NonNull Point pt, @NonNull List<Point> coords) {

if (coords.size() < 2) {
throw new TurfException("Turf pointOnLine requires a List of Points made up of at least 2 "
throw new TurfException("Turf nearestPointOnLine requires a List of Points made up of at least 2 "
+ "coordinates.");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public void testLineDistanceWithGeometries() throws IOException, TurfException {
for (Feature feature : pts.features()) {
pointList.add((Point) (feature.geometry()));
}
Point closestPt = TurfClassification.nearest(pt, pointList);
Point closestPt = TurfClassification.nearestPoint(pt, pointList);

Assert.assertNotNull(closestPt);
Assert.assertEquals(closestPt.type(), "Point");
Expand Down
28 changes: 14 additions & 14 deletions services-turf/src/test/java/com/mapbox/turf/TurfConversionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,48 +16,48 @@ public class TurfConversionTest extends TestUtils {
@Test
public void radiansToDistance() throws Exception {
assertEquals(
1, TurfConversion.radiansToDistance(1, TurfConstants.UNIT_RADIANS), DELTA);
1, TurfConversion.radiansToLength(1, TurfConstants.UNIT_RADIANS), DELTA);
assertEquals(
6373, TurfConversion.radiansToDistance(1, TurfConstants.UNIT_KILOMETERS), DELTA);
6373, TurfConversion.radiansToLength(1, TurfConstants.UNIT_KILOMETERS), DELTA);
assertEquals(
3960, TurfConversion.radiansToDistance(1, TurfConstants.UNIT_MILES), DELTA);
3960, TurfConversion.radiansToLength(1, TurfConstants.UNIT_MILES), DELTA);
}

@Test
public void distanceToRadians() throws Exception {
assertEquals(
1, TurfConversion.distanceToRadians(1, TurfConstants.UNIT_RADIANS), DELTA);
1, TurfConversion.lengthToRadians(1, TurfConstants.UNIT_RADIANS), DELTA);
assertEquals(
1, TurfConversion.distanceToRadians(6373, TurfConstants.UNIT_KILOMETERS), DELTA);
1, TurfConversion.lengthToRadians(6373, TurfConstants.UNIT_KILOMETERS), DELTA);
assertEquals(
1, TurfConversion.distanceToRadians(3960, TurfConstants.UNIT_MILES), DELTA);
1, TurfConversion.lengthToRadians(3960, TurfConstants.UNIT_MILES), DELTA);
}

@Test
public void distanceToDegrees() throws Exception {
assertEquals(
57.29577951308232, TurfConversion.distanceToDegrees(1, TurfConstants.UNIT_RADIANS), DELTA);
57.29577951308232, TurfConversion.lengthToDegrees(1, TurfConstants.UNIT_RADIANS), DELTA);
assertEquals(
0.8990393772647469, TurfConversion.distanceToDegrees(100,
0.8990393772647469, TurfConversion.lengthToDegrees(100,
TurfConstants.UNIT_KILOMETERS), DELTA);
assertEquals(
0.14468631190172304, TurfConversion.distanceToDegrees(10, TurfConstants.UNIT_MILES), DELTA);
0.14468631190172304, TurfConversion.lengthToDegrees(10, TurfConstants.UNIT_MILES), DELTA);
}

@Test
public void convertDistance() throws TurfException {
assertEquals(1,
TurfConversion.convertDistance(1000, TurfConstants.UNIT_METERS), DELTA);
TurfConversion.convertLength(1000, TurfConstants.UNIT_METERS), DELTA);
assertEquals(0.6213714106386318,
TurfConversion.convertDistance(1, TurfConstants.UNIT_KILOMETERS,
TurfConversion.convertLength(1, TurfConstants.UNIT_KILOMETERS,
TurfConstants.UNIT_MILES), DELTA);
assertEquals(1.6093434343434343,
TurfConversion.convertDistance(1, TurfConstants.UNIT_MILES,
TurfConversion.convertLength(1, TurfConstants.UNIT_MILES,
TurfConstants.UNIT_KILOMETERS), DELTA);
assertEquals(1.851999843075488,
TurfConversion.convertDistance(1, TurfConstants.UNIT_NAUTICAL_MILES), DELTA);
TurfConversion.convertLength(1, TurfConstants.UNIT_NAUTICAL_MILES), DELTA);
assertEquals(100,
TurfConversion.convertDistance(1, TurfConstants.UNIT_METERS,
TurfConversion.convertLength(1, TurfConstants.UNIT_METERS,
TurfConstants.UNIT_CENTIMETERS), DELTA);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.mapbox.geojson.Feature;
import com.mapbox.core.TestUtils;
import com.mapbox.geojson.FeatureCollection;
import com.mapbox.geojson.MultiPoint;
import com.mapbox.geojson.MultiPolygon;
import com.mapbox.geojson.Point;
import com.mapbox.geojson.Polygon;
Expand Down Expand Up @@ -129,7 +128,7 @@ public void testWithin() throws TurfException {
features2.add(Feature.fromGeometry(pt));
FeatureCollection ptFeatureCollection = FeatureCollection.fromFeatures(features2);

FeatureCollection counted = TurfJoins.within(ptFeatureCollection, polyFeatureCollection);
FeatureCollection counted = TurfJoins.pointsWithinPolygon(ptFeatureCollection, polyFeatureCollection);
assertNotNull(counted);
assertEquals(counted.features().size(), 1); // 1 point in 1 polygon

Expand Down Expand Up @@ -162,7 +161,7 @@ public void testWithin() throws TurfException {
Feature.fromGeometry(pt1), Feature.fromGeometry(pt2), Feature.fromGeometry(pt3),
Feature.fromGeometry(pt4), Feature.fromGeometry(pt5), Feature.fromGeometry(pt6)});

counted = TurfJoins.within(ptFeatureCollection, polyFeatureCollection);
counted = TurfJoins.pointsWithinPolygon(ptFeatureCollection, polyFeatureCollection);
assertNotNull(counted);
assertEquals(counted.features().size(), 5); // multiple points in multiple polygons
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,32 +87,32 @@ public void lineDistance_returnsZeroWhenRouteIsPoint() throws Exception {
coords.add(Point.fromLngLat(1.0, 1.0));

LineString lineString = LineString.fromLngLats(coords);
double distance = TurfMeasurement.lineDistance(lineString, TurfConstants.UNIT_METERS);
double distance = TurfMeasurement.length(lineString, TurfConstants.UNIT_METERS);
assertEquals(0d, distance, DELTA);
}

@Test
public void testLineDistanceWithGeometries() throws IOException, TurfException {
Feature route1 = Feature.fromJson(loadJsonFixture(LINE_DISTANCE_ROUTE_ONE));
Feature route2 = Feature.fromJson(loadJsonFixture(LINE_DISTANCE_ROUTE_TWO));
assertEquals(202, Math.round(TurfMeasurement.lineDistance((LineString) route1.geometry(),
assertEquals(202, Math.round(TurfMeasurement.length((LineString) route1.geometry(),
TurfConstants.UNIT_MILES)));
Assert.assertEquals(741.7787396994203,
TurfMeasurement.lineDistance((LineString) route2.geometry(), TurfConstants.UNIT_KILOMETERS), DELTA);
TurfMeasurement.length((LineString) route2.geometry(), TurfConstants.UNIT_KILOMETERS), DELTA);
}

@Test
public void testLineDistancePolygon() throws IOException, TurfException {
Feature feature = Feature.fromJson(loadJsonFixture(LINE_DISTANCE_POLYGON));
assertEquals(5599, Math.round(1000 * TurfMeasurement.lineDistance((Polygon) feature.geometry(),
assertEquals(5599, Math.round(1000 * TurfMeasurement.length((Polygon) feature.geometry(),
TurfConstants.UNIT_KILOMETERS)));
}

@Test
public void testLineDistanceMultiLineString() throws IOException, TurfException {
Feature feature = Feature.fromJson(loadJsonFixture(LINE_DISTANCE_MULTILINESTRING));
assertEquals(4705d, Math.round(1000
* TurfMeasurement.lineDistance((MultiLineString) feature.geometry(),
* TurfMeasurement.length((MultiLineString) feature.geometry(),
TurfConstants.UNIT_KILOMETERS)), DELTA);
}

Expand Down
Loading