如何将CAD文件(dwg)转换为矢量(shape)文件并保持坐标正确?
如何将CAD文件(dwg)转换为矢量(shape)文件并保持坐标正确?
本文将详细介绍如何在ArcGIS中加载CAD(dwg)文件并保持坐标正确,主要解决两个问题:一是将CAD文件转换为GIS矢量文件,二是确保转换后的矢量文件具有正确的坐标系。
一、问题来源
在规划地理行业的工作中,数据处理是一个基础且重要的环节。目前,国土空间规划实施以来,多数数据以矢量文件(shape)形式存储,但仍有部分数据使用CAD文件绘制。当需要在ArcGIS中统一出图或进行计算时,就需要将CAD文件转换为GIS矢量文件,并确保坐标系的准确性。
二、CAD文件(dwg)转GIS文件(shape)
这个问题相对容易解决,以下是具体步骤:
- 打开ArcGIS软件,依次选择ArcToolbox中的“数据管理工具”—“要素”—“要素转线”。(注:选择“要素转线”是因为转线比转面更稳定,不会丢失数据,如果需要矢量面数据可以在ArcGIS中进行转换)
- 打开“要素转线”工具后,输入要素选择你的CAD文件,输出要素类选择你想要存储文件的位置。需要注意的是,选择CAD文件的时候一般会显示两种文件,一种是线文件(Polyline),一种是面文件(Polygon),应选择Polyline文件。
- 点击确定后,会生成一个矢量线数据,这个数据的属性表可能比较乱,可以自行修改。另外也可以对要素进行合并、删除等操作以达到想要的效果。
三、CAD文件(dwg)转换为GIS文件(shape)后坐标的确定
CAD文件转换为GIS矢量文件后,需要为其定义正确的坐标系。我国主要使用CGCS2000地理坐标系,并基于此进行高斯克吕格投影。CAD文件中的平面坐标对应GIS文件中的投影坐标系,因此需要确定具体的投影方式。
1. 高斯克吕格投影知识补充
高斯克吕格投影分为3°分带和6°分带两种:
- 6°分带:自0子午线起,经度每隔6°为一个分带,我国跨越了13
23带(共计11带),中央经线由75°135°。带号n与中央经线L的关系为:L=6n-3。 - 3°分带:自东经1.5度起,每隔3°为一个分带,我国跨越了25
45带(共计21带),中央经线由72°135°。带号n与中央经线L的关系为:L=3*n。
每个分带都是一个独立的坐标系统,纵坐标(Y)以赤道为轴,北半球为正,值为7位数。横坐标(X)以中央经线为轴,为了防止出现负值,规定将各分带中的坐标纵轴西移500公里作为起始轴。因此,3°分带的横坐标范围为333000667000m,6°分带的横坐标范围为166000m834000m。
2.ArcGIS软件中的高斯克吕格投影
ArcGIS提供3°带和6°带两种投影方式,每种方式都有显示带号和不显示带号两种显示方式。以下是具体示例:
- 3°分带不显示带号:以CGCS2000 3 Degree GK CM +中央经线命名,横坐标为6位,纵坐标为7位。
- 3°分带显示带号:以CGCS2000 3 Degree GK +带号命名,横坐标为8位(前两位为带号),纵坐标为7位。
- 6°分带不显示带号:以CGCS2000 GK CM+中央经线命名,横坐标为6位,纵坐标为7位。
- 6°分带显示带号:以CGCS2000 GK +带号命名,横坐标为8位(前两位为带号),纵坐标为7位。
3.CAD文件坐标的确定
主要通过观察横坐标(X)来判断:
- 如果是6位数,查该地区中央经线,坐标系应为该中央经线下高斯3°分带中央经线投影。
- 如果是8位数,前两位为带号,带号在13
23之间为高斯6°分带,带号在2545之间为高斯3°分带。 - 特殊情况:横坐标5位,可能是省略了带号和部分数字,需要根据具体情况处理。
示例
示例1
下图是一个CAD文件,其横坐标(X)是6位数,因此可以判断这是高斯3°分带下的中央经线投影。这个数据的研究区域在颍上县(介于东经115°56—116°38),位于高斯3°分带中的第39带,其中央经线为117°。所以该数据在ArcGIS中的坐标系应该为CGCS2000 3 Degree GK CM 117E。
示例2
如下图,其横坐标(X)是8位数,前两位为带号39,根据39带可以判断该数据的坐标系为高斯3°分带下的显示带号投影(3°分带跨越的带号为2545带,6°分带跨越的带号为1323带,39带在25~45之间,所以判断为3°分带)。所以该数据在ArcGIS中的坐标系应该为CGCS2000 3 Degree GK Zone 39。
示例3
这个比较特殊,横坐标是5位,纵坐标也是5位。一般来说横坐标是6位或者8位,纵坐标是7位,为什么会出现这种情况呢?对于横坐标,这种情况下除了省略了带号,还省略了带号后面紧跟着的一位数,由于此位的数比较大,因此在研究范围内该位的数不会发生变化,所以也省略了。(此处大家使劲理解!)至于具体省略了哪个数字,去问甲方吧!纵坐标同样,省略了最前面的两位,由于这两位的数比较大,因此在研究范围内这两位的数不会发生变化,所以也省略了。具体数字问甲方!知道了横坐标和纵坐标省略的数字后,在CAD中对数据平移相应的距离,然后利用前面所述方法在ArcGIS中定义坐标系即可。当然,这种数据并不常见,举例的目的就是为了让大家融会贯通,举一反三。