folder Tahribat.com Forumları
linefolder Eğitim & Ödev & Bilimsel Döküman
linefolder 2 Koordinat Arası Mesafe Hesaplama (?)



2 Koordinat Arası Mesafe Hesaplama (?)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EnableTurk
    EnableTurk's avatar
    Kayıt Tarihi: 29/Eylül/2007
    Erkek

    40.0606628,28.2587015 gibi iki koordinat arası nasıl hesaplanır ? 

    http://www.mapdevelopers.com/distance_finder.php adam burda yapmış ama ben maps kullanmadan yapmak istiyorum.

    Yani matematiksel bi formülü yokmu bunun ? 

    Not : Farklı bi çözüm sunarsanız, klasik asp çalışacağım bilginiz olsun.

    #DirenKlasikASP

    Erişilen Sayfalar :  

    http://www.mapdevelopers.com/distance_finder.php?&points=%5B%5B41.02277973077296%2C40.527169704437256%5D%2C%5B41.02281210818997%2C40.526955127716064%5D%5D

    http://www.inploid.com/t/google-map-api-ile-yol-tarifi-ve-uzaklik-hesaplamak-mumkun-mu/17961/

    http://gis.stackexchange.com/questions/66247/what-is-the-formula-for-calculating-world-coordinates-for-a-given-latlng-in-goog

     


    seni 4 kere döverim yarın 🤙
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EnableTurk
    EnableTurk's avatar
    Kayıt Tarihi: 29/Eylül/2007
    Erkek

    Burada%20görüntü%20açıklama%20girin

    bu değildir inş. sıçtık :(

     


    seni 4 kere döverim yarın 🤙
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek
    EnableTurk bunu yazdı

    Burada%20görüntü%20açıklama%20girin

    bu değildir inş. sıçtık :(

     

    Küresel coordinat tam olarak öyle hesaplanıyor :d birde dünya tam küre olmadığı için işler değişiyor 

     

     

    Dönüşüm yapacaksın normalde eksenlerin x,y,z iken 

    x=rcosθsinφ

    y=rsinθsinφ

    z=rcosφ

     

     olacak onu araştır 

    yada en temizi hazırını bul :d

     

     

     

    SinusX tarafından 22/Nis/14 11:09 tarihinde düzenlenmiştir

    Si vis pacem para bellum.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EnableTurk
    EnableTurk's avatar
    Kayıt Tarihi: 29/Eylül/2007
    Erkek

    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    ^ 2 + cos a = (sin (dlat / 2)) (lat1) * cos (lat2) * (sin (dlon / 2)) ^ 2 
    c = 2 * atan2 (sqrt (a), sqrt (1-a)) 
    D = R * c (R Earth yarıçapı olduğu)

    şöyle bişey buldum enlem ve boylam ile böyle hesaplanıyormuş :D

     


    seni 4 kere döverim yarın 🤙
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EnableTurk
    EnableTurk's avatar
    Kayıt Tarihi: 29/Eylül/2007
    Erkek

    Enlem ve boylam ile mesafe hesaplayan Javascript Kodu :

    var R = 6371; // km

    var dLat = (lat2-lat1).toRad();

    var dLon = (lon2-lon1).toRad();

    var lat1 = lat1.toRad();

    var lat2 = lat2.toRad();

     

    var a = Math.sin(dLat/2) * Math.sin(dLat/2) +

            Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 

    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 

     

    var d = R * c;

    EnableTurk tarafından 22/Nis/14 11:11 tarihinde düzenlenmiştir

    seni 4 kere döverim yarın 🤙
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Shuqufe
    Shuqufe's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek
    	static function distance($lat1, $lon1, $lat2, $lon2, $unit) {
    		$theta = $lon1 - $lon2;
    		$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
    		$dist = acos($dist);
    		$dist = rad2deg($dist);
    		$miles = $dist * 60 * 1.1515;
    		$unit = strtoupper($unit);
    
    		if ($unit == "K"){
    			return ($miles * 1.609344);
    		}else if ($unit == "N") {
    			return ($miles * 0.8684);
    		}else if ($unit == "METRE") {
    			$Metre = explode(".",($miles * 1.609344 * 1000));
    			return $Metre[0];
    		}else{
    			return $miles;
    		}
    	}

    Benim Kullandığım Function bu İşini Görür
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EnableTurk
    EnableTurk's avatar
    Kayıt Tarihi: 29/Eylül/2007
    Erkek

     

    <script>

    function CalcDistanceBetween(lat1, lon1, lat2, lon2) {

        //Radius of the earth in:  1.609344 miles,  6371 km  | var R = (6371 / 1.609344);

        var R = 3958.7558657440545; // Radius of earth in Miles 

        var dLat = toRad(lat2-lat1);

        var dLon = toRad(lon2-lon1); 

        var a = Math.sin(dLat/2) * Math.sin(dLat/2) +

                Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * 

                Math.sin(dLon/2) * Math.sin(dLon/2); 

        var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 

        var d = R * c;

    document.getElementById("result-distance").innerHTML= d;

        return d;

     

    }

     

    function toRad(Value) {

        /** Converts numeric degrees to radians */

        return Value * Math.PI / 180;

    }

     

     

    </script>

     

     

      <button onclick="CalcDistanceBetween(41.0305628,29.2587017,40.987968,28.6469719)" id="calc-dist">Calculate distance</button>

      <output id="result-distance"></output>

    bende bu şekilde az önce çalıştırdım hocam, ama seninki daha bi tatlı :)

    eyvallah.

     


    seni 4 kere döverim yarın 🤙
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EnableTurk
    EnableTurk's avatar
    Kayıt Tarihi: 29/Eylül/2007
    Erkek

    ASP ve diğer diller için :

    http://www.geodatasource.com/developers


    seni 4 kere döverim yarın 🤙
Toplam Hit: 3021 Toplam Mesaj: 9