多语言展示
当前在线:576今日阅读:168今日分享:49

VC 实现将坐标保存成SHP文件

现在需要用VC开发一软件,实现将一组坐标数据保存成shape文件。通过shape浏览软件可以正常打开浏览。shape文件由ESRI开发,一个shape文件有一组文件组成,其中必要的基本文件包括一个主文件.shp,一个索引文件.shx,和属性文件.dbf。
方法/步骤
1

到官方网站下载Shapelib 源码,shape是代码公开的,放心下载。

2

下载到的源码如下

3

VS2005 创建空项目,添加相关文件,这里添加的文件都在下载的库文件源码中。

4

编译工程,正常情况下不会有错误,除非你加载错了文件。编译结果。

5

到release 目录中查看生成的shapelib.lib

6

现在用VS2005创建一个测试工程,用来生成.shp 文件。工程中添加的是三个文件 shapefil.h  shptest.c 都在库文件源码中Shapelib.lib就是上面我们生成的。

7

为了调试方便,我们把shptest.c文件做一下修改将生成写SHP文件的两个函数直接提到最前面。两个写函数中把坐标一个一个插入到.SHP文件中。这两个写函数也是库文件中自带的。

8

现在运行程序,由于是控制台程序,有没有在CMD中运行,程序一闪而过,但是语句都执行过了

9

到工程目录下找生成的文件,我们看到代码中创建的test1.shp  test7.shp都已经生成了。

10

使用ShapeExplorer软件打开生成的.shp文件。提示如下错误。

11

分析原因,SHP 文件应给有三个相关文件坐标文件 .shp)、索引文件 .shx 和属性文件 .dbf ,现在工程里没有生成.dbf文件。 修改一下源码,生成.dbf文件。Test_WriteDBF是自己写的函数,可以参考dbfcreate.c文件编写。

12

重新编译,生成相关.dbf文件

13

使用ShapeExplorer打开test1.shp ,显示出两个点。

14

再继续打开test7.shp.显示出两个矩形。

推荐信息