ArcGIS SHP文件10大"罪状"
The following article is from gisoracle Author 闫磊ArcGIS
1. 一个shp文件有好几个文件组成,使用不方便。
注意:在Windows复制文件,几个文件都要复制,少一个都不可以,也可以在ArcCatalog中复制粘贴。Shapefile格式是ArcGIS比较早的一种矢量数据格式,一个数据文件只能存储一种几何类型的数据,点层中只能存放点,面层只能存放面。
一个SHP数据最少有三个文件,分别是:
.SHP - 用于存储要素几何的主文件;必需文件。
.shx - 用于存储要素几何索引的索引文件;必需文件。
.dbf - 用于存储要素属性信息的 dBASE 表;必需文件。
几何与属性是一对一关系,这种关系基于记录编号。dBASE文件中的属性记录必须与主文件中的记录采用相同的顺序。各文件必须具有相同的前缀。例如,roads.SHP、roads.shx 和 roads.dbf,在 ArcCatalog(或任何 ArcGIS 程序)中查看 Shapefile 时,将仅能看到一个代表 Shapefile 的文件;但可以使用 Windows 资源管理器查看所有与Shapefile 相关联的文件。复制 Shapefile 时,建议在 ArcCatalog 中复制粘贴。但如果在 ArcGIS 之外复制 Shapefile,确保复制组成该 Shapefile 的所有文件一起被复制。
shp文件提示打开要素类时出错 形状数与表记录数不一致,没法加载。
2. 不能支持海量数据,总的shp可以超过2G,单文件最大2G。Shapefile文件有多个文件组成,但每个文件均被限制为 2 GB。因此,.dbf文件不能超过2 GB,.shp文件也不能超过 2 GB(只有这两个文件的容量会很大)。所有组成文件的总大小可以超过 2 GB。
3. SHP只能具体的点、线、面数据文件,不支持注记,CAD的注记,MapGIS注记不能转SHP。
4. SHP不支持高级功能的处理,如拓扑检查,必须转数据库。
5. SHP字段名只有10个字符,汉字只能3个以内,gdb数据库可以160个字符
6. SHP字符串最长支持254,最多127汉字,有些还不多,不能支持更长,数据库中可以是21亿。
7. SHP字段没有别名,地理数据库格式的如MDB、GDB数据中字段有别名,要素类有别名。
8. SHP文件不支持存储类似圆弧、弧段和复杂曲线。反过来把地理数据库中圆弧、弧段、复杂曲线转折线方法:导出成SHP文件,也可以使用“概化(Generalize)”工具,不过面积和长度会略有变化。
9. ArcGIS的GDB,MDB转shp,也会出现属性丢失,原因,在数据库中一个汉字占一位,shp可能一个汉字2位,或3位,不够少导出,字段名支持3汉字,10个英文。
10. 目前SHP格式已基本淘汰,在ArcGIS 10.2以上版本,汉字经常乱码,解决方法:做一个扩展名为.reg,内容如下:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ESRI\Desktop10.7\Common\CodePage]
"dbfDefault"="936"
注意的事项,其他版本的把10.7修改成对应版本的,双击运行就可以。ArcGIS建议采用文件地理数据库(gdb)格式,如果需要SHP文件,导出就可以了。
- END-
低代码助力数字孪生城市建设
从实景三维建模到数字孪生建模
从事测绘地信,这些插件和小工具可下载
GIS中拓扑检查和错误修改