2012-03-22 23 views
0

我想有一個方程來計算,每個縮放級別在地球的標準平面地圖投影上,地圖標記可以放置的最小間距(以米爲單位)不重疊,給定標記的尺寸。唉,我不是數學家。任何接受者?最小地圖標記間隔方程

例如: 縮放級別5(相當遠,約大陸級),標記變暗:30×30 =80000米

回答

1

使用haversine公式用於在地圖上計算兩個點之間的距離。然後,根據您的縮放比例來應用最小距離/您的地圖上的針腳有多大。

function haversine(lat1, lon1, lat2, lon2) { 
    var R = 6371000; // m 
    var dLat = (lat2-lat1)* Math.PI/180; 
    var dLon = (lon2-lon1)* Math.PI/180; 
    var lat1 = lat1* Math.PI/180; 
    var lat2 = lat2* Math.PI/180; 

    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; 
    return d; 
} 
+0

請注意,R以米爲單位,您需要將其更改爲以英里/公里爲單位的距離。 – hkf 2012-03-22 22:26:04