DWG数据的入库

CAD数据的直接入库存在一个问题,就是碰到往数据库里添加对象的时候不能成功,在数据库空间表中会有添加的痕迹,但是点的坐标都是0,可能CAD对象的模型与ARCSDE的对象模型不一致导致的,这个前面已经讨论过,ARCSDE的CAD CLIENT不知道是否可以解决这个问题。

尽管FME可以将DWG格式转化成SHP格式,但是转换和已经物理分层,并且属性损失了。要想进行大批量文件入库是比较麻烦的。还有就是将DWG导入数据库,然后在导出为SHP格式,再导入数据库,这样的问题也是大批量数据入库时如何自动分层的问题。

因此使用了ARCSDE C API写了导入数据库的程序。

首先将DWG数据导入数据库,

通过MO的数据库连接,CMODATACONNECTION, CMOGEODATASET,CMOMAPLAYER,CMORECORDSET,CMOFIELDS,CMOFIELD,CMOPOINT,CMOLINE,CMOPOLYGON,CMOPOINTS,CMOPARTS等得到对象的属性以及坐标信息,并生成自己定义的明码格式的文件。

通过ARCSDE C API读取先前生成的明码格式文件,构造空间表,构造对象,将数据导入数据库,这样可以保留DWG的大部分信息,并且可以编辑,也可以实现大批量数据的入库,并且可以自动根据LAYER属性分层建库。

 

你可能感兴趣的:(c,数据库,api,layer)