正在读取数据,请稍侯

我带着一条鱼,一条对我微笑的鱼回家。我对她说话,她摇一摇尾巴,对我微笑。
正在读取数据,请稍侯

留言簿

公告

我的相册

最新日志

最新评论

搜索

登陆

友情连接

统计

2008-1-9 23:05:00
AO+C#添加数据

 //添加数据
        private void toolStripButton1_Click(object sender, EventArgs e)
        {

            IScene scene = axSceneControl1.Scene;
            IGxDialog dlg = new GxDialogClass();
            IGxObjectFilterCollection filtercollection = dlg as IGxObjectFilterCollection;

            filtercollection.AddFilter(new GxFilterDatasetsAndLayers(), true);
            IEnumGxObject enumobj;
            dlg.AllowMultiSelect = true;
            dlg.Title = "添加数据";
            dlg.DoModalOpen(0, out enumobj);
            if (enumobj != null)
            {
                enumobj.Reset();
                IGxObject gxobj = enumobj.Next();

                while (gxobj != null)
                {
                    if (gxobj is IGxDataset)
                    {
                        IGxDataset gxdataset = gxobj as IGxDataset;
                        IDataset pdataset = gxdataset.Dataset;
                        switch (pdataset.Type)
                        {
                            case esriDatasetType.esriDTFeatureClass:

                                IFeatureLayer pfl = new FeatureLayerClass();
                                pfl.FeatureClass = (IFeatureClass)pdataset;

                                ILayer layer = pfl;
                                scene.AddLayer(layer, true);
                                pfl.Name = dlg.Name;
                                break;

                            case esriDatasetType.esriDTFeatureDataset:
                                IFeatureDataset pfeatureds = pdataset as IFeatureDataset;
                                IEnumDataset enumdataset = pfeatureds.Subsets;
                                IDataset dataset = enumdataset.Next();
                                while (dataset != null)
                                {
                                    if (dataset.Type == esriDatasetType.esriDTFeatureClass)
                                    {

                                        IFeatureLayer pfly = new FeatureLayerClass();
                                        pfly.FeatureClass = (IFeatureClass)dataset;

                                        ILayer layery = pfly;
                                        scene.AddLayer(layery, true);
                                    }
                                    dataset = enumdataset.Next();
                                }

                                break;
                            case esriDatasetType.esriDTRasterDataset:
                                IRasterDataset rasterds = pdataset as IRasterDataset;
                                IRasterLayer rasterlayer = new RasterLayerClass();
                                rasterlayer.CreateFromDataset(rasterds);
                                ILayer layerr = rasterlayer;
                                scene.AddLayer(layerr, true);
                                break;

                            case esriDatasetType.esriDTTin:
                                ITin ptin = pdataset as ITin;
                                ITinLayer tinlayer = new TinLayerClass();
                                tinlayer.Dataset = ptin;
                                ILayer layert = tinlayer as ILayer;
                                scene.AddLayer(layert, true);
                                break;


                            default:
                                break;
                        }
                    }
                    else if (gxobj is IGxLayer)
                    {
                        IGxLayer gxlayer = gxobj as IGxLayer;
                        ILayer player = gxlayer.Layer;
                        scene.AddLayer(player, true);
                    }
                    gxobj = enumobj.Next();
                }
            }


        }

posted @ 2008-1-9 23:05:00 sheri 阅读全文 | 回复(1) | 引用通告 | 编辑
2008-1-15 17:50:00
Re:AO+C#添加数据
耑木子博主常来啊!
posted @ 2008-1-15 17:50:00 耑木子 个人主页 | 引用 | 返回 | 删除 | 回复
发表评论:
正在读取数据,请稍侯