Excel表格转成Shapefile、GDB并导入SDE

一、Excel转Shapefile

        把具有经纬度的数据表格导入ArcMap,并显示XY经纬度,最后导出数据(shaplefile)。

1.ArcMap 10.5.1  

2.只能适配Excel 2007以上

3.字段名字最好是英文,中文容易出现编码问题(shapefile的字段长度有限制)。

4.经纬度字段要换行成数字。

如图所示。

另外,如果shp数据导出成excel表,需要添加XY字段,一般要在ArcMap里面添加相关设置:

ArcToolbox—数据管理工具—要素—-添加XY坐标

二、shapefile导入GDB、SDE

        近期把Excel表格的数据转成shapefile后,导入GDB没有问题,导入SDE出现这样的错误:

       创建要素类失败:基础DBMS错误【ORA-00600:内部错误代码……】,如下图所示。

        经过多次检查,停掉ArcGIS相关服务,这个服务也启动不了,出现读取不了SDE图层的报错。

        把ArcGIS所在服务器、Oracle所在服务器重启,再导入数据到SDE依然不行。

        问题定位为:Excel表转换出来的数据有问题,导致GDB数据内部存在问题,导入SDE的时候,Oracle发现了数据内在问题。

这批Excel表的数据情况是:

        1.几十个字段,转换过程删除大量字段,字段是中文名字;

        2.经纬度字段值出现各种情况:经纬度为空,为0,相互交叉,极大值(几千几万之类的)。

       因此,决定对Excle表格转成的Shapefile数据前进行清洗。

1.在Exlceb表格中先删除字段,对XY进行排序,删除非法的记录(行);

2.转成shapefile后,对所有字段重新定位,通过字段计算器,把原值赋予新字段,字段用英文名字。

        成功解决数据导入SDE问题。

3.停止这些图层的服务。另外,从10.2开始,要素集不需要注册版本。

 

        总结:数据入库之前,数据标准化、清洗、格式化、验证等工作非常重要,一不小心,就会导致数据库各种问题。

        因此,从其他地方来源的数据,入库工作是一个重大的工作,不是那么容易。——记于2018年6月3日。

转载自:https://blog.csdn.net/aganliang/article/details/80139967

You may also like...