shapefile(shapefile与layer文件的区别是什么)
本文目录
- shapefile与layer文件的区别是什么
- 在ARCGIS软件下,创建shapefile数据和文件数据库的步骤
- C++中怎么读取shapefile格式的文件
- 文本文件必须包括哪些数据才能转换成shapefile
- 在ArcGIS把栅格图的shapefile文件转换成KML文件,怎样保留一些信息,便于查看如图
- shapefile有哪几部分构成
shapefile与layer文件的区别是什么
Layer文件(.lyr)是存储一个源数据集和其他图层属性路径的文件,其中包括符号。
与shapefile相比,layer文件只是真实数据如shapefile、要素类等的一种连接或参考。它不是真正的数据因为它不存储数据的属性和几何图形。Layer文件主要存储要素符号和其他在GIS应用中数据可视化有关的图层属性。
例如,如果一个layer文件被发送给其他机器上的用户但没有源数据时,将由于没有包含源数据而不会显示在地图中。为将数据正确的显示出来,用户必须具备其layer文件和相应的shapefile。
这是利用图层包使数据移植简易的原因,因为图层包中存储了layer文件和源数据。关于图层包的更多信息,请参考在线帮助“创建图层包”。
在ARCGIS软件下,创建shapefile数据和文件数据库的步骤
《ArcGIS软件与应用(第2版)》实验数据及PPT(PDF版),免费下载
链接:
C++中怎么读取shapefile格式的文件
Shapefile文件是美国环境系统研究所(ESRI)所研制的GIS文件系统格式文件,是工业标准的矢量数据文件。
一个Shape文件包括三个文件:一个主文件(*.shp),一个索引文件(*.shx),和一个dBASE(*.dbf)表。主文件是一个直接存取,变长度记录的文件,其中每个记录描述构成一个地理特征(Feature)的所有vertices坐标值。在索引文件中,每条记录包含对应主文件记录距离主文件头开始的偏移量,dBASE表包含SHP文件中每一个Feature的特征属性,表中几何记录和属性数据之间的一一对应关系是基于记录数目的ID。在dBASE文件中的属性记录必须和主文件中的记录顺序是相同的。图形数据和属性数据通过索引号建立一一对应的关系。
在了解了文件格式之后,你可以使用任何一种C++的文件读取方法来读取并解析Shapefile(OpenFile、fopen、CFile、ifstream都是可以的),但文件的格式解析需要大量的自定义代码,这里篇幅限制就不一一列举了。
另外一种方法,就是使用各个地理信息系统(GIS)的组件支持来完成Shapefile的读取,比如基于ArcGIS Silverlight API的WebGIS系统,就可以很方便的类似数据库一样完成信息的提取:
//获取拖放到地图上的文件信息
IDataObject dataObject = e.Data as IDataObject;
FileInfo;
//判断拖放的文件是否为.shp和.dbf
FileInfo shapeFile = null;
FileInfo dbfFile = null;
foreach (FileInfo fi in files)
{
if (fi.Extension.ToLower() == “.shp“) shapeFile = fi;
if (fi.Extension.ToLower() == “.dbf“) dbfFile = fi;
}
// 读取Shapefile数据
ShapeFile shapeFileReader = new ShapeFile();
if (shapeFile != null && dbfFile != null)
{
shapeFileReader.Read(shapeFile, dbfFile);
}
else
{
MessageBox.Show(“请将.dbf和.shp文件同时拖放到地图上!“);
return;
}
IList《Graphic》 lstGraphics = new List《Graphic》();
foreach (ShapeFileRecord record in shapeFileReader.Records)
{
//将从Shapefile中读取的记录转换为Graphic
Graphic graphic = record.ToPointGraphic();
if (graphic != null) lstGraphics.Add(graphic);
}
// 如果空间参考不一致,可能需要投影
if (lstGraphics.Count 》 0)
{
GeometryService projectTask = new GeometryService(“http://localhost/arcgis/rest/services/Geometry/GeometryServer“);
projectTask.ProjectCompleted += new EventHandler《GraphicsEventArgs》(projectTask_ProjectCompleted);
projectTask.Failed += new EventHandler《TaskFailedEventArgs》(projectTask_Failed);
//将平面坐标转换为经纬度
projectTask.ProjectAsync(lstGraphics, myMap.SpatialReference);
}
文本文件必须包括哪些数据才能转换成shapefile
文本文件必须包括数据才能转换成shapefile:先在ArcCatalog中选择工具将e00,数据转换到Coverage格式,然后在ArcEdit中对线数据和面数据进行拓扑重建。
根据GML3规范中的Schema的描述、Shp文件和Mif文件的格式,就能将Shp文件和Mif文件转换为GML文件。在转换过程中,首先要创建一个GML格式文档。
文本文件.txt:
.txt格式并没有明确的定义,它通常是指那些能够被系统终端或者简单的文本器接受的格式。任何能读取文字的程序都能读取带有.txt扩展名的文件,因此,通常认为这种文件是通用的、跨平台的。
在英文文本文件中,ASCII字符集是最为常见的格式,而且在许多场合,它也是默认的格式。对于带重音符号的和其它的非ASCII字符,必须选择一种字符编码。
在ArcGIS把栅格图的shapefile文件转换成KML文件,怎样保留一些信息,便于查看如图
在ArcGIS中将shapefile格式转换成kml文件(在ArcGIS中是kmz文件)时,只会保留一个字段的属性值。如果需要多个字段的属性值,建议提问者变通一下,可增加一个字段(此字段作为该图层的标注,即Label),将需要的字段值都存放在这个新增的字段中,语法是
&
“,“
&
&
“,“
&
表示某个字段名称,“,“表示将各字段值分隔开。
我的Google
Earth最近无法打开,没办法帮你查看试验结果,理论上应该没问题。
shapefile有哪几部分构成
shapefile有这几部分组成,shp文件、shx文件、dbf文件三个文件才是完整的Shapefile文件,而.prj文件虽然不是必须的文件,但是其中包含了几何图形的投影信息,一般也需要包括在内。Shapefile是一种矢量图形格式,其能够保存几何图形的位置及其相关属性,实质上是一种存储方法。
更多文章:
cpuz内存频率(怎么用CPU-Z查看CPU主频、外频和内存频率)
2023年12月20日 19:00
联想x1carbon有触屏吗(thinkpad x1 carbon怎样开启触屏)
2023年7月16日 16:00
arable(三星Galaxy Wearable应用一直打不开,咋回事)
2023年4月8日 17:20
台式机上门维修服务(联想的家用台式电脑还在保修期内可以叫人上门保修吗)
2024年6月14日 06:31
苹果6怎么恢复出厂设置系统还原(苹果6怎么恢复出厂设置 苹果6如何恢复出厂设置)
2023年12月14日 14:00
一体机是台式机还是笔记本(所有的一体机电脑都不是台式电脑吗)
2024年7月16日 08:19
诺基亚6700和6700s(诺基亚6700s和6700c有什么区别)
2023年6月14日 14:20
佳能500d可以配什么镜头(佳能500D配什么镜头比较好!)
2024年7月16日 16:30
华为交换机24口(华为S3700-28TP-SI-AC 24口百兆三层交换机怎么样)
2024年9月3日 22:10
诺基亚6120c图片(谁给找些诺基亚6120c的好看的待机图片)
2024年1月17日 12:20
华为官方网站首页华为解除绑定账号(华为手机账号如何解除绑定 )
2024年7月24日 15:28