GIS数据格式:Shapefile
转自: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的更多相关文章
- GIS数据格式:Coverage
转自:http://www.cnblogs.com/w2william/archive/2009/10/15/1583954.html 我之前做了一个模块,基本实现了ArcCatalog中左边树状结构 ...
- GIS数据格式:Geodatabase
转自:http://www.cnblogs.com/quansixiang/archive/2010/09/17/1829286.html 1 Geodatabase概念 Geodatabase是A ...
- 更小的GIS数据格式-Geobuf
背景 我们经常遇到直接传输gis数据到前端展示的时候,有时候数据量一稍微多点,传输速度就减慢,因为我们用于传输的json格式比较大. Geobuf介绍 Geobuf是一种用于地理数据的紧凑二进制编码. ...
- gis数据格式转换(数据导入)ConvertFeaCls
本文主要对数据导入等里 常用的不同格式数据创建.转换等 进行代码示例.主要用到IFeatureDataConverter.ConvertFeatureClass方法. 代码如下,难度不大,只是个技巧问 ...
- GIS数据格式topojson
Topojson源自于GeoJson,是D3中描述地理数据的格式,D3的作者觉得GeoJson太繁琐.同样的数据,TopoJson是GeoJson的1/5. 这里有一个转换TopoJson,GeoJs ...
- 【GIS数据格式】ArcInfo Binary Grid Format
最近在修改项目时发现有些提取的坡度数据在参与了下一步计算后会出错,仔细跟了代码之后发现AE生成的坡度数据和其他一些分析后的栅格都被存储为.adf文件.说起惭愧,并不了解这是什么数据,由于下层算法使用G ...
- 开源GIS软件初探
谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不 ...
- 空间分析工具:GIS
1.数据空间 数据空间是指用来表示空间实体的的位置.几何特征及其属性特征的数据. 位置:经纬度.地址.相对位置: 几何特征:点.线.面.形状: 属性特征:面积.周长.人口.经济等属性. POI数据.O ...
- 开源GIS浅谈 【转】
http://blog.csdn.net/happyduoduo1/article/details/51773850 谈到GIS软件,首先让我们想到的是GIS界的龙头大哥ESRI公司旗下的ArcGIS ...
随机推荐
- 国内IT技术博客对比
今天我想就自己对用了国内几个IT行业领先的博客做一个心得体会的总结: 我总共是用了三个,第一个是新浪,第二个是CSDN,第三个是博客园: 当然期间有自己搭建过wordpress,也用了一段时间,但是感 ...
- [原创整理]这些术语你知道吗?(Web篇)
每一个术语代表的或是一种技术,或是一项标准,那么,作为混在IT界这个江湖的你,对这些术语熟悉么? 你知道它们所指代的事物么?你知道他们被创造的目的么?你了解了设计者的思想与精髓了么?亲,跟上时代的脚步 ...
- 客户端(android,ios)与服务器通信
android,ios客户端与服务器通信为了便于理解,直接用PHP作为服务器端语言 其实就是一个 http请求响应的过程序,先从 B/S模式说起浏览器发起http请求,服务器响应请求,并把数据返回给浏 ...
- 用PHP实现单向链表
供参考,代码还可继续打磨 同时放在了我的github上:https://github.com/hheedat/demo/blob/master/learn_php/58_linked_list.php ...
- 百度地图API应用实践(一) —— 栅格图(草稿)
概述 运用百度地图JS API,实现了在百度地图上绘制栅格并按统计值渲染栅格颜色.实现的过程是不断补习的过程,其中用到一些技术,是个人首次尝试.包括:(1)简单的jQuery语法,并实现Ajax:(2 ...
- platform_driver_register()--如何match之后调用probe
int platform_driver_register(struct platform_driver *drv) { drv->driver.bus = &platform_bus_t ...
- cognos实现自动登陆common logon server
参考帖子:http://www.cognoschina.net/club/thread-29255-3-1.html 没有实现自动登录前,每次打开pyi 都要输入用户名密码,利用脚本加载的时候十分不方 ...
- Python3.4 多线程
线程安全和全局解释器锁 Thread State and the Global Interpreter Lock 总结: 通过使用GIL后, Python多线程安全, 并且数据保持同步. Python ...
- MINA实战
backlog,放入到acceptor队列中还未处理最大数量: solinger参数,用来说明close之后是否直接关闭:参数越大,等待时间越长. mina中的udp处理,即使对端关闭也会继续传输,但 ...
- 关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)
JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应 ...