这是我的情况。我有2个地理数据库。第二个是稍后创建的。然后我使用ArcCatolog将地理数据库-1中的所有表导入到地理数据库-2中。我将srid 6用于我的地理数据库1及其类似的标准。但是在地理数据库2中,表和索引是使用不同的srid导入的。我必须将所有几何体柱和空间索引的srid更改为6。
首先,我检查了srid 6的ST_spatial_references表,但无法找到它。在地理数据库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'不匹配。
我需要正确地创建id为6的srid条目。并更改设置为srid的所有表和空间索引6.任何人都可以帮助我吗?
注意:除了id collumn之外,srid 30002和6在ST_SPATIAL_REFERENCES表中具有完全相同的内容。
谢谢。
答案 0 :(得分:1)
您看到该错误的原因是表的SRID(在ST_GEOMETRY_COLUMNS表中定义)与其中包含的几何(在每个记录的几何字段中定义)不匹配。
如果您确实需要更改表的SRID(即使您不应该混淆SRID,因为它们由SDE内部管理),请按照以下步骤操作:
使用以下SQL命令更新表中包含的几何:
更新b SET b.shape.srid = 6
将ST_GEOMETRY_COLUMNS表中的表的SRID更新为6
必须对每个表进行此操作(当然,第一步必须只执行一次)。