gpt4 book ai didi

c++ - 在 C++ 中处理 OpenStreetMaps (OSM)

转载 作者:行者123 更新时间:2023-11-28 02:49:30 25 4
gpt4 key购买 nike

我想处理 OSM 文件,最好是在 C++ 中全部完成。我的目标是能够获得灰度图,最终我也在考虑聚集识别的形状(圆形建筑物的圆圈,道路的长“粗”样条,矩形等)

无论如何,问题是你,你能把我推向正确的方向吗,我应该用什么来处理 .osm 以达到我的目的?

以前从未与他们合作过,也没有太多地使用过各种 C++ 库,所以我需要花很多时间才能自己认识到去哪里。我知道特征检测和描述的过程,但不知道它们是否也适用于这种情况。

请帮帮我,问候。

最佳答案

OSM 文件实际上只是具有相对简单架构的 XML 文件。

这里的主要问题是它们通常很大,有时非常大,所以处理 XML 文件的简单方法(将它们加载到内存中并使用某种 DOM 来获取值)可能不是最好的主意。此外,这些 OSM 文件中的很多数据可能对您的目的来说不是很有趣,因此您会浪费大量内存。例如,大约一半的字节用于指定用户名和时间戳。

我的建议是使用 expat读取 XML 文件。它比 TinyXML 更难使用,但对于大文件来说要快得多。

一个额外的建议:保留一些 OSM 文件用于测试。一个小文件用于快速测试,一个大文件(或非常大)用于测试您的算法复杂度是否不会在您不注意的情况下呈指数级增长。

关于c++ - 在 C++ 中处理 OpenStreetMaps (OSM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23382065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com