经纬度

根据两点经纬度计算距离

江枫思渺然 提交于 2020-02-03 04:36:24
  这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”。在赤道的南北两边,画出许多和赤道平行的圆圈,就是“纬圈”;构成这些圆圈的线段,叫做纬线。我们把赤道定为纬度零度,向南向北各为90度,在赤道以南的叫南纬,在赤道以北的叫北纬。北极就是北纬90度,南极就是南纬90度。纬度的高低也标志着气候的冷热,如赤道和低纬度地地区无冬,两极和高纬度地区无夏,中纬度地区四季分明。 其次,从北极点到南极点,可以画出许多南北方向的与地球赤道垂直的大圆圈,这叫作“经圈”;构成这些圆圈的线段,就叫经线。公元1884平面坐标图年,国际上规定以通过英国伦敦近郊的格林尼治天文台的经线作为计算经度的起点,即经度零度零分零秒,也称“本初子午线”。在它东面的为东经,共180度;在它西面的为西经,共180度。因为地球是圆的,所以东经180度和西经180度的经线是同一条经线。各国公定180度经线为“国际日期变更线”。为了避免同一地区使用两个不同的日期,国际日期变线在遇陆地时略有偏离。 每一经度和纬度还可以再细分为60分,每一分再分为60秒以及秒的小数。利用经纬线,我们就可以确定地球上每一个地方的具体位置,并且把它在地图或地球仪上表示出来。例如问北京的经纬度是多少

php根据地球上任意两点的经纬度计算两点间的距离 原理

╄→гoц情女王★ 提交于 2020-02-03 04:35:42
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。如果以0度经线为基准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。设第一点A的经纬度为(LonA, LatA),第二点B的经纬度为(LonB, LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90-Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA, MLatA)和(MLonB, MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式: C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB) Distance = R*Arccos(C)*Pi/180 这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile 如果仅对经度作正负的处理

根据经纬度计算两点间的距离

僤鯓⒐⒋嵵緔 提交于 2020-02-03 04:34:39
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。如果以0度经线为基 准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。设第一点A的经 纬度为(LonA, LatA),第二点B的经纬度为(LonB, LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90- Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA, MLatA)和(MLonB, MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式: C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB) Distance = R*Arccos(C)*Pi/180 这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile

根据经纬度查询附近商家及排序

Deadly 提交于 2020-01-31 10:38:24
最近在做的项目中有一个业务需求是通过手机端传来的经纬度查询附近商家并根据各种条件排序,项目用的是mybatis,数据库是mysql,在此记录下. SELECT h.hotel_id hotelId, hotel_name hotelName, ROUND( 6378.138 * 2 * ASIN( SQRT( POW( SIN( ( #{lat} * PI() / 180 - latitude * PI() / 180 ) / 2 ), 2 ) + COS(#{lat} * PI() / 180) * COS(latitude * PI() / 180) * POW( SIN( ( #{lon} * PI() / 180 - longitude * PI() / 180 ) / 2 ), 2 ) ) ) * 1000 ) AS distance FROM hotel h ORDER BY distance 其中 latitude和 longitude分别是数据库中对象的一个属性,lat和long则是手机端传来的经纬度,计算出的数值单位是米. 当然还要考虑分页及其他因素,以及可以用函数调用,这里只记录下距离算法. 来源: https://www.cnblogs.com/legoo/p/8214215.html

在数据库中根据经纬度查找数据中所有附近的经纬度点

你说的曾经没有我的故事 提交于 2020-01-31 10:35:04
在数据库中根据经纬度查找数据中所有附近的经纬度点 根据当前所在的坐标点也即经纬度,查找数据库中附近5公里或10公里附近的所有信息的实现,经过查找资料,原来是我高二学的,就是求弦长,数学忘完了,没想到数学还这么有用,数学啊 真是用途太大了。 用到的什么余弦,角度、弧度全忘完了, 但是通过找资料,还是实现了,误差相对还是比较小的,我在mssql数据库中实现的,具体如下: mssql函数: ALTER FUNCTION [GetDistance] ( @GPSLng DECIMAL(12,6), @GPSLat DECIMAL(12,6), @Lng DECIMAL(12,6), @Lat DECIMAL(12,6) ) RETURNS DECIMAL(12,4) AS BEGIN DECLARE @result DECIMAL(12,4) SELECT @result=6371.004*ACOS(SIN(@GPSLat/180*PI())*SIN(@Lat/180*PI())+COS(@GPSLat/180*PI())*COS(@Lat/180*PI())*COS((@GPSLng-@Lng)/180*PI())) RETURN @result END sql查询语句: SELECT *,GetDistance(某一点的经度,某一点的纬度,数据库中经度,数据库中纬度)AS dis

【高德地图API】如何解决坐标转换,坐标偏移?

匆匆过客 提交于 2020-01-30 20:05:21
http://bbs.amap.com/thread-18617-1-1.html#rd?sukey=cbbc36a2500a2e6c2b0b19115118ace519002ff3a52731f1388ddf5bf3a144e9ae715c2253b0bba87b05dcc82d6c0e74 摘要:各种坐标体系之间如何转换?到底有哪些坐标体系?什么是火星坐标?为什么我的坐标,在地图上显示会有偏移?本文详细解答以上问题。最后给出坐标拾取工具。 --------------------------------------------------------------------------------------------------------------------------- 一、坐标体系 首先我们要明白,开发者能接触到哪些坐标体系呢? 第一种分类: 1、 GPS,WGS-84,原始坐标体系。一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。很可惜,在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密。GPS坐标形式如图,度分秒形式的经纬度: 2、 GCJ-02,国测局02年发布的坐标体系。又称“火星坐标”。在中国,必须至少使用GCJ-02的坐标体系。比如谷歌,腾讯,高德都在用这个坐标体系。GCJ-02也是国内最广泛使用的坐标体系。 3、

切片工具新探索:在文件名中定义坐标信息,省去配准步骤

不问归期 提交于 2020-01-30 00:57:12
下载 配准过程实际就是建立图像中的点与地图的点的对应关系。我们可以通过另外一种途径来建立这种对应关系,就是直接在图片文件名中定义图像的四个角的经纬度。实际操作中,只要定义好4个角中的任意2个角就可以了。 实际应用中,如果能够准确确定图像四个角的经纬度,那么就可以用这种方法。 文件名规则: 角标记1_经度1_纬度1_角标记2_经度2_纬度2_*.图像文件名后缀 角标记类型:左上角:lt,右上角:rt,左下角:lb,右下角:rb。 例1: lt_116.410974_39.924216_rt_116.426123_39.924315.jpg ,定义了左上角和右上角的经纬度。 例2:lt_116.406364_39.924248_rb_116.426083_39.924281.jpg ,定义了左上角和右下角的经纬度。 例3: lt_122.005898_25.00641_lb_121.858956_24.614999_j20.jpg ,定义了左上角和左上角的经纬度。 来源: CSDN 作者: 老狼8848 链接: https://blog.csdn.net/bq_cui/article/details/104105636

一些经纬度知识

穿精又带淫゛_ 提交于 2020-01-29 04:07:56
1、横纬竖经 2、lng经度:-180~180,东经正数,西经负数 3、lat纬度:-90~90,北纬正数,南纬负数 4、经纬度1度=60分=3600秒 5、地球的子午线总长度大约40008km。 纬度1度 = 大约111km 纬度1分= 大约1.85km 纬度1秒= 大约30.8m 6、中国的经纬度范围大约为:纬度3.86~53.55,经度73.66~135.05 7、越北面的地方纬度数值越大,越东面的地方经度数值越大 NEMA协议(包含GNGGA等所有协议说明) https://baike.baidu.com/item/NMEA/9812575?fr=aladdin $GNGGA解析 来源: CSDN 作者: AWen_Jack 链接: https://blog.csdn.net/AWen_Jack/article/details/104059372

MySQL里的经纬度转为Geohash后插回数据库

帅比萌擦擦* 提交于 2020-01-17 01:34:13
MySQL里的经纬度转为Geohash后插回数据库 from pygeohash import encode , decode import plotly import plotly . plotly as pyf import plotly . graph_objs as go import numpy as np import pandas as pd import math from matplotlib . path import Path import numpy as np import plotly . offline as of import plotly . graph_objs as go import plotly . plotly as py import numpy as np import pandas as pd import folium import webbrowser from folium . plugins import HeatMap import datetime import time import pymysql . cursors import decimal import geohash def geohashsql ( geohash ) : conn = pymysql . connect ( host =