这是我的箱子。我有两个地理数据库。第二个是稍后创建的。我使用arccatolog将geodatabase-1中的所有表导入geodatabase-2。我使用srid 6作为我的geodatabase 1和它的标准。但是在geodatabase 2中,表和索引是用不同的srid导入的。我必须将所有几何共谋和空间索引的srid改为6。
首先,我检查了srid 6的st_spatial_references表,但找不到它。Geodatabase 1中有SRID 30002,其内容与SRID 6相同。
然后,我在srid 6的st_spatial_references表中手动创建一个条目。之后,我尝试使用以下查询创建空间索引。

 CREATE INDEX SDE.INDEX_NAME ON SDE.TABLE_NAME (SHAPE)
 INDEXTYPE IS SDE.ST_SPATIAL_INDEX
 PARAMETERS('st_grids=1:0:0 st_srid=6')
 NOPARALLEL;

得到这个错误。ORA-20085:不同的SRID“6”不匹配。
我需要正确地创建和srid条目,id为6。并将所有表和空间索引设置为srid 6。有人能帮我吗?
注:除了id column之外,srid 30002和6在st_spatial_references表中的内容完全相同。
谢谢您。

最佳答案

您看到该错误的原因是表的srid(在st_geometry_columns表中定义)与其中包含的一个几何图形(在每个记录的geometry字段中定义)不匹配。
如果您真的需要更改表的srid(即使您不应该弄乱srid,因为它们是由sde内部管理的),请遵循以下过程:
在srid=6的st_spatial_引用表中创建条目
使用ArcScess在表中删除任何现有的空间索引。如果不起作用,尝试重新创建它,然后删除它。
使用以下SQL命令更新表中包含的几何图形:
更新b set b.shape.srid=6
更新为6 st_geometry_columns表中表的srid
使用arccatalog创建空间索引
必须为每个表执行此操作(当然,第一步只需执行一次)。

关于database - ORA-20085:不同的SRID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29252450/

10-11 01:28