问题描述:在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无法保存编辑的内容的更多相关文章

  1. ArcGIS Add-in——自动保存编辑

    需求:由于初次使用ArcGIS编辑器不习惯.数据量大造成经常程序未响应.计算机断电等因素,造成编辑的数据没有保存,影响了生产效率,本人根据草色静然的博文,总结了自动保存编辑的实现方法. 分析:自动保存 ...

  2. ubuntu上使用vim编辑文本内容

    1. 什么是 vim? Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.简单的来说, vi 是老式的字处理器,不过功能已经很齐全了, ...

  3. 关于 Notepad++ 崩溃之后正在编辑文件内容被清空的致命问题的补救措施

    Notepad++ 以其功能强大.界面简洁.操作简单方便.超低内存耗用而受众多挨踢从业者青睐. Notepad++ 不像 UE 那样在你编辑的时候会定时生成 bak 备份文件.虽然 Notepad++ ...

  4. VIM中保存编辑的只读文件

    如何在VIM中保存编辑的只读文件 你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限.如果已 经做了很多修改,放弃保存的确很懊恼, ...

  5. Linux 使用vim命令编辑文件内容

    在终端可以使用vim命令来直接编辑文件内容. vim,也可以叫做vi. vim有三种模式:命令模式.输入模式.底线命令模式. 命令模式 vim  文件名   进入命令模式,vim也可以写成vi. 如果 ...

  6. 将textField编辑完内容作为参数发送请求

    将textField编辑完内容作为参数发送请求  首先赋值默认值  其次把编辑完的内容传给model,这样的话,model里面的数据就是编辑完之后的内容了

  7. ALV编辑行内容有改变时候操作

    ALV编辑行内容时,调用方法 check_changed_data返回变量 gf_valid = 'X'的话说明alv行有变化. 以下拿alv维护表程序部分代码做例: DATA: gr_alvgrid ...

  8. windows平台下编辑的内容传到linux平台出现中文乱码的解决办法

    现象说明:在windows下编辑的内容,上传到linux平台下出现中文乱码.如下: 在windows平台编写haha.txt文件,内容如下: 上传到linux平台,出现中文乱码,如下: 基本上面出现的 ...

  9. java实现在图片上编辑文本内容

    package com.yin.text; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; impor ...

随机推荐

  1. DAO设计模式 -- 使用数据库连接类连接MySql数据库并实现添加用户

    1. DAO简介    DAO设计模式是属于J2EE数据库层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性. 2. DAO各部分详解    DAO设计模式包括5个重要的部分,分别为数据 ...

  2. shell编程基础(2)---&&与||

    shell 编程重要的应用就是管理系统,对于管理系统中成千上万的程序而言,查询某个文件名是否存在,并且获取该文件名所指代文件基本信息是系统管理员的基本任务.shell命令可以很轻松的完成这项任务. # ...

  3. List应用举例

    1.集合的嵌套遍历 学生类: package listexercise; /** * Created by gao on 15-12-9. */ public class Student { priv ...

  4. Case Study: Random Number Generation(翻译教材)

    很荣幸,经过三天的努力.终于把自己翻译的教材做完了,现在把它贴出来,希望能指出其中的不足.   Case Study: Random Number Generation Fig. 6.7  C++ 标 ...

  5. 面试题_76_to_81_Java 最佳实践的面试问题

    包含 Java 中各个部分的最佳实践,如集合,字符串,IO,多线程,错误和异常处理,设计模式等等. 76)Java 中,编写多线程程序的时候你会遵循哪些最佳实践?(答案)这是我在写Java 并发程序的 ...

  6. php和java的一些比较

    现在市场上的电子商务软件基本上可归结为两大阵营,即PHP阵营和Java阵营.但对接触电子商务不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异.其实,PHP+ ...

  7. 数学语言和程序语言的对比:面向过程与面向集合&命题

    共同之处:都使用字符串或数值来引用一个客观实体.当然数字和字符串也可以作为实体对象,这取决于人的解释. 不同之处:数学语句每一行都给出了一个结论, 程序语句的每一行都定义了一个过程.注意这里所指的程序 ...

  8. Spring学习之声明式事物管理

    public List<Student> selectStudent() { Student s = new Student(); s.setName("zhengbin&quo ...

  9. Struts2中通配符

    1.Struts2中通配符可通过请求的url路径来确定包.类.方法.返回值名. 如 <action name="*_*_*_*" class="cn.javass. ...

  10. php mysql事务

    这里记录一下php操作mysql事务的一些知识 要知道,MySQL默认的行为是在每条SQL语句执行后执行一个COMMIT语句,从而有效的将每条语句独立为一个事务.但是,在使用事务时,是需要执行多条sq ...