2010-11-21 18 views
1

Evimin en iyi görüntü görüntüsüne sahibim ve sol üst piksel için en boylamı biliyorum, yani diğer piksellerin enlem boylam değerlerini nasıl elde edersiniz?Evimin imgesiyle enlem boylamı eşlemesi

Googling ederken ben şu rastladım: Yeryüzünde .. ait

function longToX(longitudeDegrees) 
    { 
    var longitude =degreesToRadians(longitudeDegrees); 
    return (radius * longitude); 
    } 

    function latToY(latitudeDegrees) 
    { 
    var latitude =degreesToRadians(latitudeDegrees); 
    var newy = radius/2.0 * 
      Math.log((1.0 + Math.sin(latitude))/
         (1.0 - Math.sin(latitude))); 
    return newy; 
    } 

function xToLong(xx) 
    { 
    var longRadians = xx/radius; 
    var longDegrees = radiansToDegrees(longRadians); 

    /* The user could have panned around the world a lot of times. 
    Lat long goes from -180 to 180. So every time a user gets 
    to 181 we want to subtract 360 degrees. Every time a user 
    gets to -181 we want to add 360 degrees. */ 

    var rotations = Math.floor((longDegrees + 180)/360) 
    var longitude = longDegrees - (rotations * 360) 
    return longitude; 
    } 

    function yToLat(yo) 
    { 
    var latitude = (Math.PI/2) - 
        (2 * Math.atan(
         Math.exp(-1.0 * yo/radius))); 
    return radiansToDegrees(latitude); 
    } 

yarıçap = 6371 km yarıçap ama 0,0 geçirirseniz ancak ben 0,0 enlem boylam nasıl düzeltileceği 0,0 olsun ve ondan türetin diğer değerler

+0

Hangi kütüphaneyi kullanıyorsunuz? –

cevap

0

Pikseller arasındaki mesafeyi bilmeniz gerekir. Uzaklığı dereceye dönüştürmek için, bir deniz dakika (bir derece 1/60 derece) enlemin 1,852 metre veya yaklaşık 6076 feet olduğu gerçeğini kullanabilirsiniz. Boylam ekvatorda aynıdır, ancak başka bir yerde enlemin kosinüsü ile çarpmanız gerekir.

Bir derecelik enlem = 1852 metre

Bir derecelik boylam = 1852 metre * cos (enlem)

(Sen derece kosinüs için radyan onları dönüştürmek/pi ile 180 enlem çarpmak gerekebilir işlevi.)

İlgili konular