这一篇来写一下.shx文件的读取跟生成。测试数据下载地址为:http://download.csdn.net/detail/gis0911178/9650967
在第一篇时候有介绍.
索引文件(.shx)主要包含坐标文件的索引信息,文件中每个记录包含对应的坐标文件记录距离坐标文件的文件头的偏移量。通过索引文件可以很方便地在坐标文件中定位到指定目标的坐标信息。
索引文件也是由头文件和实体信息两部分构成(如图2.5),其中文件头部分是一个长度固定(100 bytes)的记录段,其内容与坐标文件的文件头基本一致。它的实体信息以记录为基本单位,每一条记录包括偏移量(offset)和记录段长度(Content Length)两个记录项,它们的位序都是big,两个记录项都是int型.
本次实例使用的数据仍然为 (二) 里面的 三角形面 shp文件。读取shx文件的代码如下
private void button3_Click(object sender, EventArgs e)
{
string shpfilepath = "";
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "shxfile(*.shx)|*.shx|All files(*.*)|*.*"; //打开文件路径
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
shpfilepath = openFileDialog1.FileName;
BinaryReader br = new BinaryReader(openFileDialog1.OpenFile());
//读取文件过程
br.ReadBytes(24);
int FileLength = br.ReadInt32();
Console.WriteLine("文件长度:" + ChangeByteOrder(FileLength));
int