「java数据纬度」java 经纬度
本篇文章给大家谈谈java数据纬度,以及java 经纬度对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 里 两点的经度纬度怎么算距离
- 2、如何用java实现“通过根据给定的经纬度生成区域”?
- 3、java类中怎么根据经纬度获取地址
- 4、java 列表查询纬度很多,查询很慢,有什么快速的方法
- 5、java中如何创建一个经纬度的数据
- 6、java经度纬度计算
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实现“通过根据给定的经纬度生成区域”?
使用第三方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类中怎么根据经纬度获取地址
思路是:通过传入地址作为参数拼接url调用百度地图,然后解析返回的页面,提取经纬度坐标。
以下为具体步骤
1、修改excel表中的属性名(方便后面用查询读取)然后倒入到数据库。
2、代码实现
java 列表查询纬度很多,查询很慢,有什么快速的方法
查询很慢,如果不是本地数据库,那么可能是网络问题。
解决方法如下:
1.用jdbc写的话如果你数据量比较大(10000以上)而且查询语句有很多排序或条件之类的,那么就是sql的效率问题。
2.用的hibernate的话,如果查询对象关联关系比较多,那就使用延迟加载,就在配置文件对应位置加 lazy="true"。
3.至于多人访问报错,不是硬件问题的话,那就是事务管理有问题,数据同步访问流程没处理好。
java中如何创建一个经纬度的数据
createtableUserInfo(创建表表名这里createtable是固定写法,表名自己起idintparmarykey,列名,数据类型。parmarykey表示该列为主键列namevarchar(20)notnull,列名,数据类型(数据长度)。notnull表示该列不允许为空ageintnotnull这个同上)
java经度纬度计算
range = 180 / PI * 1 / 6372.797; //里面的 1 就代表搜索 1km 之内,单位km
lngR = range / Math.cos(myLat * PI / 180);
maxLat =myLat + range;//最大纬度
minLat = myLat - range;//最小纬度
maxLng = myLng + lngR;//最大经度
minLng = myLng - lngR;//最小经度
类型全部是double
还有一种估算方法
请参考
关于java数据纬度和java 经纬度的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-08,除非注明,否则均为
原创文章,转载请注明出处。