C++ 如何将Lat、long转换为XY坐标系(例如UTM),然后将其映射到图像的像素空间
我有一个非常小的区域地图,我从Openstreet地图(PNG)下载了它,还有它的OSM(.OSM)文件,其中包含它的Lat,long 现在,我想将Lat,long转换为XY坐标系(例如UTM),然后将其映射到图像的像素空间,其大小为(600 x 800)。我知道这是一个双向的过程,我想知道如何做到这一点。谢谢GPS坐标到像素C++ 如何将Lat、long转换为XY坐标系(例如UTM),然后将其映射到图像的像素空间,c++,openstreetmap,mercator,C++,Openstreetmap,Mercator,我有一个非常小的区域地图,我从Openstreet地图(PNG)下载了它,还有它的OSM(.OSM)文件,其中包含它的Lat,long 现在,我想将Lat,long转换为XY坐标系(例如UTM),然后将其映射到图像的像素空间,其大小为(600 x 800)。我知道这是一个双向的过程,我想知道如何做到这一点。谢谢GPS坐标到像素 假设这张地图没有穿过本初子午线 假设像素0,0位于左上方,像素600800位于右下方 假设地图仅为北半球(地图的任何部分都不是南半球) 确定800x600图像中最左边的
- 假设这张地图没有穿过本初子午线
- 假设像素0,0位于左上方,像素600800位于右下方
- 假设地图仅为北半球(地图的任何部分都不是南半球)
- 确定800x600图像中最左边的经度(X)
- 确定800x600图像中最东边的经度(Y)
- 确定经度差(Z=Y-X)
- 确定800x600图像中的最北纬度(A)
- 确定800x600图像中最南端的纬度(B)
- 确定经度差(C=A-B)
这是一个有助于GPS到UTM转换的例子谢谢你的回答..与你上面所说的类似,我已经将我的Lat、Long转换为图像X和Y。但如果你看到我的问题,第一件事是如何将Lat,Long转换为现实世界的X,Y(UTM),然后将其映射到我的图像X,Y。。。因为我使用UTM(x,y)进行某些处理。有关转换为UTM的帮助,请参阅此地图投影库。对不起,我误解了你的问题。我不知道去UTM然后去像素的解决方案很有趣,但是这里的成本是$,第3步和第4步是什么?CInt,CDbl??CInt将内部值转换为整数,CDbl将内部值转换为双精度浮点