如何利用SOE for Java实现数据编辑
分享
最近遇到好几个用户咨询在Java SOE中实现数据编辑的问题。小编简单测试了一下,特分享出来。
准备工作
在Eclipse中基于SOE模板创建一个最简单的SOE应用。
场景1:简单编辑
场景描述:添加一个点要素 代码参考如下:
注意事项: 1. 简单要素类的编辑无需调用startEditing开启编辑操作 2. 待编辑数据须存放在SDE数据库中,否则将报如下错误: AutomationException: Workspace or data source is read only.
场景2:多用户编辑
最后,小编想要吐槽的就是,为什么不用Feature Service直接进行在线编辑,而要通过SOE吭哧吭哧自己实现呢?搞得小编现在离正统之路越来越偏离了。
文章来源:http://blog.csdn.net/zssai2015/article/details/78475404
准备工作
在Eclipse中基于SOE模板创建一个最简单的SOE应用。
场景1:简单编辑
场景描述:添加一个点要素 代码参考如下:
IMapServer3 ms = (IMapServer3)mapServerDataAccess;
String mapName = ms.getDefaultMapName();
// 指定待编辑图层的图层ID
int layerID = 0;
FeatureClass editedFeatureClass = new FeatureClass mapServerDataAccess.getDataSource(mapName, layerID));
// 获取待编辑要素类所在的工作空间
Workspace fcWorkspace = new Workspace(editedFeatureClass.getWorkspace());
// 创建要素
Feature feature = (Feature)editedFeatureClass.createFeature();
Point addedPoint = new Point();
addedPoint.setX(137);
addedPoint.setY(39);
feature.setShapeByRef(addedPoint);
// 保存要素
feature.store();
注意事项: 1. 简单要素类的编辑无需调用startEditing开启编辑操作 2. 待编辑数据须存放在SDE数据库中,否则将报如下错误: AutomationException: Workspace or data source is read only.
注:如果数据源本身存放在SDE库中,但是由于数据所在的SDE库未注册到Server上,导致发布服务时数据被拷贝到ArcGIS for Server的arcgisinput文件夹下的gdb文件中。此种情形也会导致这一错误。
场景2:多用户编辑
// 获取待编辑的要素类
FeatureClass editedFeatureClass = new FeatureClass(mapServerDataAccess.getDataSource(mapName, layerID));
// 获取要素类所在的工作空间
Workspace fcWorkspace = new Workspace(editedFeatureClass.getWorkspace());
IWorkspaceEdit2Proxy editWorkspace = new IWorkspaceEdit2Proxy(fcWorkspace); IMultiuserWorkspaceEditProxy multiUserEditWorkspace = new IMultiuserWorkspaceEditProxy(editWorkspace);
// 后续不再赘述开启编辑和结束编辑的操作,直接参考ArcGIS Engine的开发
multiUserEditWorkspace.startMultiuserEditing(esMode);
editWorkspace.startEditOperation();
最后,小编想要吐槽的就是,为什么不用Feature Service直接进行在线编辑,而要通过SOE吭哧吭哧自己实现呢?搞得小编现在离正统之路越来越偏离了。
文章来源:http://blog.csdn.net/zssai2015/article/details/78475404
0 个评论
发起人
推荐内容
- ArcGIS Pro 2.4向独立server发布服务步骤
- Linux上安装ArcGIS Enterprise超详细教程——以Redhat7.2上安装ArcGIS Enterprise 10.5为例
- ArcGIS for Server 10.x 许可授权手册
- Portal for ArcGIS 10.X许可授权手册 (Windows版)
- arcgis server 无法手动删除切片
- ArcGIS for Server内置JS Viewer的离线部署和配置
- Linux上安装ArcGIS for Server超详细教程——以Redhat6.5上安装ArcGIS for Server 10.3.1为例
- 如何创建Geometry Service?
- 地图服务优化策略
相关问题
- 作为Desktop用户对数据的获取比较乏力,可能缺了哪些知识?
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- 有栅格数据a(大数据),小数据b,怎么从a中扣掉b,得到a数据剩下的部分?栅格能裁剪取反吗?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- 做一副土地利用现状图,需要哪些准备和步骤??
- 在windows server2008 R2 64位中安装了portal 10.5 设置好托管arcgis server站点,并用data store为托管数据库,发布数据出错
- cityengine怎么导入arcgis的shp数据,对shp数据有什么要求
- ArcGIS数据库数据逐图幅裁剪
- 如何利用ArcPY操作图层的“symbol”?
- 市区择房分析时,需要添加字段并将其赋值1或者-1,怎么做? 在开始编辑的时候,总是出现空间参考与数据框不匹配提示,原因是什么?会影响下面的赋值吗?
- arcgis api for javascript 4.0版本中找不到draw工具,如何实现拉框查询、几何查询?