Update 'shp_2_txt.cpp'
This commit is contained in:
parent
92ee58e14e
commit
de943c84f0
1 changed files with 16 additions and 5 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
/*
|
||||||
|
http://shapelib.maptools.org/dbf_api.html
|
||||||
|
|
||||||
|
basic funtionality taken from dbfdump.c
|
||||||
|
path to libshp.dll has to be added as a PATH var
|
||||||
|
|
||||||
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -17,18 +24,21 @@ int main(int argc, char const *argv[])
|
||||||
char szTitle[12];
|
char szTitle[12];
|
||||||
string filename = "f:\\testing\\shp_2_txt\\MA.dbf";
|
string filename = "f:\\testing\\shp_2_txt\\MA.dbf";
|
||||||
|
|
||||||
|
// open textfile and dbf handle
|
||||||
ofstream txt_file("out.txt");
|
ofstream txt_file("out.txt");
|
||||||
dbfh = DBFOpen(filename.c_str(), "rb");
|
dbfh = DBFOpen(filename.c_str(), "rb");
|
||||||
|
|
||||||
|
// check
|
||||||
if (dbfh <= 0)
|
if (dbfh <= 0)
|
||||||
{
|
{
|
||||||
throw string("File " + filename + " not found");
|
throw string("File " + filename + " not found");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// loop over dbf records
|
||||||
for( iRecord = 0; iRecord < DBFGetRecordCount(dbfh); iRecord++ )
|
for( iRecord = 0; iRecord < DBFGetRecordCount(dbfh); iRecord++ )
|
||||||
{
|
{
|
||||||
|
// loop over fields of record
|
||||||
for( i = 0; i < DBFGetFieldCount(dbfh); i++ )
|
for( i = 0; i < DBFGetFieldCount(dbfh); i++ )
|
||||||
{
|
{
|
||||||
DBFFieldType eType;
|
DBFFieldType eType;
|
||||||
|
@ -40,6 +50,7 @@ int main(int argc, char const *argv[])
|
||||||
string str(szTitle);
|
string str(szTitle);
|
||||||
string line;
|
string line;
|
||||||
|
|
||||||
|
// parse for lat, lon in degrees and orhto height
|
||||||
if (szTitle == dec_lat or szTitle == dec_lon or szTitle == ortho_h)
|
if (szTitle == dec_lat or szTitle == dec_lon or szTitle == ortho_h)
|
||||||
{
|
{
|
||||||
txt_file << DBFReadStringAttribute( dbfh, iRecord, i );
|
txt_file << DBFReadStringAttribute( dbfh, iRecord, i );
|
||||||
|
@ -48,7 +59,7 @@ int main(int argc, char const *argv[])
|
||||||
}
|
}
|
||||||
txt_file << endl;
|
txt_file << endl;
|
||||||
}
|
}
|
||||||
|
// close dbf handle and textfile
|
||||||
DBFClose( dbfh );
|
DBFClose( dbfh );
|
||||||
txt_file.close();
|
txt_file.close();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue