我有一些坐标数据,我唯一知道的坐标系是 以下描述:
PROJCS["Basic Albers NAD83",
GEOGCS["GCS_North_American_1983",
DATUM["D_North_American_1983",
SPHEROID["GRS_1980",6378137.0,298.257222101]
],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]
],
PROJECTION["Albers"],
PARAMETER["False_Easting",0.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",-96.0],
PARAMETER["Standard_Parallel_1",45.5],
PARAMETER["Standard_Parallel_2",29.5],
PARAMETER["Latitude_Of_Origin",23.0],
UNIT["Foot_US",0.3048006096012192]
]
这来自prj arcGis文件。
我需要将此系统转换为GPS(谷歌地图)系统,反之亦然。
这必须以编程方式完成,我不能使用esri库(许可证问题)......
你能解释所有这些参数的含义吗?
是球体中表示的坐标和仅在绘制时使用的投影(相同) 地图?或者坐标也取决于使用的投影?
您知道我可以用于此转换的开源库吗?
谢谢!
答案 0 :(得分:1)
所有这些参数都定义了投影,包括:
我有一篇博文,介绍了OGC WKT定义的详细信息,这与ESRI .prj文件中的内容非常相似:http://www.dev-garden.org/2011/07/30/projections-for-programmers-one-projection/。您可能会发现它很有用。
对于投影坐标,它们已经“在地图上绘制”,您需要重新投影它们以用于其他坐标系统,例如Google的投影。
您可以使用许多开源工具将坐标从一个投影系统重新投影到另一个投影系统。以下是一些:
我觉得非常有用的一个命令行工具是ogr2ogr。使用ogr2ogr,可以非常轻松地将坐标从一个系统重新投影到另一个系统。以下是将投影的shapefile转换为Google地球投影的方法:
ogr2ogr -f "ESRI Shapefile" -t_srs EPSG:3857 NEWFILE.shp OLDFILE.shp
Ogr2ogr使用.prj文件确定shapefile的当前投影,然后将其重新投影到Googles投影,这里由EPSG简写EPSG:3857定义。您可以在http://fwtools.maptools.org/
找到适用于Windows和其他平台的ogr2ogr