AO操作图形数据库,一般的增删查改,(以修改为例)如下:
IServerContext sc=null;
IWorkspaceEdit wsEdit = null;
try
{
sc=AOUtil.getServerContext(ConfigBean.getAOIP(), ConfigBean.getAOUserName(), ConfigBean.getAOPSW(), ConfigBean.getMapService());
IWorkspace ws=AOUtil.getWorkSpaceFromWF(sc, ConfigBean.getPSRUserName(), ConfigBean.getPSRPSW(), "sde.DEFAULT");
IFeatureWorkspace featureWorkspace = (IFeatureWorkspace) ws;
wsEdit = (IWorkspaceEdit) featureWorkspace;//设置此ws开始编辑
wsEdit.startEditing(false);
wsEdit.startEditOperation();
IFeatureClass featureC = featureWorkspace.openFeatureClass(featureClass.toUpperCase());
IQueryFilter qf = (IQueryFilter)sc.createObject(QueryFilter.getClsid());
qf.setWhereClause("ID = '"+gisID+"'");
IFeatureCursor featureCursor = featureC.IFeatureClass_update(qf, false);
IFields fields = featureCursor.getFields();
IFeature feature =featureCursor.nextFeature();
while(feature!=null){
for(int i=0; i<list.size();i++){
Element element = (Element)list.get(i);//修改数据来源,我的是XML
String tag = element.getName();
String value = element.getText();
//updateFields = updateFields + tag +" = '"+ value+ "',";
feature.setValue(fields.findField(tag), value);
}
featureCursor.updateFeature(feature);
feature=featureCursor.nextFeature();
}
}catch (Exception e) {
System.out.println(e.getMessage());
logger.error("获取设备图形信息错误!");
}
finally{
try {
wsEdit.stopEditOperation();
wsEdit.stopEditing(true);//保存编辑
count = 1;
} catch (AutomationException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
AOUtil.releaseServerContext(sc);
}
分享到:
相关推荐
### AO 图层基本操作 #### 重要知识点概览 在地理信息系统(GIS)软件中,图层的基本操作是一项核心功能,它不仅关乎图层的控制,还涉及到地图的浏览。图层加载作为基础,开启了GIS软件的应用大门,需支持多样化的...
4. **数据操作**:AO允许开发者创建、读取、更新和删除GIS数据,包括图层的添加、移除,地图的加载、保存,以及对几何对象的操作。 5. **空间分析**:通过AO,开发者可以编写自定义的空间分析算法,比如缓冲区分析...
- **API接口**:AO主要通过API(应用程序接口)与Livelink系统交互,包括OOAPI(Object-Oriented API)和Web Services API,用于执行各种操作,如创建、读取、更新和删除(CRUD)数据。 - **开发工具**:通常,...
7. **更新运行库**:虽然VC++6.0自带的运行库可能与Windows 10不兼容,但你可以单独下载并安装Microsoft Visual C++ Redistributable for Visual Studio 2015-2019来确保程序的正常运行。 通过以上步骤,你应该能够...
- **AO2011** 是 **AO2008** 的升级版本,保持了原有的单机和联机两种作业模式,但在开发语言、后台数据库等方面进行了更新与优化。 - **支持Win7环境**,优先调用金山 WPS 办公软件,开发语言改为 .Net C#,后台...
- **数据操作**:创建、读取、更新和删除(CRUD)地理特征。 - **空间查询**:根据空间关系(如邻接、包含、相交等)检索数据。 - **空间分析**:执行缓冲区分析、网络分析、地形分析等高级GIS功能。 - **地理编码**...
本教程会采用英文和中文结合的方式,重点翻译关键概念,旨在每日更新一小节,帮助开发者逐步掌握ArcGIS开发。 总的来说,面向AO编程的必经之路涉及对COM的深入理解,包括COM类、接口和多态性等核心概念。通过学习...
通过StartRecording和FinishRecording方法,可以记录所有在显示上发生的绘图操作,用于后续的刷新和更新。 Buffered Display的用途广泛,例如: 1. 当应用程序窗口移动或被其他窗口覆盖时,使用记录的缓冲区进行...
通过重载消息处理函数,你可以编写代码来更新UI或者调用AO方法执行后台操作。 在测试和调试阶段,利用VC++的调试工具如断点、变量观察窗口和调用堆栈,可以帮助你找出并修复潜在的问题。记住,良好的代码组织和注释...
首先,AO是Esri公司提供的API,它允许开发者通过编程方式访问和操作ArcGIS平台中的地图、图层、几何对象等元素。C++作为一种强大的系统级编程语言,提供了高效的性能和灵活的控制,使得开发者可以构建复杂的GIS应用...
一旦建立了服务器上下文,我们可以获取地图服务对象并操作其布局。这里的`IMapServerLayout`接口允许我们访问地图的布局元素,包括图例。为了导出图例为图像,我们需要创建`IImageType`对象,设置图像格式为JPEG,...
它提供了对地图显示、缩放、平移等操作的支持,并且可以用来刷新地图视图,更新显示的数据。 2. **IMap**: IMap接口是地图对象的基础,它封装了地图的所有特性,包括图层、比例尺、坐标系统等。通过这个接口,...
例如,添加新字段、更新数据、汇总信息等,以适应AO2011的采集需求。具体操作包括科目代码表的编码整理,科目余额表的二级和一级科目余额汇总,以及凭证表的整理,确保数据的完整性和准确性。 4. 导出需要采集的...
根据给定文件的信息,我们可以提炼出一系列关于VBA与ArcObjects(AO)结合使用的知识点,主要聚焦于GIS应用中的地图操作、图层管理和错误处理等方面。以下是对这六个示例的详细解读: ### 1. 获取当前地图名称 在...
7. **事件处理**:理解和使用事件处理机制,如地图的视图改变事件,以便在用户交互时更新渲染。 8. **性能优化**:大型地图数据的渲染可能会影响应用性能。了解如何优化渲染过程,比如使用分块渲染、多线程处理等...
AO数据不能加载解决方案:一、检查数据库服务是否启动,二、更新SA操作员密码
同时,AO Map支持动态地图服务,可以实现实时数据更新和网络发布。 3. **空间分析**:ArcGIS AO Map包含一系列的空间分析工具,如缓冲区分析、网络分析、地形分析等,这些工具为解决地理问题提供了强大的支持。例如...
4. 动态更新:实时坐标在地图上动态更新,用户可以清晰地看到坐标的变化。 5. 用户交互:提供交互式界面,让用户可以查询坐标详情、添加标注或执行其他操作。 通过学习这个项目,开发者可以了解到如何使用...
8. **更新与维护**:"AO精灵"作为一款持续发展的软件,应具备自动更新功能,以修复已知问题,添加新特性,并保持与最新操作系统和硬件的兼容性。 9. **用户支持**:良好的用户支持是软件成功的关键。"AO精灵"可能...
有多种类型的游标,如IRecordset、ICursor和IRow,它们分别用于不同的数据操作场景,如读取、更新和删除数据。 **ARCOJECTS 3D开发方法简介** ARCOBJECTS不仅支持2D地图的开发,也提供了丰富的3D功能。开发者可以...