<div dir="ltr">python (or whatever language) filter is the answer for conditional assignment (I didn't explored mongo filter yet)<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br></div><div>Luigi Pirelli<br><br>**************************************************************************************************<br>* LinkedIn: <a href="https://www.linkedin.com/in/luigipirelli" target="_blank">https://www.linkedin.com/in/luigipirelli</a><br>* Stackexchange: <a href="http://gis.stackexchange.com/users/19667/luigi-pirelli" target="_blank">http://gis.stackexchange.com/users/19667/luigi-pirelli</a><br>* GitHub: <a href="https://github.com/luipir" target="_blank">https://github.com/luipir</a><br>* Mastering QGIS 2nd Edition:<br>* <a href="https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition" target="_blank">https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition</a><br>* Hire me: <a href="http://goo.gl/BYRQKg" target="_blank">http://goo.gl/BYRQKg</a><br>**************************************************************************************************</div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 26 May 2019 at 17:05, Silvia Franceschi <<a href="mailto:silvia.franceschi@gmail.com">silvia.franceschi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small">Thank you all for the clarifications,</div><div class="gmail_default" style="font-size:small">I guessed that mixing different variables with conditions was not possible wth the ferry and assign filters, I definitely tried but no success... and you confirmed me this.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">So the best way to do this is finally to write the variables to a new LAS, then work with an externa program on the assignments between one variable and the other and then come back to PDAL with the modified LAS to do the final operations?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Really thanks for the help!</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Silvia</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 26, 2019 at 4:16 PM Bradley Chambers <<a href="mailto:brad.chambers@gmail.com" target="_blank">brad.chambers@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">You are also not going to be able to do the conditional assignment and ferry approaches you are attempting. Please read the documentation carefully for each of these filters. Ferry can either create a new dimension or copy one dimension to another. Assignment can assign a static value to a range in a single dimension, but cannot mix dimensions (i.e., assign classification = 2 where normalZ = whatever). Luigi's pipelines have solved this problem using either Python filters are through using the tag and inputs options to create more complex pipelines.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 26, 2019 at 10:06 AM <<a href="mailto:michael.smith.erdc@gmail.com" target="_blank">michael.smith.erdc@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Yes, you can use the new dimensions in filters after the ferry filter. You just can’t persist them in the output file without the extra dims parameter as they are not standard las dimensions. <br><br>Michael Smith<div>RSGIS center</div><div>US Army Corps <br><div dir="ltr"><br>On May 26, 2019, at 9:46 AM, Silvia Franceschi <<a href="mailto:silvia.franceschi@gmail.com" target="_blank">silvia.franceschi@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Thank you Luigi,</div><div class="gmail_default" style="font-size:small">so the only possibility to access to the values of NormalZ is by writing them into the LAS?</div><div class="gmail_default" style="font-size:small">The documentation says: "The filter produces four new dimensions (NormalX, NormalY, NormalZ, and Curvature), which can be analyzed directly, or consumed by downstream stages for more advanced filtering."</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Is it possible to access these new variables via pipeline without writing and reading them from LAS?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thanks</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Silvia</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 26, 2019 at 10:38 AM Luigi Pirelli <<a href="mailto:luipir@gmail.com" target="_blank">luipir@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">writer LAS does not write automatically any field that is not specified by LAS format => extra_dims option of writers.las have to be set... eg. "extra_dims":"all"<br clear="all"><div><div dir="ltr" class="gmail-m_-3221627979718553194gmail-m_7216979034699877938gmail-m_4992377499763954126gmail-m_-7689104954188312284m_219704293136545552gmail_signature"><div dir="ltr"><div><br></div><div>cheers</div><div><br></div><div>Luigi Pirelli<br><br>**************************************************************************************************<br>* LinkedIn: <a href="https://www.linkedin.com/in/luigipirelli" target="_blank">https://www.linkedin.com/in/luigipirelli</a><br>* Stackexchange: <a href="http://gis.stackexchange.com/users/19667/luigi-pirelli" target="_blank">http://gis.stackexchange.com/users/19667/luigi-pirelli</a><br>* GitHub: <a href="https://github.com/luipir" target="_blank">https://github.com/luipir</a><br>* Mastering QGIS 2nd Edition:<br>* <a href="https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition" target="_blank">https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition</a><br>* Hire me: <a href="http://goo.gl/BYRQKg" target="_blank">http://goo.gl/BYRQKg</a><br>**************************************************************************************************</div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 25 May 2019 at 22:40, Silvia Franceschi <<a href="mailto:silvia.franceschi@gmail.com" target="_blank">silvia.franceschi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small">Sorry Luigi...<br></div><div class="gmail_default" style="font-size:small">I realized that the filter to use is the filter.ferry with a pipeline like this:</div><div class="gmail_default" style="font-size:small"> {<br> "type":"filters.ferry",<br> "dimensions":"NormalZ[0:6]=>Classification[2]"<br> },<br></div><div class="gmail_default" style="font-size:small">or at least, I guess because now I have the problem that the NormalZ field do not exist. So my question is: should I write the file after filter.normal to have this field or is it possible to use it in the same pipeline? from the documentation it seems that it should be possible but I can not find an example or something which could help...</div><div class="gmail_default" style="font-size:small">If I have to write the file, should I specify also to insert the NormalZ field or is it automatic?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thank you in advance for the help!</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Best regards</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Silvia</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 25, 2019 at 10:16 PM Silvia Franceschi <<a href="mailto:silvia.franceschi@gmail.com" target="_blank">silvia.franceschi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small">Dear Luigi,</div><div class="gmail_default" style="font-size:small">finally I could start to work again on the DTM extraction and I was trying to apply the same commands as in your slides.</div><div class="gmail_default" style="font-size:small">Unfortunately I am not so smart to understand how to do this kind of assignment in a PDAL pipeline:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">- normalZ [0:0.6] : Classification ->1<br>- normalZ ! [0:0.6] : Classification ->2<br>- merge soil / no soil<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I tried using the filter.assign but it seems that I can not assign values of a field while filtering on an other field.</div><div class="gmail_default" style="font-size:small">And also I can not understand what you mean with merge soil/no soil... </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">The pipeline I did is like this:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">{<br> "pipeline": [<br> {<br> "type": "readers.las",<br> "filename":"aaa.las"<br> },<br> {<br> "type":"filters.range",<br> "limits":"Classification[2:2]"<br> },<br> {<br> "type":"filters.normal",<br> "knn": 30<br> },<br> {<br> "type":"filters.assign",<br> "assignment" : "normalZ[0:6]=Classification[2]",<br> "assignment" : "normalZ[0:6]!=Classification[1]"<br> },<br> {<br> "type": "writers.las",<br> "filename":"bbb.las"<br> }<br> ]<br>}<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Could you please address me to the right commands to use to finalize the pipeline?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thank you for the big help!</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Best regards</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Silvia</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 13, 2019 at 9:24 AM Luigi Pirelli <<a href="mailto:luipir@gmail.com" target="_blank">luipir@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">we had similar problems with TLS in urban context regarding first part pf the cars<div>you can see our strategy to clean the first PMF effect in slides from</div><div><a href="http://slides.com/darango/deck-10-11-12-11-12#/11" target="_blank">http://slides.com/darango/deck-10-11-12-11-12#/11</a></div><div>to</div><div><a href="http://slides.com/darango/deck-10-11-12-11-12#/11" target="_blank">http://slides.com/darango/deck-10-11-12-11-12#/1</a>5</div><div><br></div><div>the main idea is to do noise cleaning, PMF, filter on normal, filter on kdistance, PMF again</div><div><br></div><div>not clear to me if you can have a good discrimination of the ground part of the threes using normals due to nature of these surfaces.</div><div><br></div><div>cheers<br clear="all"><div><div dir="ltr" class="gmail-m_-3221627979718553194gmail-m_7216979034699877938gmail-m_4992377499763954126gmail-m_-7689104954188312284gmail-m_219704293136545552gmail-m_-2926769105894799392gmail-m_-6105421305502696904gmail-m_4016750239997626244gmail_signature"><div dir="ltr"><div><br></div><div>Luigi Pirelli<br><br>**************************************************************************************************<br>* LinkedIn: <a href="https://www.linkedin.com/in/luigipirelli" target="_blank">https://www.linkedin.com/in/luigipirelli</a><br>* Stackexchange: <a href="http://gis.stackexchange.com/users/19667/luigi-pirelli" target="_blank">http://gis.stackexchange.com/users/19667/luigi-pirelli</a><br>* GitHub: <a href="https://github.com/luipir" target="_blank">https://github.com/luipir</a><br>* Mastering QGIS 2nd Edition:<br>* <a href="https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition" target="_blank">https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition</a><br>* Hire me: <a href="http://goo.gl/BYRQKg" target="_blank">http://goo.gl/BYRQKg</a><br>**************************************************************************************************</div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 11 May 2019 at 10:01, Silvia Franceschi <<a href="mailto:silvia.franceschi@gmail.com" target="_blank">silvia.franceschi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small">Dear all,<br></div><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-size:small">I am trying to extract the ground points from a point cloud of a terrestrial laser scanner (TLS) in a forestry environment, but the result is not so good as the one I got using data from ALS.</div><div style="font-size:small">What I did is:</div><div style="font-size:small">1. denoise the dataset using the filter.outlier and a filter.range for Z ranges:</div><div style="font-size:small"><div> "type": "filters.outlier",</div><div> "method": "statistical",</div><div> "multiplier": 3,</div><div> "mean_k": 8</div></div><div style="font-size:small">2. apply a filter.elm and a filter.smrf to the cleaned dataset</div><div><div>For the SMRF filter I used these parameters:</div><div> "type": "filters.smrf",</div><div> "slope":0.2,</div><div> "window":16,</div><div> "threshold":0.45,</div><div> "scalar":1.2</div></div><div style="font-size:small"><br></div><div style="font-size:small">Unfortunately the resulting ground points contain also the first part of of the trunks of the trees, how is it possible? </div><div style="font-size:small"><br></div><div style="font-size:small">I am doing some testing changing the values of the SMRF parameters but the results are almost the same. <br></div><div style="font-size:small"><br></div><div style="font-size:small">Do some of you have experience with such kind of data? Am I missing some operation for filtering? Could you please help me understanding at least where to focus the attention to try to obtain something...</div><div style="font-size:small"><br></div><div style="font-size:small">Thank you in advance.</div><div style="font-size:small"><br></div><div style="font-size:small">Silvia</div><div style="font-size:small"><br></div><div style="font-size:small"><br></div></div></div></div></div></div></div>-- <br><div dir="ltr" class="gmail-m_-3221627979718553194gmail-m_7216979034699877938gmail-m_4992377499763954126gmail-m_-7689104954188312284gmail-m_219704293136545552gmail-m_-2926769105894799392gmail-m_-6105421305502696904gmail-m_4016750239997626244gmail-m_-7584620376355790015gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-size:small">ing. Silvia Franceschi<br>Via Roma, 64</div><div style="font-size:small">38030 Castello di Fiemme (TN)<br><br>tel: 0039 -3384501332</div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
pdal mailing list<br>
<a href="mailto:pdal@lists.osgeo.org" target="_blank">pdal@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pdal" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pdal</a></blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-3221627979718553194gmail-m_7216979034699877938gmail-m_4992377499763954126gmail-m_-7689104954188312284gmail-m_219704293136545552gmail-m_-2926769105894799392gmail-m_-6105421305502696904gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-size:small">ing. Silvia Franceschi<br>Via Roma, 64</div><div style="font-size:small">38030 Castello di Fiemme (TN)<br><br>tel: 0039 -3384501332</div></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-3221627979718553194gmail-m_7216979034699877938gmail-m_4992377499763954126gmail-m_-7689104954188312284gmail-m_219704293136545552gmail-m_-2926769105894799392gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-size:small">ing. Silvia Franceschi<br>Via Roma, 64</div><div style="font-size:small">38030 Castello di Fiemme (TN)<br><br>tel: 0039 -3384501332</div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
pdal mailing list<br>
<a href="mailto:pdal@lists.osgeo.org" target="_blank">pdal@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pdal" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pdal</a></blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-3221627979718553194gmail-m_7216979034699877938gmail-m_4992377499763954126gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-size:small">ing. Silvia Franceschi<br>Via Roma, 64</div><div style="font-size:small">38030 Castello di Fiemme (TN)<br><br>tel: 0039 -3384501332</div></div></div></div></div></div></div></div></div>
</div></blockquote><blockquote type="cite"><div dir="ltr"><span>_______________________________________________</span><br><span>pdal mailing list</span><br><span><a href="mailto:pdal@lists.osgeo.org" target="_blank">pdal@lists.osgeo.org</a></span><br><span><a href="https://lists.osgeo.org/mailman/listinfo/pdal" target="_blank">https://lists.osgeo.org/mailman/listinfo/pdal</a></span></div></blockquote></div></div>_______________________________________________<br>
pdal mailing list<br>
<a href="mailto:pdal@lists.osgeo.org" target="_blank">pdal@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pdal" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pdal</a></blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-3221627979718553194gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-size:small">ing. Silvia Franceschi<br>Via Roma, 64</div><div style="font-size:small">38030 Castello di Fiemme (TN)<br><br>tel: 0039 -3384501332</div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
pdal mailing list<br>
<a href="mailto:pdal@lists.osgeo.org" target="_blank">pdal@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pdal" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pdal</a></blockquote></div>