shapefile文件

基本信息编辑

ESRI公司的Shapefile文件是描述空间数据的几何和属性特征的非拓扑实体矢量数据结构的一种格式。

内容编辑

一个Shapefile文件最少包括三个文件:

主文件(*.shp)、--存储地理要素的几何图形的文件。

索引文件(*.shx)、--存储图形要素与属性信息索引的文件。

dBASE表文件(*.dbf),--存储要素信息属性的dBase表文件。

除此之外还有可选的文件包括:

空间参考文件(*.prj)、

几何体的空间索引文件(*.sbn 和 *.sbx)、

只读的Shapefiles的几何体的空间索引文件(*.fbn 和*.fbx)、

列表中活动字段的属性索引(*.ain 和 *.aih)、

可读写Shapefile文件的地理编码索引(.ixs)、

可读写Shapefile文件的地理编码索引(*.mxs)、

dbf文件的属性索引(*.atx)、

以XML格式保存元数据(*.shp.xml)、

用于描述.dbf文件的代码页,指明其使用的字符编码的描述文件(*.cpg)。

主文件是一个直接存取,变长记录的文件,其中每个记录描述一个实体的数据,称为shape。在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移量。dBASE表文件包含各个实体的属性特征记录。几何和属性间的一一对应关系是基于一个不重复的记录顺序代码来实现的,在dBASE表文件中的属性记录和主文件中的记录是相同顺序的。

时间: 2024-10-12 22:21:06

shapefile文件的相关文章

AE中Shapefile文件添加到SDE数据集

linder_lee 原文 AE中Shapefile文件添加到SDE数据集(c#) 主要完成用C#,通过AE将本地Shapefile文件导入到SDE的指定数据集下面. 首先说下思路: (1) 通过OpenFileDialog打开本地的Shp文件: (2)通过获取的Shp文件创建FeatureClass,获取shp的字段 IFields,并判断图层类别; (3)连接SDE中指定数据集,并创建新的FeatureClass: (4)将shp文件对应的 FeatureClass里的Feature复制到S

las点转为Shapefile文件,获取高程信息

将LiDAR点文件转换为Shapefile文件,方便ArcGIS9.3版本操作 const char *pSrcFileName = "D:\\LidarTestData\\1.las"; std::ifstream ifs;ifs.open(pSrcFileName, std::ios::in | std::ios::binary); if(ifs == NULL) { cout<<"null"<<endl; } liblas::Reade

shapefile文件锁定问题

之前很长一段时间,导出shapefile文件老是不能解锁,后缀为wr.lock及sr.lock的lock文件不能消除. 我是释放了要素类及游标等接口的: System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor)            System.Runtime.InteropServices.Marshal.ReleaseComObject(featureClass) 在网上搜了许多资料,按照别人办法用了IWo

使用OpenGL绘制 shapefile文件 完成最基本的gis操作

主要内容概述 1.解析shapefile(.shp)文件.‘ 2.将经纬度数据按照墨卡托投进行投影(调用proj.4库)完成. 3.将数据用OpenGL的方式进行绘制. 上述3方面只是完成初步的绘制,对于要完成一个复杂的地理信息系统还有很大的差距, 下面介绍我设计的简单的地理信息框架(用于交流,进步).先上个图,根据图来说更加易懂. 其中地图框架中包含多个物理地理图层,是真实存在的图层,所有在该图层下的数据都会被绘制到图层上(即一张图片). 物理图层中包含了多个逻辑图层(Layer),是为了方便

Spring-Boot ? ShapeFile文件读写工具类+接口调用

一.项目目录结构树 二.项目启动 三.往指定的shp文件里写内容 (1) json数据[Post] { "name":"test", "path":"c:/test", "geom":"MULTIPOLYGON(((101.870371 25.19228,101.873633 25.188183,101.880564 25.184416,101.886808 25.186028,101.89204

shapefile文件的符号化问题

我们都知道,ArcGIS的shp文件只以坐标形式保存地图数据,地图的显示方法则是存储都数据库或地图文件(mxd)中,这一点是深信不疑的. 如果我们打开ArcMap,新建一个普通的地图文件(使用标准的模板),加载一些shp文件进行,shp会进行符号化,但这个符号化是普通的,比如对于Polyline是1.0宽的,如果有多条Polyline,其颜色有所不同. 问题:为什么高速公路层和铁路层已进行了符号化,符号化的样式是保存在shp文件中?问题原帖 我将图层的名称修改后,再加入进来就不一样了:我把Arc

skyline开发——加载Shapefile文件

1 //1)获取道路的GroupID 2 string dlId = ptm.FindGroupByName("道路"); 3 IFeatureLayer66 featureLayer = null; 4 string tShapeFileName = path + "out_feature_class.shp"; 5 string tConnectionString = String.Format("FileName={0};TEPlugName=OGR

GDAL1.11版本对SHP文件索引加速测试

GDAL库中对于矢量数据的读取中可以设置一些过滤器来对矢量图形进行筛选,对于Shapefile格式来说,如果数据量太大,设置这个过滤器时间慢的简直无法忍受.好在GDAL1.10版本开始支持读取Shapefile文件的空间索引文件(.sbn / .sbx)来进行加速.下面就同样的数据同样的代码来对GDAL1.9.0和GDAL1.11.0两个版本进行测试时间,比较下速度(看到结果你肯定会张大嘴巴的--). 首先是测试代码,功能很简单,两个shp文件,一个点文件,一个面文件.面文件很大,需要根据点文件

C#读写Shapefile

Shapefile文件是ArcGIS存储矢量要素的标准格式,要读写Shapefile最简单的方法当然是基于ArcObject(或者ArcEngine)开发,不过网上也有一些开源的解译Shapefile的代码都是值得参考的,lz曾经用到过一个,源码已经贴到下边,有兴趣的可以下载看看(来源已经记不清了,如果这是您的代码请联系我),下边是两种方法的代码,其实代码很简单,但由于经常会用到所以记下来以便日后查阅.直接上代码. 打开Shapefile: public static IFeatureClass