You are probably looking for the PointCloudExpressionEvaluator.
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
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
1((@Component(x)/0.999604)-482902.876)+(((@Component(y)/0.999604)-5447183.654)*0.000039706)

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
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
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.
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
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.