arcengine 创建新图层
时间: 2023-09-28 21:11:30 浏览: 249
您可以使用 ArcGIS Engine 中的 IFeatureLayer 接口来创建一个新的图层。以下是一个示例代码:
```csharp
// 获取要素类工厂
IFeatureClassFactory featureClassFactory = new FeatureClassFactory();
// 创建要素类
IFeatureClass featureClass = featureClassFactory.CreateFeatureClass("NewFeatureClass", null, null,
esriFeatureType.esriFTSimple, "Shape", "");
// 创建要素层
IFeatureLayer featureLayer = new FeatureLayer();
featureLayer.FeatureClass = featureClass;
featureLayer.Name = "NewFeatureLayer";
// 将要素层添加到地图中
IMap map = ...; // 获取地图对象
map.AddLayer(featureLayer);
```
在这个示例中,我们首先获取了要素类工厂对象,然后使用它来创建一个新的要素类。接着,我们创建一个要素层,并将刚刚创建的要素类赋值给它。最后,我们将该要素层添加到地图中。
请注意,上述代码只是一个简单示例,您可能需要根据您的实际需求进行修改和调整。
相关问题
ArcEngine加载SDE图层
,需要对输入数据进行有效性和无效性边界值测试,以保证测试的全面性和有效性。
要在 ArcEngine 中加载 SDE 图层,需要进行以下步骤:
1. 创建一个 SdeWorkspaceFactory 对象,用3. 决策表
决策表是一种常用的黑盒测试方法,其基本思想是将软件于连接 SDE 数据库。
2. 使用 SdeWorkspaceFactory 打开 SDE 数据库,并获取 IWorkspace 接口。
3.的输入和输出之间的关系表示为一个决策表,根据决策表进行测试,以保证测试的 使用 IWorkspace 打开 SDE 数据库中的指定版本,并获取 IVersion 接口。
4. 使用 IVersion 打开 S全面性和有效性。在决策表中,需要考虑软件的各种情况和可能性,对输入DE 数据库中的指定数据集,并获取 IFeatureClass 接口。
5. 使用 IFeatureClass 对象创建一个 FeatureLayer数据进行分类和组合,以保证测试的全面性和有效性。
4. 因果图
因果图是 对象。
6. 将 FeatureLayer 对象添加到 MapControl 或 SceneControl 中,即可显示 SDE 数据库中的图一种常用的黑盒测试方法,其基本思想是通过绘制软件的因果图,分析软层。
示例代码如下:
```csharp
// 创建 SDE 工作空间工厂
Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");
IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance件的输入和输出之间的关系,以保证测试的全面性和有效性。在因果图中,需要考虑软件的各种情况和可能性,对输入数据进行分类和组合,以保证测试的全(factoryType);
// 连接 SDE 数据库
IPropertySet connectionProperties = new PropertySet();
connectionProperties.SetProperty("SERVER", "面性和有效性。
5. 代码覆盖率
代码覆盖率是一种常用的白盒测试方法,sde_server_name");
connectionProperties.SetProperty("INSTANCE", "sde_instance_name");
connectionProperties.SetProperty("DATABASE", "sde_database_name");
connectionProperties.SetProperty("USER", "sde_username");
connectionProperties.SetProperty("PASSWORD", "sde_password");
connectionProperties其基本思想是通过对软件的代码进行分析和覆盖测试,以保证测试的全面性和.SetProperty("VERSION", "sde_version_name");
IWorkspace workspace = workspaceFactory.Open(connectionProperties, 0);
// 获取 SDE 数据有效性。在代码覆盖率中,需要考虑软件的各种情况和可能性,对代码进行覆盖集
IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace;
IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("sde测试,以保证测试的全面性和有效性。
6. 路径覆盖率
路径覆盖率是一种_feature_class_name");
// 创建 FeatureLayer 对象
ILayer layer = new FeatureLayerClass();
layer.Name = "SDE Layer";
layer常用的白盒测试方法,其基本思想是通过对软件的路径进行分析和覆盖测试,以.Visible = true;
((IFeatureLayer)layer).FeatureClass = featureClass;
// 添加图层到 MapControl 或 SceneControl 中
axMapControl1.AddLayer(layer);
```
C#arcengine新建空图层
你可以使用 ArcObjects 中的 IFeatureClass 接口来创建一个新的空图层,以下是一个示例代码:
```csharp
// 获取要素工厂
IFeatureClass featureClass = null;
IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactory();
IWorkspace workspace = workspaceFactory.OpenFromFile(@"C:\Temp", 0);
IFeatureWorkspace featureWorkspace = workspace as IFeatureWorkspace;
UID featureClassUID = new UIDClass();
featureClassUID.Value = "esriGeoDatabase.Feature";
// 创建一个新的要素类
featureClass = featureWorkspace.CreateFeatureClass("NewFeatureClass", new Fields(), featureClassUID, null, esriFeatureType.esriFTSimple, "Shape", "");
// 释放资源
System.Runtime.InteropServices.Marshal.ReleaseComObject(featureClass);
System.Runtime.InteropServices.Marshal.ReleaseComObject(featureWorkspace);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workspace);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workspaceFactory);
```
在上面的代码中,我们首先创建了一个 ShapefileWorkspaceFactory 对象,并使用其 OpenFromFile 方法打开一个文件夹作为工作空间。然后我们将工作空间转换为特征工作空间(IFeatureWorkspace),并使用 CreateFeatureClass 方法创建一个名为“NewFeatureClass”的要素类。在这里,我们传递了一个空的字段集合和一个 UID 对象来指定要素类的类型。最后,我们释放了所有使用的 COM 对象。
阅读全文