单张gdal2tile wgs84纬度长至地图点

时间:2018-06-30 06:23:43

标签: javascript leaflet raster gdal

使用gdal2tiles传单我正在在浏览器上渲染栅格图像GeoTiff图像。 https://github.com/commenthol/gdal2tiles-leaflet

我要做的是从投影地图转换为实际坐标(lat,lng)

// GeoTransform数据

var xoff = 424562.64403639885,
        a   = 0.5064676564009486,
        b   = 0,
        yoff = 3285265.740653501,
        d   = 0,
        e   = -0.5064676564009355;


var X_proj = a * coords.x + b * coords.y + xoff
var Y_proj = d * coords.x + e * coords.y + yoff

其中coords.x和coords.y是浏览器地图的像素点({x:15336,y:14088})。从点击事件返回,例如:https://commenthol.github.io/leaflet-rastercoords/

然后使用proj4js转换栅格点(X_proj和Y_proj)以获得lat,lng

现在,我有一组从Google地图获取的坐标(lal,lng)。

我要在这里做的是在浏览器上显示的地图上绘制点(由gdal2tiles传单生成)。如何将其指向实际位置(纬度,经度)。

我要实现的是上述解决方案的相反之处。

1 个答案:

答案 0 :(得分:0)

通过线性方程式求解。我生成了以下代码来给我coords.x和coords。

var coordsToPoint = function(X_proj, Y_proj) {

    var x = ( ( b * (Y_proj - yoff) ) - ((X_proj - xoff) * e)  ) / ( d * b - a * e );
    var y = ( (( a * ( Y_proj - yoff ) ) - ( d * ( X_proj - xoff ) )) /  ( (a * e) - ( d * b ) ) );
    return {
        x: x,
        y: y
    };
};