|
阅读:1181回复:1
[求助]ILayer的分析
<P>环境:.NET2005与ArcGis Object9.2<BR>需要完成的项目:用.NET2005与ArcGis Object9.2分析AutoCAD的dxf文件格式<BR>以下代码是用c#方式实现ArcMap 工具栏自带的Identity工具:<BR> private void SetIdentifyMethodOne(int x, int y)<BR> {</P>
<P> IActiveView pActiveView;<BR> IIdentifyDialog pIdentifyDialog;<BR> IIdentifyDialogProps pIdentifyDialogProps;<BR> IEnumLayer pEnumLayer;<BR> ILayer pLayer_Temp;<BR> ILayer pLayer;<BR> //axMapControls的名称:axmc_Main<BR> pActiveView = this.axmc_Main.ActiveView;<BR> pIdentifyDialog = new IdentifyDialogClass();<BR> pIdentifyDialogProps = pIdentifyDialog as IIdentifyDialogProps;<BR> pIdentifyDialog.Map = pActiveView.FocusMap;<BR> pIdentifyDialog.Display = pActiveView.ScreenDisplay;<BR> pIdentifyDialog.ClearLayers();<BR> pEnumLayer = pIdentifyDialogProps.Layers;<BR> pEnumLayer.Reset();<BR> pLayer_Temp = pEnumLayer.Next();<BR> while (pLayer_Temp != null)<BR> {<BR> //在此例子中,只有层Polyline能显示全部的dxf内容<BR> if(pLayer_Temp.Name == "Polyline")<BR> {<BR> pIdentifyDialog.AddLayerIdentifyPoint(pLayer_Temp, x, y);<BR> pLayer = pLayer_Temp;<BR> break;<BR> }<BR> pLayer_Temp = pEnumLayer.Next();<BR> }<BR> //显示Identity对话框<BR> pIdentifyDialog.Show(); <BR> }<BR>此函数是private void axmc_Main_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)<BR>事件调用<BR>当我单击的时候,一个ILayer里面有很多条的数据,我不知道怎么取出来(我不知道这个说法是不是正确的)<BR>现在我的问题是怎么样分析ILayer里面的数据<BR>说明:我的dxf文件没有跟数据库连接,我是想获取本身dxf文件的数据内容<BR>注:Polyline对应的Field如下所示:<BR>Polyline对应的Field名称分别如下:<BR> FID Shape Entity Handle Layer LyrFrzn LyrLock LyrOn LyrVPFrzn LyrHandle Color EntColor LyrColor BlkColor Linetype EntLinetype LyrLnType BlkLinetype Elevation Thickness LineWt EntLineWt LyrLineWt BlkLineWt RefName LTScale ExtX ExtY ExtZ DocName DocPath DocType</P> <P>希望有高手帮我解决下,在此真诚的感谢你<BR></P> |
|
|
1楼#
发布于:2008-08-14 21:24
期待中,问题有点难度
|
|