连通性分析扩展到线上点
发布日期:2021-09-10 04:49:42 浏览次数:1 分类:技术文章

本文共 598 字,大约阅读时间需要 1 分钟。

    ArcGIS本身提供连通性分析的功能,但是只可以在节点之间进行连通性的分析,之前做了一个优化,将其扩展到可以通过选取线上的任意一个点进行连通性分析。

    对于初期,我的实现思路有两种:

    第一种:

    通过在地图上点击,以点击处为中心进行设施搜索(利用现成的搜索函数),如果找到的是管点要素(这正是我想要的)便直接获取他作为起点,如果搜索到的是管线要素,那么获取管线上一点,该点距单击点最近(点的获取有些麻烦,坐标有精度问题,这个是否可以确保精确地位于直线上?)。将直线上的点添加到网络中,使之成为ISimpleJunctionFeature(可以通过启动编辑操作进行管网编辑实现)然后进行分析;对于分析的终点,也做同样的处理。

    第二种:

    通过在地图上点击,以点击处为中心进行设施搜索(利用现成的搜索函数),如果找到的是管点要素(这正是我想要的)便直接获取他作为起点,如果搜索到的是管线要素,计算该管线的起点与终点分别到点击点的距离(将点击的点近似看做直线上的点,或者也可以获取直线上到点击点最近的点,这个在之前的文章中说过可以通过两种方法实现),选择其中较近的点作为连通分析的起点。对于分析的终点,也做同样的处理。这中方法要对各种不同的情况进行不同的处理,例如起点和终点的分别是管点、线上点;管点、管点;线上点、管点;线上点、线上点。对于不用的情况确定不同的处理方式。

    本人通过第二种方法实现,确实可行。

转载地址:https://blog.csdn.net/weixin_34375251/article/details/86074960 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Meandering Through the Maze of MFC Message and Command Routing MFC消息路由机制分析
下一篇:未知链表长度的情况下从中随机取k个数 [原]

发表评论

最新留言

很好
[***.229.124.182]2024年04月12日 23时48分33秒