ArcObjects弄坏了我的Shapefile
来源:互联网 发布:php护卫神 编辑:程序博客网 时间:2024/04/28 06:02
我从同事那里拿到一些Shapefile,这是他用shapelib写出来,存在环方向不对的错误,于是我写了一个程序处理了一下,程序没有任何问题。但是处理完后,这些shapefile不能用shp2sde导入sde了,但是用ArcCatalog可以导入,真是气死我也。但是文件很多一个一个选实在太麻烦,还有一个办法就是写程序。本来可以直接写一个程序从shapefile到sde也没什么,但是我想用sde的工具来导数据。一开始以为是我对shp2sde不熟悉,但是怎么看也看不出问题来,create,init,append都不行,feature class已经创建出来,但是没有数据,处于load only I/O模式。
我用shpinfo查看了一下文件信息如下:没有什么问题,后来我上ESRI的User Forums上去查了查,还真有人碰到和我一样的问题,他说不能用shpinfo -o stats计算shapefile的统计信息,然后也不能用shp2sde导入SDE,错误消息和我一样。我的运行结果如下:
在论坛里找到的唯一一点有价值的信息是:
文件坏掉了!
后来我也依稀记得在处理前的确是可以导的,只是很多记录有错误不能导入而已。自家人和自家人干上了,不过ArcObjects的确容错性很强,有些数据在ArcMap中可以看,但是到了ArcPad中就会让它突然死亡,MOJava也有这样的问题,唉!
后来我用ArcToolbox中的RepairGeometry工具修复也得到同样的结果,本来还想根据shapefile specification检查一下到底哪里出问题,最后还是放弃了,太麻烦了。但是我把shapefile导入MDB中然后导出来文件是对的。
E:Temp1515001>shp2sde -o create -l xz,shape -f xz -a all -i port:5151 -s 192.
168.7.109 -u landuse -p landuse
ArcSDE 9.0 Oracle9i Build 1137 Mon Jan 31 18:12:38 PST 2005
Shape to Layer Loading Administration Utility
-----------------------------------------------------
Set X_offset = 36441
Set Y_offset = -42900
Set XY_scale = 100000
Set Grid Size0 = 274
FATAL ERROR (VRD3)
BAD IREC
168.7.109 -u landuse -p landuse
ArcSDE 9.0 Oracle9i Build 1137 Mon Jan 31 18:12:38 PST 2005
Shape to Layer Loading Administration Utility
-----------------------------------------------------
Set X_offset = 36441
Set Y_offset = -42900
Set XY_scale = 100000
Set Grid Size0 = 274
FATAL ERROR (VRD3)
BAD IREC
E:Temp1515001>shpinfo -o describe -f xz
------------------------------------------------------------------------
Shape File: E:/Temp/15/15001/xz
Version: 1000
Codepage: EUC
Type: Polygon
Number of Shapes: 146
Extent: minX: 36441.649238 minY: -42899.045622
maxX: 48466.834859 maxY: -25411.115336
Coordinate System: PROJCS["Xian_1980_3_Degree_GK_CM_120E",GEOGCS["GCS_Xian_1980"
,DATUM["D_Xian_1980",SPHEROID["Xian_1980",6378140.0,298.257]],PRIMEM["Greenwich"
,0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["F
alse_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",
121.4671680],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",31.235
4465],UNIT["Meter",1.0]]
Shape Attribute Columns: 8
Name Type Width Decimal Places
------------ ---- ----- --------------
DISTRICTID C 4 -
MAP_FRAME C 10 -
CODE C 10 -
STREET_COD C 10 -
AREA N 15 2
LAND_USE C 40 -
LAND_RIGHT N 2 -
LAND_USE_T C 20 -
------------------------------------------------------------------------
------------------------------------------------------------------------
Shape File: E:/Temp/15/15001/xz
Version: 1000
Codepage: EUC
Type: Polygon
Number of Shapes: 146
Extent: minX: 36441.649238 minY: -42899.045622
maxX: 48466.834859 maxY: -25411.115336
Coordinate System: PROJCS["Xian_1980_3_Degree_GK_CM_120E",GEOGCS["GCS_Xian_1980"
,DATUM["D_Xian_1980",SPHEROID["Xian_1980",6378140.0,298.257]],PRIMEM["Greenwich"
,0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["F
alse_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",
121.4671680],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",31.235
4465],UNIT["Meter",1.0]]
Shape Attribute Columns: 8
Name Type Width Decimal Places
------------ ---- ----- --------------
DISTRICTID C 4 -
MAP_FRAME C 10 -
CODE C 10 -
STREET_COD C 10 -
AREA N 15 2
LAND_USE C 40 -
LAND_RIGHT N 2 -
LAND_USE_T C 20 -
------------------------------------------------------------------------
E:Temp1515001>shpinfo -o stats -f xz
FATAL ERROR (VRD3)
BAD IREC
FATAL ERROR (VRD3)
BAD IREC
VFILE is the parallel file I/O module of ArcInfo (accessing shp/shx
as a pair). IREC is the row number parameter. In this context,
you've got a truncated or otherwise corrupt file. If you've
transferred the shapefile set by FTP, it's possible you didn't use
BINARY mode.
as a pair). IREC is the row number parameter. In this context,
you've got a truncated or otherwise corrupt file. If you've
transferred the shapefile set by FTP, it's possible you didn't use
BINARY mode.
后来我也依稀记得在处理前的确是可以导的,只是很多记录有错误不能导入而已。自家人和自家人干上了,不过ArcObjects的确容错性很强,有些数据在ArcMap中可以看,但是到了ArcPad中就会让它突然死亡,MOJava也有这样的问题,唉!
后来我用ArcToolbox中的RepairGeometry工具修复也得到同样的结果,本来还想根据shapefile specification检查一下到底哪里出问题,最后还是放弃了,太麻烦了。但是我把shapefile导入MDB中然后导出来文件是对的。
- ArcObjects弄坏了我的Shapefile
- 基于Shapefile的数据加工与ArcObjects应用
- 刚才把caucho的wiki弄坏了
- 昨晚把gg的移动硬盘弄坏了,心情很难过
- 当你的移动硬盘弄坏了你的文件该如何恢复呢
- 我所知道的ArcObjects开发(一)
- 我所知道的ArcObjects开发(二)
- 防止图片把表格弄坏了
- Exploring ArcObjects的下载
- ArcObjects
- 360更新补丁之后把Outlook弄坏了
- 郁闷,不小心吧SQL Sever弄坏了。
- Shapefile文件组成,Shapefile文件的修复
- shapefile文件格式的读取
- ShapeFile格式的白皮书
- Shapefile 的局限性
- Shapefile的局限性
- Shapefile 文件的局限性
- [用友]固定资产出现的异常
- 给中国学生的第三封信:成功、自信、快乐
- 李开复给中国学生的第二封信:从优秀到卓越
- 淘宝的信用体系到底可不可信?
- 李开复给中国学生的一封信:从诚信谈起
- ArcObjects弄坏了我的Shapefile
- 实用工具类库java.util
- 关于http头的技术资料
- jdbc学习笔记(1)
- 写了点程序
- 折磨呀折磨
- 三层开发中String与WideString的转换
- 什么是PLL
- 程序员四大忌