转自:http://lab.osgeo.cn/2449.html

Shapefile是ESRI提出的数据格式,随着ArcView GIS 3.x发布,属于简单要素类。Shapefile由于其数据结构简单,容易实现,得到了广泛的应用,在有段时间,几乎可以说是GIS数据格式的实际格式。当然,随着技术的发展,Shapefile的数据格式显得有些落后了,但它依然是目前应用最为广泛的数据格式。

Shapefile使用点、线、多边形存储要素的形状,具有简单、快速显示的优点;缺点是不能存储拓扑关系。一个shapefile是由若干个文件组成的,空间信息和属性信息分离存储,所以称之为“基于文件”的GIS数据格式。

每个shapefile,都至少有这三个文件组成,其中:

  • *.shp文件,存储的是几何要素的的空间信息,也就是XY坐标;
  • *.shx文件,存储的是有关*.shp存储的索引信息。它记录了在*.shp中,空间数据是如何存储的,XY坐标的输入点在哪里,有多少XY坐标对等信息;
  • *.dbf文件,存储地理数据的属性信息的dBase表。

这三个文件是构成一个shapefile的基本文件,shapefile还可以有其他一些文件,但所有这些文件都与该shapefile同名,并且存储在同一路径下。

其它较为常见的文件:

  • *.prj文件,如果shapefile定义了坐标系统,那么它的空间参考信息将会存储在*.prj文件中;
  • *.shp.xml文件,这是对shapefile进行元数据浏览后生成的xml元数据文件;
  • *.sbn文件和*.sbx文件,这两个存储的是shapefile的空间索引,它能加速空间数据的读取。这两个文件是在对数据进行操作、浏览或连接后才产生的,也可以在ArcGIS中通过ArcToolbox >Data Management Tools >Indexes >Add spatial Index工具生成。

当使用ArcCatalog对shapefile进行创建、移动、删除或重命名等操作,或使用ArcMap对shapefile进行编辑时,ArcCatalog将自动维护数据的完整性,将Shapefile视为一个数据集。

虽然Shapefile无法存储拓扑关系,但它并不仅仅是普通用于显示的图形文件,作为地理数据,它自身是有拓扑的。比如一个多边形要素类,shapefile会按顺时针方向为它的所有顶点排序,然后按顶点顺序两两连接成的边线向量,在向量右侧的为多边形的内部,在向量左侧的是多边形的外部。

由于1990年代地理信息的迅速发展以及ArcView GIS 3.x软件在世界范围内的推广,shapefile格式的数据使用非常广泛,数据来源也较多。很多软件都提供了向shapefile转换的接口(如:MapInfo、MapGIS等)。ArcGIS支持对shapefile的编辑操作,也支持shapefile向第三代数据模型geodatabase的转换。

GIS数据格式:Shapefile的更多相关文章

  1. GIS数据格式:Coverage

    转自:http://www.cnblogs.com/w2william/archive/2009/10/15/1583954.html 我之前做了一个模块,基本实现了ArcCatalog中左边树状结构 ...

  2. GIS数据格式:Geodatabase

    转自:http://www.cnblogs.com/quansixiang/archive/2010/09/17/1829286.html 1  Geodatabase概念 Geodatabase是A ...

  3. 更小的GIS数据格式-Geobuf

    背景 我们经常遇到直接传输gis数据到前端展示的时候,有时候数据量一稍微多点,传输速度就减慢,因为我们用于传输的json格式比较大. Geobuf介绍 Geobuf是一种用于地理数据的紧凑二进制编码. ...

  4. gis数据格式转换(数据导入)ConvertFeaCls

    本文主要对数据导入等里 常用的不同格式数据创建.转换等 进行代码示例.主要用到IFeatureDataConverter.ConvertFeatureClass方法. 代码如下,难度不大,只是个技巧问 ...

  5. GIS数据格式topojson

    Topojson源自于GeoJson,是D3中描述地理数据的格式,D3的作者觉得GeoJson太繁琐.同样的数据,TopoJson是GeoJson的1/5. 这里有一个转换TopoJson,GeoJs ...

  6. 【GIS数据格式】ArcInfo Binary Grid Format

    最近在修改项目时发现有些提取的坡度数据在参与了下一步计算后会出错,仔细跟了代码之后发现AE生成的坡度数据和其他一些分析后的栅格都被存储为.adf文件.说起惭愧,并不了解这是什么数据,由于下层算法使用G ...

  7. 开源GIS软件初探

    谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不 ...

  8. 空间分析工具:GIS

    1.数据空间 数据空间是指用来表示空间实体的的位置.几何特征及其属性特征的数据. 位置:经纬度.地址.相对位置: 几何特征:点.线.面.形状: 属性特征:面积.周长.人口.经济等属性. POI数据.O ...

  9. 开源GIS浅谈 【转】

    http://blog.csdn.net/happyduoduo1/article/details/51773850 谈到GIS软件,首先让我们想到的是GIS界的龙头大哥ESRI公司旗下的ArcGIS ...

随机推荐

  1. yiic创建YII应用 "php.exe"不是内部或外部命令 解决办法

    第一步:运行CMD命令.   第二步:进入Yiic文件的目录   (例如在D盘里面 D:/yii/framework)   第三步:D:\yii\framework>yiic webapp D: ...

  2. Linux 网络I/O模型

    前言 本文是笔者的第一篇博文,在这篇文章的大部分内容基于steven大神的<Unix Network Programming>.一来是对书本内容的整理与归纳.二来也是为接下来的博文奠定基础 ...

  3. 组织http请求

    post方式 string stratTime=""; string end=""://要拼接的参数 string postURL = "http:/ ...

  4. 解决ie8不兼容jquery trim问题

    /*为原形添加方法*/String.prototype.trimBoth = function() { return this.replace(/(^\s*)|(\s*$)/g, "&quo ...

  5. trigger

    trigger() 方法触发被选元素的指定事件 <html><head><script type="text/javascript" src=&quo ...

  6. jquery控制左右箭头滚动图片列表

    jquery控制左右箭头滚动图片列表的实例. 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  7. SQL技术内幕二DDL

    创建数据库: if db_id('DBTest') is nullcreate database DBTest 创建表 use eb_fy_data_test---use 切换所在数据库上下文 if ...

  8. php中一些安全性防止问题建议

    只要我们作好了各类操作就可在基本防止一些朋友利用网站本身的漏洞进行网站操作了,很多在php中都有的如XSS用 htmlentities()预防XSS攻击还有sql注入可以用mysql_real_esc ...

  9. 使用.net 的Chart控件绘制曲线图

    在进行软件开发过程中我们可能会碰到需要生成图表的情况,在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你 ...

  10. linux nginx安装

    操作系统centOS7安装nginx: 1.如果centOS7中未安装编译器,先安装gcc编译模块 yum install gcc gcc-c++ ncurses-devel perl 2.安装ngi ...