CAD等高线转网格DEM(shp\tif)

来源:互联网 发布:女人应酬说话技巧知乎 编辑:程序博客网 时间:2024/06/04 19:15


CAD文件在通常的GIS软件中,都会对应多个图层,至少点、线、面层各一个,当然可能一些层中没有数据。cad格式的等高线主要应该是线信息,也可能有面和特征点。如果面层有数据,需将面转为线,然后将线部分倒成一个gis线数据层。如果有特征点,则导成一个点层。本案例中的等高线数据中面层和点层没有数据。    

   方法1:利用ArcGIS和Envi组合将等高线转为grid dem:

  

   在ArcGIS中生成数据库文件,导入等高线

   1、在ArcCatalog中创建一个Personal GeoDatabase(Access文件)tempdb(不直接用shp文件是有原因的,后面会讲到)。

   2、右键点击tempdb,“导入”要转的cad文件的线层,导入名为Contour1。

   注意:导入时的命名,我之前就因为文件名用了“-”而一直不成功;不要选择“导出”功能,不知为何,从cad文件的线层“导出”到tempdb中,转出的数据特别大!

  

   在ArcGIS中对冗余数据进行处理

   导入CAD过程中产生中产生一些数据冗余。因此,数据处理前,需要先排除冗余数据的干扰。

   从CAD导入的数据Contour1,在ArcMap中打开,多了很多很小的点和线(不知为何形成)。经观察得出规律,这些多出来的数据的属性“Entity”为“Insert”或“Line”,而有效数据“Entity”属性为“Polyline”。

   1、点击“StartEditing”开始编辑数据。

   2、“Selection->Select by Attribute”中选择属性为“Insert”和“Line”的数据,删除。

   3、“StopEditing”,保存编辑结果。  

   从CAD文件中导入的图层Contour1,有很多没用的属性,可以在“ArcCatalog”或“ArcMap”中将其删掉,只保留“Elevation”字段(等高线的高度)(本来,Contour1的“shape”字段,也就是空间数据字段,已经包含了高度信息,我们之所以保留“Elevation”字段,是因为后面即将采用的envi中不支持这个高度信息)。鉴于Elevation字段跟我们下面用的envi存在冲突,需要对其重命名。由于Arcgis不支持属性字段名的修改(很奇怪),我们在Access中打开tempdb,修改Contour表的Elevation字段为Elev。导出tempdb中的contour1层为.shp文件contour1.shp。

  

    在envi中将等高线生成Grid DEM(操作软件为envi4.0)

  1、采用envi导入contour1。(注:直接在envi导入dxf格式的等高线会产生错误(不知为何)。将其导入后,信息会变得混乱,图像也发生错误。)

    2、导入后,Envi会生成contour1.evf(envi自己的格式)。

    3、选择菜单Topographic->Convert Contours to dem,选择contour1.evf,在“Convert Vector Elevation Contours to Raster DEM”对话框中要设置:

    Elevation Attribute Column:Elev

    Output Pixel Size: 5

    Output Data Type: Floating Point

    Gridding Interpolation Method:Linear(选Quintic出来的图不对)

    Extrapolate to Edge of Image:No(选yes花很长时间出来的结果还不对)

    4、从Envi的菜单File->Save File As->Tiff/GeoTiff将envi的dem文件转存为geoTiff格式。

    附:在envi中导入.shp数据的时候,可以加入多个.shp数据,不知这是否能用来加入高程特征点。

  

    方法2:只采用ArcGIS软件,将等高线转为Grid DEM

    要点简介:用ArcGIS的Toolbox工具集中选择“Spatial Analyst Extension (SAE)”和“3D Analyst Extension (3DAE)”生成Grid DEM。  

  

    以下是具体步骤:

    1、在ArcMap中打开cad等高线文件,导出为contour1.shp。

    2、在3DAE中选择Create/MOdify Tin->Create Tin From Features,选定文件contour1.shp,“Height source”对应选择“Elevation”字段,选择“Triangulate as MassPoint”,请看ArcGIS的相关文档确定其他几个选项的意义。

    3、生成Tin。如果有特征点,可通过Add Features to Tin来添加。

    4、利用Convert->Tin to Raster将Tin转为Raster。

    5、在ArcMap中,将生成的Raster数据保存为GeoTiff的Grid DEM。

0 0
原创粉丝点击