Skip to main content
Solved

How to apply the following formula on PointClouds?


Y

((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)

 

X

((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706)

 

Thanks

 

Best answer by nielsgerrits

tomersomer wrote:

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer

For poinclouds you have to use @Component(x) instead of @XValue(). For example

((@Component(x)/0.999604)-482902.876)+(((@Component(y)/0.999604)-5447183.654)*0.000039706)

2021-04-28_15h08_52

View original
Did this help you find an answer to your question?

8 replies

nielsgerrits
VIP
Forum|alt.badge.img+57

You are probably looking for the PointCloudExpressionEvaluator.


  • Author
  • April 28, 2021
nielsgerrits wrote:

You are probably looking for the PointCloudExpressionEvaluator.

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer


nielsgerrits
VIP
Forum|alt.badge.img+57
  • Best Answer
  • April 28, 2021
tomersomer wrote:

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer

For poinclouds you have to use @Component(x) instead of @XValue(). For example

((@Component(x)/0.999604)-482902.876)+(((@Component(y)/0.999604)-5447183.654)*0.000039706)

2021-04-28_15h08_52


  • Author
  • April 28, 2021
tomersomer wrote:

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer

Thank you very much - that was it. Great.

Much appreciated.

 

Tomer


  • Author
  • April 28, 2021
tomersomer wrote:

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer

One more question please: I have a bunch of PointClouds, tens of thousands - how to repeat the  PointCloudExpressionEvaluator usage in batch for all the LAS files? I need the output to have the same name as the source file......

 

Thank you,

Tomer


nielsgerrits
VIP
Forum|alt.badge.img+57
tomersomer wrote:

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer

You need a Dynamic Workflow for this. Multiple ways to do.

 

Using FeatureReaders and FeatureWriters makes more sense and I think are easier than classic readers and writers.

What I use a lot is a FeatureReader with a Directory and File Pathnames reader to scan a directory for files. Then another FeatureReader to read the file and a FeatureWriter to write the result.

Some considerations:

  • You can do it all in one workflow. The downside is if the process takes a long time and you have an error when you're half way, you need to restart.
  • You can do it in two steps, scan the directory and write this out to a to-do table. Then use a parent and child construction, the parent reading the table with the files which need to be processed, starting the child workspace for each file. Let the child update the table when the file was successfully processed. Now you can stop and start the processing.

With the volume of files you have you probably want to do it file by file.


  • Author
  • April 28, 2021
tomersomer wrote:

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer

Thank you so much!! - it is the first time I received such a useful answer (if any) here in the community. I do not wish to bother you but could I use your help for another PointCloud related question I have?

How to scale coordinates around a specific origin, other than (0,0) or Center Point (the options available in Scaler)?

 

Thanks,

Tomer


nielsgerrits
VIP
Forum|alt.badge.img+57
tomersomer wrote:

Hello and thank you for the reply.

Here's my setup in the  PointCloudExpressionEvaluator:

Output is a LAS file. I'm getting this message:

Failed to parse the EXPRESSION_LIST clause. The provided value was '((@XValue()/0.999604)-482902.876)+(((@YValue()/0.999604)-5447183.654)*0.000039706);((@YValue()/0.999604)-5447183.654)-(((@XValue()/0.999604)-482902.876)*0.000039706)'. Please ensure that your syntax is correct

 

Any idea?

 

Thanks,

Tomer

One way is to use the Offsetter to move the object to (0,0). Then use the Scaler to resize. Use the offsetter again to move back to original coordinates. I think I use the CenterPointExtractor (center of gravity) to get a coordinate as attribute to use in the Offsetters.

 

Happy I could help. If you create separate questions next time other users have more chance to find the answers on their similar questions.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings