2015-03-25 19 views
1

這是我的情況。我有2個地理數據庫。第二個是稍後創建的。然後使用ArcCatolog將geodatabase-1中的所有表導入地理數據庫-2。我使用srid 6作爲我的地理數據庫1和它的一種標準。但是在地理數據庫2中,表格和索引使用不同的srid導入。我必須將所有幾何柱和空間索引的srid更改爲6.ORA-20085:不同的SRID的

首先,我檢查了ST_spatial_references表的srid 6,但無法找到它。在地理數據庫1中存在與srid 6具有相同內容的srid 30002. 然後,我在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.任何人都可以幫助我嗎?

注意:srid 30002和6在ST_SPATIAL_REFERENCES表中的內容完全相同,但id列表除外。

謝謝。

回答

1

您看到錯誤的原因是表格的SRID(在ST_GEOMETRY_COLUMNS表中定義)與其中包含的幾何之一(在每條記錄的幾何字段中定義)不匹配。

如果你真的需要改變一個表的SRID(即使你不應該惹SRIDs,因爲它們是通過內部管理的SDE),請執行以下步驟:

  • 中創建條目SR_ID = 6的ST_SPATIAL_REFERENCE表
  • 使用ArcCatalog刪除表上的任何現有空間索引。如果它不起作用,請嘗試重新創建並刪除它。
  • 更新包含在表具有以下SQL命令的幾何形狀:

    UPDATE B設置b.shape.srid = 6

  • 更新至6的表中的表ST_GEOMETRY_COLUMNS的SRID

  • 使用ArcCatalog

這對每個表進行(當然除了對於具有所述第一步驟的爲僅一次)創建空間索引。

相關問題