
com.seejoke.geo.GeoUtils Maven / Gradle / Ivy
The newest version!
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
© 2015 - 2025 Weber Informatics LLC | Privacy Policy