15 #ifndef ossimGpkgWriter_HEADER 16 #define ossimGpkgWriter_HEADER 1 30 struct jpeg_compress_struct;
97 const char* prefix=0)
const;
104 const char* prefix=0);
126 virtual void getPropertyNames(std::vector<ossimString>& propertyNames)
const;
155 virtual bool isOpen()
const;
175 virtual void close();
317 const std::vector<ossim_int32>& zoomLevels );
454 bool keyIsTrue(
const std::string& key )
const;
484 void getZoomLevels( std::vector<ossim_int32>& zoomLevels )
const;
502 std::vector<ossim_int32>& zoomLevels,
540 void clipToProjectionBounds(
620 void checkLevels(
const std::vector<ossim_int32>& currentZoomLevels,
621 const std::vector<ossim_int32>& newZoomLevels )
const;
ossimGpkgWriterMode getWriterMode() const
Gets the writer mode.
virtual ~ossimGpkgWriter()
void checkLevels(const std::vector< ossim_int32 > ¤tZoomLevels, const std::vector< ossim_int32 > &newZoomLevels) const
Checks for: new level lower then existing.
void getTileSize(ossimIpt &tileSize) const
void initializeCodec()
Initializes m_fullTileCodec and m_partialTileCodec.
virtual bool writeTile(ossimRefPtr< ossimImageData > &tile, ossim_int32 zoomLevel, ossim_int64 row, ossim_int64 col)
Direct interface to writing a tile to database.
std::vector< ossim_int32 > m_zoomLevels
Holds zoom level indexes for connectionless write tile.
bool append() const
Check if file is to be open new or appended.
bool writeGpkgTileMatrixSetTable(sqlite3 *db, const ossimDrect &boundingRect)
ossimRefPtr< ossimCodecBase > m_partialTileCodec
virtual void finalizeTileProcessing()
Calls sqlite3_finalize(pStmt) terminating tile processing.
ossimRefPtr< ossimMapProjection > getNewWorldMercatorProjection() const
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const
void getImageTypeList(std::vector<ossimString>& imageTypeList)const
Represents serializable keyword/value map.
virtual bool isOpen() const
ossim_int32 writeGpkgSpatialRefSysTable(sqlite3 *db, const ossimMapProjection *proj)
void setProjectionTie(ossimMapProjection *proj) const
bool initializeGpkg()
Initializes the output gpkg file.
ossim_int32 getNumberOfZoomLevels(const ossimIrect &aoi) const
Zoom levels needed to get AOI down to one tile.
bool m_partialTileCodecAlpha
void getGsd(const ossimDpt &fullResGsd, ossim_int32 fullResZoomLevel, ossim_int32 currentZoomLevel, ossimDpt &gsd)
bool requiresEightBit() const
Pure virtual base class for image file writers.
void getMatrixSize(const ossimIrect &rect, ossimIpt &matrixSize) const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
Pushes this's names onto the list of property names.
ossimRefPtr< ossimKeywordlist > m_kwl
Hold all options.
std::string getWriterModeString(ossimGpkgWriterMode mode) const
Gets the writer mode as string.
bool isValidZoomLevelRowCol(ossim_int32 level, ossim_int32 row, ossim_int32 col) const
Checks to see if level, row, column are within range of existing gpkg.
void getAoiFromRect(const ossimMapProjection *proj, const ossimDrect &rect, ossimIrect &aoi)
Get the view coordinates for edge to edge rect.
virtual ossimString getExtension() const
Returns a 3-letter extension from the image type descriptor (theOutputImageType) that can be used for...
ossimDrect m_clipRect
AOI clipped to projection rect.
virtual ossimString getClassName() const
void writeTiles(sqlite3 *db, const ossimIrect &aoi, ossim_int32 zoomLevel, const ossim_float64 &totalTiles, ossim_float64 &tilesWritten)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
ossim_uint64 m_batchSize
Number of transactions batched before being executed.
virtual void setProperty(ossimRefPtr< ossimProperty > property)
Will set the property whose name matches the argument "property->getName()".
ossimRefPtr< ossimMapProjection > getNewGeographicProjection() const
std::vector< ossimIpt > m_zoomLevelMatrixSizes
Hold zoom level matrix sizes for connectionless write tile.
void setView(ossimMapProjection *proj)
void setCompressionQuality(const std::string &quality)
virtual bool openFile(const ossimKeywordlist &options)
Opens file for writing, appending, merging without an input connection.
bool getRect(const std::string &key, ossimDrect &rect) const
Gets rectangle.
bool m_writeBlanks
Controlled by option key: "include_blank_tiles".
bool hasImageType(const ossimString &imageType) const
bool hasImageType(const ossimString& imageType) const
unsigned long long ossim_uint64
unsigned int ossim_uint32
sqlite3_stmt * m_pStmt
Holds Statement handle from sqlite3_prepare_v2(...) for connectionless write tile.
std::string m_tileTableName
bool createTables(sqlite3 *db)
void initializeRect(const ossimMapProjection *proj, const ossimIrect &aoi, ossimDrect &rect)
ossimRefPtr< ossimCodecBase > m_fullTileCodec
Will cache and hold the allocated codecs to use for the encoding.
void applyScaleToProjection(ossimMapProjection *proj, const ossimDpt &desiredGsd) const
Get the current gsd from projection.
ossim_uint32 getCompressionQuality() const
Gets the compression quality.
Container class that holds both 2D transform and 3D projection information for an image Only one inst...
ossim_uint32 getEpsgCode() const
virtual ossimString getLongName() const
void getTileTableName(std::string &tileTableName) const
Gets the tile table name.
virtual ossimString getShortName() const
bool writeGpkgTileMatrixTable(sqlite3 *db, ossim_int32 zoom_level, const ossimIpt &matrixSize, const ossimDpt &gsd)
Initialize method.
virtual const ossimFilename & getFilename() const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossim_uint64 getBatchSize() const
This is the number of transactions batched before being executed.
void getZoomLevels(std::vector< ossim_int32 > &zoomLevels) const
Gets zoom levels from options keyword list if set.
bool writeGpkgContentsTable(sqlite3 *db, const ossimDrect &boundingRect)
void reInitializeCutters(const ossimMapProjection *proj)
Finds all ossimRectangleCutter and calls setRectangle with a nan rect to reset the bounding box after...
bool writeEntry()
Writes an entry to gpkg.
ossimDrect m_sceneBoundingRect
Holds the bounding rect of the scene edges either in decimal degrees for geographic projection or Eas...
ossimDrect m_outputRect
Expanded(final) AOI clipped to projection rect.
void initializeProjectionRect(const ossimMapProjection *productProj)
ossimRefPtr< ossimMapProjection > getNewOutputProjection() const
Gets projection from "epsg" code if in options list.
void reInitializeCombiners()
Finds all combiners and calls initialize to reset the bounding box after a view change.
ossimString getCompressionLevel() const
Get the gpkg compression level as a string.
virtual bool writeCodecTile(ossim_uint8 *codecTile, ossim_int32 codecTileSize, ossim_int32 zoomLevel, ossim_int64 row, ossim_int64 col)
Direct interface to writing a Codec tile to database.
void writeZoomLevels(sqlite3 *db, ossimMapProjection *proj, const std::vector< ossim_int32 > &zoomLevels)
bool writeGpkgNsgTileMatrixExtentTable(sqlite3 *db, ossim_int32 zoom_level, const ossimIrect &expandedAoi, const ossimIrect &clippedAoi)
sqlite3 * m_db
database connection
bool getWmsCutBox(ossimDrect &rect) const
Get rectangle in projected space from key: cut_wms_bbox key:value form: cut_wms_bbox: <minx>...
bool getClipExtents(ossimDrect &rect, bool &alignToGridFlag) const
Get clip rectangle in projected space from key: clip_extents key:value form: clip_extents: <minx>...
bool keyIsTrue(const std::string &key) const
virtual bool writeFile()
Writes the file to disk or a stream.
virtual ossim_int32 beginTileProcessing()
Calls initial sqlite3_prepare_v2 statement.
ossimDrect m_projectionBoundingRect
Holds the bounding rect of the output projection edges either in decimal degrees for geographic proje...
bool addLevels()
Adds levels to an existing an gpkg.
bool setCompressionLevel(const ossimString &level)
Set the gpkg compression level from a string.
unsigned char ossim_uint8
void getExpandedAoi(const ossimIrect &aoi, ossimIrect &expandedAoi) const
Gets aoi expanded to tile boundaries.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
saves the state of the object.
void getProjectionDimensionsInMeters(const ossimMapProjection *proj, ossimDpt &dims) const
Gets the projection dimensions in meters.
ossim_uint64 m_batchCount
Working variable for holding the current batch count.
bool m_fullTileCodecAlpha
true if codec requires alpha channel.