合并大陆及台湾地区的shape数据

从gadm.org下载大陆和台湾地区的行政区划shape数据,导入数据库后,直接把台湾地区的数据插入到CHN_ADM1的表中,提交事务时,出现下面错误:sql

ORA-29875: 没法执行 ODCIINDEXINSERT 例行程序
ORA-13031: SDO_GEOMETRY 对象中用于点对象的 Gtype 无效
ORA-06512: 在 "MDSYS.SDO_INDEX_METHOD_10I", line 720
ORA-06512: 在 "MDSYS.SDO_INDEX_METHOD_10I", line 225数据库

View program sources of error stack?code

发现上海的空间数据有问题,修正语句对象

UPDATE CHN_ADM1 t
SET t.geometry = MDSYS.SDO_GEOMETRY(2003, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1), MDSYS.SDO_ORDINATE_ARRAY(...))
WHERE t.id_1 = 24

运行出现错误索引

ORA-29861: 域索引标记为 LOADING/FAILED/UNUSABLE 事务

删除索引后,再次运行成功插入。重建索引。class

create index SIDX_CHN_ADM1 on CHN_ADM1 (GEOMETRY)
  indextype is MDSYS.SPATIAL_INDEX

 

发现TWN_ADM1的记录有多行,不是和CHN_ADM1一行记录(省)等价。date

update CHN_ADM1 c1 set (c1.geometry)=(
select t0.geometry from TWN_ADM0 t0)
where p1.name_0='Taiwan';
相关文章
相关标签/搜索