转自nimeila的回答 求C# ArcGIS Engine修改选中要素的属性,单要素都行

RLAlterFrm RLalter = new RLAlterFrm();
RLalter.ShowDialog(); string AlterID = RLalter.textBox1.Text;
string AlterRP = RLalter.textBox2.Text;
string AlterC = RLalter.textBox3.Text; axMapControl1.ClearLayers();
axMapControl1.Refresh(); try
{
string strFileName = Application.StartupPath + @"\数据\Roadlamp.mxd";
//在数据视图中加载地图,供查询操作
if (axMapControl1.CheckMxFile(strFileName))
{
axMapControl1.LoadMxFile(strFileName);
}
else
{
MessageBox.Show("错误的数据路径:" + strFileName);
}
}
catch (Exception ex)
{
MessageBox.Show("Error01 in MainForm.cs" + ex.Message);
}
axMapControl1.Refresh(); string strQK = RLalter.getQueryKey();//获取查询值 //找到图层
IFeatureLayer pfeaturelayer = new FeatureLayer();
pfeaturelayer = axMapControl1.get_Layer() as IFeatureLayer; //找到要素
IQueryFilter pQueryFilter = new QueryFilter();
pQueryFilter.WhereClause = "[RL_ID] = '" + strQK + "'"; IFeatureCursor pFeatureCur = pfeaturelayer.Search(pQueryFilter, false); IFeature pFeature = null; pFeature = pFeatureCur.NextFeature(); if (null == pFeature)
{
MessageBox.Show("对不起!该元素不存在");
} else
{
IFields pFields = pFeature.Fields;
IFeatureClass pFeatureClass = pfeaturelayer.FeatureClass; //修改属性值
int field1 = pFields.FindField("RL_ID");
int field2 = pFields.FindField("RL_RP");
int field3 = pFields.FindField("RL_C");
pFeature.set_Value(field1, AlterID);
pFeature.set_Value(field2, AlterRP);
pFeature.set_Value(field3, AlterC);
pFeature.Store();
MessageBox.Show("修改成功!","提示");
}
}

ArcGIS 中要素的查询与修改的更多相关文章

  1. ArcGIS中的查询

    最近身体不适,静下心来看了一下以前收集的电子书.下面是<ArcGIS地理信息系统教程_第5版>(李玉龙)第5章“查询”的读书笔记. 1.查询的常见应用: 选择感兴趣的要素:查找哪些要素满足 ...

  2. ArcGIS AO中控制图层中要素可见状态的总结

    一.DefinitionExpression 实现新建查询图层,查询结果要素为选中状态 该接口可以通过两种方法来控制要素的可见状态. 思路1 通过该接口的 DefinitionExpression 方 ...

  3. ArcGIS中如何导出单个矢量要素图形

    原文:ArcGIS中如何导出单个矢量要素图形 在ARCGIS中载入了一张含有省界的中国地图,是SHP文件.现在我只想要其中一块地区的,实现方法如下: 加入到ArcGIS后,右击图层,打开属性表(att ...

  4. ArcGIS中使用异步回调函数查询图层Graphic

    在我们的地图的操作中经常会有一些操作是需要通过画多边形或者画线来查找某一块区域内的特定的Graphics比如我们在做的交警的项目中通过框选来查找某一块区域中的摄像机,某一块区域中的警力.警情.警员等相 ...

  5. 如何快速批量修改ArcGIS中的图层设置

    在ArcGIS中作图的时候,我们通常需要设置图层的颜色和粗细.点击图层的颜色,会跳出以下符号选择器: 右侧即可修改我们需要的属性. 但是我们有多个类似的属性如何修改成统一的样式呢? 鼠标图层右键,选择 ...

  6. Arcgis CreateFishnet工具,生成到FileGDB中要素类的格网大小不一致

    我的第一篇博客!哈哈 最近在做一些关于创建渔网的工作,发现一些问题,做个总结. 1.问题描述:如图1,设置好渔网的必要参数,输出目录为gdb里的矢量图层,(行列数比较大,渔网的地理范围较小),输出的格 ...

  7. 【总结整理】关于ArcGIS中拓扑的理解

    空间拓扑: https://www.baidu.com/link?url=f8fd1d75GhwtT1JuyPDZydZlWCgEXB9DeuTzDqGQIIRpq0bM-8t3MlC5tXYvEwQ ...

  8. arcgis中栅格矢量计算技巧收藏

    ​ ​编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...

  9. (九)WebGIS中的矢量查询(针对AGS和GeoServer)

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在第七章里我们知道了WebGIS中要素的本质是UICompo ...

随机推荐

  1. Gym 100952 H. Special Palindrome

    http://codeforces.com/gym/100952/problem/H H. Special Palindrome time limit per test 1 second memory ...

  2. split---将文件分割成多个小文件

    split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等. 选项 -b:值为每一输出档案的大小,单位为 byte. -C:每一输出档中,单行的最大 ...

  3. dp之多重背包(未用二进制优化)

    hdu 2191: #include <iostream>#include <stdio.h>#include <string.h>using namespace ...

  4. 通过CURL抓取页面中的图片路径并下载到本地

    1.首页是图片处理页面downpic.php <?phpfunction getImage($url,$filename="") { if($url=="" ...

  5. 关于client浏览器界面文字内容溢出用省略号表示方法

    在实际的项目中,因为client浏览器文字内容的长度不确定性和页面布局的固定性,难免会出现文字内容超过div(或其它标签,下同)区域的情况.此时比較好的做法就是当文字超过限定的div宽度后自己主动以省 ...

  6. java 矩阵求逆

    package com.yang.matrix; public class TestMatrix { public static void main(String[] args) { // 测试数据 ...

  7. Javascript 继承和克隆

    个人总结: call 继承的是父类私有 prototype 继承的父类公有 create 可以将公有或私有继承到子类上去(克隆) for in 克隆 不管公有还是私有的都克隆成私有的 1.原型继承:将 ...

  8. URL短地址压缩算法 微博短地址原理解析 (Java实现)

    原博客地址:http://blog.csdn.net/xyz_lmn/article/details/8057270 最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C ...

  9. HDU——T 2824 The Euler function

    http://acm.hdu.edu.cn/showproblem.php?pid=2824 Time Limit: 2000/1000 MS (Java/Others)    Memory Limi ...

  10. js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么

    js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么 一.总结 一句话总结:两者都是对表单进行序列化,serializeArray()返回的是json ...