用java 写一个经纬度是否在指定范围内,
时间: 2023-06-25 11:05:26 浏览: 142
可以使用Java中的GeoTools库来判断经纬度是否在指定范围内。下面是一个示例代码:
```java
import org.geotools.geometry.jts.JTSFactoryFinder;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.geom.Point;
import org.locationtech.jts.geom.Polygon;
public class GeoToolsExample {
public static void main(String[] args) {
// 创建JTS工厂
Geometry.Factory factory = JTSFactoryFinder.getGeometryFactory();
// 创建一个多边形,表示指定范围
Coordinate[] coordinates = new Coordinate[] {
new Coordinate(115.782137, 39.057457),
new Coordinate(115.782137, 40.057457),
new Coordinate(116.782137, 40.057457),
new Coordinate(116.782137, 39.057457),
new Coordinate(115.782137, 39.057457)
};
Polygon polygon = factory.createPolygon(coordinates);
// 创建一个点,表示待判断的经纬度
Coordinate coordinate = new Coordinate(116.510898, 39.915599);
Point point = factory.createPoint(coordinate);
// 判断点是否在多边形内
boolean isWithin = polygon.contains(point);
System.out.println(isWithin);
}
}
```
在上面的示例代码中,我们首先使用`JTSFactoryFinder`获取一个JTS工厂,然后创建一个多边形,表示指定的范围。这里我们使用了一个矩形。接着,我们又创建了一个点,表示待判断的经纬度。最后,我们使用`contains`方法来判断点是否在多边形内。如果点在多边形内,则返回`true`,否则返回`false`。
阅读全文