-
2021-01-26 12:13:30
/初始化
byte[] bLat = new byte[4];
//调用
string latStr = this.LngLatByte2Float(bLat).ToString(); //lat
//实现
public float LngLatByte2Float(byte[] b)
{
if (b.Length != 4) return 0;
int d = 0x00;
for (int i = 0; i < b.Length; i++)
{
d |= (b[b.Length - i - 1] << (8 * i));
}
//将int值转换成小数表示的经纬度
d /= 3;
int intPart = d / (60 * 10000);
int divPart = d - intPart * 60 * 10000; //余数部分
float floatPart = ((float)divPart) / 600000;
return intPart + floatPart; }
更多相关内容 -
经纬度的书写顺序
2021-02-06 10:59:39展开全部先写经度62616964757a686964616fe78988e69d8331333365653865还是纬度都可以。经度在前,纬度在后采用以下为经度在前,纬度在后的采用(经度,纬度),例:台北市以此写法为 121°...拓展资料经纬度是经度与纬度...展开全部
先写经度62616964757a686964616fe78988e69d8331333365653865还是纬度都可以。经度在前,纬度在后采用
以下为经度在前,纬度在后的采用(经度,纬度),例:台北市以此写法为 121°38′E, 25°2′N
纬度在前,经度在后采用
以下为纬度在前,经度在后的采用(纬度,经度),例:台北市以此写法为 25°2′N, 121°38′E。
拓展资料
经纬度是经度与纬度的合称组成一个坐标系统。又称为地理坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。
经度是地球上一个地点离一根被称为本初子午线的南北方向走线以东或以西的度数。本初子午线的经度是0°,地球上其它地点的经度是向东到180°或向西到180°。不像纬度有赤道作为自然的起点,经度没有自然的起点而使用经过伦敦格林尼治天文台旧址的子午线作为起点。东经180°即西经180°,约等同于国际日期变更线,国际日期变更线的两边,日期相差一日。
纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。
经纬度以度数表示,一般可直接以小数点表示,但亦可把度数的小数点分为角分(1角分等于六十分之一度),和秒(一秒等于六十分之一分)。度分秒表示(度:分:秒)-49°30'00"-123d30m00s
度分表示(度:分)-49°30.0'-123d30.0m
度数表示-49.5000°-123.5000d(一般会有四位小数)。
-
经纬度表示方法
2020-12-29 02:36:50展开全部经纬度以度数表示,一般可直接以小数点表示,但亦可把度数的小数点分636f707962616964757a686964616f31333366306465为角分(1角分等于六十分之一度),和秒(一秒等于六十分之一分)。表示经纬度有多样模式,...展开全部
经纬度以度数表示,一般可直接以小数点表示,但亦可把度数的小数点分636f707962616964757a686964616f31333366306465为角分(1角分等于六十分之一度),和秒(一秒等于六十分之一分)。表示经纬度有多样模式,以下是其中一些例子。
1、度分秒表示(度:分:秒)-49°30'00"-49d30m00s
2、度分表示(度:分)-49°30.0'-49d30.0m
3、度数表示-49.5000°-49.5000d(一般会有四位小数)。
经纬度是经度与纬度的合称组成一个坐标系统,称为地理坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。
扩展资料:
一、经度的表示
东经正数,西经为负数。经度是地球上一个地点离一根被称为本初子午线的南北方向走线以东或以西的度数。本初子午线的经度是0°,地球上其它地点的经度是向东到180°或向西到180°。
不像纬度有赤道作为自然的起点,经度没有自然的起点,做为本初子午线的那条线是人选出来的。英国的制图学家使用经过伦敦格林尼治天文台的子午线作为起点。
过去其它国家或人也使用过其它的子午线做起点,比如罗马、哥本哈根、耶路撒冷、圣彼德堡、比萨、巴黎和费城等。
在1884年的国际本初子午线大会上格林尼治的子午线被正式定为经度的起点。东经180°即西经180°,约等同于国际换日线,国际换日线的两边,日期相差一日。
经度是指通过某地的经线面与本初子午面所成的二面角。在本初子午线以东的经度叫东经,在本初子午线以西的叫西经。东经用“E”表示,西经用“W”表示。
经度的每一度被分为60分,每一分被分为60秒。一个经度因此一般看上去是这样的:东经23°27′ 30"或西经23°27′ 30"。更精确的经度位置中秒被表示为分的小数。
比如:东经23°27.500′,但也有使用度和它的小数的:东经23.45833°。有时西经被写做负数:-23.45833°。但偶尔也有人把东经写为负数,但这相当不常规。
赤道上经度的每个度大约相当于111km,经度的每个度的距离从0km到111km不等。它的距离随纬度的不同而变化,等于111km乘纬度的余弦。
不过这个距离还不是相隔一经度的两点之间最短的距离,最短的距离是连接这两点之间的大圆的弧的距离,它比上面所计算出来的距离要小一些。
一个地点的经度一般与它于协调世界时之间的时差相应:每天有24小时,而一个圆圈有360度,因此地球每小时自转15度。因此假如一个人的地方时比协调世界时早3小时的话,那么他在东经45度左右。
不过由于时区的分划也有政治因素在里面,因此一个人所在的时区不一定与上面的计算相符。但通过对地方时的测量一个人可以算得出他所在的地点的经度。为了计算这个数据,他需要一个指示协调世界时的钟和需要观察对太阳经过子午圈的时间。
二、纬度的表示
北纬为正数,南纬为负数。
纬度是指过椭球面上某点作法线,该点法线与赤道平面的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N;位于赤道以南的点的纬度称南纬,记为S。
纬度数值在0至30度之间的地区称为低纬度地区;纬度数值在30至60度之间的地区称为中纬度地区;纬度数值在60至90度之间的地区称为高纬度地区。
赤道、南回归线、北回归线、南极圈和北极圈是特殊的纬线。
参考资料:
-
AIS信息解析中8比特字节转6比特字节算法
2021-12-10 17:08:15AIS信息解析中8比特字节转6比特字节算法 -
Swift4 经纬度计算日出日落时间
2020-12-19 11:46:55Double = 180.0 /.pi///根据经纬度计算日出和日落时间 -误差2分钟/// ///- Parameters:///- Returns: Sunriseset class func sun(longitude:Double, latitude:Double)->Sunriseset{ let sun=PGSun()returnsun....import UIKitclassPGSun: NSObject {structSunriseset {
var sunrise= "07:00" //日出
var sunset = "18:30" //日落
init(sunrise:String, sunset:String) {
self.sunrise=sunrise
self.sunset=sunset
}
}
var start: Double= 0.0var sRA: Double= 0.0var sdec: Double= 0.0var sr: Double= 0.0var lon: Double= 0.0var end: Double= 0.0
private let Inv360: Double = 1.0 / 360.0
private let Degrad: Double = .pi / 180.0
private let Radge: Double = 180.0 /.pi///根据经纬度计算日出和日落时间 -误差2分钟///
///- Parameters:///- Returns: Sunriseset
class func sun(longitude:Double, latitude:Double)->Sunriseset{
let sun=PGSun()returnsun.getSunTimeAtDate(d: Date(), longitude: longitude, latitude: latitude)
}
func getSunTimeAtDate(d:Date , longitude:Double ,latitude:Double)->Sunriseset{
let xcts: Int=days(since_2000_Jan_0: d)
let dic=getSunTime(xcts, lon: longitude, lat: latitude)returndic
}
func getSunTime(_ day: Int, lon longitude: Double, lat latitude: Double)->Sunriseset {
_= self.sunRiset(day, long:longitude, lat:latitude ,altit: -35.0 / 60.0, limb:1, trise:self.start, tset:self.end)
let sunrise=toLocalTime(self.start)
let sunset=toLocalTime(self.end)
let sun=Sunriseset(sunrise: sunrise, sunset: sunset)returnsun
}
func toLocalTime(_ utTime:Double)->String {
var hour=Int(floor(utTime))
var temp= utTime -Double(hour)
hour+= 8;
temp= temp * 60;
let minute=Int(floor(temp))return String(format: "%02d:%02d", hour,minute)
}
func days(since_2000_Jan_0 d: Date)->Int {//距离2000-01-01的天数
let dateStr = "2000-01-01"let dateFormatter=DateFormatter()
dateFormatter.dateFormat= "yyyy-MM-dd"let date: Date? =dateFormatter.date(from: dateStr)
var time: TimeInterval? =nilif let aDate =date {
time=d.timeIntervalSince(aDate)
}
let days= (Int(time ?? 0)) / (3600 * 24)returndays
}
func sunRiset(_ day:Int,long longitude:Double, lat:Double ,altit:Double, limb upper_limb:Int, trise:Double, tset:Double)->Int{
var altit=altit
var d= 0.0/*Days since 2000 Jan 0.0 (negative before)*/
//以历元2000.0起算的日数。
var sradius = 0.0 /*Sun's apparent radius*/
//太阳视半径,约16分(受日地距离、大气折射等诸多影响)
var t= 0.0 /*Diurnal arc*/
//周日弧,太阳一天在天上走过的弧长。
var tsouth= 0.0 /*Time when Sun is at south*/var sidtime= 0.0 /*Local sidereal time*/
//当地恒星时,即地球的真实自转周期。比平均太阳日(日常时间)长3分56秒。
var rc= 0; /*Return cde from function - usually 0*/
/*Compute d of 12h local mean solar time*/d= Double(day)/*Days_since_2000_Jan_0(date)*/ + 0.5 - longitude / 360.0;//计算观测地当日中午时刻对应2000.0起算的日数。
/*Compute local sideral time of this moment*/sidtime= self.revolution(self.GMST0(d) + 180.0 +longitude)//计算同时刻的当地恒星时(以角度为单位)。以格林尼治为基准,用经度差校正。
/*Compute Sun's RA + Decl at this moment*/self.Sun_RA_dec(d, ra:self.sRA, dec:self.sdec, r:self.sr);//Sun_RA_dec(d, sRA,sdec,sr);//计算同时刻太阳赤经赤纬。
/*Compute time when Sun is at south - in hours UT*/tsouth= 12.0 - self.rev180(sidtime - self.sRA) / 15.0;//tsouth = 12.0 - Rev180(sidtime - sRA) / 15.0;//计算太阳日的正午时刻,以世界时(格林尼治平太阳时)的小时计。
/*Compute the Sun's apparent radius, degrees*/sradius= 0.2666 /self.sr;//太阳视半径。0.2666是一天文单位处的太阳视半径(角度)。
/*Do correction to upper limb, if necessary*/
if upper_limb != 0{
altit-=sradius;//如果要用上边缘,就要扣除一个视半径。
}/*Compute the diurnal arc that the Sun traverses to reach*/
//计算周日弧。直接利用球面三角公式。如果碰到极昼极夜问题,同前处理。
/*the specified altitide altit:*/var cost:Double= 0cost= (self.sind(altit) - self.sind(lat)*self.sind(self.sdec))/(self.cosd(lat) *self.cosd(self.sdec));//cost = (Sind(altit) - Sind(lat) * Sind(sdec)) ///(Cosd(lat) * Cosd(sdec));
if (cost >= 1.0)
{
rc= -1;
t= 0.0;
}else{if (cost <= -1.0)
{
rc= +1;
t= 12.0; /*Sun always above altit*/}else{//t = Acosd(cost) / 15.0; /* The diurnal arc, hours */
t = self.acosd(cost) / 15.0;
}
}/*Store rise and set times - in hours UT*/self.start= tsouth -t;
self.end= tsouth +t;returnrc;
}
func Sun_RA_dec(_ d: Double, ra RA: Double, dec: Double, r: Double) {
var obl_ecl: Double= 0var x: Double= 0var y: Double= 0var z: Double= 0sunpos(d, lon: lon, r: r)//计算太阳的黄道坐标。
x = sr *cosd(lon)
y= sr *sind(lon)//计算太阳的直角坐标。
obl_ecl = 23.4393 - 3.563E-7 *d//黄赤交角,同前。
z = y *sind(obl_ecl)
y= y *cosd(obl_ecl)//把太阳的黄道坐标转换成赤道坐标(暂改用直角坐标)。
sRA =atan2d(y, x: x)
sdec= atan2d(z, x: sqrt(x * x + y *y))//最后转成赤道坐标。显然太阳的位置是由黄道坐标方便地直接确定的,但必须转换到赤//道坐标里才能结合地球的自转确定我们需要的白昼长度。
}
func sunpos(_ d: Double, lon: Double, r: Double) {
var lon=lon
var M: Double= 0var w: Double= 0var e: Double= 0var E: Double= 0var x: Double= 0var y: Double= 0var v: Double= 0 //真近点角,太阳在任意时刻的真实近点角。
M= revolution(356.0470 + 0.9856002585 *d)//自变量的组成:2000.0时刻太阳黄经为356.0470度,此后每天约推进一度(360度/365天
w = 282.9404 + 4.70935E-5 * d //近日点的平均黄经。
e= 0.016709 - 1.151E-9 * d //地球公转椭圆轨道离心率的时间演化。以上公式和黄赤交角公式一样,不必深究。
E= M + e * Double(Radge) * sind(M) * (1.0 + e *cosd(M))
x= cosd(E) -e
y= sqrt(1.0 - e * e) *sind(E)
sr= sqrt(x * x + y *y)
v=atan2d(y, x: x)
lon= v +w
self.lon=lonif lon >= 360.0{
lon-= 360.0self.lon=lon
}
}
func revolution(_ x: Double)->Double {return x - 360.0 * floor(x *Double(Inv360))
}
func rev180(_ x: Double)->Double {return x - 360.0 * floor(x * Double(Inv360) + 0.5)
}
func GMST0(_ d: Double)->Double {
var sidtim0: Double
sidtim0= revolution((180.0 + 356.0470 + 282.9404) + (0.9856002585 + 4.70935E-5) *d)returnsidtim0
}
func sind(_ x: Double)->Double {return sin(x *Double(Degrad))
}
func cosd(_ x: Double)->Double {return cos(x *Double(Degrad))
}
func acosd(_ x: Double)->Double {return Double(Radge *acos(x))
}
func atan2d(_ y: Double, x: Double)->Double {return Double(Radge *atan2(y, x))
}
}
-
C# 窗体 十进制与经纬度转换工具 代码
2018-01-23 13:58:24C#编写的窗体小工具详细代码,用于十进制与经纬度转换, -
【笔记】进制转换和经度纬度
2021-02-27 08:15:57//100111100 16进制转10进制 int a=Integer.parseInt(bsic,16) 经纬度的换算和2字节拆分 String str="E118.18137300"; char[] c = str.toCharArray(); for(int i=0;i { String hexString = Integer.toHexString... -
经纬度转浮点数
2013-12-29 13:12:40RT EXCEL的简单公式转换坐标位置为浮点数,不带数据库 -
全国城市经纬度
2018-02-18 21:01:40全国各个城市经纬度的详细数据,摘要必须大于50个字节! -
java 获取本机经纬度
2020-12-29 02:36:52* 当前位置处理工具 */ public class LocationUtil { /** * 获取指定IP对应的经纬度(为空返回当前机器经纬度) * @return */ public static String[] getIPXY() { //获取本机公网ip String ip = getPublicWebIP();... -
C++高并发计算经纬度归属行政位置(省市)源码
2021-10-18 19:25:37本资源为离线计算指定经纬度所处于的省市/县的完整工程源码,包含一份国内各省市经纬度边界离线数据。 平台使用C++编写,微型高并发框架,对外提供基于TCP短连接高并发的位置计算服务,计算耗时ms单位。平台框架... -
获取图片经纬度方法
2020-12-19 11:46:59//计算经纬度数值, 如果是南纬, 要乘上(-1) double dblGPSLatitude = (((s / 60 + m) / 60) + d) * (chrGPSLatitudeRef.Equals('N') ? 1 : -1); string strLatitude = string.Format("{0:#} deg {1:#}' {2:#.00}\" ... -
GPS经纬度转换
2011-11-17 13:33:13这是一款GPS经纬度的转换工具,并且可以根据两点计算距离。 -
以一个经纬度为中心计算出四个顶点
2020-12-19 11:46:59//地球半径(m)/// /// 以一个经纬度为中心计算出四个顶点/// /// 半径(米)/// public static Degree[] GetDegreeCoordinates(Degree Degree1, double distance){double dlng = 2 * Math.Asin(... -
C# 经纬度坐标系转UTM
2014-03-16 12:09:03C# 经纬度坐标系转UTM -
校验经纬度坐标 二维数组格式
2019-04-25 17:23:52校验经纬度坐标 二维数组格式 ^[(([([0-9].[0-9]),([0-9].[0-9])],))[([0-9].[0-9]),([0-9].[0-9]*)]]$ -
php mysql 根据经纬度计算距离和排序
2021-04-26 19:54:08如何修改织梦dedecms文章标题的最大长度 织梦dedecms默认的文章标题的最大长度为60字节,如果文章标题超过60字节将会自动截断,导致标题显示不全,这并非是我们所希望的.那么如何将标题长度改成我们想要的?只需简单两... -
获取照片中Exif信息里GPS经纬度数
2021-02-27 08:15:56//计算经纬度数值, 如果是南纬, 要乘上(-1) double dblGPSLatitude = (((s / 60 + m) / 60) + d) * (chrGPSLatitudeRef.Equals('N') ? 1 : -1); string strLatitude = string.Format("{0:#} deg {1:#}' {2:#.00}\" ... -
java 自定义注解 校验经纬度
2021-08-06 11:30:05在日常的开发中可能会对手机号、邮箱、身份证号、经纬度的合法性进行校验,然而每次使用if语句调用校验函数进行校验又显得过于麻烦,这时候自定义校验注解用处就很大了。 1、需要的依赖 <!-- hibernate validator... -
MYSQL 经纬度 地理位置
2021-03-02 10:47:02mysql支持经纬度计算需要使用的函数:ST_Distance_Sphere 需要至少5.7的版本! 关于经纬的设计: 1)使用两列,一列经度,一列纬度 如: -- 建表 CREATE TABLE `store` ( `id` bigint(20) NOT NULL AUTO_... -
二进制数据处理(经纬度)
2018-08-16 09:56:38现在要用4个字节 32位表示 用高位(1位)表示正负(1代表+ 0 代表-) 用10位表示 整数 30 用21位表示小数6789 我想要的结果为 4个16进制的数 //补位数 函数 string str_pad ( string , int ... -
java根据经纬度获取地址
2021-04-13 17:30:06* @Description: TODO(根据经纬度获取地址 调用百度地图) * @date 2021年4月12日 下午2:04:21 * @param lat 纬度 * @param lng 经度 * @return * @throws */ public String getAddress(String lat, String lng) { ... -
QT笔记:QT 十六进制经纬度数据转IEEE-754浮点数据
2020-12-24 05:21:36已知GPS数据:经纬度格式:ddd.ddddd°(度),小数部分5位,报文中用16进制单精度float表示:经度119.32132 用单精度float表示 42 EE A4 84纬度39.46712 用单精度float表示 42 1D DE 55原理不想展开,网上已... -
字节跳动2021年4月面试算法题库
2021-05-01 16:30:40本文汇总了牛客2021.4.1~2021.4.30 两个月的牛客面经考到的Leetcode题目 最终的高频题榜单数据可以在CodeTop题库(https://codetop.cc)查询,支持按部门、岗位分类筛选。 CodeTop已包括字节跳动、腾讯、美团、... -
地图api - 批量转换坐标经纬度
2021-04-26 15:06:053为baidu经纬度 String key = "&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"; //开发密钥(Key)在我的应用中获得 // 请求示例 String url = https://apis.map.qq.com/ws/coord/v1/translate?locations=lng1,lat1;lng... -
Flash保存GPS经纬度信息
2022-03-27 21:57:10Flash保存GPS经纬度信息 文章目录Flash保存GPS经纬度信息flash简介程序设计思路技术要点一、浮点数写入 FLASH二、FLASH 写入及读取三、将读取回来的值转化为浮点型经纬度 flash简介 快闪存储器(英语:flash ... -
关于java:float和double数据类型是否适合存储经纬度?
2021-03-08 07:09:44打印:-179.15346,则仅当使用float(4字节)编码时,才可以估计1m左右的精度。 这不是安全问题,而是精度问题。 我不会考虑花车,但我认为双打是理想的选择。 您只需要查看双精度数中最精确的值,然后查看它是否适合... -
MYSQL保存经纬度数据类型
2020-04-19 12:39:50MYSQL保存经纬度数据类型 我们在做定位或者一些基于位置的系统的时候,肯定有需要用到存储位置的经纬度,来精确判断位置坐标等。 赤道周长(米) 度数 (度) 400076000 360 111322.2222 1 11132.22222 ...