25 static ossimTrace traceDebug(
"ossimTilingPoly:debug");
33 m_bufferDistance(0.0),
36 m_featureBoundingIntersect(
true)
54 <<
"ossimTilingPoly::initialize DEBUG: Entered..." 55 <<
"\nBounding rect === " << boundingRect
60 result =
initializeBase(proj, boundingRect, convertedTilingDistance);
78 if (tileId < static_cast<ossim_int64>(
m_features.size()))
82 resultingName = resultingName.
substitute(
"%f%", idString.str().c_str());
100 const char* prefix)
const 133 const char*
useMbr = kwl.
find(prefix,
"padding_use_mbr");
156 if (tileId < static_cast<ossim_int64>(
m_features.size()))
182 else if (
m_features[tileId].m_multiPolys.size() > 0)
187 std::vector<ossimGeoPolygon> holePolys = geoPoly.
getHoleList();
188 if (holePolys.size() > 0)
255 std::vector<ossimString> fileList = fileName.
split(
"|");
256 if (fileList.size() > 1)
265 if (shpInterface != 0)
289 std::multimap<long, ossimAnnotationObject*> features = shpInterface->
getFeatureTable();
290 if (features.size() > 0)
292 std::multimap<long, ossimAnnotationObject*>::iterator it = features.begin();
293 while (it != features.end())
307 std::vector<ossimGpt> polygon;
310 std::vector<ossimGpt> points = annoPoly->
getPoints();
313 polygon.push_back(points[i]);
318 ossimShpFeature feature(it->first, polyType, polygon, std::vector<ossimGeoPolygon>());
321 else if (annoMultiPoly != 0)
323 std::vector<ossimGeoPolygon> multiPolys = annoMultiPoly->
getMultiPolygon();
324 ossimShpFeature feature(it->first, 0, std::vector<ossimGpt>(), multiPolys);
virtual const ossimDpt & getDecimalDegreesPerPixel() const
Returns decimal degrees per pixel as an ossimDpt with "x" representing longitude and "y" representing...
virtual std::vector< ossimGpt > getPoints()
ossimString substitute(const ossimString &searchKey, const ossimString &replacementValue, bool replaceAll=false) const
Substitutes searchKey string with replacementValue and returns a string.
virtual void setQuery(const ossimString &query)=0
Pure virtual setQuery method.
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
virtual void setPolygon(const vector< ossimDpt > &polygon, ossim_uint32 i=0)
virtual ossimImageHandler * open(const ossimFilename &fileName, bool trySuffixFirst=true, bool openOverview=true) const
open that takes a filename.
Represents serializable keyword/value map.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
ossimRefPtr< ossimGeoPolyCutter > & getExteriorCut()
ossimRefPtr< ossimGeoPolyCutter > & getInteriorCut()
const char * find(const char *key) const
bool contains(char aChar) const
ossimRefPtr< ossimMapProjection > theMapProjection
bool hasExteriorCut() const
return true if exterior cut is initialized.
std::vector< ossimShpFeature > m_features
virtual bool isGeographic() const
const ossimIpt & ul() const
void split(std::vector< ossimString > &result, const ossimString &separatorList, bool skipBlankFields=false) const
Splits this string into a vector of strings (fields) using the delimiter list specified.
ossimRefPtr< ossimGeoPolyCutter > m_exteriorCut
virtual ~ossimTilingPoly()
bool intersects(const ossimIrect &rect) const
std::vector< ossimGeoPolygon > & getHoleList()
virtual bool next(ossimRefPtr< ossimMapProjection > &resultProjection, ossimIrect &resultingBounds, ossimString &resultingName)
bool completely_within(const ossimIrect &rect) const
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual bool setView(ossimObject *baseObject)
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
unsigned int ossim_uint32
ossimFilename m_shpFilename
ossim_int64 theTotalTiles
const std::vector< ossimGeoPolygon > & getMultiPolygon() const
bool m_featureBoundingIntersect
const ossimIpt & lr() const
const ossimIrect & getRectangle() const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual void addPolygon(const vector< ossimIpt > &polygon)
ossimIrect clipToRect(const ossimIrect &rect) const
ossim_float64 m_bufferDistance
ossimRefPtr< ossimGeoPolyCutter > m_interiorCut
ossimString theTileNameMask
const ossimProjection * getProjection() const
Access methods for projection (may be NULL pointer).
ossimDpt theTilingDistance
The size of a tile in theTilingDistanceUnitType.
virtual ossimPolyType getPolyType()
ossimDpt thePaddingSizeInPixels
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
bool initializeBase(const ossimMapProjection &proj, const ossimIrect &boundingRect, ossimDpt &convertedTilingDistance)
virtual std::multimap< long, ossimAnnotationObject * > getFeatureTable()=0
Pure virtual getFeatureTable method.
bool isFeatureBoundingIntersect() const
RTTI_DEF1(ossimTilingPoly, "ossimTilingPoly", ossimTilingRect)
static ossimImageHandlerRegistry * instance()
void setRectangle(const ossimIrect &rect)
virtual bool initialize(const ossimMapProjection &proj, const ossimIrect &boundingRect)
virtual ossimDpt getMetersPerPixel() const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual void setGeometryBuffer(ossim_float64 distance, ossimUnitType type)=0
Pure virtual setGeometryBuffer method.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
void setCutType(ossimPolyCutterCutType cutType)
bool hasInteriorCut() const
return true if interior cut is initialized.