C#Arcengine把不合法名改为合法名
时间: 2023-08-02 10:39:23 浏览: 50
C# ArcEngine 中,可以使用以下代码将不合法的名称转换为合法的名称:
```csharp
public static string GetValidName(string name)
{
// 首先去除名称中的空格和特殊字符
string validName = Regex.Replace(name, @"[^0-9a-zA-Z_]+", "");
// 判断名称是否以数字开头
if (char.IsDigit(validName[0]))
{
validName = "_" + validName;
}
return validName;
}
```
这段代码会将名称中的空格和特殊字符去除,并在名称以数字开头时,在名称前面添加下划线。
相关问题
C#Arcengine修改esriDTTable的值
要修改esriDTTable的值,你需要使用ArcObjects中的ITable接口。以下是一个C#代码示例,演示如何使用ITable接口来修改esriDTTable的值:
```csharp
// 获取要修改的表格
ITable table = (ITable)workspace.OpenTable("tableName");
// 构造查询过滤器
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "field1 = 'value1'";
// 执行查询
ICursor cursor = table.Search(queryFilter, false);
// 获取要修改的字段的索引
int fieldIndex = table.FindField("fieldName");
// 遍历结果集
IRow row = null;
while ((row = cursor.NextRow()) != null)
{
// 修改字段的值
row.set_Value(fieldIndex, "newValue");
// 保存修改
row.Store();
}
// 释放资源
System.Runtime.InteropServices.Marshal.ReleaseComObject(cursor);
```
在上面的代码中,首先获取要修改的表格,然后构造查询过滤器并执行查询。接下来,我们获取要修改的字段的索引,遍历结果集并修改每个行的字段值。最后,我们保存修改并释放资源。
C# + ArcEngine通过图层名获取对应数据集
可以通过以下代码实现:
```csharp
//获取图层名为"LayerName"的图层
ESRI.ArcGIS.Carto.ILayer layer = null;
for (int i = 0; i < mapControl.LayerCount; i++)
{
if (mapControl.get_Layer(i).Name == "LayerName")
{
layer = mapControl.get_Layer(i);
break;
}
}
//获取该图层对应的数据集
if (layer is ESRI.ArcGIS.Carto.IFeatureLayer)
{
ESRI.ArcGIS.Carto.IFeatureLayer featureLayer = (ESRI.ArcGIS.Carto.IFeatureLayer)layer;
ESRI.ArcGIS.Geodatabase.IDataset dataset = featureLayer.FeatureClass as ESRI.ArcGIS.Geodatabase.IDataset;
//在这里对数据集进行操作
}
```
其中,`mapControl`为ArcEngine中的地图控件,可以根据实际情况进行替换。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)