求写一个算法,宗地界址点编号算法:
源数据为一个点图层和一个面图层,面图层里面有多个面要素,点图层里面的点要素分布在每个面要素的边线和折点上,编号是对点要素里面的[JZDH]字段赋值,面要素编号就按照FID的顺序来编就行,但是面要素的数据不能做更改。
目标效果如下:
有以下几个要求:
1.输入数据类型为要素类或者要素图层
2.要素类或者要素图层里面包含有多个要素,对每个要素从左上角最近的界址点开始顺时针编号
3.当编号完一个要素后,编下一个要素时的序号要从上一个编完的最后的序号接着编(序号要连续且不能重复)
4.有一种特殊情况需要注意:就是当两个要素相交的时候,如下图所示:
这是两个面要素然后有一条边是相交的,这个时候编号要看成一个整体要素来顺时针编号,并且不能改动原面要素数据(如果合并了这两个面要素的话会造成某一个面要素数据丢失)。
5.最后就是希望能写成一个可以直接运行的.py文件。
价格的话也还可以商量,然后我这边还能提供一些可以参考的代码以及测试的数据
利用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为宗地界址点总数,在第一步计算出)