国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

經(jīng)緯度轉(zhuǎn)換為UTM坐標(biāo)

這篇具有很好參考價值的文章主要介紹了經(jīng)緯度轉(zhuǎn)換為UTM坐標(biāo)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

概念 :

UTM(通用橫向墨卡托投影): 是一種以米為單位的坐標(biāo)系統(tǒng),用于地圖和GPS導(dǎo)航。將地球劃分為60個縱向的區(qū)域。每個區(qū)域?qū)?度,從赤道開始往南北兩級方向劃分。每個區(qū)域都有一個特定的字母。

轉(zhuǎn)換過程:

  1. 將經(jīng)緯度值轉(zhuǎn)化為弧度值
 // 將經(jīng)度歸一化到-180到180度之間
  double LongTemp =
      (Long + 180) - static_cast<int>((Long + 180) / 360) * 360 - 180;

  double LatRad = Lat * DEG_TO_RAD;
  double LongRad = LongTemp * DEG_TO_RAD;
  1. 根據(jù)經(jīng)緯度計算所在的UTM區(qū)域

計算UTM帶號,即 zoneNumber,這是由所在位置的經(jīng)度計算得到的,計算公式為zoneNumber = floor((longTemp + 180)/6) + 1,其中 floor()函數(shù)表示向下取整。

對于特殊區(qū)域(Norway 和 Svalbard)需要進(jìn)行特殊處理。對于Norway,UTM帶號為31;對于Svalbard,需要根據(jù)具體位置計算UTM帶號。

// 緯度在56度到64度之間,經(jīng)度在3度到12度之間的區(qū)域?qū)儆谂餐?,對?yīng)的UTM帶號為32
  if (Lat >= 56.0 && Lat < 64.0 && LongTemp >= 3.0 && LongTemp < 12.0)
    ZoneNumber = 32;

  // Special zones for Svalbard
  // 如果經(jīng)緯度在北極圈內(nèi),則根據(jù)經(jīng)度范圍判斷屬于哪個UTM區(qū)域。
  // 對于挪威的斯瓦爾巴群島(Svalbard)有特殊的UTM區(qū)域設(shè)置。
  // 如果緯度在72到84度之間,則根據(jù)經(jīng)度范圍判斷屬于哪個UTM區(qū)域,分別為31、33、35、37區(qū)。
  if (Lat >= 72.0 && Lat < 84.0) {
    if (LongTemp >= 0.0 && LongTemp < 9.0)
      ZoneNumber = 31;
    else if (LongTemp >= 9.0 && LongTemp < 21.0)
      ZoneNumber = 33;
    else if (LongTemp >= 21.0 && LongTemp < 33.0)
      ZoneNumber = 35;
    else if (LongTemp >= 33.0 && LongTemp < 42.0)
      ZoneNumber = 37;
  }
  1. 根據(jù)維度值計算UTM縱向帶
  2. 計算以赤道為基準(zhǔn)的投影面的相對圓柱體坐標(biāo)系(即UTM投影)的各種參數(shù)
    橢球體參數(shù),包括長半軸a,扁率f,第一偏心率平方eccSquared,以及第二偏心率平方eccPrimeSquared。
  3. 根據(jù)投影參數(shù),計算經(jīng)緯度值對應(yīng)的UTM坐標(biāo)值
    計算UTM坐標(biāo)時,需要使用以下幾個參數(shù):
  • N:卯酉圈曲率半徑。
  • T:曲率平面的切線方位角正切值。 T = t a n 2 ( L a t R a d ) T=tan^2(LatRad) T=tan2(LatRad)
  • C:子午圈曲率半徑。 C = e c c P r i m e S q u a r e d × c o s 2 ( L a t R a d ) C=eccPrimeSquared×cos^2(LatRad) C=eccPrimeSquared×cos2(LatRad)
  • A:中央經(jīng)線到點(diǎn)的經(jīng)線長度。 A = c o s ( L a t R a d ) × ( L o n g R a d ? L o n g O r i g i n R a d ) A=cos(LatRad)×(LongRad?LongOriginRad) A=cos(LatRad)×(LongRad?LongOriginRad)
  • M:緯度的子午線弧長。
    M = a ? ( ( 1 ? e 2 4 ? ? 3 e 4 64 ? ? 5 e 6 256 ? ) ? ? ? ( 3 e 2 8 ? + 3 e 4 32 ? + 45 e 6 1024 ? ) ? s i n ( 2 ? ) + ( 15 e 4 256 ? + 45 e 6 1024 ? ) ? s i n ( 4 ? ) ? 35 e 6 3072 ? ? s i n ( 6 ? ) ) M=a?((1?\frac{e^2}{4}?-\frac{3e^4}{64}??\frac{5e^6}{256}?)???(\frac{3e^2}{8}?+\frac{3e^4}{32}?+\frac{45e^6}{1024}?)?sin(2?)+(\frac{15e^4}{256}?+\frac{45e^6}{1024}?)?sin(4?)?\frac{35e^6}{3072}??sin(6?)) M=a?((1?4e2???643e4???2565e6??)???(83e2??+323e4??+102445e6??)?sin(2?)+(25615e4??+102445e6??)?sin(4?)?307235e6???sin(6?))

其中,a是橢球體的半長軸,e是橢球體的離心率, ? \phi ?是轉(zhuǎn)換前的緯度。
U T M E a s t i n g = k 0 × N × ( A + ( 1 ? T + C ) × A 3 / 6 + ( 5 ? 18 × T + T 2 + 72 × C ? 58 × e c c P r i m e S q u a r e d ) × A 5 / 120 ) + 500000.0 U T M N o r t h i n g = k 0 × ( M + N × t a n ( L a t R a d ) × ( A 2 / 2 + ( 5 ? T + 9 × C + 4 × C 2 ) × A 4 / 24 + ( 61 ? 58 × T + T 2 + 600 × C ? 330 × e c c P r i m e S q u a r e d ) × A 6 / 720 ) ) UTM_{Easting}=k_0×N×(A+(1?T+C)×A^3/6+(5?18×T+T^2+72×C?58×eccPrimeSquared)×A^5/120)+500000.0 \\ UTM_{Northing}=k_0×(M+N×tan(LatRad)×(A^2/2+(5?T+9×C+4×C^2)×A^4/24+(61?58×T+T^2+600×C?330×eccPrimeSquared)×A^6/720)) UTMEasting?=k0?×N×(A+(1?T+C)×A3/6+(5?18×T+T2+72×C?58×eccPrimeSquared)×A5/120)+500000.0UTMNorthing?=k0?×(M+N×tan(LatRad)×(A2/2+(5?T+9×C+4×C2)×A4/24+(61?58×T+T2+600×C?330×eccPrimeSquared)×A6/720))文章來源地址http://www.zghlxwxcb.cn/news/detail-499480.html

eccPrimeSquared = (eccSquared) / (1 - eccSquared);

N = a / sqrt(1 - eccSquared * sin(LatRad) * sin(LatRad));
T = tan(LatRad) * tan(LatRad);
C = eccPrimeSquared * cos(LatRad) * cos(LatRad);
A = cos(LatRad) * (LongRad - LongOriginRad);

M = a *
    ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 -
      5 * eccSquared * eccSquared * eccSquared / 256) *
         LatRad -
     (3 * eccSquared / 8 + 3 * eccSquared * eccSquared / 32 +
      45 * eccSquared * eccSquared * eccSquared / 1024) *
         sin(2 * LatRad) +
     (15 * eccSquared * eccSquared / 256 +
      45 * eccSquared * eccSquared * eccSquared / 1024) *
         sin(4 * LatRad) -
     (35 * eccSquared * eccSquared * eccSquared / 3072) * sin(6 * LatRad));

UTMEasting = k0 * N * (A + (1 - T + C) * A * A * A / 6 + (5 - 18 * T + T * T + 72 *

到了這里,關(guān)于經(jīng)緯度轉(zhuǎn)換為UTM坐標(biāo)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包