搜档网
当前位置:搜档网 › AE 读取坐标 & 写入坐标 @ shp文件

AE 读取坐标 & 写入坐标 @ shp文件

AE 读取坐标 & 写入坐标 @ shp文件
AE 读取坐标 & 写入坐标 @ shp文件

ArcGIS Engine下写入、读取和显示shapfile文件中的数据

2010-10-30 Saturday by sfg

环境:ArcEngine 9.3 Visual Studio 2005 Windows XP

语言:C++,C#

主要涉及到的类库和接口:

GeoDatabase (GeoDatabaseObjectModel.pdf)

IWorkspaceFactory,IWorkspace,IWorkspaceEdit

IFeatureClass(继承于Table),IFeature ,IField,IFields,IFieldEdit,IFieldsEdit

IGeometryDef,IGeometryDefEdit

IDataSet (IGeoDataset(IFeatureDataset,IRasterDataset),T able)Carto

Map,IMap,IActiveView,IGraphicsContainer

ILayer,

Controls

MapControl,IMapControl2,IMapControlEvents2

Geometry

IPoint,IPolyline,IPolygon,IPointCollection

DataSourcesFile

ShapefileWorkspaceFactory

1. 显示

A. 直接调用MapControl的AddShapefile()函数

String path = @“C:\”;

String fileNm = “abcFile”;

axMapControl1.AddShapeFile(path, fileNm);

或者使用一个对话框与用户交互选择文件

OpenFileDialog ofdlg = new OpenFileDialog();

ofdlg.Filter = "Shapefiles (*.shp)|*.shp";

ofdlg.Multiselect = false;

if(ofdlg.ShowDialog() == DialogResult.OK)

{ 获取路径/文件名}

B. 先将文件添加到Layer,然后将Layer添加到MapControl

ESRI.ArcGIS.Geodatabase.IWorkspaceFactory workspaceFactory = new

ESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactoryClass();

ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace =

(ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspaceFactory.OpenFromFile(System.IO.Path. GetDirectoryName(shapefileLocation), 0); //创建工作区间

ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass =

featureWorkspace.OpenFeatureClass(System.IO.Path.GetFileNameWithoutExtension(shapefileLo cation)); //打开要素集

ESRI.ArcGIS.Carto.IFeatureLayer featureLayer = new ESRI.ArcGIS.Carto.FeatureLayerClass();

featureLayer.FeatureClass = featureClass; https://www.sodocs.net/doc/f614262433.html, = featureClass.AliasName;

featureLayer.Visible = true;

ESRI.ArcGIS.Carto.IActiveView activeView = axMapControl1.ActiveView;

activeView.FocusMap.AddLayer(featureLayer); //添加图层

activeView.Extent = activeView.FullExtent;

activeView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGeography, null, null); //刷新

//以上代码为C#语言

2. 读取坐标数据

下面都是以shapefile为数据源

Method A:用Toolbar上的“Add file”按钮将shp数据添加到MapControl中,然后从MapControl中获取Layer,再获取FeatureClass。即Layer->FeatureClass->Feature->Geometry.

Method B: 自己设置shp文件路径和文件名,创建IFeatureWorkspace的实例,然后打开shp文件获得FeatureClass。即

WorkspaceFactory->Workspace->FeatureClass->Feature->Geometry(Shape)->Point(或Polyline)

下面代码采用方法B。

//获取工作区

IWorkspaceFactoryPtr ipWorkspaceFactory ( CLSID_ShapefileWorkspaceFactory );

IWorkspacePtr ipWorkspace;

ipWorkspaceFactory->OpenFromFile( ( _bstr_t )( FileFullName ) , NULL , & ipWorkspace ) ;

//获取FeatureClass

IFeatureWorkspacePtr ipFeatureWorkspace = (IFeatureWorkspacePtr)ipWorkspace ;

IFeatureClassPtr ipFeatureClass ;

HRESULT hr = ipFeatureWorkspace->OpenFeatureClass( CComBSTR( strName ) , & ipFeatureClass ) ;

//获取Feature

IFeaturePtr ipFeature;

ipFeatureClass->GetFeature(featureID , & ipFeature ) ;

//获取几何对象

IGeometryPtr ipGeometry;

ipFeature->get_Shape( & ipGeometry ) ;

//获取集合类型

esriGeometryType geoType; //esriGeometryPoint,esriGeometryPolyline,

esriGeometryPolygon

ipGeometry->get_GeometryType( & geoType ) ;

//假设shp文件存储的是Polyline,对线进行读取,

if (geoType != esriGeometryPolyline) return;

IPointCollectionPtr ipPointCollection = (IPolylinePtr)ipGeometry; //转换为点集合

IPointPtr ipPoint;

ipPointCollection->get_Point( pointID , & ipPoint ) ;

double x;

ipPoint->get_X ( & x ) ; //这样就获得了第i个点的x坐标值

//以上代码为C++语言

//VC环境下获得控件指针方法

m_ipMapControl = this->GetDlgItem( IDC_MAPCTRL )->GetControlUnknown(); //获取控件

IActiveViewPtr ipActiveView;

HRESULT hr = m_ipMapControl->get_ActiveView( &ipActiveView ); //获取活动视图

3. 写入Geometry到shapefile

//创建点

IPointPtr ipPoint( CLSID_Point );//IPointPtr ipPoint (__uuidof(Point));

ipPoint->put_X( x ); //设置点的坐标值

ipPoint->put_Y( y );

//创建Polyline

IPointCollectionPtr ipPointCollection

ipPointCollection->AddPoint(ipPoint ) ;

IPolylinePtr ipPolyline = ipPointCollection;

IGeometryPtr ipGeometry = ipPolyline ;

//说明:FeatureClass只能CreateFeature(),不提供添加Feature的接口,所以,要往FeatureClass里面添加Feature,不能先创建Feature再将其添加到FeatureClass里面。而是应该先创建FeatureClass,由FeatureClass创建一个Feature,再对Feature进行编辑并保存。

//创建FeatureClass

IFeatureClassPtr ipFeatureClass = CreateShapefile(); //在工作空间创建shp文件

//创建工作区间并打开编辑环境

IWorkspaceEditPtr ipWorkspaceEdit ;

ipWorkspaceEdit = this->m_ipWorkspace ; //设置(或创建)工作区间

ipWorkspaceEdit->StartEditing( VARIANT_TRUE ) ;

ipWorkspaceEdit->StartEditOperation() ;

//创建Feature

IFeaturePtr ipFeature;

ipFeatureClass->CreateFeature( & ipFeature ) ; //在FeatureClass里增加了一个Feature

//存入几何数据

ipFeature->putref_Shape( ipGeometry ) ;

//存入属性信息

IFieldsPtr ipFields ;

ipFeature->get_Fields( & ipFields ) ;

long fieldIndex;

ipFields->FindField( CComBSTR( "Tri_ID" ) , & fieldIndex ) ;

ipFeature->put_Value(fieldIndex, 123 ) ; //设置字段值

//保存修改并结束编辑

ipFeature->Store() ;

ipWorkspaceEdit->StopEditOperation() ;

ipWorkspaceEdit->StopEditing( VARIANT_TRUE ) ;

AfxMessageBox(_T("输入至Shapefile完毕"));

//以上代码为C++语言

//创建Shapefile文件并返回其FeatureClass引用

IFeatureClassPtr CreateShapefile()

{

//打开工作区间

IWorkspaceFactoryPtr ipWorkspaceFactory( CLSID_ShapefileWorkspaceFactory ) ;

IWorkspacePtr ipWorkspace ;

char * filePath = “C:\\Workspace”;

hr = ipWorkspaceFactory->OpenFromFile( CComBSTR(filePath ) , NULL , & ipWorkspace ) ;

IFeatureWorkspacePtr ipFeatureWorkspace ( ipWorkspace ) ;

//建立要素集的属性表(字段集)1. 、2.

IFieldsPtr ipFields( CLSID_Fields );

IFieldsEditPtr ipFieldsEdit = ipFields; //字段集

IFieldEditPtr ipFieldEdit; //字段

//1. 创建“Shape”字段,凡是shapefile都有,用于存放几何信息

IFieldPtr ipField_Shape( CLSID_Field ); //实例化一个字段

ipFieldEdit = ipField_Shape;

ipFieldEdit->put_Name( CComBSTR( L"Shape" ) );

ipFieldEdit->put_Type (esriFieldTypeGeometry );

ipFieldEdit->putref_GeometryDef( CreateGeometryDefine() ); //设置几何定义, shape

字段才需要定义

ipFieldsEdit->AddField(ipField_Shape); //添加到字段集

//2. 创建其他字段

IFieldPtr ipField_Height( CLSID_Field ) ;

ipFieldEdit = ipField_Height ;

ipFieldEdit->put_Name( CComBSTR( L"高程" ) ) ;

ipFieldEdit->put_AliasName( CComBSTR( L"高程") ) ;

ipFieldEdit->put_Type( esriFieldTypeInteger ) ;

//ipFieldEdit->put_Precision( ( long int ) 32 ) ;

ipFieldEdit->put_IsNullable( VARIANT_TRUE ) ;

ipFieldsEdit->AddField( ipField_Height ) ;

//按同样方式创建其他字段……

//创建FeatureClass(即shapefile)

IFeatureClassPtr ipFeatureClass;

char * filePath = “newShp”;

HRESULT hr = ipFeatureWorkspace->CreateFeatureClass( CComBSTR( fileName ) , ipFields , NULL , NULL , esriFTSimple , CComBSTR( L"Shape" ) , NULL , ipFeatureClass ) ;//如果工作空间已存在同名要素集则创建失败。

return ipFeatureClass;

}

//创建几何定义:几何类型和坐标系(空间参考)

IGeometryDefPtr CreateGeometryDefine ()

{

//定义空间参考

ISpatialReferenceFactory2Ptr ipSpaRefFact2( CLSID_SpatialReferenceEnvironment );

IGeographicCoordinateSystemPtr ipGeoCoordSys ;

ipSpaRefFact2->CreateGeographicCoordinateSystem( esriSRGeoCS_Beijing1954 ,

&ipGeoCoordSys); //定义为“北京1954”坐标系

ISpatialReferencePtr ipSRef = ipGeoCoordSys;

//几何定义

IGeometryDefPtr ipGeoDef( CLSID_GeometryDef );

IGeometryDefEditPtr ipGeoDefEdit = ipGeoDef;

ipGeoDefEdit->put_GeometryType( esriGeometryPolygon ); //设置几何类型为面

ipGeoDefEdit->putref_SpatialReference(ipSRef); //设置空间参考

return ipGeoDef;

}

//ps. 创建Polygon的方法

INewPolygonFeedbackPtr ipNewPolygonFeedback( CLSID_NewPolygonFeedback ) ; IPolygonPtr ipPolygon ;

ipNewPolygonFeedback->Start( ipPoint ) ;

for ( j = 1 ; j < count ; j ++ )

{

ipPoint->put_X( pointSet[ j ].x ) ;

ipPoint->put_Y( pointSet[ j ].y ) ;

ipNewPolygonFeedback->AddPoint( ipPoint ) ;

}

ipNewPolygonFeedback->Stop( & ipPolygon ) ;

SHP文件格式的研究与应用

第31卷第6期2006 年11月 测绘科学 Sc i ence o f Survey ing and M app i ng V o l 131N o 16 N ov 1 作者简介:刘锋(1980O ),男,中国测绘科学研究院摄影测量与遥感专业研究生,主要从事RS 和G IS 开发与应用研究。E O m a i:l li ufeng1980421@1261com 收稿日期:2006O 01O 05 基金项目:国土资源部土地资源遥感监测信息获取与处理软件开发(2003AA131010) S HP 文件格式的研究与应用 刘锋,张继贤,李海涛 (中国测绘科学研究院,北京 100039) 【摘 要】在全国第二次土地详查中,土地利用基础图件大部分是以S H P 文件格式存储的,因此在对土地利用基础图件进行更新的过程中,首要的问题是对SHP 文件的访问。本文以解决这一问题为目标,以S HP 文件中常用的多边形元素为例,对S H P 文件中二进制格式的元素表示方法加以阐述,并以程序实现的方式对资料进行了访问,最终在项目中得到了充分的应用。【关键词】土地利用基础图件;S H P 文件格式;多边形元素【中图分类号】TP311 【文献标识码】A 【文章编号】1009O 2307(2006)06O 0116O 02 1 引 言 S H P 文件格式是美国ESR I 公司生产的A rcV iew 和A rc G IS 软件的专用资料格式,它将地理空间资料以坐标点串的形式存储起来。A rcV iew 以其易用性和灵活性受到大量用户的喜爱,占有极高的市场占有率,广泛应用于国土资源、环境、地学等领域中。现在S H P 文件格式已经成为G IS 界的一种标准格式,几乎所有的G IS 软件都支持对它的转换甚至支持对其直接进行读写操作,大量的工程项目也往往把SHP 文件格式作为首选格式,因而每个从事研究G IS 人员都应该详细的了解和掌握SHP 文件格式。 2 SHP 文件格式说明 通常开发人员可以采用自带的开发软件包对资料的采集、入库、查询以及分析进行编程。但是他们开发的地理信息软件包所处理的文件格式通常与S HP 格式不兼容。但是如果清楚了S H P 文件的编码方式就可以利用常用的开发工具(如V C ,V B)等将自定义文件格式转换为S H P 文件格式。 不同于其它各种转换文件格式如M IF 、M I D 、E00等,S H P 文件格式采用编码效率较高的二进制格式。点的坐标采用双精度保存,保证了点的精确度。S HP 文件系统由三个文件组成:S H P 文件、S HX 文件和DBF 文件。S H P 文件中存储每个地物的空间资料,S HX 文件主要存储了S HP 文件中每个地物元素的起始位置和所占字节的大小,D BF 文件存储每个地物元素的属性资料。相对于向量图形中的每个元素,S H P 文件中都有相应的一个段落与之对应,所以其资料格式有一定的复杂性。 每个S H P 文件都包含一百个字节的文件头信息,文件头记录了文件中常用的基本信息,信息如表1所示: 表1 主文件头的描述 位置域值类型字节次序 Byte 0文件代码9994整型B i g Byte 4未使用0整型B i g Byte 8未使用0整型B i g B yte 12未使用0整型B i g B yte 16未使用0整型B i g B yte 20未使用0整型B i g B yte 24文件长度文件长度整型B i g B yte 28版本1000整型Littl e B yte 32形状类型形状类型整型Littl e B yte 36边界盒X 坐标最小值双精度Littl e B yte 44边界盒Y 坐标最小值双精度Littl e B yte 52边界盒X 坐标最大值双精度Littl e B yte 60边界盒Y 坐标最大值双精度Littl e B yte 68边界盒Z 坐标最小值双精度Littl e B yte 76边界盒Z 坐标最大值双精度Littl e B yte 84边界盒M 最小值双精度Littl e B yte 92 边界盒 M 最大值 双精度 Littl e 其中,0-3字节表示文件代码,固定值为9994,字节排列方式为倒序排列;3-19字节为空,固定值为0,字节排列方式为倒序排列;19-23字节为文件的大小,取值为文件的长度,字节排列方式为倒序排列(并以十六b it 存储);24-27字节为文件的版本,固定值为1000,字节排列方式为正序排列;28-31字节为地物的形状类型,取值如表二所示(x,y 为二维坐标,m 为度量坐标,z 为高程坐标),字节排列方式为正序排列: 表2 形状类型 值形状类型描述 0NULL Shap e 空地物类型 1Poi n t 单点类型(包含x ,y 坐标)3Pol yL i ne 线类型(每个点包括x ,y 坐标)5 Polygon 多边形类型(每个点包括x ,y 坐标)8M ulti Po i nt 多点类型(每个点包含x ,y 坐标)11Poi n t Z 单点类型(包含x ,y ,m,z 坐标)13Po l yL i neZ 线类型(每个点包含x ,y ,m,z 坐标)15Pol ygonZ 多边形类型(每个点包括x ,y ,m,z 坐标)18M u lti P oi n t Z 多点类型(每个点包括x ,y ,m,z 坐标) 21 Poi n M t 单点类型(包括x ,y ,m 坐标)23Pol yL i ne M 线类型(每个点包括x ,y ,m 坐标)25Polygon M 多边形类型(每个点包括x ,y ,m 坐标)28M ulti P o i nM t 多点对象(每个点包括x ,y ,m 坐标)

下载SHP矢量格式的等高线

如何下载SHP矢量格式的等高线 一、什么是等高线? 等高线指的是地形图上高程相等的相邻各点所连成的闭合曲线,把地面上海拔高度相同的点连成的闭合曲线,并垂直投影到一个水平面上,并按比例缩绘在图纸上,就得到等高线。等高线也可以看作是不同海拔高度的水平面与实际地面的交线,所以等高线是闭合曲线,在等高线上标注的数字为该等高线的海拔。 二、如何下载SHP矢量格式的等高线 首先,请确保水经注万能地图下载器软件版本为X3.0build1469以上,然后我们只需要以下几步即可下载到SHP矢量格式的等高线。 第一步:切换到在线高程数据地图 点击视图中的“高程”可以切换到高程数据视图,你可以在视图中看到即时渲染的半透明高程数据图,如下图所示。

第二步:按行政区下载高程 点击软件顶部的“下载”工具,会有多种确定下载范围的方式供你选择。 如果选择的“屏幕范围”,将会按当前屏幕显示的范围下载,另外也可以通过框选、绘制多边型或导入面状的DXF\SHP\KML\KMZ文件的方式来确定下载区域。 这里我们以下载“工布江达县”行政区域为例。 首先在软件的右上角点击“区划”并选择“西藏自治区”,然后选择“林芝地区”下的“工布江达县”,最后会在地图中显示行政区域并同时显示“下载”按钮,如下图所示。

点击“下载”按钮,在“新建任务”对话框中选择第15级(该级别对应的高程采样间距为10米左右),并确保存储格式为TIF、勾选裁剪功能和背景透明功能,如下图所示。 点击对话框中的“确认”按钮之后将会自动生成并导出TIF格式的高程数据。 第三步:提取SHP矢量等高线 TIF高程数据必须用 Global Mapper 或ArcGIS等专业软件中才能看到地形起伏的渲染

FMECAD转GISshp格式文档操作方法

MFE使用文档:CAD格式专程GIS的shp文件 一、CAD文件的查看和预览 目的:确定CAD文件每个图层包含的数据集,点point,线line,面polygon 数据,以及CAD文件的扩展属性。 1、用FME Universal Viewer 打开要转换的CAD文件 1,File——opendataset 打开CAD文件 2,选择输入数据的格式DWG和数据的路径 如下图: 3,如图 图中viewspace 中各个数据集是CAD的各图层名称

以axes图层为例关闭其他图层,只打开axes图层 可以发现axes图层只有Line 数据 注:所以在以后的转化中axes图层只有线line数据其他数据为空不需要转换 4,点击:按钮,可以选侧对象的要素 点击view中的一条线段要素,可以查看这条线段要素的扩展属性 其中extended_data_list{0-6}为选中要素的扩展属性,可以看到我们需要的扩展属性如:中路,10025,这些重要的扩展属性 其他图层的查看方法相同,有的图层没有扩展属性。 例如:JMD图层 可以查看,有三个要素集area line text 有数据 所以在以后的转换中药有三个要素的转换面,线,点的要素的转换。

二,应用FME Workbench自定义转换CAD数据 目的:按照要求把CAD的数据转换到GIS shp文件中,扩展属性读取在shp文件的表中1,打开FME Workbench 选择 2,选择读入数据的类型DWG和数据的路径,和目标文件的格式ESRI Shape 3,选择要读入的数据的图层 本文以读入axes图层为例,选择读入axes图层

shp文件详细格式

2.2.2Shape files数据说明 Shape files是ESRI提供的一种矢量数据格式,它没有拓扑信息,一个Shape files由一组文件组成,其中必要的基本文件包括坐标文件(.shp)、索引文件(.shx)和属性文件(.dbf)三个文件。 1.坐标文件的结构说明 坐标文件(.shp)用于记录空间坐标信息。它由头文件和实体信息两部分构成(如图2.1所示)。 1)坐标文件的文件头 坐标文件的文件头是一个长度固定(100 bytes)的记录段,一共有9个int型和7个double型数据,主要记录内容见表2.2。 …… …… 图2.1 坐标文件的结构

表2.2 shapefiles 头文件表 注:最后4个加星号特别标示的四个数据只有当这个Shapefile文件包含Z方向坐标或者具有Measure值时才有值,否则为0.0。所谓Measure值,是用于存储需要的附加数据,可以用来记录各种数据,例如权值、道路长度等信息。 (1)位序 细心的读者会注意到表2.2中的数值的位序有Little和big的区别,对于位序是big 的数据我们在读取时要小心。通常,数据的位序都是Little,但在有些情况下可能会是big,二者的区别在于它们位序的顺序相反。一个位序为big的数据,如果我们想得到它的真实数值,需要将它的位序转换成Little即可。转换原理非常简单,就是交换字节顺序,下面是作者实现的在两者间进行转换的程序,代码如下: //位序转换程序 unsigned long OnChange ByteOrder (int indata) { char ss[8]; char ee[8]; unsigned long val = unsigned long(indata); _ultoa( val, ss, 16 );//将十六进制的数(val)转到一个字符串(ss)中 int i; int length=strlen(ss); if(length!=8) { for(i=0;i<8-length;i++) ee[i]='0';

CASS输出SHP文件说明

CASS输出SHP文件说明 CASS输出SHP文件的定义主要在其安装目录下的AttriBute.def文件中。 文件作用:SHP文件格式定义文件。 例: *T_ReferPoint,1,A01,测量控制点 FeatureID,100,6,0,要素代码 ReferPointID,12,20,0,内部编号 PntName,0,24,0,点名 PntNo,0,16,0,点号 说明:AttriBute.def文件中有所有的表及字段名。 1、我们先看第一行,“*”用来标示新的表的开始,“T_ReferPoint”为表名。 2、第二位为数据类型,即几何类型,用一位数字来表示,数据类型对应表如下: 数据类型对应表: 12345 点线面注记复合 3、第三位对应于数据组织表中的层号。可以和数据分层表进行联系。 4、“测量控制点”,即为这个表的说明文字,用来描述此表。 5、我们再来看看第二行,第一位是本表的主键,一般用要素代码来标示,用该主键名来描述,上例中即为“FeatureID ”。 6、第二位为判断码,程序实现时用来判断要读取的编码类型,10:南方CASS代码,100:用户代码。我们做数据接口时,要采用用户标准,所以用100来填充此位。 7、第三位为字长,用户提供的标准中有采用的数据库的数据类型表,根据此表,我们可以确定每个字段对应的类型和字长。比如:“Numeric(10,3)”,我们这里要特别注意,根据程序角度来处理,字长应该为10,而不是10+3=13。 8、第四位为小数点位,即为要保留的小数点后位数,同理,我们可以根据数据类型表来确定。 9、最后一位是文字说明,也就是字段说明。 10、这里要注意时间类型,还有Blob类型,即影象数据,字长应该为2,小数点位应该为0。 11、从第三行开始,到下个表开始之前,每行的结构都相同。 12、第一位是除主键的其他字段名, 13、第二位是数据类型,具体对应表见: 14、后面几位就对应到第二行的后面几位,用同样的方式来处理。 数据类型表: 标示符具体类型注释标示符具体类型注释 0Varchar Char 字符串 30文本注记字体Char 1短整33文字符号大小2Numeric长整43X坐标 3Decimal Date 浮点 53Y坐标

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文件支持'没有数据'的值这样的概念,但是目前只用于衡量。某些小于-1038被shape文件读取程序用来代表'没有数据'的值。 下面的第一节描述shape文件的总体结构和组织。第二节描述shape文件支持的每种shape 类型的记录内容。 主文件的组织 主文件(.shp)由固定长度的文件头和接着的变长度记录组成。每个变长度记录是由固定长度的记录头和接着的变长度记录内容组成。图1图解了主文件的结构。 图1 主文件的结构 文件头 记录头记录内容 记录头记录内容 记录头记录内容 记录头记录内容 ……

导入SHP文件时如何标注指定属性字段

导入SHP文件时如何标注指定属性字段 Shape文件格式由ESRI设计,一个ESRI(Environmental Systems Research Institute)的shape文件包括一个SHP主文件,一个SHX索引文件和一个DBF属性文件(dBASE表)组成,这三文件必须时在同一目录,缺一不可,名称也必须完全相同。 常用的KML和DXF文件可以点线面对象混合存储,但一个SHP文件中只能存储一种类型的数据,如点数据、线数据或面数据,不能混合存储。 SHP文件可以在ArcGIS中打开,打开点对象文件时,默认只显示点,但也可以通过相关配置进行标注。

SHP文件也可以在 Global Mapper 中直接打开,但不会将字段标注出来。 在万能地图下载器的“我的标注”中点击“导入”按钮,打开SHP文件之后会自动列出属性字段,可以选择导入后需要标注的字段。

数据成能导入之后,会按选择字段的值作为每个点对象的标注文本。 在所属目录中单击鼠标右键,可以批量修改所有对象的相关显示参数。

在属性对话框中,可以修改字体的大小和颜色等标注文本的显示参数,点击“图标”按钮,可以为点对象更换图标。 图标对话框中列出了丰富的图标可供选择,后续的版本将提供更多的行业图标和导入自定义图标等相关实用功能。

选择了新图标之后,所有图标都将会全部修改,如果只需要修改个别点对象的图标,则只需要在该对象上单击鼠标右键修改即可。

由于点对象太多,点与点之间会自动聚合并显示聚合的数目,点击“设置”可以关闭该功能。 关闭自动聚合功能之后,点对点之间会相互叠加,显示速度也有一定影响,因此一般情况下建议开启自动聚合功能。

ArcGIS常用文件格式

ArcGIS常用文件格式 遥感影像数据 如果是原始的卫星影像,有可能是磁带存储的二进制格式,即*.bin。 如果是从地面站买到的数据,多半是Geo-Tiff的格式,即带有坐标的Tiff图。 如果是已经格式调整完成,等待分类、分析的影像,一般为*.img格式 Shapefile数据 1. shp存储几何要素的空间信息,即XY坐标Shapefile文件用于描述几何体对象:点, 折线与多边形。 2.shx存储了有关.shp存储的索引信息,即shp中空间数据的存储方式,XY坐标的输入 点在哪里,有多少XY坐标对等信息 3.dbf存储地理数据的属性信息的dBase表 4.prj存储了文件的空间参考信息,如坐标系统等 5.shp.xml对元数据浏览后生成的xml元数据文件 6.sbn和sbx存储对shapefile的空间索引,加速空间数据的读取 7.Shapefile无法存储拓扑信息。在ESRI的文件格式中,ArcInfo 的Coverage、以及 Personal/File/Enterprise地理数据库,能够保存地理要素的拓扑信息。 8.shp文件或.dbf文件最大的体积不能够超过2 GB(或231位)。也就是说,一个 shapefile最多只能够存储七千万个点坐标。 Coverage数据

1.aat弧段属性表,记录弧段的起点和终点坐标信息 2.adf为coverage格式,包括lab.adf、arc.adf、sec.adf、pal.adf、cnt.adf、tic.adf、lnk.adf、 bnd.adf都记录了坐标信息,arx.adf、pax.adf为索引文件和pat.adf、aat.adf为属性文件 3.pat点属性表,记录lable点的坐标信息 4.tic控制点,用于配准地图的点 5.aux保存栅格文件自身不能保存的辅助信息,包括彩色地图信息,直方图或表格,坐 标系统,变换信息,投影信息 6.rrd保存影像金字塔信息索引,加速显示和漫游 7.dat属性信息 8.nit属性表定义文件 9.dir属性表路径管理文件,用于关联dat和nit Geodatabase数据

shp文件格式

shp文件格式 发信人: liuwenjin (bull), 信区: GIS 标题: shp文件格式 发信站: 两全其美BBS (Mon Aug 29 23:36:04 2005), 本站(https://www.sodocs.net/doc/f614262433.html,) 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图解了主文件的结构。

shp文件讲解

shp文件格式内部结构 ESRI shp文件格式内部结构(2008-09-01 15:18:24)标签:杂谈 Shape文件是ArcGIS的基础文件类型,存储了非拓扑几何和属性信息。Shape文件支持点、线、区域的几何特征,由于不需要处理拓扑数据结构文件头,在编辑等方面具有更快的处理速度。本文通过对ESR I公司发布的 原版资料ESRI Shapefile Technical Descrip tion的翻译解读,剖析Shape文件的结构,利用VB写出直接 生成Shape文件的代码。 2 Shape文件结构 2. 1 Shape文件的文件构成Shape文件由3 个文件构成: 主文件、索引文件、数据文件。 其中主文件的后缀必须是. shp;索引文件的后缀必须是. shx;数据文件的后缀必须是. dbf,这3个 文件共同组成Shape文件。各文件中存储的数据相互联系又各有区别。主文件中是Shape的位置信 息;索引文件是对主文件的索引,指出主文件中记录在文件中的位置信息;数据文件中包括Shape的具 体位置和属性信息。 2. 2 . shp文件的结构 . shp文件由文件头和文件记录构成(图1) ,其中文件大部分结构见表1。 文件头 记录头记录内容 记录头记录内容 记录头记录内容 记录头记录内容 ··· ··· 记录头记录内容 图1 . shp文件的结构 其中Shape类型是ArcGIS定义的图形类型,具体可以参考Shapefile Technical Descrip tion。 每个记录由记录头、记录内容两部分组成。记录头部分由两部分组成: 0~3字节是长整型的记录 数, 4~7字节是记录内容的长度。文件头中的文件长度与记录头中的记录长度均以字( 2 字节)为单 位。记录内容对不同的Shape类型定义不一样,但原理是相同的。因篇幅所限,这里以记录点(point) 类型为例进行说明。点( point)类型的每个记录的记录内容为: 0~3字节长整型的Shape类型、4~11 字节双精度的X坐标、12~19字节双精度的Y坐标。所以记录头中的记录长度就是2 + 4 + 4 = 10个 字长,文件头中文件长度就是50 (文件头长) +总记录数3 14。

shp文件格式说明

shp文件格式说明 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.shpxx文件: counties.shx dBASE表: ounties.dbf数字类型一个shape文件存储整数和 双精度数,本文档的余数指以下类型: 整数: 有符号32位整数(4字节) 双精度: 有符号64位IEEE双精度浮点数(8字节)浮点数必须是数字的值。负无穷,正无穷和非数字(NaN)值在 shape文件不被允许。然而shape文件支持'没有数据'的值这样的概念,但是目前只用于衡量。某些小于-1038被 shape文件读取程序用来代表'没有数据'的值。 下面的第一节描述shape文件的总体结构和组织。第二节描述shape文件支持的每种shape类型的记录内容。 主文件的组织 主文件(.shp)由固定长度的文件头和接着的变长度记录组成。每个变长度记录是由固定长度的记录头和接着的变 长度记录内容组成。图1图解了主文件的结构。 图1主文件的结构 文件头

shp文件格式说明

shp文件格式说明 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被

ArcGIS中几种数据格式的意义

ArcGIS中几种数据格式的意义 ArcInfo常用以下格式的数据:shp、Coverage、、Raster CAD和Geodatabase。各种数据的组织形式不一样,其中shp、Coverage、Raster、CAD为文件类型,Geodatabase为空间数据库。Workstaion 常用Coverage数据格式。现在ESRI公司推荐使用Geodatabase,一个真正实现对象存储的空间数据库,Geodatabase分为PersonalGeodatabase和企业Geodatabase,前者使用Access数据库,后者支持MSSQLServer、DB2、InforMix、Oracle等企业数据库系统,企业Geodatabase必须使用ESRI公司的SDE访问。 Shapefile:一种基于文件方式存储GIS数据的文件格式。至少由shp、dbf、shx三个文件作成,分别存储空间,属性和前两者的关系,是GIS中比较通用的一种数据格式。此外,还有prj、shp.xml、sbn 和sbx四种文件: prj存储了坐标系统, shp.xml是对shapefile进行元数据浏览后生成的xml元数据文件,sbn和sbx存储的是shapefile的空间索引,它能加速空间数据的读取,这两个文件是在对数据进行操作、浏览或连接后才产生的,也可以通ArcToolbox>DataManagementTools>Indexes>AddspatialIndex工具生成。注意:每个文件的大小有2GB的限制。 Coverage:一种拓扑数据结构,一般的GIS原理书中都有它的原理论述。数据结构复杂,属性缺省存储在Info表中。目前ArcGIS中仍然有一些分析操作只能基于这种数据格式进行操作。

shp文件组织结构

shp文件格式(转载)05.08.31 from joey来源以文找文

。主文件头的数据描述域(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 空shape 1 点 3 多线 5 多边形 8 多点 11 点Z 13 多线Z 15 多边形Z 18 多点Z 21 点M 23 多线M 25 多边形M 28 多点M 31 多斑块

shp文件结构

* Unused, with value 0.0, if not Measured or Z type Big表示大尾(big endian)型字节顺序,即是高低位字节是反序的,主要适用于Sun? or Motorola?平台,而Little表示小尾(little endian)型字节顺序,高低位字节顺序不变,主要使用在PC or Intel?平台。在读取的字节为Big时,需要进行字节顺序交换,才能得出正确的值。一个把Big顺序转换为Little顺序的函数可以如下: int Big2LittleEndian(int num) { int reverse; //返回结果 char bit0, bit1, bit2, bit3; bit0 = (num & 0x000000ff);

bit1 = (num & 0x0000ff00) >> 8; bit2 = (num & 0x00ff0000) >> 16; bit3 = (num & 0xff000000) >> 24; reverse = (bit0 << 24) | (bit1 << 16) | (bit2 << 8) | (bit3); return reverse; } 文件头中第32-35位字节为一个整型,其值反映了shapefile的图形对象类型,具体值对应含义如下: 第36-67个字节包含了图幅的范围大小。 每条记录由记录头和实体内容组成,记录头格式固定,具体组成如下所示:

记录头包含8个字节,0-3表示记录的顺序号,4-7表示记录实体自身的大小。 实体的内容根据对象类型不同而变化,需根据具体情况处理。 .shx文件由文件头和记录组成,文件头与前述.shp文件一致,但需注意File Length字段的值不一样。而每条记录由2个整型组成,具体内容如下: 其中,offset表示该条记录在.shp文件中的字节位置,而Content Length 说明了记录的大小。 标准的DBF文件,是由头文件和实体信息两部分构成(如图1所示)。 …… …… 图1 DBF文件的结构 文件头部分的长度是不定长的,它主要对DBF文件作了一些总体说明(表),其中最主要的是对这个DBF文件的记录项的信息进行了详细地描述,比如对每个记录项的名称、数据类型、长度等信息都有具体的说明。

ShapeFile格式说明

ShapeFile格式说明 1、Shape技术描述 一个完整的ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表文件。主文件是一个直接存取,变记录长度文件,其中每个记录描述一个由其顶点列表组成的shape。在索引文件中,每条记录是在主文件中对应记录距离主文件头部的偏移量。dBASE中记录的是对应主文件中记录的属性记录,每条主文件记录对应dBASE中的一条属性记录。几何对象和属性间的一一对应关系是基于记录编号的。在dBASE文件中的属性记录必须和主文件中的记录保持相同的顺序。 1.1命名习惯 所有文件名都遵循8.3命名习惯。主文件,索引文件和dBASE文件有相同的前缀。前缀必须是由字符或数字(a-Z,0-9)开始,后跟0到7个字符(a-Z,0-9,_,)主文件的后缀是.shp,索引文件的后缀是.shx,dBASE表的后缀是.dbf。在对文件名敏感的操作系统中,文件名中的所有字母都是小写的。 例子: 主文件:counties.shp 索引文件:counties.shx dBASE表:ounties.dbf 1.2数字类型 Shape格式文件存储整数型和双精度型数据,本文档的余下部分将涉及到以下类型: 整数:有符号32位整数(4字节) 双精度:有符号64位IEEE双精度浮点数(8字节) 浮点数必须是数字值。负无穷,正无穷和无效数字(NaN)在shape文件中是不合法的。然而,shape文件支持“没有数据”这样的概念,但是目前只用于带有measure值的情况。所谓Measure值,是用于存储需要的附加数据,可以用来记录各种数据,例如权值、道路长度等信息。某些小于-1038被shape文件读取程序用来表示为“没有数据”的值。 下面的第一节描述shape文件的总体结构和组织。第二节描述shape文件支持的每种shape 类型的记录内容。 2、主文件的组织 主文件(.shp)由固定长度的文件头和后面变长的记录组成。每个变长记录是由固定长度的记录头和紧接着的变长记录内容组成。图1是主文件的结构。 图1 主文件的结构 文件头

Shape文件及其编辑

第五章Shape文件及其编辑 Shapefile是ArcView存贮空间数据的内部缺省文件格式。利用这一简单的、非拓仆型的格式,ArcView实现了地理要素属性信息与几何位置的统一贮存,这正是目前大多数GIS 专业软件流行的设计方法。 第一节 Shape格式及其优点 ArcView的Shape文件格式可以通过其自身的实用工具创建,也可以经由ARC/INFO coverage或其它的桌面地图格式转换得到。转换既可以在其它程序中进行(比如:在ARC/INFO中,使用ARCshpe及shpeARC命令便可以实现coverage与shpe文件之间的双向转换),也可以在ArcView界面下来做(先将数据源调入,然后再转换模块将其转换成Shape格式,参见“空间分析”部分)。以上特点充分反映了ArcView对数据格式的灵活性和高度兼容性。 Shape文件实际上只是ArcView进行GIS数据管理(定义感兴趣的地理要素的几何关系及要素属性)的5种核心文件类型之一。这5种文件作为项目工作组的内容被贮存于同一个工作目录中,相互以不同的扩展名相区别: .shp——贮存地理要素的几何关系的文件。. .shx——贮存图形要素的几何索引的文件。 .dbf——贮存要素属性信息的dBASE文件。当Shape文件作为一个主题被加入到视图之后,该.dbf文件将会作为一个要素表格来显示。 .sbn和sbx——贮存地理要素的空间位置索引的文件。除非您执行过类似于选择“主题之主题”、空间连接等操作,或者您对一个主题(属性表)的Shape字段创建过一个索引,否则这两种格式的文件将不会存在。另外得注意:如果您在进行各种操作过程中,中途没有对源数据目录进行过类似于“保存项目”之类的“写操作”,那么当您最终关闭ArcView 或当前Project时,程序将会自动剔除这两种邻时文件而使其不能在磁盘中得以永久保存,如果出现这样情况,那么您就无法在当前工作目录下找到它们。 .ain和aih文件——贮存地理要素主题属性表或其它表格的活动字段的属性索引信息的文件。除非您执行过“表格链接”(Link)操作,否则这两个文件是不会存在的。如果您中途没有对源数据目录进行过写操作(保存项目),那么这两个文件最终也不会自动在当前工作目录中得以保存。 一、ArcView用.Shp作为默认文件扩展名的优点 1、基于其非拓仆性,可以使文件迅速在视图中显示出来。

SHP格式文档(中文翻译)

ESRI公司shapefile技术说明 这份文档定义了shapefile (.shp)的空间数据格式,并且说明了为什么shapefiles 很重要。它列出了在环境系统研究所股份有限公司可用的工具(ESRI),该软件可以直接生成shapefiles或者将资料从其他格式转换成shapefiles。这份文档还为那些想编写自己独有的数据翻译器的组织提供了所有必需的技术资料,使他们可以编写电脑程序来生成shapefiles而不必使用软件ESRI。 什么是Shapefiles? Shapefile文件用来存储一个数据集中有关空间要素的无拓扑的几何和属性信息。一个特征的几何布局是以一套矢量坐集的形式来存储的。 正因为Shapefile没有处理拓扑数据结构的开销,因此Shapefile比其他的数据结构具有更快的绘图速度和更强的编辑能力,Shapefiles能处理特征重叠或非连续的情况。它们通常需要更少的磁盘空间,也更容易阅读和书写。 Shapefiles支持点状、线状和面状要素。面状要素是封闭的环路,即双重数字化多边形。属性数据被存在一个dBASE格式的文件中。每一个属性记录都与相关的几何形状有一个一对一的关系。 如何生成Shapefiles Shapefiles可以通过以下四种常用的方法来生成: 导出成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定义中。SDE、ARC/INFO、PC ARC/INFO、Data Automation Kit (DAK )和ArcCAD软件提供从形状到内容的数据翻译器。ARC/INFO 还可以提供一种从内容到形状的翻译器。为了能与其他数据格式相互转化,shapefiles的规范也被刊载于本文档中。其它的数据流,例如那些来自全球定位系统(GPS )接收器的数据流,也可以储存成shapefiles或者X、Y事件表。

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 文件支持'没有数据'的值这样的概念,但是目前只用于衡量。某些小于-1038 被shape 文件读取程序用来代表'没有数据'的值。 下面的第一节描述shape 文件的总体结构和组织。第二节描述shape 文件支持的每种shape 类型的记录内容。 主文件的组织 主文件(.shp )由固定长度的文件头和接着的变长度记录组成。每个变长度记录是由固定长 度的记录头和接着的变长度记录内容组成。图1图解了主文件的结构。 图 1 主文件的结构 文件头 记录头记录内容 记录头记录内容 记录头记录内容 记录头记录内容 记录头记录内容 Shape 文件中所有的内容可以被分为二类:

相关主题