shp文件格式
kml转化为shp文件

kml转化为shp文件摘要:1.KML 和SHP 文件格式简介2.KML 转换为SHP 的必要性3.KML 转换为SHP 的方法4.总结正文:一、KML 和SHP 文件格式简介KML(Keyhole Markup Language)是一种用于描述地理信息的XML 格式,由Google 公司开发,主要用于Google Earth 等地图软件。
KML 文件包含了地理对象的坐标、名称、高度等信息,可以描述点、线、面等地理特征。
SHP(Shapefile)是一种常见的地理信息系统(GIS)文件格式,可以包含点、线、面等地理对象,并且可以包含属性信息。
SHP 文件通常由.shp(几何图形)、.shx(索引)和.dbf(属性表)三个文件组成。
二、KML 转换为SHP 的必要性有时候,我们需要将KML 文件转换为SHP 文件,以便在GIS 软件中进行进一步的分析和处理。
例如,当我们需要将Google Earth 中的地理信息导入到ArcGIS 等GIS 软件中时,需要将KML 文件转换为SHP 文件。
三、KML 转换为SHP 的方法目前,有多种方法可以将KML 文件转换为SHP 文件,其中比较常用的方法是使用GDAL(Geospatial Data Abstraction Library)库。
1.安装GDAL 库:首先,需要在计算机上安装GDAL 库。
GDAL 是一个开源的地理信息系统库,支持多种操作系统,包括Windows、Linux 和Mac OS。
2.使用GDAL 转换KML 为SHP:在安装GDAL 库后,可以使用GDAL 命令行工具将KML 文件转换为SHP 文件。
例如,假设你有一个名为“example.kml”的KML 文件,你可以在命令行中输入以下命令:```gdal_polygonize.py -f "ESRI Shapefile" example.kml -o example.shp ```这条命令将把example.kml 文件转换为example.shp 文件。
shp文件格式

shp文件格式SDE,ARC/INFO,PC ARC/INFO,Data Automation Kit(DAK)和ArcCAD软件提供了shape 到coverage的数据转换器,ARC/INFO同样提供了coverage到shape的转换器。
为了和其他数据格式交换,shape文件的格式在本报告中被出版。
其他数据流,比如来自全球定位系统(GPS)接收机的数据能同样被存为shape文件或X,Y事件表。
Shape文件技术描述计算机程序能通过使用本节的技术描述来产生,读,写shape文件。
一个ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表。
主文件是一个直接存取,变量记录长度文件,其中每个记录描述一个有它自己的vertices列表的shape。
在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移,dBASE表包含一feature一个记录的feature的特征。
几何和属性间的一一对应关系是基于记录数目的。
在dBASE文件中的属性记录必须和主文件中的记录是相同顺序的。
命名习惯所有文件名都符合8.3命名习惯。
主文件,索引文件和dBASE文件有相同的前缀。
前缀必须是由字符或数字(a-Z,0-9)开始,后跟0到7个字符(a-Z,0-9,_,)主文件的后缀是.shp,索引文件的后缀是.shx,dBASE表的后缀是.dbf。
文件名中的所有字母在对文件名敏感的操作系统中都是小写的。
例子主文件:counties.shp 索引文件:counties.shx dBASE表:ounties.dbf数字类型一个shape文件存储整数和双精度数,本文档的余数指以下类型:整数:有符号32位整数(4字节)双精度:有符号64位IEEE双精度浮点数(8字节)浮点数必须是数字的值。
负无穷,正无穷和非数字(NaN)值在shape文件不被允许。
然而shape文件支持'没有数据'的值这样的概念,但是目前只用于衡量。
海洋等深线shp格式 -回复

海洋等深线shp格式-回复什么是海洋等深线?海洋等深线是指海洋中连接相同深度点的虚拟曲线。
它们可以用来表示海洋的深度分布,并用于航海和地理研究。
使用等深线可以帮助我们了解海洋底部的地形,揭示海洋中的海底山脉、海沟、海岬和海域的分布情况。
等深线的数据通常以矢量文件的形式存储,其中最常见的格式是.shp (Shapefile),这是一种由ESRI(环境系统研究所)开发的地理信息系统(GIS)文件格式。
.shp文件包含了等深线的几何形状和属性数据,而相关的.shx文件则包含了等深线几何形状的索引。
那么,如何获取或创建这样的海洋等深线shp文件?获取海洋等深线shp文件的一种方法是通过公开的地理信息数据库或海洋科学研究机构获取。
例如,美国国家海洋和大气管理局(NOAA)提供了一个公开的海洋地理信息系统(GIS)数据资源库,在这个数据库中可以找到全球海洋等深线的shp文件。
如果你想自己创建海洋等深线shp文件,需要先收集或获取相关的深度数据。
目前常用的方法是通过声纳测量,使用多波束声纳仪或单波束声纳仪来获取海洋底部的高分辨率测量数据。
这些数据可以通过数据处理软件,如Fledermaus、Caris HIPS和SIPS等进行处理和分析。
在数据处理软件中,首先需要对原始声纳数据进行处理,包括去除噪音、纠正仪器漂移和修正时间延迟等。
然后,可以根据深度测量数据生成等深线。
这可以通过插值算法来完成,例如反距离加权、三角剖分或样条插值等。
完成等深线生成后,可以导出为.shp文件。
在许多GIS软件中,可以通过导入深度数据和等深线生成点、线、面等要素,并将其导出为.shp文件。
导出后,可以对shp文件进行编辑,添加属性数据,例如海洋底部的地物类型、地质特征等。
除了获取或创建海洋等深线shp文件外,如何使用和应用这些数据?海洋等深线shp文件可以通过GIS软件进行可视化和分析。
通过将shp 文件加载到GIS软件中,可以直观地显示海洋中的等深线分布,帮助了解海底地形的特征。
经纬度转shp格式

经纬度转shp格式1. 简介在地理信息系统(GIS)中,经纬度是一种常用的坐标系统,用于表示地球上的位置。
而.shp(shapefile)是一种常见的矢量数据存储格式,可以包含点、线、面等几何要素以及与之相关的属性数据。
经纬度转.shp格式可以将地理坐标转化为GIS中可识别和处理的矢量数据。
本文将介绍经纬度转.shp格式的基本原理、实现方法和注意事项,并提供一个示例演示如何使用Python进行经纬度转.shp操作。
2. 原理经纬度是地球表面上某一点的位置坐标,由纬度和经度组成。
其中,纬度表示点在赤道平面上的位置,取值范围为-90°到90°;经度表示点在子午线平面上的位置,取值范围为-180°到180°。
.shp文件是一种二进制文件格式,包含几何图形和属性数据。
在将经纬度转化为.shp格式时,需要先创建一个空的.shp文件,并定义其几何类型(点、线或面),然后根据给定的经纬度数据,在空文件中添加对应的几何要素。
具体实现过程如下:1.创建一个空白的.shp文件,定义其几何类型。
2.读取经纬度数据,将其转化为.shp文件中的几何要素。
3.将几何要素添加到.shp文件中。
4.添加属性数据(可选)。
5.保存.shp文件。
3. 实现方法经纬度转.shp格式可以使用多种编程语言和GIS软件实现,如Python、ArcGIS、QGIS等。
下面以Python为例,介绍如何使用geopandas库进行经纬度转.shp操作。
3.1 安装依赖库在开始之前,需要确保已安装以下依赖库:•geopandas: 用于处理地理空间数据的Python库。
•pyproj: 用于地理坐标系统转换的Python库。
可以使用以下命令安装依赖库:pip install geopandas pyproj3.2 示例代码下面是一个示例代码,演示如何将经纬度数据转化为.shp格式:import geopandas as gpdfrom shapely.geometry import Point# 创建一个空白的GeoDataFramegdf = gpd.GeoDataFrame()# 设置几何类型为点gdf['geometry'] = None# 添加经纬度数据latitudes = [30.123, 31.456, 32.789]longitudes = [120.456, 121.789, 122.012]for lat, lon in zip(latitudes, longitudes):point = Point(lon, lat) # 创建一个点几何对象gdf = gdf.append({'geometry': point}, ignore_index=True)# 设置坐标参考系统gdf.crs = 'EPSG:4326' # 使用WGS84坐标系# 保存为.shp文件gdf.to_file('points.shp', driver='ESRI Shapefile')在上述代码中,首先创建一个空白的GeoDataFrame对象gdf,并设置其几何类型为点。
shp格式结构

shp格式结构(实用版)目录1.SHP 格式概述2.SHP 文件结构3.SHP 文件组成部分4.SHP 文件应用领域正文一、SHP 格式概述SHP 格式是一种地理信息系统(GIS)常用的矢量数据格式,全称为Shapefile。
它由 Esri 公司开发,被广泛应用于 GIS 软件中,用以存储地理对象的几何信息和属性数据。
SHP 格式文件的优势在于其易于处理、跨平台兼容以及支持多种地理数据类型。
二、SHP 文件结构SHP 文件主要由三个部分组成,分别是.shp(几何图形)、.shx(索引)和.dbf (属性数据)文件。
这三个文件共同构成了一个完整的 SHP 数据集,可以存储点、线或多边形等地理对象。
1..shp 文件:包含了地理对象的几何信息,如点、线或多边形。
这些几何信息以图形对象的形式存储,每个对象都包含了其对应的几何形状和属性数据。
2..shx 文件:存储了地理对象的索引信息。
索引对于高效地查找和处理地理对象至关重要,它可以提高 GIS 软件在处理 SHP 文件时的速度和性能。
3..dbf 文件:包含了地理对象的属性数据。
这些属性数据可以包括诸如道路名称、建筑物高度等各类信息。
.dbf 文件采用逗号分隔值(CSV)格式存储数据,方便用户进行导入和导出操作。
三、SHP 文件组成部分SHP 文件除了包含了.shp、.shx 和.dbf 文件外,还可能包括以下组成部分:1..prj 文件:存储了地理对象的投影信息。
投影是将地球表面的地理坐标转换为二维或三维坐标系统的过程,.prj 文件确保了 GIS 软件在处理 SHP 文件时能够正确地显示和分析地理数据。
2..xml 文件:提供了关于 SHP 数据集的元数据信息。
元数据包括了数据集的创建者、创建日期、数据源等描述性信息,这些信息对于了解和使用 SHP 文件非常有帮助。
四、SHP 文件应用领域SHP 格式文件在地理信息系统(GIS)领域具有广泛的应用,主要体现在以下几个方面:1.数据共享:SHP 格式的文件可以方便地在不同的 GIS 软件之间进行数据交换和共享,提高了数据的可操作性和复用性。
海洋等深线shp格式

海洋等深线shp格式海洋等深线shp格式是一种常用的地理信息系统(GIS)数据格式,用于描述海洋中不同深度的等值线。
这种格式适用于海洋测绘、海洋科学研究以及海洋资源开发等领域。
本文将介绍海洋等深线shp格式的基本特点、数据结构以及使用方法,以便读者更好地理解和应用这种格式。
一、基本特点海洋等深线shp格式是GIS常用的矢量数据格式之一,具有以下基本特点:1. 精确性:海洋等深线shp文件中包含了经纬度坐标、深度值等信息,能够准确地描述海洋中的等深线分布情况。
2. 可视化:使用GIS软件可以将海洋等深线shp文件转化为图像,直观地展示海洋中的等深线分布。
3. 数据交换性强:海洋等深线shp文件采用开放标准的格式,可以方便地与其他GIS数据进行交换和共享。
二、数据结构海洋等深线shp文件由多个文件组成,一般包括.shp、.shx、.dbf等文件。
1. .shp文件:存储了等深线的几何形状信息,包括线段的节点坐标、拓扑结构等。
2. .shx文件:存储了.shp文件的索引信息,用于提高数据的查询效率。
3. .dbf文件:存储了等深线的属性信息,如深度值、等级等。
三、使用方法使用海洋等深线shp文件可以进行多种操作和应用,包括数据查询、地理分析等。
下面以一个实际应用案例来介绍使用方法。
假设我们想了解某海域的等深线分布情况,首先需要获取对应的海洋等深线shp文件,然后可以使用GIS软件进行如下操作:1. 打开文件:在GIS软件中选择打开.shp文件,该文件将显示等深线的几何形状。
2. 属性查询:利用GIS软件提供的属性查询功能,可以通过.dbf文件中的深度值等属性信息,筛选出特定深度范围内的等深线。
3. 空间查询:通过GIS软件提供的空间查询功能,可以选择特定地理区域内的等深线。
4. 可视化展示:将等深线shp文件转化为图像,可以用颜色渐变的方式展示不同深度的等深线,帮助用户更直观地理解和分析海洋中的等深线分布。
arcgis-shp文件的组成

arcgis shp文件的组成
ArcGIS中的SHP文件是一种常见的地理数据格式,它由多个文件组成。
一个完整的SHP文件通常由三个文件组成,分别具有以下扩展名:
1. `.shp`(Shapefile):这是SHP文件的核心文件,包含几何图形和属性数据。
它存储了点、线、多边形等地理要素的几何信息。
2. `.shx`(Shapefile Index):这是SHP文件的索引文件,用于加快对SHP 文件的读取速度。
它存储了几何图形的位置和偏移量,方便在SHP文件中快速查找和访问特定的要素。
3. `.dbf`(dBASE File):这是SHP文件的属性数据文件,以dBASE格式存储。
它包含与几何图形相关联的属性数据,如名称、值等。
属性数据与几何数据之间通过记录索引进行关联。
除了这三个基本的文件,SHP文件还可能包含其他附加文件,如:
- `.prj`(Projection):这是空间参考文件,定义了地理数据的坐标系和投影信息。
- `.sbn` 和`.sbx`:这些是空间索引文件,用于提高SHP文件的查询性能。
- `.shm` 和 `.shp.xml`:这些是SHP文件的内部使用文件,包含了元数据信息、编辑历史等。
需要注意的是,SHP文件只能存储单一类型的几何要素(例如点、线或多边形)。
如果想要存储多个不同类型的几何要素,可以使用多个SHP文件或者使用GIS数据格式如File Geodatabase。
希望以上信息对你理解ArcGIS SHP文件的组成有所帮助。
如有其他问题,请随时提问。
SHP格式文档(中文翻译)

ESRI公司shapefile技术说明这份文档定义了shapefile (.shp)的空间数据格式,并且说明了为什么shapefiles 很重要。
它列出了在环境系统研究所股份有限公司可用的工具(ESRI),该软件可以直接生成shapefiles或者将资料从其他格式转换成shapefiles。
这份文档还为那些想编写自己独有的数据翻译器的组织提供了所有必需的技术资料,使他们可以编写电脑程序来生成shapefiles而不必使用软件ESRI。
什么是Shapefiles?Shapefile文件用来存储一个数据集中有关空间要素的无拓扑的几何和属性信息。
一个特征的几何布局是以一套矢量坐集的形式来存储的。
正因为Shapefile没有处理拓扑数据结构的开销,因此Shapefile比其他的数据结构具有更快的绘图速度和更强的编辑能力,Shapefiles能处理特征重叠或非连续的情况。
它们通常需要更少的磁盘空间,也更容易阅读和书写。
Shapefiles支持点状、线状和面状要素。
面状要素是封闭的环路,即双重数字化多边形。
属性数据被存在一个dBASE格式的文件中。
每一个属性记录都与相关的几何形状有一个一对一的关系。
如何生成ShapefilesShapefiles可以通过以下四种常用的方法来生成:导出成Shapefile格式—用ARC/INFO,PC ARC/INFO,SDE,ArcView GIS或者BusinessMAP软件从其他数据源导出成为Shapefile数据。
数字化—shapefiles可以通过使用ArcView GIS特征生成工具,把形状数字化而直接得到。
编程设计—利用Avenue (ArcView GIS)、MapObjects、ARC宏语言(AML )(ARC/INFO)或者简易宏语言(SML )(PC ARC/INFO)等软件,你就可以在你的程序中生成shapefiles。
通过创建程序直接写入Shapefile定义中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
shp文件格式发信人: liuwenjin (bull), 信区: GIS标题: shp文件格式发信站: 两全其美BBS (Mon Aug 29 23:36:04 2005), 本站() SHAPE 文件格式SDE,ARC/INFO,PC ARC/INFO,Data Automation Kit(DAK)和ArcCAD软件提供了shape 到coverage的数据转换器,ARC/INFO同样提供了coverage到shape的转换器。
为了和其他数据格式交换,shape文件的格式在本报告中被出版。
其他数据流,比如来自全球定位系统(GPS)接收机的数据能同样被存为shape文件或X,Y事件表。
Shape文件技术描述计算机程序能通过使用本节的技术描述来产生,读,写shape文件。
一个ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表。
主文件是一个直接存取,变量记录长度文件,其中每个记录描述一个有它自己的vertices列表的shape。
在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移,dBASE表包含一feature一个记录的feature的特征。
几何和属性间的一一对应关系是基于记录数目的。
在dBASE文件中的属性记录必须和主文件中的记录是相同顺序的。
命名习惯所有文件名都符合8.3命名习惯。
主文件,索引文件和dBASE文件有相同的前缀。
前缀必须是由字符或数字(a-Z,0-9)开始,后跟0到7个字符(a-Z,0-9,_,)主文件的后缀是.shp,索引文件的后缀是.shx,dBASE表的后缀是.dbf。
文件名中的所有字母在对文件名敏感的操作系统中都是小写的。
例子主文件:counties.shp 索引文件:counties.shx dBASE表:ounties.dbf数字类型一个shape文件存储整数和双精度数,本文档的余数指以下类型:整数:有符号32位整数(4字节)双精度:有符号64位IEEE双精度浮点数(8字节)浮点数必须是数字的值。
负无穷,正无穷和非数字(NaN)值在shape 文件不被允许。
然而shape文件支持‘没有数据‘的值这样的概念,但是目前只用于衡量。
某些小于-1038被shape文件读取程序用来代表‘没有数据‘的值。
下面的第一节描述shape文件的总体结构和组织。
第二节描述shape文件支持的每种shape类型的记录内容。
主文件的组织主文件(.shp)由固定长度的文件头和接着的变长度记录组成。
每个变长度记录是由固定长度的记录头和接着的变长度记录内容组成。
图1图解了主文件的结构。
图1 主文件的结构文件头记录头记录内容记录头记录内容记录头记录内容记录头记录内容…………记录头记录内容Shape文件中所有的内容可以被分为二类:与数据相关的:。
主文件记录内容。
主文件头的数据描述域(Shape 类型,边界盒等)与文件管理相关的:。
文件和记录长度。
记录偏移等整数和双精度整数在文件头中组成数据描述域,在主文件的记录内容是小ndian(PC或Intel)字节顺序。
组成文件的其余部分和文件管理的整数和双精度浮点数是大endian(Sun 或Motorola)字节顺序。
主文件头主文件头100字节长。
表1显示带有字节位置,值,类型和字节顺序的文件头中的域。
在此表中,位置是相对于文件的开始。
表1 主文件头的描述位置域值类型字节顺序0字节文件代码9994 整数大4字节未被使用0 整数大8字节未被使用0 整数大12字节未被使用0 整数大16字节未被使用0 整数大20字节未被使用0 整数大24字节文件长度文件长度整数大28字节版本1000 整数小32字节Shape类型Shape类型整数小36字节边界盒Xmin 双精度小44字节边界盒Ymin 双精度小52字节边界盒Xmax 双精度小60字节边界盒Ymax 双精度小68字节* 边界盒Zmin 双精度小76字节* 边界盒Zmax 双精度小84字节* 边界盒Mmin 双精度小92字节* 边界盒Mmax 双精度小*未被使用,值为0.0,若没有被衡量或是Z轴。
文件长度的值是在16位字下文件的总长度(包括组成文件头的50个16位字)。
在shape文件中的所有非空shape被需要是同种shape类型。
Shape类型的值如下:值shape类型0 空shape1 点3 多线5 多边形8 多点11 点Z13 多线Z15 多边形Z18 多点Z21 点M23 多线M25 多边形M28 多点M31 多斑块没有被定义的Shape 类型值(2,4,6等直到33)为将来可能的使用而保留。
目前shape文件被局限于包含以上定义的同种shape类型。
在将来shape文件可以被允许包含多于一种shape类型。
若混合shape类型被实现,文件头中的shape 类型将标识该文件。
主文件头的边界盒存储文件中shape的实际幅度。
最小边界X和Y直交的(潜在的M,Z)长方形包含了所有的shape。
若shape文件是空的(没有记录),min,Ymin,Xmax,Ymax的值是未被定义的。
Mmin和Mmax能包含shape文件用来衡量不包含衡量的shape类型的‘没有数据‘的值(参见2页的数字类型),记录头每个记录的头存储了记录的数目和记录内容的长度。
记录头有一个固定长度8字节。
表2显示文件记录头中域的字节位置,值,类型和字节顺序。
在表中,位置是相对于记录的开始的。
表2 主文件记录头文件的描述位置域值类型字节顺序0字节记录数目记录数目整数大4字节内容长度内容长度整数大记录数目从1开始。
一个记录的内容长度是按16位字衡量的记录内容长度。
每个记录因此为文件的总长度贡献(4+内容长度)个16位字,正如文件头是24字节一样。
主文件记录内容Shape文件记录内容包含一个shape类型和接着的该shape的几何数据。
记录内容的长度依赖于在一个shape中部分和vertices的数目。
对每种shape类型,我们首先描述该shape 然后是它在磁盘上的存储镜像。
在表3到16,位置是相对于记录内容的开始。
空shapeshape类型为0指代一种不带几何数据的空shape,每种要素类型(点,线,多边形等)都支持空,在同一个shape文件中有点和空的点是有效的。
常常空shape是放东西的地方;在shape文件产生时被使用和在产生后更被广泛地使用。
表3 空shape记录内容位置域值类型数目字节顺序0字节shape类型0 整数1 小在X,Y位置的Shape类型点一个点包括一对以X,Y顺序排列的双精度的坐标Point{Double X //X坐标Double Y //Y坐标}表 4 点记录内容位置域值类型数目字节顺序0字节shape类型 1 整数4字节X X 双精度1 小12字节Y Y 双精度1 小多点一个多点代表一个点的集合:MultiPoint{Double[4] Box //边界盒Integer NumPoints //点的数目Point[NumPoints] Points //在集合中的点}边界盒以Xmin,Ymin,Xmax,Ymax存储。
表 5 多点记录内容位置域值类型数目字节顺序0字节shape类型8 整数1 小4字节Box Box 双精度4 小36字节NumPoints NumPoints 整数40字节Points Points 点NumPoints 小PolyLine 一条PolyLine是指一条包含一个或多个部分的有序的vertices的集合。
一个部分是指二个或多个点彼此连接的顺序。
部分间彼此相连或不连。
部分间彼此可能相交或不相交。
因为该定义没有禁止有确定坐标的连续点,shape文件的读程序必须掌握这样的情况。
在另外,退化(degenerate)和可能导致零长度的结果是不被允许的。
PolyLine{Double[4] Box //边界盒Integer NumParts //部分的数目Integer NumPoints //点的总数目Integer[NumParts] Parts //在部分中第一个点的索引Point[NumPoints] Points //所有部分的点}PolyLine的域在以下为更详细的描述:Box 被存储的PolyLine的边界盒,以Xmin,Ymin,Xmax,Ymax的顺序存储。
NumParts 在PolyLine中部分的数目。
NumPoints 所有部分的点的总数目。
Parts NumParts长度的数列。
为每条PolyLine存储它在点数列中的第一个点的索引。
数列索引是从0开始的。
Points NumPoints长度的数列。
在PolyLine中的每一部分的点被尾到尾存储。
部分2的点跟在部分1的点之后,如此下去。
部分数列对每一部分保持开始点的数列索引。
在部分间点之间没有界限。
表 6 PolyLine记录内容位置域值类型数目字节顺序0字节shape类型 3 整数1 小4字节Box Box 双精度4 小36字节NumParts NumParts 整数1 小40字节NumPoints NumPoints 整数1 小44字节Parts Parts 整数NumParts 小X字节Points Points 点NumPoints 小注意:X=44+4* NumParts多边形一个多边形包含一个或多个环。
一个环是四或多个点彼此相连组成的一个闭合的彼此不相交的环。
一个多边形可能包括多个外环,一个环的vertices的顺序和方向指示环的哪一边是多边形的内部。
在多边形中的洞的环的vertices是逆时针方向的。
一个环组成的多边形总是顺时针方向的。
一个多边形的环是被做为它的一部分的。
因为该定义没有禁止有确定坐标的连续的点,shape 文件读程序必须解决这种情况。
在另外,退化(degenerate)和可能导致零长度的结果是不被允许的。
多边形的结构被定义为PolyLine结构,正如下文:Polygon{Double[4] Box //边界盒Integer NumParts //部分的数目Integer NumPoints //点的总数目Integer[NumParts] Parts //在部分中第一个点的索引Point[NumPoints] Points //所有部分的点}多边形的域在以下为更详细的描述:Box 被存储的多边形的边界盒,以Xmin,Ymin,Xmax,Ymax的顺序存储。
NumParts 在多边形中环的数目。
NumPoints 所有环的点的总数目。
Parts NumParts长度的数列。
为每条环存储它在点数列中的第一个点的索引。
数列索引是从0开始的。