Shape格式的文件是一种常用的保存gis文件的格式。底层为矢量存储。
ShapeFile的组成, 一个file header和一组gis元素的record。
一个file header, 具有固定长度为100bytes。里面指定了file length,shapeType,bounding box, version等等东西。
有一个奇怪的设计是它的编码有些是LE有些是BE,不知道这样是为了什么。
ShapeType指定了该shapefile中存储元素的类型。如Point,Polygon,PolyLine等等。
一个shapeFile只能存储一种shapeType的元素,这是它的一个限制。
一个gis元素的record=record header+record content。
record header为一个8bytes的记录头,记录了该纪录的number和length。
record content根据不同的shapeType有不同的格式。
例子1 int为4bytes,double为8bytes.
Point
{
Integer Shape Type
Double X // X coordinate
Double Y // Y coordinate
}
PolyLine
{
Integer Shape Type
Double[4] Box // Bounding Box
Integer NumParts // Number of Parts
Integer NumPoints // Total Number of Points
Integer[NumParts] Parts // Index to First Point in Part
Point[NumPoints] Points // Points for All Parts
}
可以看出,每个Record都会重复的纪录一次Shape Type。不知道这样是为了什么。
既然已经有了All the non-Null shapes in a shapefile are required to be of the same shape type.为什么又要存储每个record的shape type呢。
还有一个小的地方是shape file里面的长度度量一般是以16bits为单位的,这个不是什么问题,注意一下好了。
当然了,shape file其格式简单是一个优点,便于解析,适合做底层的gis data存储。 用很少的时间就可以写一个简单的基于shapefile的小地图查看器。
关于shape file伴生的为了执行速度的index fie和存储属性的dBase table file就不做介绍了。
分享到:
- 2009-03-20 15:53
- 浏览 1323
- 评论(0)
- 论坛回复 / 浏览 (0 / 2654)
- 查看更多
相关推荐
Shapefile是一种广泛用于地理信息系统(GIS)的数据存储格式,由Esri公司开发。...通过阅读“Shapefile文件格式完整版.pdf”,你可以深入理解这种格式的细节,以便更好地操作和理解Shapefile文件。
标题中的“谷歌kml/kmz文件转ArcGIS shapefile文件保留属性”指的是将源自谷歌地球(Google Earth)的KML或KMZ文件转换为ArcGIS兼容的Shapefile格式,并在此过程中保持原有的属性数据不丢失。KML(Keyhole Markup ...
这个“世界地图shapefile文件”包含了全球各个国家的边界数据,是地理数据分析和制图的重要资源。 Shapefile不单是一个文件,而是一组以.shp、.shx、.dbf等为扩展名的关联文件,每个都有特定的作用: 1. `.shp` ...
在C#中,我们可以利用第三方库如`RedShp.dll`来处理shapefile文件。这个库提供了读取和操作shapefile的API,使得开发人员能够轻松地集成地理数据到他们的应用程序中。`RedShp.dll`可能包含以下功能:打开shapefile,...
本文将探讨如何使用C++和MFC来实现shapefile文件的读写及基本功能操作。Shapefile是一种常见的地理信息系统(GIS)数据格式,通常用于存储地理空间数据,如点、线、多边形等几何对象。 首先,要处理shapefile,我们...
中国行政区划shapefile文件是一种地理信息系统(GIS)数据格式,用于表示中国各级行政区域的边界信息。这种文件常被用于地图制作、数据分析、规划研究等领域。Shapefile是Esri公司开发的一种流行的空间数据存储格式...
1. **第三方格式中转**:先将MapGIS文件转换为一种中间格式,再由该中间格式转换为Shapefile文件。 2. **单个文件转换**:MapGIS 6.15版本之后,支持将单个MapGIS文件转换为Shapefile文件,但会丢失所有符号信息。 ...
本教程将详细讲解如何利用VS2010、ArcGIS 10.2和C#进行"TEXT文本批量转shapefile文件"的二次开发过程。 1. **理解Shapefile格式**: Shapefile是一种流行的地理空间数据存储格式,由Esri公司开发,用于存储地理...
#### 二、ShapeFile文件格式概述 ShapeFile是由一组文件组成的,主要包括以下几种类型的文件: 1. **.shp(Shape File)**:用于存储空间要素的几何信息。 2. **.shx(Shape Index File)**:索引文件,用于关联....
c# 添加shapefile 组件gis
- 使用`FeatureStore`(通常是`FeatureSource`的一个子类)的`write`方法将数据写入新的Shapefile文件。 4. 注意事项: - 在处理Shapefile时,需考虑投影问题。Shapefile默认使用WGS84坐标系,但数据可能使用其他...
标题中的“北京地铁线路图 GIS图 shapefile文件 最新 2018”表明这是一个关于北京地铁系统在2018年的地理信息系统(GIS)数据,以shapefile格式提供的。GIS是一种强大的工具,用于管理和分析地理空间数据,而...
相关文档阅读包括《C# 程序设计》教程,《ESRI ShapefileTechnical Description》和《IBM DBF 文件格式》等。 六、 实验报告 实验报告包括实验名称、实验目的、实验准备、实验原理和实验结果等部分。实验名称为 ...
2. 将步骤二中导出的.dbf文件复制到保存ShapeFile文件的文件夹内,并将其重命名为与删除的.dbf文件相同的名字,确保点、线、区文件一一对应。 ##### 步骤五:修复几何关系 最后,为了保证转换后的ShapeFile文件...
本项目涉及的主题是“读取、编辑shapefile文件的C#小程序”,这是一个地理信息系统(GIS)相关的任务,shapefile是GIS领域常用的一种矢量数据格式。下面将详细介绍这个项目的相关知识点。 1. Shapefile基本概念: ...
本压缩包包含的五篇论文聚焦于AutoCAD格式如何转换为ArcGIS的shapefile格式,这将有助于理解和实践这两种格式间的互操作性。以下将详细介绍这一转换过程中的关键知识点。 1. AutoCAD格式:AutoCAD是由Autodesk公司...
**shapefile格式说明** Shapefile是一种广泛用于地理信息系统(GIS)的数据存储格式,由Esri公司开发。它被设计用来存储地理对象,如点、线、多边形以及相关的属性数据。Shapefile实际上是一个文件集合,包括至少三...
在GIS领域,SHP(Shapefile)是一种广泛使用的矢量数据格式,由Esri公司开发,常用于存储地理特征如点、线和多边形。 标题中的“四川地图shp文件”指的是一个包含了关于四川省地理信息的SHP格式文件集合。这类文件...