问题描述
我有一个很小的区域地图,我从Openstreet地图(PNG)和它的OSM(.osm)文件中下载了该文件,其中包含Lat,long。
现在我想将Lat,long转换为XY坐标系(例如UTM),然后将其映射到大小为(600 x 800)的我的Image的像素空间。我知道它有两个过程,就像想知道如何做。谢谢
解决方法
GPS坐标到像素
假设这张地图没有穿过本初子午线
假设像素0,0位于左上方,像素600,800位于右下方。
假设地图仅是北半球(地图的任何部分都不是南半球)
确定您的800x600图片(X)中的最左经度
确定800x600图片(Y)中的最东经度
确定经度差(Z = Y-X)
确定800x600图像(A)中的最北纬
确定800x600图片(B)中最南端的纬度
确定经度差(C = A-B)
给定纬度和经度,以确定他们点击了哪个像素:
J =输入经度
K =输入纬度
计算X像素
XPixel = CInt((((Y-J)/ CDbl(Z))* 800)
计算Y像素
YPixel = CInt((((A-K)/ CDbl(C))* 600)
UTM
这是一个应帮助GPS转换为UTM的制图图书馆