我需要在Alberta 10 TM Projection中将纬度/经度坐标转换为Easting / Northing坐标。
10 TM投影类似于UTM,但它是加拿大阿尔伯塔省的自定义投影。我认为(付出一些努力)我可以自己编码,但如果已经完成,我宁愿不重新发明轮子。
答案 0 :(得分:12)
抓住PROJ.4 Cartographic Projections library - 开源图书馆。
10TM的建议参数:
+ proj = tmerc + lon_0 = -115 + k_0 = 0.9992 + x_0 = 500000 + datum = NAD27
根据this post,您可能需要:
如果您的10TM,将椭圆更改为GRS80 数据以NAD83数据为参考 (而不是NAD27 / clrk66)。你可以 还需要改变虚假的北方 (y_0)如果你的10TM则为-5000000 艾伯塔省的坐标小于 5,000,000(AltaLIS“标准”)。
我应该提到proj.4是库以获得任何类型的地理坐标系转换。几乎没有它不能做的转变。
如果你喜欢这些东西,我还建议你阅读Map Projections-A Working Manual (Paperback) by John Snyder ......这是经典之作。 :)(修复了链接)
答案 1 :(得分:4)
我已经使用GDAL(http://www.gdal.org)来做到这一点。它还支持许多不同语言的绑定。
答案 2 :(得分:2)
对于免费的GIS库,请看这里:http://www.freegis.org/database/?cat=12。希望你能找到适合你需求的东西。
答案 3 :(得分:2)
我会认真考虑使用第三方dll来做这件事,而不是自己编写代码。
我不知道10 TM投影的全部细节,但我参与了一个项目,该项目需要在许多不同坐标系之间进行坐标转换,以达到高精度,包括UTM和Lat / Long。我们发现所涉及的数学太复杂了。
也许看看开源PROJ.4: http://trac.osgeo.org/proj/
他们似乎支持大范围的转换,所以我希望Alberta 10 TM能够被覆盖。
答案 4 :(得分:1)
下载opensource GIS应用程序MapWindow
打开GIS工具菜单
并使用他们的shapefile重投影工具。在“National Grids Canada”下,您可以选择此Alberta投影。
-Jeff Tiemann jefftiemann@gmail.com
答案 5 :(得分:0)
您还可以使用http://code.google.com/p/android-openmap-framework/将Android位置转换为LatLonPoint,UTMPoint或MGRSPoint。
答案 6 :(得分:0)
您可以将坐标对插入Coordinate System Transformation - online service,您可以在其中设置适当的输入和所需的输出坐标系。有数百个坐标系 - 可以使用任何关键字简单地找到合适的坐标系。您可以为每个坐标系看到可编辑的proj4文本定义,因此如果您需要修改任何投影参数,可以在那里进行。或者您可以定义自己的自定义投影 ...