【李婷的回答(8票)】: 首先要确定地图是不是高斯-克吕格投影。我国1:50万和更大比例尺地形图,都采用高斯-克吕格投影,而Google Maps采用的就不是,所以对于Google Maps公里网就没有意义。感觉公里网只在读纸地图的时候估距离和面积有用,电子地图的量算中好像很少使用它。假设您本来就用的是高斯-克吕格投影的地图,的确有与公里网相互的需要,那么就用专业软件来做好了。ArcGIS就可以实现,操作如下: 1.若地图图像没有经过配准(图像上点位没有与地图坐标系建立对应关系),那么先用ArcGIS配准,大概就是选几个图像上已知坐标的点,把它们的坐标输进去,选择地图的投影,ArcGIS就会按照该投影和几个点的已知坐标,计算图像上所有点在该投影下的坐标值。ArcGIS提供丰富的投影系统,对于高斯-克吕格投影,需根据地图所在的投影带[1]选择对应的投影。例如北京54坐标系下19分度带的投影,在ArcGIS中的名称为Beijing 1954 GK Zone 19。 2.对于本身已在高斯-克吕格投影系统中配准的地图,ArcGIS本身就提供经纬度坐标和公里网坐标两种坐标,所以其实已经完成了转换。 可能这个方法没有完全解决问题,因为还是没给出转换的公式。我认为,做粗转换的话利用公里网的定义和地球的基本数据是可以将经纬网转换为公里网,但要精确些,公式还是相当复杂的,毕竟地球严格来说不是圆的,所以最好还是依赖经过实践检验的专业软件。不知这种功能有没有API。。 注: [1]关于高斯-克吕格投影、投影带和公里网的概念,可参考这篇文章:http://iask.sina.com.cn/b/10976212.html 参考: ArcGIS帮助文档 Georeferencing(配准):http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?id=3153&pid=3144&topicname=Georeferencing_a_raster_dataset Define Projection:http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Define_Projection_(Coverage) Transform:http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Transform_(Coverage) ArcMap Projection Tutorial http://www.gsd.harvard.edu/gis/manual/projections/index.htm#arcgis 【阳锋的回答(4票)】: 这个问题的表达有些问题,可能提问者对相关内容很不了解。经纬度是地理坐标系(叫经纬度坐标系可能容易理解些)下的坐标,应该对应所谓投影坐标系下的坐标;公里网是投影坐标系下按坐标值间隔划分的网格,对应经纬度坐标系下的经纬网。我就当提问者要问经纬度和投影坐标如何转换。 每种投影坐标系下都有公里网,包括我国常用的北京54、西安80等投影坐标系。北京54和西安80本身也定义了经纬度坐标系,这个地理坐标系下的坐标通过李婷所说的高斯-克吕格投影,得到对应的投影坐标系下的坐标。 GoogleMap也有公里网,它用的是所谓Web墨卡托投影投影,只不过对于使用GoogleMap服务的人来说,看到的是经纬度。其实,只要是用平面来显示地图的,都肯定是投影过的(地球是球状,要在平面上表达出其表面,必然要投影),投影过就有公里网。 具体的转换,每种投影坐标系都定义了其对应的经纬度坐标系和投影方法,有一套公式和参数,利用这套公式可以做正算和反算,所以问题中所说怎么转换要看是什么坐标系。如果要跨坐标系(其实按标准术语来说,跨基准面做坐标转换),比如由北京54的投影坐标计算WGS84经纬度,就牵涉到另一个坐标转换,常用的有布尔莎7参数、Molodensky7参数、Molodensky5参数等方法,公式是简单,但转换参数却跟区域相关,且属于保密数据或要自己去测。 当然,很多软件提供了坐标转换功能,要看你具体的需要。如果是单纯的坐标点转换,网上有一个软件叫Coord MG,功能比较强。如果你要跨基准面转,还需要你有转换参数。 【李栋的回答(1票)】: 定义好地图的投影坐标系,这样就能转换经纬度和公里网了 【陈子昂的回答(0票)】: 利用mapgis把经纬度转公里网,百度上查的,希望帮到你 【许剑森的回答(0票)】: 是不是有个换算公式,但是不准确 |
|