`
zhang_xzhi_xjtu
  • 浏览: 536391 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ShapeFile的文件格式设计

    博客分类:
  • GIS
阅读更多
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就不做介绍了。



分享到:
评论

相关推荐

    Shapefile文件格式完整版.rar

    Shapefile是一种广泛用于地理信息系统(GIS)的数据存储格式,由Esri公司开发。...通过阅读“Shapefile文件格式完整版.pdf”,你可以深入理解这种格式的细节,以便更好地操作和理解Shapefile文件。

    谷歌kml/kmz文件转ArcGIS shapefile文件保留属性

    标题中的“谷歌kml/kmz文件转ArcGIS shapefile文件保留属性”指的是将源自谷歌地球(Google Earth)的KML或KMZ文件转换为ArcGIS兼容的Shapefile格式,并在此过程中保持原有的属性数据不丢失。KML(Keyhole Markup ...

    世界地图shapefile文件

    这个“世界地图shapefile文件”包含了全球各个国家的边界数据,是地理数据分析和制图的重要资源。 Shapefile不单是一个文件,而是一组以.shp、.shx、.dbf等为扩展名的关联文件,每个都有特定的作用: 1. `.shp` ...

    青岛市县区边界shapefile文件

    青岛市县区边界shapefile文件是GIS(地理信息系统)领域中常用的一种数据格式,它用于存储地理空间信息,如行政区域的边界。这个压缩包包含了描述青岛市各个县区边界的详细地理数据。Shapefile是由Esri公司开发的,...

    学会用C#文件读取的shp(shapefile格式)文件并在窗口绘制

    在C#中,我们可以利用第三方库如`RedShp.dll`来处理shapefile文件。这个库提供了读取和操作shapefile的API,使得开发人员能够轻松地集成地理数据到他们的应用程序中。`RedShp.dll`可能包含以下功能:打开shapefile,...

    C++实现shapefile文件的读写以及基本功能的操作

    本文将探讨如何使用C++和MFC来实现shapefile文件的读写及基本功能操作。Shapefile是一种常见的地理信息系统(GIS)数据格式,通常用于存储地理空间数据,如点、线、多边形等几何对象。 首先,要处理shapefile,我们...

    中国行政区划shapefile文件

    中国行政区划shapefile文件是一种地理信息系统(GIS)数据格式,用于表示中国各级行政区域的边界信息。这种文件常被用于地图制作、数据分析、规划研究等领域。Shapefile是Esri公司开发的一种流行的空间数据存储格式...

    MapGIS文件快速转换Shapefile文件的研究

    1. **第三方格式中转**:先将MapGIS文件转换为一种中间格式,再由该中间格式转换为Shapefile文件。 2. **单个文件转换**:MapGIS 6.15版本之后,支持将单个MapGIS文件转换为Shapefile文件,但会丢失所有符号信息。 ...

    TEXT文本批量转shapefile文件

    本教程将详细讲解如何利用VS2010、ArcGIS 10.2和C#进行"TEXT文本批量转shapefile文件"的二次开发过程。 1. **理解Shapefile格式**: Shapefile是一种流行的地理空间数据存储格式,由Esri公司开发,用于存储地理...

    ShapeFile数据结构剖析及格式转换

    #### 二、ShapeFile文件格式概述 ShapeFile是由一组文件组成的,主要包括以下几种类型的文件: 1. **.shp(Shape File)**:用于存储空间要素的几何信息。 2. **.shx(Shape Index File)**:索引文件,用于关联....

    组件gis添加shapefile文件

    c# 添加shapefile 组件gis

    Java_Shapefile读写小程序

    - 使用`FeatureStore`(通常是`FeatureSource`的一个子类)的`write`方法将数据写入新的Shapefile文件。 4. 注意事项: - 在处理Shapefile时,需考虑投影问题。Shapefile默认使用WGS84坐标系,但数据可能使用其他...

    北京地铁线路图 GIS图 shapefile文件 最新 2018

    标题中的“北京地铁线路图 GIS图 shapefile文件 最新 2018”表明这是一个关于北京地铁系统在2018年的地理信息系统(GIS)数据,以shapefile格式提供的。GIS是一种强大的工具,用于管理和分析地理空间数据,而...

    C#读写SHAPEFILE

    相关文档阅读包括《C# 程序设计》教程,《ESRI ShapefileTechnical Description》和《IBM DBF 文件格式》等。 六、 实验报告 实验报告包括实验名称、实验目的、实验准备、实验原理和实验结果等部分。实验名称为 ...

    cad、MapGIS转ArcGIS_ShapeFile

    2. 将步骤二中导出的.dbf文件复制到保存ShapeFile文件的文件夹内,并将其重命名为与删除的.dbf文件相同的名字,确保点、线、区文件一一对应。 ##### 步骤五:修复几何关系 最后,为了保证转换后的ShapeFile文件...

    读取、编辑shapefile文件的C#小程序

    本项目涉及的主题是“读取、编辑shapefile文件的C#小程序”,这是一个地理信息系统(GIS)相关的任务,shapefile是GIS领域常用的一种矢量数据格式。下面将详细介绍这个项目的相关知识点。 1. Shapefile基本概念: ...

    AutoCAD格式转换ArcGIS的shapefile格式论文5篇

    本压缩包包含的五篇论文聚焦于AutoCAD格式如何转换为ArcGIS的shapefile格式,这将有助于理解和实践这两种格式间的互操作性。以下将详细介绍这一转换过程中的关键知识点。 1. AutoCAD格式:AutoCAD是由Autodesk公司...

    shapefile格式说明及读写代码示例

    **shapefile格式说明** Shapefile是一种广泛用于地理信息系统(GIS)的数据存储格式,由Esri公司开发。它被设计用来存储地理对象,如点、线、多边形以及相关的属性数据。Shapefile实际上是一个文件集合,包括至少三...

Global site tag (gtag.js) - Google Analytics