服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

浅谈shapefile打开要素类失败那些事

日期: 来源:宝略科技收集编辑:宝略DT事业部



  引  用  

ESRI Shapefile(shp),或简称shapefile,是美国环境系统研究所公司(ESRI)开发的一种空间数据开放格式。该文件格式已经成为了地理信息软件界的一个开放标准。Shapefile文件用于描述几何体对象:点,折线与多边形。在日常工作中,我们时常会遇到shapefile文件损坏无法打开的问题,本文将对此类问题产生的原因进行阐述,并提供一种解决问题的方法。




01

报错原因分析


在尝试使用ArcMap添加shapefile文件时,有时会出现此类提示,具体描述为“打开要素类时出错,形状数与表记录数不一致”(Error: Number of shapes does not match number of table records。)。参考ESRI帮助文档,可知产生上述错误的原因主要有以下三种。
(1)保存编辑内容时计算机崩溃
这是最常见的现象。由于软件版本不稳定或数据量大或突然断点很可能造成编辑shp文件形成损坏。

(2)添加非法几何
任何数据库都可以对其数据进行结构定义。如果有非法的几何 将导致shp文件损坏。

(3)使用其他软件修改属性表
SHP文件是由多个文件组成,其中记录属性的dbf文件是不可缺少的,但如果用其他软件编辑过(例如,Microsoft Excel)也会造成文件损坏。




02

问题解决思路

  • shapefile文件组成

要解决此类问题,首先需要对shapefile的文件结构有一定了解,一个Shapefile文件最少包括三个文件:
主文件(*.shp)--存储地理要素的几何图形的文件。
索引文件(*.shx)--存储图形要素与属性信息索引的文件。
dBASE表文件(*.dbf)--存储要素信息属性的dBase表文件。

除此之外还有可选的文件包括:
空间参考文件(*.prj)、
几何体的空间索引文件(*.sbn 和 *.sbx)、
只读的Shapefiles的几何体的空间索引文件(*.fbn 和*.fbx)、
列表中活动字段的属性索引(*.ain 和 *.aih)、
可读写Shapefile文件的地理编码索引(.ixs)、
可读写Shapefile文件的地理编码索引(*.mxs)、
dbf文件的属性索引(*.atx)、
以XML格式保存元数据(*.shp.xml)、
用于描述.dbf文件的代码页,指明其使用的字符编码的描述文件(*.cpg)。






  • 错误解决方案

根据报错提示“形状数与表记录数不一致”可知,shapefile文件无法打开是由于其三个基本构成文件中的.shx和.dbf无法相互匹配造成的。.shx文件记录的图形数与.dbf记录的表记录数不一致,由于shapefile文件已无法打开,修改图形较为困难,本文选择的思路为修改.dbf的表记录数使其与.shx记录的图形数保持一致来解决问题。具体方案如下:通过Shape Checker工具获取.shx记录的图形数,通过dbf编辑软件增减表记录数使其与图形数保持一致。




03

案例演示

本文用到Shape Checker及DBF Viewer 2000两款软件均可在网络上找到免费的下载路径,在此不多赘述。
(1)首先备份一下受损数据原文件,然后在Shape Checker中加载受损矢量文件,并构建shx,获取图形数为11820。

(2)在DBF Viewer 2000中打开受损矢量的.dbf文件,添加两条记录使表记录数达到11820。


(3)在ArcMap中打开修复后的矢量文件,需注意,修复后的数据新加的dbf中的记录可能与实际不一致,需要手工排查一下。






04

结语

作为地信工作者,在日常的工作中,我们越来越离不开shapefile文件,若shapefile文件损坏后无法修复,往往意味着我们一天甚至几天的工作白费。本文分析了错误产生的原因并提供了一种简单可行的方法解决此类问题。


  往期热点,戳这里 


《技术分享 | “数字城市的Vlog相机--SLAM100”》



编辑 | 王陈强
一审 | 王   倩
二审 | 费佳宁
终审 | 周   鑫

相关阅读

  • 注意Libgcc_a挖矿病毒传播!内附自查方法

  • 点击蓝字关注我们一背景近期,我们监测发现一种新型劫持变种病毒,经分析其主体程序为XMrig挖矿病毒家族的变种,该病毒具有较强的顽固性和隐蔽性,难以被查杀,进程杀死后自启动。此
  • Windows平台Flutter桌面应用的底层模块化探索

  • 前言Windows应用开发有着较为丰富和多样的技术选型。C#/WPF 这种偏Native的闭源方案,目前开发人员相对比较小众了。C++/QT 的跨平台框架,C++对于GUI开发来说上手会更难。JavaS
  • 真香啊!又一个打包神器 Nuitka

  • ↓推荐关注↓一. pyinstaller和Nuitka使用感受1.1 使用需求这次也是由于项目需要,要将python的代码转成exe的程序,在找了许久后,发现了2个都能对python项目打包的工具——pyint
  • Linux Capabilities利用总结

  • 前言Linux对于权限的管理,系统权限只有root才有,对于普通用户只有一些有限的权限;而对于普通用户如果想进行一些权限以外的操作,之前主要有两种方法:一是通过sudo提权;二是通过SUI
  • 操作系统:文件系统的实现

  • 一、文件系统结构磁盘的逻辑单元为块,内存和磁盘之间的I/O传输以块为单位执行。磁盘的特点1可以原地重写,可以从磁盘上读一块儿,修改该块,并将它写回到原来的位置可以直接访问磁

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 浅谈shapefile打开要素类失败那些事

  • 引 用 ESRI Shapefile(shp),或简称shapefile,是美国环境系统研究所公司(ESRI)开发的一种空间数据开放格式。该文件格式已经成为了地理信息软件界的一个开放标准。Shapefile文
  • 基于空地融合的古建筑精细化建模

  • 引 言 INTRODUCTION党的二十大把“加大文物和文化遗产保护力度,加强城乡建设中历史文化保护传承”作为推动社会主义文化大发展大繁荣,实现全面建设小康社会的一项重要历史使命
  • 宝略科技2023年会即将启幕!

  • 世界何以向前?从此岸到彼岸数字的潜能驰骋于宇宙之间从虚拟到现实数字的流光穿梭于大千世界在瞬息万变的时代中数字已成为新一轮改革的动力之源宝略科技,以数字孪生为核心打造
  • 冰雪奇缘丨宝略科技2023年会盛典

  • 梦想的祈盼和实现之间,也许只差一场冰雪奇缘!Chapter 1 年会盛典,共启新的一年!2月11日,期盼已久的宝略科技2023年会在安吉大年初一酒店启幕。宁波总部及杭州、广州、绍兴等子公
  • 宁波市常务副市长华伟到宁波市统计局指导工作

  • 2月9日下午,宁波市委常委、常务副市长华伟到访宁波市统计局指导工作,宁波市统计局党组书记、局长许婷娅陪同。华伟领导一行调研指导统计工作,通过宝略科技研发的统计数据空间展