MapInfo Pro’da Alan ve Uzunluk Hesaplamaları: Küresel mi Kartezyen mi?

MapInfo Pro, alan ve uzunluk gibi ölçümleri yaparken iki farklı hesaplama yöntemi sunar: Kartezyen ve Küresel (Spherical). Peki hangisini, ne zaman kullanmak gerekiyor? Bu yazıda, doğru hesaplama yöntemini nasıl seçeceğinizi ve MapBasic fonksiyonlarında nasıl uygulayacağınızı anlatıyoruz.

Varsayılan Ayar: Map Preferences

MapInfo Pro’da hangi yöntemin kullanılacağını Map Preferences > Projection sekmesinden ayarlayabilirsiniz. Bu tercih, tüm ölçümlerin varsayılan davranışını etkiler. Sık kullandığınız yöntemi buradan ayarlamanız önerilir.

Hesaplama Yöntemleri Nelerdir?

🟢 Küresel (Spherical) Hesaplamalar

  • Dünya’nın eğriliğini hesaba katar.
  • Önce veriler enlem/boylam (Latitude/Longitude) koordinat sistemine dönüştürülür, ardından küresel algoritmalarla hesaplama yapılır.
  • Yalnızca coğrafi (Lon/Lat) projeksiyonlarla çalışır.
  • Non-Earth projeksiyonlarında kullanılamaz.

🟠 Kartezyen (Cartesian) Hesaplamalar

  • Verileri iki boyutlu düzlem üzerine projekte ederek (x, y koordinatlarıyla) işlem yapar.
  • Düzlem temelli (Projected) projeksiyonlar ve NonEarth sistemleri için uygundur.
  • Long/Lat koordinat sistemleriyle çalışmaz.

Hangi Durumda Hangi Yöntem?

MapInfo’nun önerisine göre:

Non-Earth projeksiyonları için: Kartezyen hesaplama

Lon/Lat (coğrafi) projeksiyonları için: Küresel hesaplama

🟡 Projeksiyonlu koordinat sistemleri (örneğin UTM, Mercator): Genellikle Kartezyen hesaplama tercih edilir.

🛑 Yanlış hesaplama yöntemi kullanırsanız, MapInfo ölçüm sonucunu -1 olarak döndürür. Bu da sistemin hesaplama yapamadığını gösterir.

MapBasic ile Ölçüm Fonksiyonları

MapBasic kullanıyorsanız, ölçüm fonksiyonlarının hangi yöntemi kullandığını da bilmelisiniz. Aynı işlemi farklı hesaplama yöntemleriyle yapabileceğiniz üç ayrı fonksiyon grubu bulunur:

Örnek: Alan Hesabı

  • Area(): Varsayılan metoda göre çalışır (Genellikle Küresel).
  • SphericalArea(): Her zaman Küresel yöntemle hesaplar. Non-Earth sistemlerde -1 döner.
  • CartesianArea(): Her zaman Kartezyen yöntemle hesaplar. Lon/Lat sistemlerde -1 döner.

Diğer Ölçüm Fonksiyonları:

  • ObjectLen() / SphericalObjectLen() / CartesianObjectLen()
  • Perimeter() / SphericalPerimeter() / CartesianPerimeter()
  • Distance() / SphericalDistance() / CartesianDistance()
  • ObjectDistance() / SphericalObjectDistance() / CartesianObjectDistance()

Ayrıca bazı geometrik işlemler için de bu üçlü yapı geçerlidir. Örneğin: Buffer() ve OffsetXY() fonksiyonlarında da benzer bir yapı mevcuttur.