「java经度」经纬度java要用什么数据类型

博主:adminadmin 2023-03-17 18:55:11 344

今天给各位分享java经度的知识,其中也会对经纬度java要用什么数据类型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java经度纬度计算

一般假设小块区域是平面。

先通过

纬度计算当地两个经度之间的距离(不同纬度上,不同经度距离是不一样的)

再计算两个经度间的距离。然后反切就可以算出角度。

如何用java实现“通过根据给定的经纬度生成区域”?

使用第三方jar包 jts包 例子如下面 \x0d\x0a\x0d\x0a//一个面所包含的经纬度(标准的经纬*3600000) \x0d\x0aString str = "POLYGON ((419164412 143703543, 419164481 143702737, 419164494 143702527,419164412 143703543))"; \x0d\x0aWKTReader wkt = new WKTReader(); \x0d\x0aGeometry geojudge1 = wkt.read(str); \x0d\x0aint xpoi = 419164481; \x0d\x0aint ypoi = 143702737; \x0d\x0aGeometry geojudge2 = wkt.read("POINT(" + xpoi + " " + ypoi + "))"); \x0d\x0a\x0d\x0aif(geojudge1.intersects(geojudge2)) { \x0d\x0aSystem.out.println("xpoi、ypoi 在这个面里"); \x0d\x0a} \x0d\x0a\x0d\x0aps:在构成一个面的时候,第一个点的经纬度一定要与最后一个点的经纬度相同。否则会报错误:java.lang.IllegalArgumentException: points must form a closed linestring

java如何用经纬度计算两点水平和垂直距离

/** 

 * 计算地球上任意两点(经纬度)距离 

 *  

 * @param long1 

 *            第一点经度 

 * @param lat1 

 *            第一点纬度 

 * @param long2 

 *            第二点经度 

 * @param lat2 

 *            第二点纬度 

 * @return 返回距离 单位:米 

 */  

public static double Distance(double long1, double lat1, double long2,  

        double lat2) {  

    double a, b, R;  

    R = 6378137; // 地球半径  

    lat1 = lat1 * Math.PI / 180.0;  

    lat2 = lat2 * Math.PI / 180.0;  

    a = lat1 - lat2;  

    b = (long1 - long2) * Math.PI / 180.0;  

    double d;  

    double sa2, sb2;  

    sa2 = Math.sin(a / 2.0);  

    sb2 = Math.sin(b / 2.0);  

    d = 2  

            * R  

            * Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat1)  

                    * Math.cos(lat2) * sb2 * sb2));  

    return d;  

}

在java开发过程中,经度是116°20'43" 我现在想截取里面的数字,该怎么写

代码如下:

// 代表一个经度或纬度

class Angle {

// 度

private int degrees;

// 分

private int minutes;

// 秒

private int seconds;

public int getDegrees() {

return degrees;

}

public void setDegrees(int degrees) {

this.degrees = degrees;

}

public int getMinutes() {

return minutes;

}

public void setMinutes(int minutes) {

this.minutes = minutes;

}

public int getSeconds() {

return seconds;

}

public void setSeconds(int seconds) {

this.seconds = seconds;

}

@Override

public String toString() {

return degrees + "度" + minutes + "分" + seconds + "秒";

}

}

public class Demo18 {

// 解析经纬度

static Angle parse(String s) throws Exception {

Angle angle = new Angle();

char[] chars = s.toCharArray();

String num = "";

for(char ch : chars) {

if (Character.isDigit(ch)) {

num += ch;

} else if (ch == '°') {

angle.setDegrees(Integer.parseInt(num));

num = "";

} else if (ch == '\'') {

angle.setMinutes(Integer.parseInt(num));

num = "";

} else if (ch == '\"') {

angle.setSeconds(Integer.parseInt(num));

num = "";

} else {

throw new Exception("错误的格式。");

}

}

return angle;

}

public static void main(String[] args) {

String str = "116°20'43\"";

try {

Angle angle = parse(str);

System.out.println(angle);

} catch (Exception e) {

e.printStackTrace();

}

}

}

java 里 两点的经度纬度怎么算距离

/**

* 计算地球上任意两点(经纬度)距离

*

* @param long1

* 第一点经度

* @param lat1

* 第一点纬度

* @param long2

* 第二点经度

* @param lat2

* 第二点纬度

* @return 返回距离 单位:米

*/

public static double Distance(double long1, double lat1, double long2,

double lat2) {

double a, b, R;

R = 6378137; // 地球半径

lat1 = lat1 * Math.PI / 180.0;

lat2 = lat2 * Math.PI / 180.0;

a = lat1 - lat2;

b = (long1 - long2) * Math.PI / 180.0;

double d;

double sa2, sb2;

sa2 = Math.sin(a / 2.0);

sb2 = Math.sin(b / 2.0);

d = 2

* R

* Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat1)

* Math.cos(lat2) * sb2 * sb2));

return d;

}

java经度的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于经纬度java要用什么数据类型、java经度的信息别忘了在本站进行查找喔。