[FEATURE][processing] Remove duplicate create points along lines script

This functionality is duplicated by the PointsAlongGeometry algorithm

Keep the algorithm version, since it has unit tests and supports things
like progress reports.

(marked as feature for inclusion in release notes)
This commit is contained in:
Nyall Dawson 2016-11-30 09:35:06 +10:00
parent d4c38f9277
commit 6bb4934907
2 changed files with 1 additions and 45 deletions

View File

@ -55,6 +55,7 @@ class PointsAlongGeometry(GeoAlgorithm):
def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('Points along lines')
self.group, self.i18n_group = self.trAlgorithm('Vector geometry tools')
self.tags = self.tr('create,interpolate,points,lines')
self.addParameter(ParameterVector(self.INPUT,
self.tr('Input layer'),

View File

@ -1,45 +0,0 @@
##Vector geometry tools=group
##Lines=vector
##Distance=number 1
##Startpoint=number 0
##Endpoint=number 0
##output=output vector
from qgis.PyQt.QtCore import QVariant
from qgis.core import Qgis, QgsFeature, QgsField, QgsWkbTypes
from processing.tools.vector import VectorWriter
def create_points(feat):
geom = feat.geometry()
length = geom.length()
currentdistance = 0
if Endpoint > 0:
length = Endpoint
out = QgsFeature()
while Startpoint + currentdistance <= length:
point = geom.interpolate(Startpoint + currentdistance)
currentdistance = currentdistance + Distance
out.setGeometry(point)
attrs = feat.attributes()
attrs.append(currentdistance)
out.setAttributes(attrs)
writer.addFeature(out)
layer = processing.getObject(Lines)
fields = layer.dataProvider().fields()
fields.append(QgsField('Distance', QVariant.Double))
writer = VectorWriter(output, None, fields, QgsWkbTypes.Point,
layer.crs())
feats = processing.features(layer)
nFeat = len(feats)
for i, feat in enumerate(feats):
progress.setPercentage(int(100 * i / nFeat))
create_points(feat)
del writer