com.seejoke.geo.GeoUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core-tools Show documentation
Show all versions of core-tools Show documentation
提供java常用的、流行的工具方法,减少项目冗余代码
package com.seejoke.geo;
import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 坐标几何运算
* @author zhiping.li
* @date 2016/08/16
*/
public class GeoUtils {
/**返回代为为米
* 算出两坐标位置的距离
* @param slat
* @param slon
* @param ulat
* @param ulon
* @return
*/
public static Double getDistence(Double slat, Double slon, Double ulat, Double ulon) {
return 6378.137 * 2000 * Math.asin(Math.sqrt(
Math.pow(Math.sin((slat * Math.PI / 180 - ulat * Math.PI / 180)/2), 2)
+ Math.cos(slat * Math.PI / 180)
* Math.cos(ulat * Math.PI / 180)
* Math.pow(Math.sin((slon * Math.PI / 180 - ulon * Math.PI / 180)/2), 2)
));
}
/** 检查一个坐标是否在多边形内
* @param x 纬度 31.000...
* @param y 经度 121.000...
* @param polygonPoints 多边形边界的经纬度数组
* @return */
public static boolean isPointInPolygon(double x, double y, List