我正在尝试构建自己的使用OSMSharp的路由系统,并最终将部署到Azure的完整网站前端。不过,如果我想要找到长途路线(例如纽约州 - >加州),我认为我有一个严重的问题。它看起来像OSMSharp中的路由器只接受一个osm数据流,但即使二进制格式(.osm.pbf)也是roughly 10gb of data。这似乎是一个巨大的性能问题。长途OSM路由,如何处理所有的数据?
要么我需要在内存中保存那个巨大的文件,谁知道Azure要为此收取多少费用,或者OSMSharp/CLR要如何处理它;或者需要将其分解并存储在数据库中以进行即时加载。
任何人都可以提供任何有关如何通常处理的见解吗?我的个人项目离开了我的联盟吗?也许我应该只支持一个美国国家?
我不能说osmsharp,但是graphhopper允许你导入一个pbf相对内存高效和快速,总是有可能使用内存映射配置来进一步减少使用的RAM(但导入会更慢)。这同样适用于查询:GraphHopper可以利用大量的RAM来进行快速查询,或者只是将它配置为使用内存映射,而且RAM的使用率要低得多。另一种方法是使用托管(OSM)路由服务......提示提示;) – Karussell
是的,我认为,但我想运行我自己的自定义路由算法。我认为这完全排除了托管服务。我会看看graphhopper,谢谢! –