使用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传单生成)。如何将其指向实际位置(纬度,经度)。
我要实现的是上述解决方案的相反之处。
答案 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
};
};