从Albers转换为GPS坐标

时间:2013-08-18 04:39:08

标签: geolocation geospatial geography gis

我有一些坐标数据,我唯一知道的坐标系是 以下描述:

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库(许可证问题)......

你能解释所有这些参数的含义吗?

是球体中表示的坐标和仅在绘制时使用的投影(相同) 地图?或者坐标也取决于使用的投影?

您知道我可以用于此转换的开源库吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

所有这些参数都定义了投影,包括:

  • 投影类型(Albers)
  • GEOGCS定义了项目使用的大地水准面(理想化的地球形状)。在这种情况下,它是NAD83,它使用单位度数,并以格林威治为中心,即第0经度。
  • 投影本身居中的地方
  • 投影向北和向东移动多远以产生任何负坐标 积极的(假东方和假北方)
  • 此投影中的坐标单位(US Feet)
  • 有关如何将投影的坐标转换为在平面服务上绘制的其他一些信息。

我有一篇博文,介绍了OGC WKT定义的详细信息,这与ESRI .prj文件中的内容非常相似:http://www.dev-garden.org/2011/07/30/projections-for-programmers-one-projection/。您可能会发现它很有用。

对于投影坐标,它们已经“在地图上绘制”,您需要重新投影它们以用于其他坐标系统,例如Google的投影。

您可以使用许多开源工具将坐标从一个投影系统重新投影到另一个投影系统。以下是一些:

  • Geotools或Proj4j - Java
  • Proj4js - Javascript
  • Proj - C或C ++
  • dotspatial - C#

我觉得非常有用的一个命令行工具是ogr2ogr。使用ogr2​​ogr,可以非常轻松地将坐标从一个系统重新投影到另一个系统。以下是将投影的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