Soru Enlem ve Boylama çevirmek

Katılım
17 Haziran 2008
Mesajlar
1,859
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Merhaba arkadaşlar;

ED50 /TM30 göre ayarlanmış bir noktam var.

x = 4529079.32
y = 590984.15


Bunu Enlem ve Boylama nasıl çevirebilirim ( ondalık derece ) ? hangi formülü kullanmalıyım ?

mesaj kutusu ile sonucu almak istiyorum.

yardımcı arkadaşa şimdiden teşekkürler.

C#:
Sub KoordinatCevir()
    ' ED50/TM30 koordinatlarını enlem ve boylam olarak dönüştürme
 
    ' Koordinatları girin
    Dim x As Double
    Dim y As Double
    x = 4529079.32
    y = 590984.15
 

    Dim latitude As Double
    Dim longitude As Double
 
    ' Enlem ve boylam hesaplamalarını yapın

 

    MsgBox "Enlem: " & latitude & vbCrLf & "Boylam: " & longitude
End Sub
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,622
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Hesaplama kısmı kolay. Ortaya çıkacak değerin ne olması gerekiyor?
İyi çalışmalar
 
Katılım
17 Haziran 2008
Mesajlar
1,859
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Hesaplama kısmı hangi formül ile yapılıyor. ? yani sonucun ondalık derece olması gerekiyor.

mesela ; 40.125484 , 30.187658 gibi...
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,622
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Bu soruyu ChatGPT ye sordum; aramızda geçen yazışma aşağıdadır. (adres chat.openai.com )
ED50 / TM30 göre ayarlanmış bir noktam var. x = 4529079.32 y = 590984.15 Bunu Enlem ve Boylama nasıl çevirebilirim ( ondalık derece ) ? hangi formülü kullanmalıyım ?
verdiği cevap;
Bu koordinatları enlem ve boylam olarak (ondalık derece cinsinden) dönüştürmek için, ED50 / TM30 projeksiyon sistemine dayalı olarak kullanılacak formülü kullanmanız gerekecek. Bu dönüşüm genellikle özel bir projeksiyon formülü gerektirir, çünkü farklı projeksiyon sistemleri farklı dönüşüm formülleri gerektirir.

Özellikle ED50 / TM30 projeksiyon sistemini kullanmak için yaygın olarak kullanılan bir dönüşüm formülü:

𝜑=arctan⁡(𝑍′+𝑒′2sin⁡3(𝑍′)𝑋′2+𝑌′2−𝑝⋅𝑎⋅𝑒2⋅cos⁡3(𝑍′))φ=arctan(X′2+Y′2−p⋅a⋅e2⋅cos3(Z′)Z′+e′2sin3(Z′))
𝜆=arctan⁡(𝑌′𝑋′)−𝑝λ=arctan(X′Y′)−p
Burada,

  • 𝑋′X′ ve 𝑌′Y′, ED50 / TM30 koordinatlarınız (meter cinsinden),
  • 𝑍′Z′, ED50 / TM30 yüksekliğiniz (meter cinsinden),
  • 𝑎a ve 𝑏b, ED50 / TM30 datum parametreleridir,
  • 𝑒2e2 ve 𝑝p, ED50 / TM30 datum parametreleridir,
  • 𝜑φ, enlem (radyan cinsinden),
  • 𝜆λ, boylam (radyan cinsinden) ve
  • arctan⁡arctan, ters trigonometrik tanjant fonksiyonunu temsil eder.
Ancak, bu formül doğrudan uygulanması zor olabilir ve genellikle özel yazılımlar veya dönüşüm hizmetleri kullanılır. Uygulamanız veya kullanım durumunuz için uygun bir dönüşüm hizmeti kullanmanızı öneririm. Bu hizmetler, belirli bir koordinat sisteminden başka birine dönüşüm yapmanıza izin verir ve genellikle çevrimiçi olarak erişilebilir.

Bu dönüşümü excel macro olarak verebilir misin, lütfen?
Tabii ki, işte ED50 / TM30 koordinatlarını enlem ve boylam olarak dönüştüren bir Excel VBA makrosu:
Kod:
Function ED50TM30toLatLon(X As Double, Y As Double, Z As Double) As Variant
    ' Datum parameters for ED50 / TM30
    Const a As Double = 6378388.0
    Const b As Double = 6356911.946
    Const e2 As Double = (a ^ 2 - b ^ 2) / (a ^ 2)
    Const p As Double = 3.06262 * 10 ^ -5
    
    ' Convert coordinates to radians
    X = X / 1000 ' Convert to kilometers
    Y = Y / 1000 ' Convert to kilometers
    
    ' Convert TM30 to LatLon
    phi = WorksheetFunction.Atan((Z + e2 * WorksheetFunction.Sin(Z) ^ 3) / (Sqr(X ^ 2 + Y ^ 2) - p * a * e2 * WorksheetFunction.Cos(Z) ^ 3))
    lambda = WorksheetFunction.Atan(Y / X) - p
    
    ' Convert radians to degrees
    phi = WorksheetFunction.Degrees(phi)
    lambda = WorksheetFunction.Degrees(lambda)
    
    ED50TM30toLatLon = Array(phi, lambda)
End Function
Bu VBA fonksiyonu bir Excel çalışma kitabına ekleyebilirsiniz. Ardından, bir hücreye bu fonksiyonu kullanarak ED50 / TM30 koordinatlarını enlem ve boylam olarak dönüştürebilirsiniz. Örneğin:

=ED50TM30toLatLon(A1, B1, C1)
Burada, A1, B1 ve C1 hücreleri sırasıyla X, Y ve Z koordinatlarını içerir. Bu formül, ED50 / TM30 koordinatlarını enlem ve boylam olarak döndürecektir.
Size kolay gelsin
 
Katılım
17 Haziran 2008
Mesajlar
1,859
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Teşekkür ederim., bakacağım...
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,622
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Rica ederim
 
Üst