欢迎来到天天文库
浏览记录
ID:23873416
大小:66.69 KB
页数:5页
时间:2018-11-11
《arcgis空间分析之剖面》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、ArcGis空间分析之剖面图剖面图,就是在具有高程值的raster上画一条直线,这条直线上的每个点除了x,y坐标为更具附加了高程值,便可画出高程值随直线的一个曲线图。高程值只是一个最简单的例子,当raster不是以高程值而是以某个我们想要的值来渲染的时候,这条曲线图便表达的是,随直线变化而变化的某个值的曲线图,开始做这个的时候遇到了一些无法解释的困难,如Com组件错误等,这里参考了韩鹏的<>,这里推荐一下,这是本好书,值得拥有啊,以下是我的代码,我用的是ArcgisEngine来做的,不过Arc
2、gisServer也可以实现 //得到要做剖面分析的面IRasterLayerlayer=this.axMapControl1.Map.get_Layer(0)asIRasterLayer;IRasterSurfacerasterSurf=newRasterSurfaceClass();rasterSurf.PutRaster(layer.Raster,0);ISurfacesurface=rasterSurfasISurface; //得到画的直线IPolylineinputLine=newPolylineClass(
3、);IPointstart =newPointClass();start.X=-96.522;start.Y=25.589;inputLine.FromPoint=start;IPointend=newPointClass();end.X=1.048;end.Y=28.664;inputLine.ToPoint=end; //用ISurface的InterpolateShape方法,得到这条直线做剖面后的Geometry,方法说明详见帮助 IGeometryOutShape;objectsize=newobjec
4、t();surface.InterpolateShape(inputLine,outOutShape,refsize); //将结果QI为PointCollection,QI成功显示结果是直线上单一的几个离散点,InterpolateShape会自动将分析的结果直线上选取六个等分的离散点,以这六个点的值来作曲线图IPointCollectionpointCollection=OutShapeasIPointCollection;IMAwaremaware=pointCollectionasIMAware;maware.M
5、Aware=true;IZAwarezaware=pointCollectionasIZAware;zaware.ZAware=true;IMSegmentationmseg=pointCollectionasIMSegmentation;//设置M的值为距离mseg.SetMsAsDistance(false);//建立featureClass,为后面曲线图提供数据IWorkspaceFactoryworkspaceFactory=newInMemoryWorkspaceFactoryClass();ESRI.ArcG
6、IS.Geodatabase.IWorkspaceNameworkspaceName=workspaceFactory.Create("","MyWorkspace",null,0);ESRI.ArcGIS.esriSystem.INamename=(IName)workspaceName;ESRI.ArcGIS.Geodatabase.IWorkspaceinmemWor=(IWorkspace)name.Open(); IFieldsfields=newFieldsClass();IFieldsEditfieldsE
7、dit=fieldsasIFieldsEdit;IFieldoidField=newFieldClass();IFieldEditoidFieldEdit=oidFieldasIFieldEdit;oidFieldEdit.Name_2="OID";oidFieldEdit.Type_2=esriFieldType.esriFieldTypeOID;fieldsEdit.AddField(oidField); IGeometryDefgeometryDef=newGeometryDefClass();IGeometryD
8、efEditgeometryDefEdit=geometryDefasIGeometryDefEdit;geometryDefEdit.GeometryType_2=ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPoint;geometryDefEdit.HasM
此文档下载收益归作者所有