使用 ArcCatalog 更加简单一些,命令行优势在于可以真正意义上的实现批处理,还可以检查 SHP 出现的错误,使用程序进行入库则可以实现接边,使处理数据更加方便实用。
1、 ArcCatalog
ArcCatalog 的加载办法 ― 略。
2、 命令行
命令行使用系统的命令提示符来进行数据加载,在命令提示符窗口里,输入下面的命令即可,最好使用批处理 *.BAT 文件进行数据加载。下面是一个 BAT 文件的内容。
例子:
shp2sde -o create ^
-l buildshd,shape ^
-f D:\job\sde 入库 \builds.shp ^
-g 600,3000,10000^
-x 416047,555677,999999 ^
-e a+n ^
-S "vegrgn" ^
-a all ^
-c 10000 ^
-i 5151:esri_sde ^
-u sde ^
-p sde ^
-s jiaodaozhen
这是一个对数据进行加载的具体例子,下面对每一条我都进行详细的说明:
^ 换行的标志,使用命令行方法一定要注意不能使用 Tab ,换行符使用 ^ ( Windows
里面使用 ^ , Unix 中使用 "\" );
-o create (参数)建立一个新层;
-l buildshd, (建立层的名字) shape (类型);
-f D:\job\sde 入库 \builds.shp (路径);
-g 600,3000,10000^ 索引网格大小( Grid size );
在加载数据时候,我们还需要给数据指定索引网格的大小,为了提高空间查询的性能, ArcSDE 采用空间索引的机制,是一个覆盖整个要素类的两维索引,类似于一般的道路图上的索引网格。 ArcSDE 可以赋予三层空间索引网格,每个网格层都具有自己的格网大小。第一层网格为必需,它的格网尺寸最小;而第二和第三层可选,它们的网格可以通过设置为 0 使之无效。如果有效,第二层网格大小必须至少比第一层网格大三倍,而第三层网格大小也必须至少比第二层网格大三倍。索引格网的大小加载后也是可以随时修改的。
-x 416047,555677,999999 ^
这三个参数可以从 ArcCatalog 中获得,第一个参数是 X 最小值,第二个参数是 Y 最小值,第三个参数是精度(Precision )。
-e a+n (输入 shp 的类型) a+n ^ 面 s+n ^ 线 p+n ^ 点
-S "vegrgn" 备注
-a all ^ 所有的地物都要载入
-c 10000 ^ 转换速率
-i 5151:esri_sde ^ SDE 的服务名和端口名,一般都没有做改动。
-u sde ^ 用户名
-p sde ^ 密码
-s jiaodaozhen 服务器 (主机名)
下面是一个追加的例子,对已经加载的数据进行追加数据:
shp2sde -o append -l agency,shape -f D:\job\sde 入库 \temp\py\agency.shp -a all -c 10000 -i 5151:esri_sde -u sde -p sde -s jiaodaozhen
-O append 追加
-L 要追加到 SDE 文件名字
-F 文件目录
其他的参数和上面的都相同,但是要注意少了几个参数。
注意: 如果导入的时候数据出现的错误较多,可以使用如下命令来储存错误信息: C:\>d\resrgn.bat > 1.txt
C:\>d\resrgn.bat: 批处理的路径和名字。
1.txt 在 C 盘根目录下的 1.TXT 文本文件将记录其内容。
3、 程序
使用程序导入数据需要准备:数据、坐标格网、分层标准、数据结构。数据为 shape 格式。坐标格网是整个入库的一个基本的格网(也是每幅数据的内图廓集),数据都是要依据其进行导入,不可以出现错误,否则数据不可以导入。
例如在 ―ArcCatalog 数据通过 SDE 在数据库中存储的方式是 要素集、要素类、表、一个要素集代表同一个坐标系统的要素类的一个集合,一个要素类也就是存在要素集下面的一个表。表也可以在数据库中单独存在,可以单独建立一个表;
通过命令行的形式一样。如:
1) 要素集一定要设 “X/Y 的域 ” 可以从坐标格网得到范围。
命名方式: ds10000classBOU
2 )要素类命名方式: boulin_jn10000 后缀要与在数据库中设立的后缀名字相同。
在字段名称为“ shape ” 数据类型为“几何类型”改为要素类本身的类型。如果数据类型为双精度的时候,例如 高程 ELEV F 8.3 , 8.3 代表的意思是小数点前面是 8 后面是 3 。这样则精度为 12 ( 8 + 3 + 1 = 12 ) 比例为 3 如按照建立要素集、要素类的方法。使用坐标格网建立一个索引层。