39 if(i < theFieldArray.size())
41 result = theFieldArray[i];
50 if(i < theFieldArray.size())
52 theFieldArray[i] = field;
60 return theFieldArray.size();
67 theFieldArray.resize(
n);
71 theFieldArray.clear();
76 bool caseInsensitive)
const 79 if(caseInsensitive) searchString = searchString.
downcase();
81 for(idx = 0; idx < (int)theFieldArray.size(); ++idx)
92 if(theFieldArray[idx].theName == searchString)
156 if(
isOpen()&&( (theRecordNumber < theHandle->nRecords) ))
163 char name[1024] = {
'\0'};
167 std::vector<int> fieldWidths;
169 for(iField = 0; iField <
theHandle->nFields; ++iField)
267 out << std::setw(15)<<setiosflags(std::ios::left)
269 << std::setw(15)<<setiosflags(std::ios::left)
270 <<
"records:" <<
theHandle->nRecords << std::endl
271 << std::setw(15)<<setiosflags(std::ios::left)
272 <<
"fields:" <<
theHandle->nFields << std::endl;
274 char name[1024] = {
'\0'};
278 std::vector<int> fieldWidths;
281 for(iField = 0; iField <
theHandle->nFields; ++iField)
295 out << std::setw(15) << setiosflags(std::ios::left) << s.
c_str() << name << std::endl;
300 out << std::setw(15) << setiosflags(std::ios::left) << s.
c_str() <<
"INVALID"<<std::endl;
305 for(
int iShape = 0; iShape <
theHandle->nRecords; ++iShape)
307 for(iField = 0; iField <
theHandle->nFields; ++iField)
324 out << std::setw(25) << setiosflags(std::ios::left) << key.
c_str()
331 out << std::setw(25) << setiosflags(std::ios::left) << key.
c_str()
338 out << std::setw(25) << setiosflags(std::ios::left) << key.
c_str()
353 out <<
"_________________________________"<<std::endl;
virtual std::ostream & print(std::ostream &out) const
Generic print method.
DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, char *pszFieldName, int *pnWidth, int *pnDecimals)
int getNumberOfFields() const
void SHPAPI_CALL DBFClose(DBFHandle hDBF)
static ossimString toString(bool aValue)
Numeric to string methods.
bool getField(ossimShapeDatabaseField &result, ossim_uint32 i)
virtual bool open(const ossimFilename &file, const ossimString &flags=ossimString("rb"))
std::ostream & operator<<(std::ostream &out, const ossimShapeDatabase &rhs)
DBFFieldType theFieldType
bool getRecord(ossimShapeDatabaseRecord &result)
double SHPAPI_CALL DBFReadDoubleAttribute(DBFHandle hDBF, int iShape, int iField)
bool getNextRecord(ossimShapeDatabaseRecord &result)
os2<< "> n<< " > nendobj n
int SHPAPI_CALL DBFReadIntegerAttribute(DBFHandle hDBF, int iShape, int iField)
unsigned int ossim_uint32
static ossimString downcase(const ossimString &aString)
ossimString fieldTypeAsString() const
RTTI_DEF1(ossimShapeDatabase, "ossimShapeDatabase", ossimObject)
ossim_int32 getFieldIdx(const ossimString &name, bool caseInsensitive=true) const
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
int getNumberOfRecords() const
bool setField(const ossimShapeDatabaseField &field, ossim_uint32 i)
void setNumberOfFields(int n)
const char SHPAPI_CALL1 * DBFReadStringAttribute(DBFHandle hDBF, int iShape, int iField);const char SHPAPI_CALL1(*) DBFReadLogicalAttribute(DBFHandle hDBF, int iShape, int iField
virtual DBFHandle getHandle()
virtual ~ossimShapeDatabase()
ossimFilename theFilename
std::basic_ostream< char > ostream
Base class for char output streams.