| FastTileDatabase
    轻量级高性能瓦片地图数据库 | 
FTD 的处理器,如果您已经有一个构建好的历史文件需要打开进行只读或更新操作,您可以直接构造该 More...
| Classes | |
| class | FTDBuilder | 
| FTD 数据库构建器  More... | |
| Public Types | |
| enum | OpenMode { ReadOnly = 0 , WriteOnly = 1 , ReadWrite = 2 } | 
| 文件打开模式  More... | |
| Public Member Functions | |
| MeFTDHandler (const std::string &strFileName) | |
| 通过文件名构建文件句柄  More... | |
| ~MeFTDHandler () | |
| bool | open (OpenMode eMode) | 
| 打开文件  More... | |
| bool | isOpen () const | 
| 判断文件是否打开  More... | |
| void | close () | 
| 关闭文件句柄  More... | |
| void | flush () | 
| 将缓存中的数据同步到磁盘  More... | |
| bool | vacuum () | 
| 回收碎片空间,无论如何你都应该知道,执行 vacuum 是一项代价高昂  More... | |
| void | setLogListener (MeFTDLogListener *pListener, void *pUserData=nullptr) | 
| 设置日志监听器,FTD 自身不生成任何日志文件,通过  More... | |
| void | setLogLevel (MeFTDLogListener::LogLevel eLevel) | 
| 设置监听日志的级别  More... | |
| void | setProcessor (MeFTDProcessing *pProc, void *pUserData) | 
| 设置处理监听器,在 FTD 执行一些耗时操作的时候,通过  More... | |
| bool | initZoom (const MeFTDZoom &nZoom) | 
| 初始化一个级别,默认情况下为了节省磁盘空间,FTD 不会为  More... | |
| bool | zoomIsInitialized (const MeFTDZoom &nZoom) const | 
| 判断指定的级别是否已经初始化,只有初始化以后的级别才能写入  More... | |
| std::string | fileName () const | 
| 获取文件名  More... | |
| MeFTDMedata | medata () const | 
| 获取文件的元信息系  More... | |
| MeFTDZooms | initializedZooms () const | 
| 获取已经初始化完成的级别  More... | |
| long long | tileCount (const MeFTDZoom &nZoom) const | 
| 获取指定级别的瓦片数量  More... | |
| bool | write (const MeFTDTileKey &tk, MeFTDTileData pBuffer, int nDataLen) | 
| 写入数据到文件  More... | |
| bool | read (const MeFTDTileKey &tk, MeFTDTileData *pOutBuffer, int &nDataLen) const | 
| 读取数据  More... | |
| bool | deleteTile (const MeFTDTileKey &tk) | 
| 删除指定的瓦片  More... | |
| bool | updateTile (const MeFTDTileKey &tk, MeFTDTileData pNewBuffer, int nDataLen) | 
| 将指定的瓦片更新为最新数据  More... | |
| bool | geoTransform (const MeFTDZoom &zoom, double *pTransform, const MeFTDExtent &extent=MeFTDExtent()) | 
| 获取指定级别的仿射变换六参数,文件必须打开。当未给定 extent 范围时  More... | |
| bool | calcPixelsSize (const MeFTDZoom &zoom, long long &nWidth, long long &nHeight, const MeFTDExtent &extent=MeFTDExtent()) | 
| 计算指定级别范围内的像素宽度和高度,未指定 extent 时,使用  More... | |
| double | zoomResolution (const MeFTDZoom &zoom) const | 
| 返回指定级别的空间分辨率  More... | |
| bool | changeTileStatus (const MeFTDTileKey &tk, MeFTDTileStatus eStatus) | 
| 修改瓦片状态,文件不能是只读模式。  More... | |
| MeFTDTileExtent | tileExtent (const MeFTDZoom &nZoom) const | 
| 获取指定级别的瓦片坐标范围  More... | |
| MeFTDTileExtent | tileExtent (const MeFTDZoom &nZoom, const MeFTDExtent &extent) const | 
| 获取指定级别范围内的瓦片坐标范围  More... | |
| MeFTDTileStatus | tileStatus (const MeFTDTileKey &tk, bool &bOk) const | 
| 检查指定瓦片在数据库中的状态  More... | |
| MeFTDIterator * | iterator (const MeFTDZoom &nZoom) | 
| 瓦片坐标迭代器,用于迭代指定层级的瓦片数据。迭代器不需要释放。  More... | |
| MeFTDIterator * | iterator (const MeFTDZoom &nZoom, const MeFTDExtent &extent) | 
| 瓦片坐标迭代器,用于迭代指定层级范围的瓦片数据。迭代器不需要释放。  More... | |
| MeFTDStatisticsResult | statistics (MeFTDZoom nZoom=-1) const | 
| 对文件瓦片进行统计,如果 nZoom 给定的是 -1 将统计所有级别。  More... | |
| Static Public Member Functions | |
| static void | destroy (MeFTDHandler *pHandler) | 
| 销毁由 FTDBuilder 创建的文件句柄  More... | |
| static void | destroyTileData (MeFTDTileData pData) | 
| 销毁瓦片数据缓存  More... | |
| static MeFTDHandler * | fromFile (const std::string &strFileName, OpenMode eMode=ReadOnly) | 
| 从一个文件构建文件句柄,这个文件必须由 FTDBuilder 构建  More... | |
FTD 的处理器,如果您已经有一个构建好的历史文件需要打开进行只读或更新操作,您可以直接构造该
对象也可以调用静态函数 fromFile() 进行构造,但如果您此时需要创建一个新的文件,则需要通过文件
“构造器”来进行构造,如下所示:
| MapEdges::MeFTDHandler::MeFTDHandler | ( | const std::string & | strFileName | ) | 
通过文件名构建文件句柄
| [in] | strFileName | 文件名 | 
| MapEdges::MeFTDHandler::~MeFTDHandler | ( | ) | 
| bool MapEdges::MeFTDHandler::calcPixelsSize | ( | const MeFTDZoom & | zoom, | 
| long long & | nWidth, | ||
| long long & | nHeight, | ||
| const MeFTDExtent & | extent = MeFTDExtent() | ||
| ) | 
计算指定级别范围内的像素宽度和高度,未指定 extent 时,使用
数据范围进行计算。文件必须打开。
| [in] | zoom | 要计算的级别 | 
| [out] | nWidth | 像素宽度 | 
| [out] | nHeight | 像素高度 | 
| [in] | extent | 范围 | 
| bool MapEdges::MeFTDHandler::changeTileStatus | ( | const MeFTDTileKey & | tk, | 
| MeFTDTileStatus | eStatus | ||
| ) | 
修改瓦片状态,文件不能是只读模式。
完成。
| [in] | tk | 瓦片坐标 | 
| [in] | eStatus | 瓦片状态 | 
| void MapEdges::MeFTDHandler::close | ( | ) | 
关闭文件句柄
| bool MapEdges::MeFTDHandler::deleteTile | ( | const MeFTDTileKey & | tk | ) | 
删除指定的瓦片
执行清理。
| [in] | tk | 瓦片坐标 | 
| 
 | static | 
销毁由 FTDBuilder 创建的文件句柄
| 
 | static | 
销毁瓦片数据缓存
| [in] | pData | 瓦片数据缓存 | 
| std::string MapEdges::MeFTDHandler::fileName | ( | ) | const | 
获取文件名
| void MapEdges::MeFTDHandler::flush | ( | ) | 
将缓存中的数据同步到磁盘
| 
 | static | 
| bool MapEdges::MeFTDHandler::geoTransform | ( | const MeFTDZoom & | zoom, | 
| double * | pTransform, | ||
| const MeFTDExtent & | extent = MeFTDExtent() | ||
| ) | 
获取指定级别的仿射变换六参数,文件必须打开。当未给定 extent 范围时
将使用数据范围。
| [in] | zoom | 级别 | 
| [out] | pTransform | 仿射变换 | 
| [in] | extent | 范围 | 
| MeFTDZooms MapEdges::MeFTDHandler::initializedZooms | ( | ) | const | 
获取已经初始化完成的级别
| bool MapEdges::MeFTDHandler::initZoom | ( | const MeFTDZoom & | nZoom | ) | 
初始化一个级别,默认情况下为了节省磁盘空间,FTD 不会为
所有级别都创建索引,除了用户在创建文件时就就决定要创建的级别外
其他级别都不会创建,调用该接口为级别创建索引后才能写入数据,创
建进度通过 setProcessor 返回。
上次未完成的创建,只有将未完成的索引创建完成以后,才可以创建新的
层级索引。
| [in] | nZoom | 要初始化的级别。 | 
| bool MapEdges::MeFTDHandler::isOpen | ( | ) | const | 
判断文件是否打开
| MeFTDIterator * MapEdges::MeFTDHandler::iterator | ( | const MeFTDZoom & | nZoom | ) | 
瓦片坐标迭代器,用于迭代指定层级的瓦片数据。迭代器不需要释放。
| [in] | nZoom | 要迭代的级别 | 
| MeFTDIterator * MapEdges::MeFTDHandler::iterator | ( | const MeFTDZoom & | nZoom, | 
| const MeFTDExtent & | extent | ||
| ) | 
瓦片坐标迭代器,用于迭代指定层级范围的瓦片数据。迭代器不需要释放。
| [in] | nZoom | 要迭代的级别 | 
| [in] | extent | 级别范围 | 
| MeFTDMedata MapEdges::MeFTDHandler::medata | ( | ) | const | 
获取文件的元信息系
| bool MapEdges::MeFTDHandler::open | ( | OpenMode | eMode | ) | 
打开文件
| [in] | eMode | 打开模式 | 
| bool MapEdges::MeFTDHandler::read | ( | const MeFTDTileKey & | tk, | 
| MeFTDTileData * | pOutBuffer, | ||
| int & | nDataLen | ||
| ) | const | 
读取数据
| [in] | tk | 瓦片坐标 | 
| [out] | pOutBuffer | 读取的缓存数据 | 
| [out] | nDataLen | 缓存数据长度 | 
| void MapEdges::MeFTDHandler::setLogLevel | ( | MeFTDLogListener::LogLevel | eLevel | ) | 
设置监听日志的级别
| [in] | eLevel | 日志级别 | 
| void MapEdges::MeFTDHandler::setLogListener | ( | MeFTDLogListener * | pListener, | 
| void * | pUserData = nullptr | ||
| ) | 
设置日志监听器,FTD 自身不生成任何日志文件,通过
为其设置监听器以获取输出的日志信息。
| [in] | pListener | 监听器 | 
| [in] | pUserData | 用户数据 | 
| void MapEdges::MeFTDHandler::setProcessor | ( | MeFTDProcessing * | pProc, | 
| void * | pUserData | ||
| ) | 
设置处理监听器,在 FTD 执行一些耗时操作的时候,通过
该接口返回进度信息。例如创建级别索引时。
| [in] | pProc | 处理监听器 | 
| [in] | pUserData | 用户数据 | 
| MeFTDStatisticsResult MapEdges::MeFTDHandler::statistics | ( | MeFTDZoom | nZoom = -1 | ) | const | 
对文件瓦片进行统计,如果 nZoom 给定的是 -1 将统计所有级别。
| long long MapEdges::MeFTDHandler::tileCount | ( | const MeFTDZoom & | nZoom | ) | const | 
获取指定级别的瓦片数量
| [in] | nZoom | 级别 | 
| MeFTDTileExtent MapEdges::MeFTDHandler::tileExtent | ( | const MeFTDZoom & | nZoom | ) | const | 
获取指定级别的瓦片坐标范围
| [in] | nZoom | 级别 | 
| MeFTDTileExtent MapEdges::MeFTDHandler::tileExtent | ( | const MeFTDZoom & | nZoom, | 
| const MeFTDExtent & | extent | ||
| ) | const | 
获取指定级别范围内的瓦片坐标范围
| [in] | nZoom | 级别 | 
| [in] | extent | 要获取瓦片坐标的范围 | 
| MeFTDTileStatus MapEdges::MeFTDHandler::tileStatus | ( | const MeFTDTileKey & | tk, | 
| bool & | bOk | ||
| ) | const | 
检查指定瓦片在数据库中的状态
| [in] | tk | 瓦片坐标 | 
| [out] | bOk | 检查成返回true,其他情况返回false | 
| bool MapEdges::MeFTDHandler::updateTile | ( | const MeFTDTileKey & | tk, | 
| MeFTDTileData | pNewBuffer, | ||
| int | nDataLen | ||
| ) | 
将指定的瓦片更新为最新数据
| [in] | tk | 瓦片坐标 | 
| [in] | pNewBuffer | 新的缓存数据 | 
| [in] | nDataLen | 新的缓存数据长度 | 
| bool MapEdges::MeFTDHandler::vacuum | ( | ) | 
回收碎片空间,无论如何你都应该知道,执行 vacuum 是一项代价高昂
的操作,执行期间你不能对文件进行读写。
| bool MapEdges::MeFTDHandler::write | ( | const MeFTDTileKey & | tk, | 
| MeFTDTileData | pBuffer, | ||
| int | nDataLen | ||
| ) | 
写入数据到文件
| [in] | tk | 瓦片坐标 | 
| [in] | pBuffer | 数据缓存 | 
| [in] | nDataLen | 数据长度 | 
| bool MapEdges::MeFTDHandler::zoomIsInitialized | ( | const MeFTDZoom & | nZoom | ) | const | 
判断指定的级别是否已经初始化,只有初始化以后的级别才能写入
数据。
| [in] | nZoom | 要检查的级别 | 
| double MapEdges::MeFTDHandler::zoomResolution | ( | const MeFTDZoom & | zoom | ) | const | 
返回指定级别的空间分辨率
| [in] | zoom | 级别 |