使用ArcMap 生成DEM(等高线)

从网上搜集的资料,先收藏一下,以备后用。

 

 

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

 

下面是利用ArcGISEnvi组合将等高线转为grid dem的步骤:

 

      ArcCatalog中创建一个Personal GeoDatabaseAccess文件)tempdb(不直接用shp文件是有原因的,后面会讲到)。右键点击tempdb,导入要转的cad文件的线层,导入名为Contour1。注意导入时取名字要有效,我之前就因为文件名用了-而一直不成功。不要选择cad文件的层导出到tempdb中,不知为何,这样转出的数据特别大!

      ArcMap中打开Contour1,看到多了很多很小的点和线,不知为何形成。看出规律,这些多出来的数据其属性EntityInsertLine,而有效数据Entity属性为Polyline。点击StartEditing开始编辑数据。通过Selection-> Select by Attribute中选择属性为InsertLine的,删除,StopEditing,保存编辑结果。

   

   

      cad文件中导入的图层有很多没用的属性,可以在ArcCatalogArcMap中删掉这些属性,只要保留Elevation字段,这个字段是等高线的高度。(本来Contour1shape字段,也就是空间数据字段已经包含了高度信息,但后面我们要用的envi中不支持这个高度信息,所以我们保留Elevation字段)。Elevation字段跟我们下面用的envi有冲突,所以要改掉。很奇怪,Arcgis不支持属性字段名的修改,所以我们在Access中打开tempdb,修改Contour表的Elevation字段为Elev。导出tempdb中的contour1层为.shp文件contour1.shp

   

      下面用Envi来通过等高线生成grid dem,我用的是envi4.0envi支持一些常用的矢量数据。dxf本来是直接支持的,但其导入后,信息比较乱,图也不对,不知为何。用envi导入contour1Envi会生成其自己的格式contour1.evf。选择菜单Topographic> Convert Contours to dem,选择contour1.evf,在" Convert Vector Elevation Contours to Raster DEM" 对话框中要设置:

      Elevation Attribute ColumnElev

      Output Pixel Size: 5

      Output Data Type: Floating Point

      Gridding Interpolation MethodLinear(选Quintic出来的图不对)

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

   

      最后从Envi的菜单File-> Save File As-> Tiff/GeoTiffenvidem文件转存为geoTiff格式。

   

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

   

 

也可以只通过ArcGIS功能就能达到将等高线转为grid dem

      ArcGISSpatial Analyst ExtensionSAE for short)3D Analyst Extension(3DAE for short)生成Grid DEM   

   

      以下是步骤:

      注意:路径中不能有中文,我就是因为这个而试了很久,所以改用envi很麻烦的生成了dem

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

      将在3DAECreate/MOdify Tin-> Create Tin From Features,选择contour1.shpHeight sourceElevation字段,Triangulate as MassPoint,其他几个选项的意义请看ArcGIS的相关文档。生成了Tin。如果有特征点,可通过Add Features to Tin来添加。

      再利用Convert-> Tin to RasterTin转为Raster,最后在ArcMap中将这个Raster数据保存为GeoTiffGrid DEM   

   

      还可以将Tin的节点保存为一个point数据集,然后利用Interpolate-> 中的任何一种方法来生成Raster

   

      ArcMap保存的GeoTiffGrid DEM的无效值是很奇怪的一个值,需要修改为合适的高程值,0-9999之类。

           

      不知为何直接用CAD文件的Polyline层数据生成grid总是出错,所以先将数据转为ArcGIS的数据(比如.shp格式)。

   

      SAE有一个将ArcgisFeature数据转为Raster,开始以为是生成grid dem,结果发现出来的结果,矢量对应坐标有高程的,对应raster的位置值为这个高程,其他位置为空。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值