交通路线空间编号功能

交通路线空间编号功能

一、项目需求:路线分为上级路网与下级路网,根据上级路网实现空间编号功能!

《交通路线空间编号功能》其他:

1、黑线为上级路网图层;

2、红线为目标编号图层;

3、编号原则:路线离上级路网越近,编号为001,根据001路段实现对002路段编号;依次类推,实现对当前下级路网图层数据进行空间编号。

二、实现思路:

1、通过下级路网对上级路网进行空间搜索,选择到下级路网附近对应的上级路网。(注:不能对上级路网进行遍历搜索,为保证效率,需对路线进行局部空间搜索)

2、通过下级路网实现对空间数据进行001搜索,实现方法:通过下级路网端点与上级路网进行距离分析,将端点离上级路网近的进行001编号,然后通过使用类似方法对001路段进行空间搜索002路段,依次类推实现所以路线进行空间编号。

三、难点解析:

1、当前数据过于理想化,对路线的空间编号具有参考价值,对于复杂的现场数据需要对具体数据进行具体分析;从而实现空间要素编号。

2、具体算法与代码,请稍后。

四、代码样例:

while (temppoint != null)
                {
                    for (int i = 0; i < lineinfoList.Count; i++)
                    {
                        if (lineinfoList[i].ldbm == "" || lineinfoList[i].ldbm == null)
                            removelineList.Add(lineinfoList[i]);
                    }
                    if (removelineList.Count != 0)
                    {
                        IList<startendpointinfo> refpotinfo = comparepoint(ref temponepoint, removelineList, ref temppoint);                                                
                        refpotinfo[0].feature.set_Value(ldbmindex, refpotinfo[0].ldbm);
                        refpotinfo[0].feature.Store();
                        removelineList = new List<startendpointinfo>();
                    }
                    else                    
                        temppoint = null;
                    
                }

以上代码是实现空间编号的核心代码。通过001搜索其他路线的代码;

五、写在最后:

以上代码皆为原创:写的不好多多包涵:谢谢!!

空间路线编号,我总共写了5天,其中有非常多的逻辑代码,需要对各种各样的路线进行分析,而且路网数据不想理,需要添加大量的逻辑方法:

    原文作者:旅游交通路线问题
    原文地址: https://blog.csdn.net/wenming111/article/details/80604958
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞