我正在编写一段代码,该代码需要在 C/C++ 中执行与 ArcGIS 中的 combine 函数非常相似的操作。请参阅:http ://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Combining%20multiple%20rasters
C++ 代码将以块的形式读取多个非常大的栅格数据文件 (2GB+),找到唯一的组合并输出到单个地图。例如,如果有 3 个地图并且 <1,3,5> 存在,恭敬地,在三个地图的第一个单元格中,那么我希望 <1,3,5> 的所有后续实例在最后一个具有相同的键输出地图。
我应该使用哪些 STL 容器来存储地图?分块读取文件肯定会增加项目的复杂性。该算法需要非常快,因此我不能使用具有 O(n) 复杂度的向量进行搜索。目前,我正在考虑使用 unsorted_multimaps 的 unsorted_map,但我不确定这是否正确以及是否能够获得所需的性能。
有什么想法吗?