Add 'shp_2_txt.cpp'
This commit is contained in:
parent
146f5e0161
commit
76201e75d6
1 changed files with 60 additions and 0 deletions
60
shp_2_txt.cpp
Normal file
60
shp_2_txt.cpp
Normal file
|
@ -0,0 +1,60 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
#include "shapefil.h"
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
DBFHandle dbfh;
|
||||
int i, iRecord;
|
||||
char *pszFilename = NULL;
|
||||
int nWidth, nDecimals;
|
||||
char szTitle[12];
|
||||
|
||||
string filename = "f:\\testing\\shp_2_txt\\MA.dbf";
|
||||
|
||||
ofstream txt_file("out.txt");
|
||||
|
||||
dbfh = DBFOpen(filename.c_str(), "rb");
|
||||
|
||||
if (dbfh <= 0)
|
||||
{
|
||||
throw string("File " + filename + " not found");
|
||||
}
|
||||
else
|
||||
{
|
||||
for( iRecord = 0; iRecord < DBFGetRecordCount(dbfh); iRecord++ )
|
||||
{
|
||||
|
||||
for( i = 0; i < DBFGetFieldCount(dbfh); i++ )
|
||||
{
|
||||
DBFFieldType eType;
|
||||
eType = DBFGetFieldInfo( dbfh, i, szTitle, &nWidth, &nDecimals );
|
||||
string dec_lat = "DEC_LAT";
|
||||
string dec_lon = "DEC_LON";
|
||||
string ellip_h = "ELLIP_HT";
|
||||
string ortho_h = "ORTHO_HT";
|
||||
string str(szTitle);
|
||||
string line;
|
||||
|
||||
if (szTitle == dec_lat or szTitle == dec_lon or szTitle == ortho_h)
|
||||
{
|
||||
txt_file << DBFReadStringAttribute( dbfh, iRecord, i );
|
||||
txt_file << " ";
|
||||
}
|
||||
}
|
||||
txt_file << endl;
|
||||
}
|
||||
|
||||
DBFClose( dbfh );
|
||||
free( panWidth );
|
||||
txt_file.close();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in a new issue