mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
84 lines
2.4 KiB
C++
84 lines
2.4 KiB
C++
/***************************************************************************
|
|
qgspostgisbox3d.cpp - PostgreSQL/PostGIS "box3d" representation and
|
|
transformation
|
|
-------------------
|
|
begin : Feb 1, 2005
|
|
copyright : (C) 2005 by Brendan Morley
|
|
email : morb at ozemail dot com dot au
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
/* $Id$ */
|
|
|
|
#include <fstream>
|
|
|
|
#include <qstring.h>
|
|
|
|
#include "../../src/qgsrect.h"
|
|
|
|
#include "qgspostgisbox3d.h"
|
|
|
|
|
|
QgsPostGisBox3d::QgsPostGisBox3d( std::string box3d )
|
|
{
|
|
|
|
// If given a nil box3d, give back a nominal QgsPostGisBox3d
|
|
if ("" == box3d)
|
|
{
|
|
xmin = xmax = ymin = ymax = 0;
|
|
return;
|
|
}
|
|
|
|
std::string s;
|
|
|
|
box3d = box3d.substr(box3d.find_first_of("(")+1);
|
|
box3d = box3d.substr(box3d.find_first_not_of(" "));
|
|
s = box3d.substr(0, box3d.find_first_of(" "));
|
|
xmin = strtod(s.c_str(), NULL);
|
|
|
|
box3d = box3d.substr(box3d.find_first_of(" ")+1);
|
|
s = box3d.substr(0, box3d.find_first_of(" "));
|
|
ymin = strtod(s.c_str(), NULL);
|
|
|
|
box3d = box3d.substr(box3d.find_first_of(",")+1);
|
|
box3d = box3d.substr(box3d.find_first_not_of(" "));
|
|
s = box3d.substr(0, box3d.find_first_of(" "));
|
|
xmax = strtod(s.c_str(), NULL);
|
|
|
|
box3d = box3d.substr(box3d.find_first_of(" ")+1);
|
|
s = box3d.substr(0, box3d.find_first_of(" "));
|
|
ymax = strtod(s.c_str(), NULL);
|
|
|
|
}
|
|
|
|
|
|
QgsPostGisBox3d::~QgsPostGisBox3d()
|
|
{
|
|
// NO-OP
|
|
}
|
|
|
|
|
|
QString QgsPostGisBox3d::stringRepAsBox3d()
|
|
{
|
|
|
|
QString s;
|
|
|
|
s = QString( "BOX3D(%f %f,%f %f)" )
|
|
.arg( xmin )
|
|
.arg( ymin )
|
|
.arg( xmax )
|
|
.arg( ymax );
|
|
|
|
std::cerr << "QgsPostGisBox3d: stringRepAsBox3d is returning '" << s << "'" << std::endl;
|
|
|
|
return s;
|
|
}
|
|
|