ArcMap10.1无法保存编辑的内容
问题描述:在arcMap10.1中编辑SDE库中要素,保存编辑内容时报错:
|
无法保存编辑内容。基础DBMS错误[ORA-29877:failed in the execution of the ODCIINDEXUODATE routine ORA-20085 Insert Spatial Reference SRID 300015 does not match SDE.REDLINERANG_A.SHAPE registered Spatial Reference SRID 300003 ORA-06512:at “SDE.ST_DOMAIN_METHODS”, line 1986 ORA-06512:at “SDE.ST_DOMAIN_METHODS”, line 2358 ] |
如下图所示:

ArcMap之所以报上述错误,是因为在SDE库中修改了要素的空间参考系,使之与在要素导入时创建要素集时指定的空间参考系不一致。进入SDE对应的Oracle数据库中可以看见存在表:ST_SPATIAL_REFERENCES、ST_GEOMETRY_COLUMNS、ST_GEOMETRY_INDEX,但是表ST_DOMAIN_METHODS却看不见,在ST_SPATIAL_REFERENCES表中存在记录SRID300003和300015,如下图所示。

起初以为只要将两条记录对应的字段修改一致即可,但是结果表明不行。接着考虑是不是在要输导入数据库时SDE基于用户导入的要素的空间参考系生创建了索引,而再次修改空间参考系之后,其索引没有更新导致的。于是,删除表ST_SPATIAL_REFERENCES对应的索引,重新创建与之同名、同类的索引,可是依然不行。
最后将表ST_GEOMETRY_COLUMNS和ST_GEOMETRY_INDEX中对应SRID为300003的记录统统删掉,本以为只要删除以后,SDE便不再去匹配空间参考系,可谁知仍然事与愿违。
在万般无奈之下,将对应的数据从SDE库中导出至shapefile中,重新创建要素集并指定正确的空间参考系,再将shapefile中的数据导入至新建数据集,问题终于得以解决,具体操作过程如下。
1要素导出
(1) 选中要导出地点要素,右击选择“导出”—>“转为shapefile(单个)”;

(2) 选择导出的位置,可创建一个filegdb用于保存导出的shapefile,并输入新的shapefile对应的文件名称,完毕后单击“确定”即开始要输导出操作。

(3) 要素导出成功后下方会出现“要素导出至要素”字样。
2新建要素集
(1) 在SDE库中新建要素集,选中当前数据库连接右击选择“新建”—>“要素数据集”

(2) 输入要素数据集名称

(3) 点击“下一步”,为要素集选择空间参考系。

(4) 点击“下一步”选择垂直空间参考系。(可以不指定)

3要素导入
(1) 选中目标要素集,右击选择“导入”—>“要素类(单个)”

(2) 选择要导入的要素,选择目标SDE库中对应的要素集,填写输出要素类名称,单击“确定”即开始要素导入操作。导入过程中ArcMap右下侧会出现“要素类至要素类”字样;导入成功后ArcMap右下侧会出现“√要素类至要素类”字样。
要素重新导入之后,对其进行编辑,启动“要素编辑”后进行编辑,修改属性表中的字段值时,无法修改。出现这个问题的原因是,SDE中需要对要素注册版本(即允许多个用户同时对相同的要素进行编辑),若没有注册版本,则不允许对其进行编辑。
具体表现为,双击待编辑的字段,没有反应。
对要素注册版本
(1) 选中要素所在要素集,右击选择“管理”—>“注册版本”,等待若干秒钟即可。

(2)要素注册版本之后,即可在ArcMap中对其进行编辑。
ArcMap10.1无法保存编辑的内容的更多相关文章
- ArcGIS Add-in——自动保存编辑
需求:由于初次使用ArcGIS编辑器不习惯.数据量大造成经常程序未响应.计算机断电等因素,造成编辑的数据没有保存,影响了生产效率,本人根据草色静然的博文,总结了自动保存编辑的实现方法. 分析:自动保存 ...
- ubuntu上使用vim编辑文本内容
1. 什么是 vim? Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.简单的来说, vi 是老式的字处理器,不过功能已经很齐全了, ...
- 关于 Notepad++ 崩溃之后正在编辑文件内容被清空的致命问题的补救措施
Notepad++ 以其功能强大.界面简洁.操作简单方便.超低内存耗用而受众多挨踢从业者青睐. Notepad++ 不像 UE 那样在你编辑的时候会定时生成 bak 备份文件.虽然 Notepad++ ...
- VIM中保存编辑的只读文件
如何在VIM中保存编辑的只读文件 你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限.如果已 经做了很多修改,放弃保存的确很懊恼, ...
- Linux 使用vim命令编辑文件内容
在终端可以使用vim命令来直接编辑文件内容. vim,也可以叫做vi. vim有三种模式:命令模式.输入模式.底线命令模式. 命令模式 vim 文件名 进入命令模式,vim也可以写成vi. 如果 ...
- 将textField编辑完内容作为参数发送请求
将textField编辑完内容作为参数发送请求 首先赋值默认值 其次把编辑完的内容传给model,这样的话,model里面的数据就是编辑完之后的内容了
- ALV编辑行内容有改变时候操作
ALV编辑行内容时,调用方法 check_changed_data返回变量 gf_valid = 'X'的话说明alv行有变化. 以下拿alv维护表程序部分代码做例: DATA: gr_alvgrid ...
- windows平台下编辑的内容传到linux平台出现中文乱码的解决办法
现象说明:在windows下编辑的内容,上传到linux平台下出现中文乱码.如下: 在windows平台编写haha.txt文件,内容如下: 上传到linux平台,出现中文乱码,如下: 基本上面出现的 ...
- java实现在图片上编辑文本内容
package com.yin.text; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; impor ...
随机推荐
- (转)SSI开发环境搭建
本文转自:http://blog.csdn.net/lifuxiangcaohui/article/details/7187869 先来点文字性的描述: MVC对于我们来说,已经不陌生了,它起源于20 ...
- C++ 打印输出指针
大家想必在很多场景下需要打印输出指针地址.看一下下面的输出: CObject* pObject = new CObject; std::cout << pObject ...
- NuGet学习笔记
NuGet学习笔记(1)——初识NuGet及快速安装使用 NuGet学习笔记(2)——使用图形化界面打包自己的类库 NuGet学习笔记(3)——搭建属于自己的NuGet服务器
- 带你认识HTML5中的WebSocket
这篇文章主要介绍了带你认识HTML5中的WebSocket,本文讲解了HTML5 中的 WebSocket API 是个什么东东.HTML5 中的 WebSocket API 的用法.带Socket. ...
- 1208. Legendary Teams Contest(dfs)
1208 简单dfs 对于每个数 两种情况 取还是不取 #include <iostream> #include<cstdio> #include<cstring> ...
- 配置hibernate根据实体类自动建表功能
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码 Xml代码<propert ...
- 获取本机外网ip和内网ip
获取本机外网ip //获取本机的公网IP public static string GetIP() { string tempip = ""; try { WebRequest r ...
- ASP.NET MVC Html.ActionLink使用说明
本文整理了该方法的几种重载形式: 1.Html.ActionLink("linkText","actionName")该重载的第一个参数是该链接要显示的文字,第 ...
- jquery 滚动条插件 jquery.nanoscroller.js
$(".listcontent .nano").nanoScroller(); $(".chatcontent .nano").nanoScroller({ ...
- listview默认选择第一项,点击换子项背景图
(不是大神,没有几百子项目,去你丫的) private int last_item_position ; @Override public void onItemClick(AdapterView&l ...