宗地界址点顺时针编号算法

求写一个算法,宗地界址点编号算法:
源数据为一个点图层和一个面图层,面图层里面有多个面要素,点图层里面的点要素分布在每个面要素的边线和折点上,编号是对点要素里面的[JZDH]字段赋值,面要素编号就按照FID的顺序来编就行,但是面要素的数据不能做更改。
目标效果如下:

img

有以下几个要求:
1.输入数据类型为要素类或者要素图层
2.要素类或者要素图层里面包含有多个要素,对每个要素从左上角最近的界址点开始顺时针编号
3.当编号完一个要素后,编下一个要素时的序号要从上一个编完的最后的序号接着编(序号要连续且不能重复)
4.有一种特殊情况需要注意:就是当两个要素相交的时候,如下图所示:

img

这是两个面要素然后有一条边是相交的,这个时候编号要看成一个整体要素来顺时针编号,并且不能改动原面要素数据(如果合并了这两个面要素的话会造成某一个面要素数据丢失)。
5.最后就是希望能写成一个可以直接运行的.py文件。
价格的话也还可以商量,然后我这边还能提供一些可以参考的代码以及测试的数据

https://blog.csdn.net/fmechina/article/details/80722861?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AE%97%E5%9C%B0%E7%95%8C%E5%9D%80%E7%82%B9%E9%A1%BA%E6%97%B6%E9%92%88%E7%BC%96%E5%8F%B7%E7%AE%97%E6%B3%95&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-0-80722861.blog_rank_default&spm=1018.2226.3001.4450

利用FME实现宗地生成界址点界址线
借鉴下
https://blog.csdn.net/fmechina/article/details/80722837

https://blog.csdn.net/fmechina/article/details/80722837

1、      寻找左上角界址点:通过获取每个点坐标,选择X最小的为起点(当然这也有可能是左下角)\n\n2、      界址点重新编号:首先找到左上角点,通过此点的ys_point_id-1计算出Δid,然后根据此Δid计算其他每个界址点的新序号point_id=ys_point_id-Δid,当然这里需要进行判断,如果point_id>0那么此id为新序号,如果point_id\u003C=0,那么point_id+point_sum为新序号。(point_sum为宗地界址点总数,在第一步计算出)