<div dir="ltr"><div>I have currently implemented a geodesic decimation processing routine, but I have a question for the community. I am thinking about making 3 algorithms to simplify the process rather than one algorithm with more options where some options would not be applicable to points and other not applicable to lines so would you agree with my reasoning or not? If I break it into 3, these would be the algorithms.</div><div><br></div><div>1. Geodesic distance and time decimation for point layer.</div><div>This would calculate the distance between consecutive points and if they don't meet the minimum distance then a point would be removed. Additionally, if a time field is selected it would also calculate the difference in time between two points and if it is less then the minimum time then the point would be removed. When both distance and time are selected and either condition is below the minimum, then the point would be removed. This algorithm would include an order field and group by field. There would be the option of preserving the last point despite the fact it might not meet the criteria.<br></div><div><br></div><div>2. Geodesic distance decimation for lines and perhaps polygons.</div><div>Time would not be a part of the algorithm because the individual vertices don't have time associated with them. 
This would calculate the distance between consecutive vertices and if they don't meet the minimum geodesic distance then the vertex would be removed. 
There would be an option of preserving the final vertex despite it might not meet the criteria.

</div><div><br></div><div>3. Geodesic Simply Algorithm for lines and polygons.</div><div>This would implement geodesic versions of algorithms such the 
Douglas-Peucker algorithm for lines and polygons. Instead of using Cartesian math it would use geodesic math.</div><div><br></div><div>I have #2 implemented and #1 without time. I think it is probably better to have a separate algorithm for points and another for lines and polygons. Would you agree?</div><div><br></div><div>Thanks,</div><div><br></div><div>Calvin<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 2, 2019 at 7:51 PM Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com">nyall.dawson@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">On Wed, 2 Oct 2019 at 01:30, C Hamilton <<a href="mailto:adenaculture@gmail.com" target="_blank">adenaculture@gmail.com</a>> wrote:<br>
><br>
> I am guessing this is working on Cartesian coordinates and not geodesic which is fine if you have a local projection. I think I will go ahead and implement some similar geodesic algorithms. Thank you for the GRASS link. It will help.<br>
<br>
Hi Calvin,<br>
<br>
I think there's a strong use case for adding this to the c++ API.<br>
Would you be willing to put together a proof of concept in Python code<br>
and I'll port it to c++ for you?<br>
<br>
Nyall<br>
<br>
<br>
><br>
> Thanks,<br>
><br>
> Calvin<br>
><br>
> On Tue, Oct 1, 2019 at 7:45 AM Áron Gergely <<a href="mailto:aron.gergely@rasterra.nl" target="_blank">aron.gergely@rasterra.nl</a>> wrote:<br>
>><br>
>> Hi Calvin and list,<br>
>><br>
>> Have you looked at the GRASS GIS v.generalize tool? <a href="https://grass.osgeo.org/grass64/manuals/v.generalize.html" rel="noreferrer" target="_blank">https://grass.osgeo.org/grass64/manuals/v.generalize.html</a><br>
>><br>
>> The Douglas-Peucker algorithm is implemented there and I have used that with (topologic)success recently on many touching polygons. Should work for polylines too!<br>
>><br>
>> Best regards,<br>
>> Aron<br>
>><br>
>> On 01/10/2019 08:19, Tim Sutton wrote:<br>
>><br>
>> Hi<br>
>><br>
>> On 26 Sep 2019, at 17:13, C Hamilton <<a href="mailto:adenaculture@gmail.com" target="_blank">adenaculture@gmail.com</a>> wrote:<br>
>><br>
>> Are there any geodesic QGIS algorithms that simplify lines? "Simplify" just uses the projection units of measure. If there isn't I thought I would add this to the Shape Tools plugin. I could easily implement the Douglas-Peucker algorithm using geodesic math.<br>
>><br>
>> For GPS tracks I also see a need to throw out all points that are less than a certain distance or less than a certain time interval. I don't see any simplification algorithms that make use of time. Am I just missing them?<br>
>><br>
>><br>
>> No I don’t think we have any time based simplifiers - would be a great addition!<br>
>><br>
>> Regards<br>
>><br>
>> Tim<br>
>><br>
>><br>
>><br>
>><br>
>> Thanks,<br>
>><br>
>> Calvin<br>
>> _______________________________________________<br>
>> QGIS-Developer mailing list<br>
>> <a href="mailto:QGIS-Developer@lists.osgeo.org" target="_blank">QGIS-Developer@lists.osgeo.org</a><br>
>> List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
>> Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
>><br>
>><br>
>> —<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> Tim Sutton<br>
>><br>
>> Co-founder: Kartoza<br>
>> Ex Project chair: QGIS.org<br>
>><br>
>> Visit <a href="http://kartoza.com" rel="noreferrer" target="_blank">http://kartoza.com</a> to find out about open source:<br>
>><br>
>> Desktop GIS programming services<br>
>> Geospatial web development<br>
>> GIS Training<br>
>> Consulting Services<br>
>><br>
>> Skype: timlinux<br>
>> IRC: timlinux on #qgis at <a href="http://freenode.net" rel="noreferrer" target="_blank">freenode.net</a><br>
>><br>
>> I'd love to connect. Here's my calendar link to make finding time easy.<br>
>><br>
>><br>
>> _______________________________________________<br>
>> QGIS-Developer mailing list<br>
>> <a href="mailto:QGIS-Developer@lists.osgeo.org" target="_blank">QGIS-Developer@lists.osgeo.org</a><br>
>> List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
>> Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
><br>
> _______________________________________________<br>
> QGIS-Developer mailing list<br>
> <a href="mailto:QGIS-Developer@lists.osgeo.org" target="_blank">QGIS-Developer@lists.osgeo.org</a><br>
> List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
> Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
</blockquote></div>