level 5
glasseswu
楼主
引用别人的一段话,相信会对你有帮助的
ArcEngin提供了TIN组件,可以利用等高线或离散的高程值生成TIN的方法,其实等高线和离散点都可以看作是要素类—feature class
AE的组件TIN提供了一个非常重要的接口ITinEdit利用这个接口,可以方便地生成三维的TIN,
思路:1找到一个数据集,作为生成TIN的数据源,我们用shp文件来做,它必须有一个字段里含用高程值,2.利用ITinEdit接口生成TIN
重要的是这两个方法:InitNew(int pExtent,,IEnvelope)它需要一个IEnvelope接口的对象
以及方法:SetSpatialReference(int pSpatialReference,ISPatialReference);因此我们首先创建一个ISpatialReference接口对象,利用get_SpatialReference属性得到要素类的空间引用并将空间引用赋给ISpatialReference接口对象,再创建一个IEnvelope接口对象,利用putref_ SpatialReference属性将前面创建的ISpatialReference接口对象的空间引用赋给IEnvelope接口对象,再创建一个TIN对象并得到其ITinEdit接口,利用此接口的InitNew方法创建TIN,而前面创建的IEnvelope接口对象作为该方法的输入对象,这样就可以生成TIN了.
3.上面已能生成TIN,但生成的TIN并没有高程信息,要获得高程字段,再生成三维TIN,这要用到IFields接口和IField的指针,用其get_Fields方法获取高程信息.
2011年08月12日 09点08分
1
ArcEngin提供了TIN组件,可以利用等高线或离散的高程值生成TIN的方法,其实等高线和离散点都可以看作是要素类—feature class
AE的组件TIN提供了一个非常重要的接口ITinEdit利用这个接口,可以方便地生成三维的TIN,
思路:1找到一个数据集,作为生成TIN的数据源,我们用shp文件来做,它必须有一个字段里含用高程值,2.利用ITinEdit接口生成TIN
重要的是这两个方法:InitNew(int pExtent,,IEnvelope)它需要一个IEnvelope接口的对象
以及方法:SetSpatialReference(int pSpatialReference,ISPatialReference);因此我们首先创建一个ISpatialReference接口对象,利用get_SpatialReference属性得到要素类的空间引用并将空间引用赋给ISpatialReference接口对象,再创建一个IEnvelope接口对象,利用putref_ SpatialReference属性将前面创建的ISpatialReference接口对象的空间引用赋给IEnvelope接口对象,再创建一个TIN对象并得到其ITinEdit接口,利用此接口的InitNew方法创建TIN,而前面创建的IEnvelope接口对象作为该方法的输入对象,这样就可以生成TIN了.
3.上面已能生成TIN,但生成的TIN并没有高程信息,要获得高程字段,再生成三维TIN,这要用到IFields接口和IField的指针,用其get_Fields方法获取高程信息.