问题描述:在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. 计算XX年的某月某日是当年的第多少天?是星期几?

    /** * 编写程序,计算2013年的某月某日是当年的第多少天?是星期几?已知2013年元旦是星期二. */ import java.util.Scanner; public class Date { ...

  2. JavaScript之this,new,delete,call,apply(转)

    JavaScript之this,new,delete,call,apply 1.this 一般而言,在Javascript中,this指向函数执行时的当前对象. 2.new 在JavaScript中, ...

  3. 你真的了解try{ return }finally{}中的return?

    你真的了解try{ return }finally{}中的return?   今天去逛论坛 时发现了一个很有趣的问题: 谁能给我我解释一下这段程序的结果为什么是:2.而不是:3 代码如下: class ...

  4. 内存单元按字节编址,地址0000A000H~0000BFFFH共有几个存储单元

    一般可以这样:按十六进制(bffff-a000)+1=1fff+12000H=2x16x16x16=81928192/1024=8 最后是8k或者按二进制bfff-a000=0001 1111 111 ...

  5. Sql Server查询性能优化之走出索引的误区

    据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...

  6. qtp与selenium2的区别

    QTP:  我觉得qtp适合的人: 对编程不是很熟悉的 厌烦了手动的功能测试,想快速进入自动化行业的 公司想快速自动化项目,并且对价格或者对盗版无所谓的 vbs脚本语言易于上手,可以培训你对代码的兴趣 ...

  7. <<c 和指针 >> 部分笔记。

    最近竟然对指针有些迷惑了,分不清指针的指向.废话少说,复习.(下面内容来自<<c和指针>>) =指针 ==内存和地址 尽管一个字包含了4个字节,它仍然只有一个地址.至于是最左边 ...

  8. oracle 11g SQL Developer instead of isqlplus

    Oracle11g的新工具SQL DEVELOPER,替代了 isqlplus 1.创建连接方式 2.SQL输入窗口 3.表的结构及其他信息查阅 4.SQL语句测试 5.创建表 6.用户授权 7.数据 ...

  9. SQLserver游标原理和使用方法

    在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句.但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录.那么如何解决这种问题呢 ...

  10. mac 下 apache设置

    windows下面的apache配置 apache是mac下是默认就有的,我们只需使用命令开启.暂停和重启就好了 sudo apachectl start sudo apachectl stop su ...