Aft*_*ath 5 navigation map autocad path-finding ios
我看到了一些方法:
1)以编程方式使用OpenGL绘图.
2)以编程方式使用QuartzCore和CoreAnimation进行绘制.
3)在AutoCad中绘制地图,然后以某种方式将其连接到iOS.
4)使用SVG绘制地图.
要求支持寻路和gps导航.
对于前两种方式,我认为它在性能方面很昂贵,重新绘制缩放的所有元素; 我不认为这种方式可能有GPS导航支持.
使用AutoCad图片化的地图对我来说很难理解如何将它与用于寻路的图形\路径连接起来.
我的同事将使用SVG在Web上开发此应用程序.我找到了它 - https://github.com/SVGKit/SVGKit,但仍然不知道它将如何支持寻路和导航.
我将不胜感激任何帮助.
地图应用一般有两种类型:
A)它们显示地图(有或没有用户位置),无需像导航系统那样计算路径(参见 B 点)
B) 使用地图向量并计算某些内容的应用程序:例如找到最佳路径。最短的连接,例如导航系统等。
A) 的应用通常不如 B) 的复杂,因为向量可能有些不准确、没有连接、间隙很小、边缘之间没有逻辑等。
1) 要仅显示建筑物地图,您只需要一个边列表。(一条边是一对坐标 (x1,y1) - (x2,y2)。你怎么得到它。例如 MapInfo Professional 格式 mif/mid。
或者甚至你可以显示包含建筑物地图的 pdf。正确的内置的 PDF 视图(也可以使用 SVG,但更困难)。
如果它不是相对地图,而是使用参考坐标系(如纬度/经度 (WGS84))定位的地图,事情就会变得更加复杂。
在这种情况下,您将使用工具(mapInfoProfessional)导入 AutoCad DXF 文件,并在房子的角落应用 3 个 GPS 测量参考点,并将其转换为 LatLong WGS84 坐标系。
使用 ios,您无法测量这 3 个点,因为您无法平均位置,当你站在房子的一个角落一动不动时,ios 会停止发送。如果你生活在 google 卫星照片具有高分辨率的地区,你可以尝试从 google 地球卫星照片中提取位置。(但是这可能违反该卫星照片提供商的许可条件(主题:派生数据))
最后,您现在有了经纬度坐标系中的边列表。
对于显示,我个人会使用 1) OpenGL) 或 2) Quartz2D。
现在是路径查找部分。
也许您需要第二张“地图”来定义建筑物内可能的路径。该结构必须是连接图(具有连接的邻居的点)。电脑游戏就是这样做的。(有些甚至允许您在开发者模式下显示该路径)
可以在平面图的不同层中绘制路径。但这条路有更高的要求:不允许有任何间隙,必须完美连接。
将该图层命名为“路径”并将其导出为自己的计划。
现在仅使用此路径层,导入并创建具有连接邻居的节点图。
使用 Dijkstra Algo 搜索最短路径。