FME在铁路站点位置公里数标点提取的应用

原文发布时间:2017-09-29 17:22:22

作者:张军

在FME中,通过snipper转换器,可实现单线几何图形要素通过指定长度、指数或者测量值来进行分隔。例如在公路公里标点的生成时,可根据指定长度(如1km)来生成相应的线段,获取线段首位端点得到公里标点数据。但是在铁路方面,需要确定站点位置时,由于铁路站点位置不一定是指定长度的整数倍,因此,需要通过长度变量来进行分隔,在获取每条线段的首位端点得到站点位置公里标点数据。

利用snipper转换器,需要输入起始位置和结束位置,可通过两种方式获取,一种是每个站点记录的距离值为当前站点与第一个站点的距离,然后利用AttributeCreator转换器获取站点列表前项和后项值求差获得每两个站点之间的距离;另一种站点数据表直接记录两个站点之间的距离。本文主要通过站点距离起点位置数据进行说明。

首先我们需要准备铁路站点距离起点位置的距离数据或者站点与站点之间的距离数据(除了距离数据,还可在对应站点中添加站点附属信息,如站场面积,联系电话等),通过excel的方式存储,如图1。

图1

将需要创建站点公里数标点位置的铁路线作为输入参考要素,通过第一步中遍历excel表格获取的站点距离数据。通过遍历excel数据统计站点数据量获得需要分隔的线段数量,利用variablesetter创建线段数量变量值。

再利用variableretriever转换器读取variablesetter转换器创建的变量值作为线要素在cloner转化器中的数量。

现在通过cloner后的线要素与excel中的线段数量保持一致,可通过顺序ID号进行属性挂接,将excel中的数据挂接到线要素中备用。

AttributeCreator转换器提供了获取数据中前一行和后一行数据值的功能。通过AttributeCreator转化器创建站点间的起始距离位置与结束距离位置。

最后利用Snipper转化器,通过线要素中的起始位置与结束位置来生成站点与站点间的线段。

利用CoordinateExtractor转换器和VertexCreator转化器提取站点点位数据。

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/81084053