校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > python 經緯度求兩點距離、三點面積操作

python 經緯度求兩點距離、三點面積操作

熱門標簽:市場上的電銷機器人 所得系統電梯怎樣主板設置外呼 佛山400電話辦理 北瀚ai電銷機器人官網手機版 北京電銷外呼系統加盟 地圖標注面積 儋州電話機器人 朝陽手機外呼系統 小蘇云呼電話機器人

給出地球上兩點的經緯度,計算兩點之間的球面距離。給出地球上三點的經緯度,求形成的三角形面積。

對于這樣的需求,可以通過使用半正失公式來計算得到我們想要的距離,面積值。

先給出半正失公式(haversine formula):

先看第一個式,等號的右邊,輸入參數有φ、λ,等號的右邊有d、r,其中φ表示緯度,λ表示經度,d是我們要的兩點的距離,

r是地球半徑,d/r表示兩點在圓上的弧度θ。

通過整理兩個式子可得:

也就是說,只要根據上面最后這行式子,帶入相應的經緯度值,以及地球半徑,就可以得到我們想要的兩點的球面距離,

在這里我們假設地球為均勻球體(r=6371.393公里)。

具體的python代碼實現如下:

import math
class cal_distance(object):
    def __init__(self,**kwargs):
        self.lat1 = kwargs.get('lat1')
        self.lon1 = kwargs.get('lon1')
        self.lat2 = kwargs.get('lat2')
        self.lon2 = kwargs.get('lon2')
        
    def twopoint_distance(self):
        R=6371.393
        dlat=self.deg2rad(self.lat2-self.lat1)
        dlon=self.deg2rad(self.lon2-self.lon1)
        a=math.sin(dlat/2)**2+math.cos(self.deg2rad(self.lat1))*math.cos(self.deg2rad(self.lat2))*math.sin(dlon/2)**2
        c=2*math.atan2(math.sqrt(a),math.sqrt(1-a))
        return R*c
        
    def deg2rad(self,deg):
        return deg*(math.pi/180)

定義一個cal_distance類,功能為輸入參數為兩點的經緯度計算兩點的球面距離。deg2reg函數為度數轉弧度函數,twopoint_distance為距離計算功能函數,輸出兩點距離,單位為千米(公里)。

from cal_distance import cal_distance
def run():
    point1_lat = 39.2186266952
    point2_lat = 39.08579871
    point1_lon = 117.8175961241
    point2_lon = 117.7040162
    Distance = cal_distance(lat1=point1_lat,lon1=point1_lon1,lat2=point2_lat,lon2=point2_lon)
    distance = Distance.twopoint_distance()
    print distance
    
if __name__=='__main__':
    run()

這段代碼為具體的函數調用部分,實例化對象,調用twopoint_distance(),就可以得到我們想要的距離值了。

在現在的代碼基礎上,想要計算三個點圍成的面積就很容易實現了。三個點兩兩求出三條邊的距離,利用三邊求面積公式,就可以得到三角形的面積值。

下面給出類的定義部分:

import math
class cal_area(object):
    def __init__(self,**kwargs):
        self.lat1 = kwargs.get('lat1')
        self.lon1 = kwargs.get('lon1')
        self.lat2 = kwargs.get('lat2')
        self.lon2 = kwargs.get('lon2')
        self.lat3 = kwargs.get('lat3')
        self.lon3 = kwargs.get('lon3')
        
    def twopoint_distance(self,lat1,lon1,lat2,lon2):
        R=6371.393
        dlat=self.deg2rad(lat2-lat1)
        dlon=self.deg2rad(lon2-lon1)
        a=math.sin(dlat/2)**2+math.cos(self.deg2rad(self.lat1))*math.cos(self.deg2rad(self.lat2))*math.sin(dlon/2)**2
        c=2*math.atan2(math.sqrt(a),math.sqrt(1-a))
        return R*c
        
    def deg2rad(self,deg):
        return deg*(math.pi/180)
    
    def area(self):
        distance12=self.twopoint_distance(self.lat1,self.lon1,self.lat2,self.lon2)
        distance13=self.twopoint_distance(self.lat1,self.lon1,self.lat3,self.lon3)
        distance23=self.twopoint_distance(self.lat2,self.lon2,self.lat3,self.lon3)
        p=self.half_perimeter(distance12,distance23,distance13)
        s=math.sqrt(p*(p-distance12)*(p-distance23)*(p-distance13))
        return s
        
    def half_perimeter(a,b,c):
        return (a+b+c)/2

Python Haversine公式計算兩點(經緯度坐標)距離

在WGS84坐標系下,計算兩點(經緯度坐標)之間的距離(單位:km)。

import math
def LLs2Dist(lat1, lon1, lat2, lon2):
    R = 6371
    dLat = (lat2 - lat1) * math.pi / 180.0
    dLon = (lon2 - lon1) * math.pi / 180.0
    a = math.sin(dLat / 2) * math.sin(dLat / 2) + math.cos(lat1 * math.pi / 180.0) * math.cos(lat2 * math.pi / 180.0) * math.sin(dLon / 2) * math.sin(dLon / 2)
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
    dist = R * c
    return dist

驗證:

x1 = 37.779388
y1 = -122.423246
x2 = 32.719464
y2 = -117.220406
dist = LLs2Dist(y1, x1, y2, x2)
print dist

輸出結果為:

642.185478152

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • python根據經緯度計算距離示例
  • python實現兩個經緯度點之間的距離和方位角的方法
  • Python經緯度坐標轉換為距離及角度的實現

標簽:云南 商丘 龍巖 寧夏 酒泉 定西 江蘇 金融催收

巨人網絡通訊聲明:本文標題《python 經緯度求兩點距離、三點面積操作》,本文關鍵詞  python,經緯度,求,兩點,距離,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 經緯度求兩點距離、三點面積操作》相關的同類信息!
  • 本頁收集關于python 經緯度求兩點距離、三點面積操作的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产在线精品国自产拍免费| 99vv1com这只有精品| 国产欧美精品一区| 99国产一区二区三精品乱码| 免费日本视频一区| 亚洲欧洲美洲综合色网| 日韩精品一区二区三区在线播放| av资源网一区| 精品无人码麻豆乱码1区2区| 亚洲一区日韩精品中文字幕| 国产人伦精品一区二区| 欧美军同video69gay| 不卡一二三区首页| 国产一区高清在线| 五月激情丁香一区二区三区| 中文字幕日本不卡| 26uuu另类欧美亚洲曰本| 欧美综合视频在线观看| 成人黄色电影在线| 国产精品综合一区二区| 蜜桃视频免费观看一区| 亚洲一二三四在线观看| 最新成人av在线| 国产欧美日韩不卡| 日韩欧美亚洲一区二区| 亚洲女女做受ⅹxx高潮| 国产女人18水真多18精品一级做 | 午夜伦欧美伦电影理论片| 国产精品久久久久久久裸模| 久久久一区二区三区| 日韩欧美一二区| 日韩一区二区三区精品视频| 欧美日韩你懂得| 在线日韩一区二区| 色婷婷av久久久久久久| 99re视频这里只有精品| www.日韩在线| 成人av网站免费| 成人午夜在线播放| 成人丝袜高跟foot| 成人av手机在线观看| 成人av网站在线观看| 99vv1com这只有精品| 91丨porny丨国产入口| 99在线精品免费| 97精品电影院| 91黄色小视频| 欧美日韩精品欧美日韩精品一| 一本高清dvd不卡在线观看| 91丨porny丨户外露出| 在线精品视频小说1| 欧美日韩精品电影| 欧美一区二区三区在线电影| 欧美一区二区三区四区视频| 日韩欧美第一区| 欧美videos中文字幕| 久久综合九色综合97_久久久| 久久精品综合网| 中文字幕不卡一区| 亚洲欧美日韩国产成人精品影院| 亚洲一区二区四区蜜桃| 首页综合国产亚洲丝袜| 蜜桃av一区二区| 国产精品自拍三区| a亚洲天堂av| 欧美日韩中文字幕一区二区| 91精品国产一区二区人妖| 精品国产一区二区三区久久久蜜月| 久久嫩草精品久久久精品一| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲欧洲另类国产综合| 青青草国产精品97视觉盛宴| 亚洲三级电影全部在线观看高清| 伊人色综合久久天天| 日韩精品欧美精品| 国产馆精品极品| 日本久久一区二区三区| 日韩一区二区三区电影在线观看| 久久久蜜桃精品| 亚洲免费在线视频一区 二区| 日韩国产欧美在线播放| 国产精品资源在线看| 色偷偷久久人人79超碰人人澡| 制服丝袜av成人在线看| 久久久精品人体av艺术| 樱花影视一区二区| 激情五月婷婷综合| 91久久一区二区| 久久综合色综合88| 亚洲一区欧美一区| 国产成人在线视频网站| 欧美三级视频在线播放| 国产丝袜欧美中文另类| 亚洲成a人片在线观看中文| 国产一区二区调教| 欧美日韩国产乱码电影| 国产精品人人做人人爽人人添| 午夜一区二区三区在线观看| 成人午夜在线播放| 日韩精品中文字幕在线一区| 亚洲色图视频免费播放| 国产精品自拍三区| 欧美日韩不卡视频| 亚洲免费观看高清完整版在线观看熊 | 国内国产精品久久| 日本精品一区二区三区高清 | 久久日一线二线三线suv| 亚洲制服欧美中文字幕中文字幕| 国产福利电影一区二区三区| 8x8x8国产精品| 亚洲色图丝袜美腿| 国产精品亚洲人在线观看| 欧美日韩成人在线一区| 国产精品久久久久影院老司| 国产精品一区二区久久不卡| 丝袜美腿亚洲一区二区图片| 成人av网址在线| 国产欧美日韩中文久久| 麻豆一区二区三| 欧美日韩国产小视频在线观看| 国产精品卡一卡二| 国产一区 二区 三区一级| 91精品国产福利| 午夜在线电影亚洲一区| 在线观看网站黄不卡| 亚洲色欲色欲www在线观看| 岛国精品一区二区| 久久麻豆一区二区| 久久国产精品第一页| 制服丝袜激情欧洲亚洲| 97精品国产露脸对白| 从欧美一区二区三区| 国产精品一二三在| jizzjizzjizz欧美| 色综合天天综合网天天看片| eeuss鲁片一区二区三区在线看| 男女男精品视频| 国产精品久久久久影视| 精品国产一区二区精华| 亚洲色图清纯唯美| 一区二区三区日韩在线观看| 国产精品女上位| 国产精品久久久久久久久搜平片| 亚洲自拍欧美精品| 亚洲欧美另类小说| 国产精品国产三级国产有无不卡| 在线电影欧美成精品| 欧美一级久久久久久久大片| 精品国产麻豆免费人成网站| 精品国产一区二区三区久久久蜜月| 欧美日韩国产在线播放网站| 成人综合婷婷国产精品久久免费| 亚洲国产精品综合小说图片区| 欧美精品久久99| 91视频国产资源| 国产成人免费视| 久久久久久久精| 亚洲视频免费看| 裸体歌舞表演一区二区| 不卡视频在线看| 亚洲图片欧美激情| 欧美日韩日日夜夜| 麻豆免费精品视频| 久久亚洲春色中文字幕久久久| 国产成人小视频| 亚洲品质自拍视频网站| 欧美日韩亚洲综合在线 | 91尤物视频在线观看| 亚洲黄色片在线观看| 7777女厕盗摄久久久| 国产一区在线不卡| 亚洲图片激情小说| 欧美精品丝袜中出| 麻豆精品一区二区三区| 国产欧美一区二区三区在线看蜜臀| 99国产精品视频免费观看| 日韩精品三区四区| 中文字幕成人av| 欧美日韩在线三级| 国产原创一区二区三区| 在线欧美小视频| 欧美v日韩v国产v| 亚洲国产精品国自产拍av| 亚洲人成精品久久久久| 国产又粗又猛又爽又黄91精品| 美女视频黄久久| 国产美女在线精品| 欧美网站一区二区| 国产精品一区二区视频| 亚洲午夜久久久久久久久久久| 日本一区二区不卡视频| 91成人免费网站| 一片黄亚洲嫩模| 51午夜精品国产| 国产一区二区三区在线观看免费| 日韩一区二区三区免费看| 久久成人18免费观看| 日韩女优电影在线观看| 国产成人av影院| 夜夜嗨av一区二区三区|