Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
1
Cevap
1138
Tıklama
0
Öne Çıkarma
C# Dosyaya Yazma
B
4 yıl
Teğmen
Konu Sahibi

[CODE=csharp]  private void button1_Click(object sender, EventArgs e)
    {
      double grs80a = 6378137.00, grs80b = 6356752.3141;
      double Enlem, Boylam, Yukseklik;

      Enlem = Convert.ToDouble(txtEnlem.Text);
      Boylam = Convert.ToDouble(txtBoylam.Text);
      Yukseklik = Convert.ToDouble(txtYukseklik.Text);

      double A, B;
      A = (Math.PI / 180) * Enlem;
      B = (Math.PI / 180) * Boylam;

      double ke2;
      ke2 = ((grs80a * grs80a) - (grs80b * grs80b)) / (grs80a * grs80a);

      double N;
      N = (grs80a / (Math.Sqrt(1 - (ke2 * ((Math.Sin(A)) * (Math.Sin(A)))))));

      double X, Y, Z;
      X = (N + Yukseklik) * (Math.Cos(A)) * (Math.Cos(B));
      Y = (N + Yukseklik) * (Math.Cos(A)) * (Math.Sin(B));
      Z = (((1 - ke2) * N + Yukseklik)) * (Math.Sin(B));

      lblX.Text = X.ToString();
      lblY.Text = Y.ToString();
      lblZ.Text = Z.ToString();[/CODE]


Merhaba arkadaşlar,

Şimdi yapmak istediğim şu, yukarıda enlem,boylam,yükseklik olarak girilecek değerlere örneği enlemi 20-50 derece arası olan 30 derece boylamındaki 1000m yükseklikteki tüm noktaların koordinatlarını bir çıktı olarak bize veren bir komutu nasıl yazabilirim. Teşekkür ederim.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



G
4 yıl
Yarbay

üstte yazdığından metod oluşturacan parametreli olacak ...(double enlem, double boylam, double yükseklik) döndüğü değer olarak Tuple<double,double,double> olabilir ondan sonra for loop ile 20 den 50 ye kadar döndürecen bu metodu her döndürmede cevapları ister dosyaya yaz istersen bi list e atarsın


void Main()
{


for (int i = 20; i <= 50; i++)
{
using (StreamWriter sw = File.AppendText("C:\\Veri.txt"))
{
sw.WriteLine(Çevir(i,30,1000));
}
 
}
}


public Tuple<double, double, double> Çevir(double enlem, double boylam, double yükseklik)
{
const double grs80a = 6378137.00;


const double grs80b = 6356752.3141;


double A = (Math.PI / 180) * enlem;


double B = (Math.PI / 180) * boylam;


double ke2 = ((grs80a * grs80a) - (grs80b * grs80b)) / (grs80a * grs80a);


double N = (grs80a / (Math.Sqrt(1 - (ke2 * ((Math.Sin(A)) * (Math.Sin(A)))))));


double X = (N + yükseklik) * (Math.Cos(A)) * (Math.Cos(B));


double Y = (N + yükseklik) * (Math.Cos(A)) * (Math.Sin(B));


double Z = (((1 - ke2) * N + yükseklik)) * (Math.Sin(B));


return Tuple.Create(X, Y, Z);


}





DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.