1、2 执行SQL语句。方法一:1 重新打开一个命令窗口(开始运行cmd)2 sqlplus scott/tigerorcl517,连接到数据库。3 打开jimaoshichang.sql,复制粘贴,执行SQL语句。DROP TABLE JIMAOSHICHANG;CREATE TABLE JIMAOSHICHANG ( 区县 VARCHAR2(10), 乡镇名 VARCHAR2(10), 村名 VARCHAR2(10), 企业 VARCHAR2(50), GEOM MDSYS.SDO_GEOMETRY);DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE
2、_NAME = JIMAOSHICHANG AND COLUMN_NAME = GEOM ;INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO) VALUES (, , MDSYS.SDO_DIM_ARRAY (MDSYS.SDO_DIM_ELEMENT(X, 39373833.909274168, 39519763.519715697, 0.000000050), MDSYS.SDO_DIM_ELEMENT(Y, 4369176.981283660, 4507295.457671791, 0.0000000
3、50) ) ); COMMIT;方法二:在SQL PLUS中运行jimaoshichang.sql。3 执行操纵语句2 执行sqlldr scott/tigerorcl517 control= jimaoshichang.ctl4 转换空间数据的数据格式执行下列sql语言:EXECUTE SDO_MIGRATE.TO_CURRENT(jimaoshichang,);5 创建空间索引CREATE INDEX jimaoshichangsuoyinON jimaoshichang(GEOM)INDEXTYPE IS MDSYS.SPATIAL_INDEX;第二部分空间数据迁移1 创建一张新表,用来
4、存放jimaoshichang表中的数据DROP TABLE MARKET;CREATE TABLE MARKET ( C_MARKETNAME VARCHAR2(50) , G_FEATURESHAPE MDSYS.SDO_GEOMETRY );2将描述数据表(也确实是图层)的元数据写入元数据表。DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = MARKET AND COLUMN_NAME = G_FEATURESHAPE VALUES ( MDSYS.SDO_DIM_ARRAY 3.往新建的数据表中插入数据 insert into
5、MARKET (C_MARKETNAME,G_FEATURESHAPE)select 企业,GEOM from jimaoshichang;4创建索引CREATE INDEX GIDX_GT_M_MARKETON MARKET (G_FEATURESHAPE)附:5.CoGisMap的元数据表定义CREATE TABLE DBSCHEMA_OGIS_FEATURE_TABLES (GEOM_TABLE_NAME VARCHAR2(129 byte) NOT NULL, GEOM_TABLE_TYPE VARCHAR2(129 byte) NOT NULL, GEOM_COLUMN_NAME V
6、ARCHAR2(129 byte) NOT NULL, GEOM_TYPE NUMBER(10) NOT NULL, GEOM_EXTENTMDSYS.SDO_GEOMETRY DEFAULT MDSYS.SDO_GEOMETRY( 2003, - 2-dimensional polygon NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3), - one rectangle (1003 = exterior) MDSYS.SDO_ORDINATE_ARRAY(0,0,1,1) ) NOT NULL, CONSTRAINT KEY_1_1_1 PRIMARY K
7、EY()6在CoGisMap的元数据表中填入元数据。执行脚本: INSERT INTO DBSCHEMA_OGIS_FEATURE_TABLES ( , ,GT_M ,TABLE ,4 )至此,那个空间数据表就能够在控件中显示了。附件 关于空间数据表的创建和删除- 创建空间数据表的脚本:- 表中要有一列定义为空间数据存储结构(MDSYS.SDO_GEOMETRY)。CREATE TABLE DEMO.TEST_GEOM( ObjectID NUMBER, RecordID NUMBER, Operate CHAR(2), ChangeDate DATE, GEOM MDSYS.SDO_GEOM
8、ETRY- 创建空间数据表之后,要将描述数据表(也确实是图层)- 的元数据写入元数据表。- 各列含义分不为:- 空间数据表的名称,- 空间所在列的名称,- 空间数据表(图层)的维度信息,- 参考坐标系索引。- 其中图层维度信息包含24条记录,记录的各列含义如下:- 维度名称(,或Z)- 最小值(NUMBER)- 最大值(NUMBER)- 容差(NUMBER)INSERT INTO USER_SDO_GEOM_METADATAVALUES ( TEST_GEOM, MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT(, 1144.804047, 3762.220078, 0.005), 66.337745, 2894.969755, 0.005) ), NULL - SRID- 如何删除空间数据表(图层)?- 分为两步:1、删除表,2、删除元数据。- 删除表DROP TABLE TEST_GEOM;- 删除元数据WHERE TABLE_NAME = ;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1