zoukankan      html  css  js  c++  java
  • 连通性分析扩展到线上点

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

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

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

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

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

  • 相关阅读:
    读取手机联络人实例
    MotionEvent中getX()和getRawX()的区别
    Android开源项目发现--- 效率开发工具篇(持续更新)
    开发资源收藏
    ViewHolder VS HolderView ?
    如何测试 Android 中的定时事件
    性能优化实例
    lamba
    并行操作多个序列map
    连续处理函数reduce
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/2530852.html
Copyright © 2011-2022 走看看