|
zhenglipin :
我自己的语句如下: 1:建立表 create table roads ( name varchar2(42), MI_PRINX number, GEOLOC mdsys.sdo_geometry); 2 INSERT INTO MAPINFO_MAPCATALOG( SPATIALTYPE,TABLENAME,OWNERNAME,SPATIALCOLUMN,DB_X_LL,DB_Y_LL, DB_X_UR, DB_Y_UR,COORDINATESYSTEM, SYMBOL,XCOLUMNNAME, YCOLUMNNAME,RENDITIONTYPE, RENDITIONCOLUMN) values (13.1,'roads','system','geometry',-130,-30,400,300,'earth projection 1,0','symbol(35,0,12)','no_column','no_column',null,null); INSERT INTO user_sdo_geom_metadata values ('roads','geometry', mdsys.sdo_dim_array (mdsys.sdo_dim_element('x',-180,180,0),mdsys.sdo_dim_element('y',-90,90,0)),1); 3 create index rtree_index on roads(geoloc) indextype is MDSYS.SPATIAL_INDEX; 4 insert into roads values('short street',null, mdsys.sdo_geometry(2002,8307,mdsys.SDO_POINT_TYPE(0, 0, NULL), mdsys.sdo_elem_info_array(1,2,1),mdsys.sdo_ordinate_array(10,10,10,15,15,15))); 问题如下,如果 3,4 建立成功,则插入数据失败 错误代码如下: * ERROR 位于第 1 行: ORA-29875: 无法执行 ODCIINDEXINSERT 例行程序 ORA-13365: 层 SRID 与几何对象 SRID 不匹配 ORA-06512: 在"MDSYS.SDO_INDEX_METHOD_9I", line 319 ORA-06512: 在line 1 如果不建立索引即没有做第3步。直接作第4步,插入数据成功,但是第四步,不能建立索引,错误如下 ERROR 位于第 1 行: ORA-29855: 执行 ODCIINDEXCREATE 例行程序时出错 ORA-13249: internal error in Spatial index: [mdidxrbd] ORA-13249: Error in Spatial index: index build failed ORA-13249: Error in spatial index: [mdrcrtxfergm] ORA-13249: Error in spatial index: [mdpridxtxfergm] ORA-13200: 空间索引建立中出现内部错误 [ROWID:AAAHePAABAAAMoSAAB] ORA-13206: 创建空间索引时出现内部错误 [] ORA-13365: 层 SRID 与几何对象 SRID 不匹配 ORA-06512: 在"MDSYS.SDO_INDEX_METHOD_9I", line 7 ORA-06512: 在line 1 我在百般无奈之下,这样做了。使用easyloader上载了一个表test。主要是线。 然后,把我的数据插入到这个表中。 insert into test values('short street',null, mdsys.sdo_geometry(2002,8307,mdsys.SDO_POINT_TYPE(0, 0, NULL), mdsys.sdo_elem_info_array(1,2,1),mdsys.sdo_ordinate_array(10,10,10,15,15,15))); 然后在mapx上显示成功!这就是借鸡生蛋的无奈做法。请指教!盼望答复!
wtusmchen :
我在百般无奈之下,这样做了。使用easyloader上载了一个表test。主要是线。 然后,把我的数据插入到这个表中。 ----------------- 呵呵,我都是这么做的,最简单了^_^
James.Liu :
老陈说的办法最省事 你如果一定要自己插入表的话,你需要在mdsys.coordsys表中找你用的坐标系所对应的SRID,并且保证在user_sdo_geom_metadata 中记录的图层元数据SRID和你插入的图元用到的坐标系一致
zhenglipin :
是srid的问题,已解决 |