前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【FME技能】沿三维线生成均匀点

【FME技能】沿三维线生成均匀点

作者头像
数据处理与分析
发布于 2021-09-08 07:59:58
发布于 2021-09-08 07:59:58
9620
举报

前言

关于如何把长线拆分成短线,我已经写过好几篇文章了(可以看这次推送发出的下面几篇)。这些写过的文章里,既有沿线生成点的FME方式,也有生成线段的ArcGIS方式。其中FME方式可以沿线生成均匀的节点,通过调整参数,可以实现生成线的功能,也可以实现生成非均匀节点。而ArcGIS方式,可以直接生成线、均匀的、不均匀的都写了,通过调整,也可以实现生成点的功能。

有朋友有个需求:将一段线、按照均匀的距离生成点。但在实际操作中,遇到了一些问题:线段的实际长度,和线段的测量值(measure)是不一样的。经过了解,发现线段是三维的线,有Z值。以往的数次推送中,生成点或者拆分线,针对的都是二维对象,这次增加了一个维度,直接用之前的方法,会有些问题。不过,简单调整下就可以了,至于怎么调,往下看就行!

本文知识点:转换器调参数、拆分三维线!

拆分

如同上面讲过的,怎么调整参数,来满足各种业务需求呢?其实很简单,核心转换器只要调整一个参数就可以了。下面我来介绍一下各个步骤:

计算线长度

按照长度拆分,首先要计算线长度(如果已有长度,此步骤可忽略)。 需要注意的是,在拆分三维线的时候,需要线的三维长度,FME长度计算转换器,默认计算的是二维投影面长度,需要按照如下图中进行参数调整:

传入步长

这里我发布了一个步长参数,可以传入一个数字,来拆分线。

拆分线

拆分线有多种方式,多种模式,在进行拆分的时候可以选择合适自己的那种。针对我们这次的拆分来说,不论选择那种方式,下面截图中的这个参数是都是必须要进行设置的。

那么接下来,真正的拆分还是有很多的方案可以选择的。之前就介绍过循环的方式,本篇推送,我分别使用循环与克隆来进行线的拆分。

循环

这篇文章中使用了FME自带的循环来进行线的拆分。这次我们来点不一样的,搞个Py循环,直接拆分。 之前的拆分中,使用的是按照比例进行拆分,那么我们如果要按照距离进行拆分的话,就需要进行一个距离到比例的转换。

经过简单的转换,不管是按照长度,还是按照比例,都可以使用同样的方式进行拆分了。

本次推送中使用的Py方式与原生FME循环相比,得到的结果是一样的。但过程更加丝滑了(转换器少了一个)。

拆分前的线段:

使用20的间隔进行拆分,拆分后的线段:

改参数即可变成点:

克隆

相比FME和Py的循环,克隆的方式非常简单。只需要简单配置一下,就可以拆分线。非常容易掌握,所以我着重介绍一下。

克隆个数

首先是拆分个数,应该是总的长度除以拆分长度(步长),然后向上取整(生成点的时候复制的个数要加上1)。

拆分

然后拆分的时候,选择拆分的模式与拆分的起始终止长度(生成点或者线,参数设置略有差别)。

生成线参数:

生成点参数:

拆分后数据

拆分后的线,跟py的结果一样,没有区别。

总结

工作中,只舞一把锤子是不够的。多掌握几个工具,才能轻松应对各种突发情况!

参数

使用FME的时候,开始的时候总会被各种参数搞混,什么转换器参数、模板参数、公有参数、私有参数,总之有很多的参数。我们在做工作的时候,如果不了解这些参数,一直处于一种一知半解的状态,就很难做到灵活的调整参数来满足各种需求。

就像我以前写过怎么把二维的线进行均匀的拆分,那么现在突然来了个拆三维的需求。不做任何调整直接上去就干,那是会出问题的。所以参数这块,要下功夫去学,不管是转换器参数还是别的参数,都要下功夫去学,掌握了才能对各种需求做到游刃有余。

Py那么酷要不要学
是不是非要用py

熟悉我的朋友都知道,我喜欢写点py代码来处理数据,但是不是非写不可呢?其实大多数时候,FME本身都有原生的转换器来做到同样的事情。只是我写顺手了,选择了我熟悉的一种方式而已。

py的效率是不是更高

其实py的效率不怎么高,我们使用的高级语言,效率都不咋地。之所以要用它,是因为它高级,是因为它好用!以本文为例,在以20为步长进行拆分的时候,两种方式都耗时2.1s。当步长调整为0.05时,py循环用了2.7s,FME克隆用了3.4s,差别真的不大。我们使用FME就是因为它高级又好用,至于效率,我觉得够用了。再说,你还差那0.7s

最后,祝大家周末玩的开心!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用FME沿线生成点(一)
在FME中生成线的中点或者起始点终止点很方便,有转换器可以直接做到,但有很多人都不知道有这么一个转换器,今天,我就来给大家分享这样一个转换器:Snipper。
数据处理与分析
2019/07/31
1.7K0
使用FME沿线生成点(一)
【ArcGIS】ArcPY系列之六(等分线段)
等分顾名思义,就是将一条长长的线,按照比例分成若干条,每一条的长度都是相等的,本公众号也推送过一些类似的FME实现版本,可参考:版本(一)、版本(二)
数据处理与分析
2021/09/08
1.3K0
ArcPY系列之六(等分线段)
等分顾名思义,就是将一条长长的线,按照比例分成若干条,每一条的长度都是相等的,本公众号也推送过一些类似的FME实现版本,可参考:版本(一)、版本(二)
数据处理与分析
2019/10/23
8560
ArcPY系列之六(等分线段)
怎么在线上取起始点/中点/任意点?
有时候,需要在线上的指定位置取点。完全没经验的人,可能会手足无措,不知道该怎么取。今天就来分享一下,怎么使用不同的方式来在线上取点。
数据处理与分析
2022/11/18
1.1K0
FME在三维方面的一点应用
纪念我的九成岁月!是在九成测绘大把的时间,让我用FME做了一些酷酷的事情。今天偶尔翻开之前的笔记,发现其中一篇记录了FME在三维方面的应用。看着笔记与模板,我想了不少。当时的笔记写的天马行空,虽然不完美,但现在的我很难再写出同样的东西,我再也没有那么多的时间与精力了。我好怀念,可以晒着太阳睡一下午的时光!
数据处理与分析
2019/07/31
1.5K0
FME在三维方面的一点应用
在FME中使用循环的另一种方式
循环可以让很多数据处理的工作变得简单。透过循环,也可以让FME魔板更加简洁! 在之前的推送使用FME沿线生成点(二)中,使用了循环来沿着线来均匀的生成点。今天,我们使用另一种方式来完成相同的操作啊!
数据处理与分析
2019/07/31
1.5K0
在FME中使用循环的另一种方式
FME转换器介绍之(四)
数据还是造的,用Createor可以方便的生成样例数据,接下来剪线段(剪线段这说法不知道是不是合适)。可以看下下面的动图:
数据处理与分析
2019/07/31
1.2K0
FME转换器介绍之(四)
作品分享-FME作品集
今天分享的内容,是收到的FME作品集。相对上一篇推送的用R实现的方式,用FME实现的更多。 下面我将按照:整体思路、关键转换器的方式对各个作品进行逐一解读。 根据作者的意愿与我之前被白嫖的经历,本篇推送只分享思路,不分享具体的实现模板。
数据处理与分析
2022/11/18
1.6K0
三调专题(一)宗地四至提取的量化算法及FME实现
2017年10月16日,国务院印发《关于开展第三次全国土地调查的通知》(国发〔2017〕48号) 2017年12月12日,贵州省人民政府印发《关于开展贵州省第三次全国土地调查的通知》(黔府发〔2017〕33号) …… 2018年6月23日,贵州省土地学会印发《关于举办贵州省第三次全国土地调查专业技术培训班的通知》(黔土学发〔2018〕12号)
数据处理与分析
2019/07/31
1.9K1
三调专题(一)宗地四至提取的量化算法及FME实现
基于FME实现河流污染物降解模型
最近有接触到水环境的项目,其中了解到一维水质模型及转化的污染物降解模型,大体需求是通过模型计算获取从河流任意指定位置污染物浓度降解到满足目标考核要求的浓度,所经过的河流数据按污染物浓度等级可视化。因为涉及到空间数据计算,就考虑到用FME去尝试下,最后基于FME对模型进行了简单实现。
数据处理与分析
2020/08/25
1.1K0
基于FME实现河流污染物降解模型
使用FME沿线生成点(二)
上一次推送讲述了如何生成线的中点,起始点与终点如何生成并没有在推送中提及,不过相信有些小伙伴已经动手尝试并生成了线的起点与终点。 今天的这篇推送就如同昨天预告的那样,使用循环沿着线生成均匀的点;
数据处理与分析
2019/07/31
9930
使用FME沿线生成点(二)
利用ArcGIS快速实现三维建筑和三维地形快速建模
“三维”可能是最直接、最易于理解、最有需要的一个前期分析中的功能了,我们都希望从测绘CAD直接能看到三维空间——ArcGIS可以办到,不要看本篇文章很长,但是后面熟练起来,真的真的很快。
Sidchen
2020/08/02
7.3K0
[重排]利用ArcGIS快速实现三维建筑和三维地形快速建模[ArcGIS高效前期]
“三维”可能是最直接、最易于理解、最有需要的一个前期分析中的功能了,我们都希望从测绘CAD直接能看到三维空间——ArcGIS可以办到,不要看本篇文章很长,但是后面熟练起来,真的真的很快。
Sidchen
2020/08/02
4.3K0
cityEngine学习笔记(一)
extrude(height) extrude(axisWorld,height)
数据处理与分析
2019/07/31
1.2K0
GIS专辑 | 数据是GIS的血液
本周将连载关于ArcGIS技术应用的文章。来源于我的师兄。他有丰富的工作经验。如有问题欢迎大家留言或者访问博客进行交流:https://blog.csdn.net/symBBD
郭好奇同学
2020/12/22
5.1K0
GIS专辑 | 数据是GIS的血液
【编号】-根据属性与空间编
顺序号的编法有很多,在之前的这篇推送中介绍了如何根据属性进行排序编顺序号。今天在上次的基础上,加入新的元素:空间信息! 因为地理信息从业者接触的大部分数据都是带有空间信息的,也经常会收到按照空间生成顺序号的需求。比如:将某一地方中的点,按照从上到下,从左到右的顺序生成顺序号。那么,怎么做呢?
数据处理与分析
2022/03/09
6720
【编号】-根据属性与空间编
基于单目视觉的三维重建算法综述
三维计算机视觉在计算机视觉是偏基础的方向,随着2010年阿凡达在全球热映以来,三维计算机视觉的应用从传统工业领域逐渐走向生活、娱乐、服务等,比如AR/VR,SLAM,自动驾驶等都离不开三维视觉的技术。
SIGAI学习与实践平台
2019/03/01
4.9K0
基于单目视觉的三维重建算法综述
CINEMA 4D Studio R2023.1.3(c4d超强三维动画设计)
CINEMA 4D Studio2023是Mac上知名的3D动画设计制作软件,包含 GPU 渲染器 Prorender、生产级实时视窗着色、超强破碎、场景重建等诸多新功能,C4D mac为用户提供高端的3D内容创建,非常适合专业的设计认识,软件拥有最全面的工具和超级快速的速度,让你分分钟得到惊人的结果。
用户10121095
2023/03/07
1.7K0
如何利用matlab画三维图_平面图怎么画
本人是一位数学科研工作者,平时的文章采用的是latex编写,里面图形的生成主要来自于Matlab(个人对Matlab非常喜欢,感觉上手比较容易,更亲民)。对于图形的处理比较频繁,而且总会有一些特殊的需求,每次都要上网搜查,或者查以前用过的命令,经常花了很多时间,实现了一点小要求,事后回想有点得不偿失。因此借助这个平台,记录自己在Matlab使用过程中碰到的一些问题,给出我找到或者知道的解决办法,不过方法不是唯一的,也希望广大网友能有更好的思路提供。后续碰到的问题我也会继续更新(如果我有时间的话哈)。
全栈程序员站长
2022/11/10
4.1K0
如何利用matlab画三维图_平面图怎么画
matlab绘制二维、三维云图
二维云图:要绘制二维云图,您可以使用scatter函数。这个函数可以根据给定的数据点在二维平面上绘制散点图,并可以使用不同的颜色和大小来表示每个数据点的属性。
用户9925864
2023/09/05
2K0
matlab绘制二维、三维云图
相关推荐
使用FME沿线生成点(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档