2017-08-22 58 views
0

我已经编写了一个增强现实应用程序,可将对象放置在打印的街道地图上。我知道每个地图的每个角落的GPS坐标,并可以计算相对值,以便将任何物体放置在此地图上。 虽然这与atlas格式很好,但我现在整合了大型折叠地图(p.e. France),在这些地图中,位置的偏差变得不可接受。如何使用PROJ.4将坐标转换为LCC

我在坐标投影方面没有任何经验,所以我找到了proj.4,看起来很完美,并且非常高兴能够找到unity3d集成。 但无论我尝试我得到错误的价值回(可能是我的错,因为我没有一个深刻的理解我在这里做什么)

这是投影的地图所有我的其他地图是从(我已经组建了自己的字符串,它可能包含语法错误,该值是正确的,虽然)

"+proj=lcc +lat_1 =49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps = bessel +datum=hermannskogel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"; 

我会假定我有一个球形latlon或webmercator这似乎TOBé相当类似项目(在至少结果是)lcc

Webmercator:

"+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m [email protected] +wktext +no_defs"; 

Latlon:

"+proj=latlong +a=6370 +b=6370 +towgs84=0,0,0 +no_defs" 

所以我初始化预测,然后transformt他位置的列表: WebMercator.Transform(mainMapProj,xValues,yValues);

由于测试数据集,我用我的法国南部的地图的GPS坐标:

testMap.TopLeft_lat = 46.985; 
    testMap.TopLeft_lon = -3.702; 
    testMap.TopRight_lat = 47.3162; 
    testMap.TopRight_lon = 9.1447; 
    testMap.BottomRight_lat = 42.41; 
    testMap.BottomRight_lon = 9.1667; 
    testMap.BottomLeft_lat = 41.3022; 
    testMap.BottomLeft_lon = -2.291; 

除了chereay

cheray.lat = 45.97316; 
cheray.lon = -1.352547; 

Coordinates of the map

的坐标再三,他随机地城

正确投影后,坐标应该大致形成一个矩形(印刷页面),城市应该相对低于(0.1748,0.9044)矩形的左角。

我得到的价值是遥远的。我不知道我做错了什么,以及如何继续。预先感谢任何提示。

+0

这是一个7年级的地理问题,您可以在其中学习不同类型的投影地图。你知道你有什么类型的地图吗?代码使用的是墨卡托投影地图,而您的地图可能不是墨卡托地图(请参阅wiki https://en.wikipedia.org/wiki/Mercator_projection)。和https://en.wikipedia.org/wiki/List_of_map_projections – jdweng

+0

我一定在七年级生病: - )...如上所述,虽然我的地图是lcc(请参阅第一个投影定义)。我需要转换纬度/经度值,以便我可以在地图上正确放置x/y值。尽管如此,我得到的值是错误的。那么从圆形latlon转换为lcc的方法是错误的吗?我应该试试什么? – kiu

回答

0

墨卡托不是圆形的。你想从地图中心的圆形圆锥体转换为参考点。地球周长25,000英里,直径8,000英里。所以,如果你从月球上看地球,看到地球是平坦的,你会看到一个直径为8000英里的圆圈,这个圆圈真的在赤道半径为12,500英里。所以地球的曲率是12,500/8000 = 1.5的比率。其实这是pi * r/2r = pi/2 = 1.57。

GPS经度从-324000000(西)到+324000000(东),纬度从0(赤道)到+/- 162000000.0(南/北极)。您会注意到最大经度(180度)是最大纬度(90度)的两倍。因此,经度和纬度的GPS比例是相同的。

所以我认为你需要做的唯一事情就是通过缩放因子1.57倍增距离。

相关问题