Skip to content

Commit c440ade

Browse files
committedJul 24, 2017
[processing] remove Z/M addition from "random" algorithms
1 parent c7645a3 commit c440ade

File tree

4 files changed

+8
-121
lines changed

4 files changed

+8
-121
lines changed
 

‎python/plugins/processing/algs/qgis/RandomPointsAlongLines.py

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
QgsFeature,
3535
QgsFields,
3636
QgsGeometry,
37-
QgsPoint,
3837
QgsPointXY,
3938
QgsWkbTypes,
4039
QgsSpatialIndex,
@@ -44,7 +43,6 @@
4443
QgsProcessing,
4544
QgsProcessingException,
4645
QgsProcessingParameterNumber,
47-
QgsProcessingParameterBoolean,
4846
QgsProcessingParameterFeatureSource,
4947
QgsProcessingParameterFeatureSink,
5048
QgsProcessingParameterDefinition)
@@ -58,8 +56,6 @@ class RandomPointsAlongLines(QgisAlgorithm):
5856
INPUT = 'INPUT'
5957
POINTS_NUMBER = 'POINTS_NUMBER'
6058
MIN_DISTANCE = 'MIN_DISTANCE'
61-
ADD_Z = 'ADD_Z'
62-
ADD_M = 'ADD_M'
6359
OUTPUT = 'OUTPUT'
6460

6561
def group(self):
@@ -80,17 +76,6 @@ def initAlgorithm(self, config=None):
8076
self.tr('Minimum distance between points'),
8177
QgsProcessingParameterNumber.Double,
8278
0, False, 0, 1000000000))
83-
params = []
84-
params.append(QgsProcessingParameterBoolean(self.ADD_Z,
85-
self.tr('Add Z coordinate'),
86-
False))
87-
params.append(QgsProcessingParameterBoolean(self.ADD_M,
88-
self.tr('Add M coordinate'),
89-
False))
90-
for p in params:
91-
p.setFlags(p.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
92-
self.addParameter(p)
93-
9479
self.addParameter(QgsProcessingParameterFeatureSink(self.OUTPUT,
9580
self.tr('Random points'),
9681
type=QgsProcessing.TypeVectorPoint))
@@ -105,20 +90,12 @@ def processAlgorithm(self, parameters, context, feedback):
10590
source = self.parameterAsSource(parameters, self.INPUT, context)
10691
pointCount = self.parameterAsDouble(parameters, self.POINTS_NUMBER, context)
10792
minDistance = self.parameterAsDouble(parameters, self.MIN_DISTANCE, context)
108-
addZ = self.parameterAsBool(parameters, self.ADD_Z, context)
109-
addM = self.parameterAsBool(parameters, self.ADD_M, context)
11093

11194
fields = QgsFields()
11295
fields.append(QgsField('id', QVariant.Int, '', 10, 0))
11396

114-
wkbType = QgsWkbTypes.Point
115-
if addZ:
116-
wkbType = QgsWkbTypes.addZ(wkbType)
117-
if addM:
118-
wkbType = QgsWkbTypes.addM(wkbType)
119-
12097
(sink, dest_id) = self.parameterAsSink(parameters, self.OUTPUT, context,
121-
fields, wkbType, source.sourceCrs())
98+
fields, QgsWkbTypes.Point, source.sourceCrs())
12299

123100
nPoints = 0
124101
nIterations = 0
@@ -170,13 +147,8 @@ def processAlgorithm(self, parameters, context, feedback):
170147
ry = (startPoint.y() + d * endPoint.y()) / (1 + d)
171148

172149
# generate random point
173-
pnt = QgsPoint(rx, ry)
174150
p = QgsPointXY(rx, ry)
175-
if addZ:
176-
pnt.addZValue(0.0)
177-
if addM:
178-
pnt.addMValue(0.0)
179-
geom = QgsGeometry(pnt)
151+
geom = QgsGeometry.fromPoint(p)
180152
if vector.checkMinDistance(p, index, minDistance, points):
181153
f = QgsFeature(nPoints)
182154
f.initAttributes(1)

‎python/plugins/processing/algs/qgis/RandomPointsExtent.py

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
QgsFeature,
3737
QgsFields,
3838
QgsGeometry,
39-
QgsPoint,
4039
QgsPointXY,
4140
QgsWkbTypes,
4241
QgsSpatialIndex,
@@ -45,7 +44,6 @@
4544
QgsProcessingParameterExtent,
4645
QgsProcessingParameterNumber,
4746
QgsProcessingParameterCrs,
48-
QgsProcessingParameterBoolean,
4947
QgsProcessingParameterFeatureSink,
5048
QgsProcessingParameterDefinition)
5149

@@ -61,8 +59,6 @@ class RandomPointsExtent(QgisAlgorithm):
6159
POINTS_NUMBER = 'POINTS_NUMBER'
6260
MIN_DISTANCE = 'MIN_DISTANCE'
6361
TARGET_CRS = 'TARGET_CRS'
64-
ADD_Z = 'ADD_Z'
65-
ADD_M = 'ADD_M'
6662
OUTPUT = 'OUTPUT'
6763

6864
def icon(self):
@@ -87,18 +83,6 @@ def initAlgorithm(self, config=None):
8783
self.addParameter(QgsProcessingParameterCrs(self.TARGET_CRS,
8884
self.tr('Target CRS'),
8985
'ProjectCrs'))
90-
91-
params = []
92-
params.append(QgsProcessingParameterBoolean(self.ADD_Z,
93-
self.tr('Add Z coordinate'),
94-
False))
95-
params.append(QgsProcessingParameterBoolean(self.ADD_M,
96-
self.tr('Add M coordinate'),
97-
False))
98-
for p in params:
99-
p.setFlags(p.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
100-
self.addParameter(p)
101-
10286
self.addParameter(QgsProcessingParameterFeatureSink(self.OUTPUT,
10387
self.tr('Random points'),
10488
type=QgsProcessing.TypeVectorPoint))
@@ -114,22 +98,14 @@ def processAlgorithm(self, parameters, context, feedback):
11498
pointCount = self.parameterAsDouble(parameters, self.POINTS_NUMBER, context)
11599
minDistance = self.parameterAsDouble(parameters, self.MIN_DISTANCE, context)
116100
crs = self.parameterAsCrs(parameters, self.TARGET_CRS, context)
117-
addZ = self.parameterAsBool(parameters, self.ADD_Z, context)
118-
addM = self.parameterAsBool(parameters, self.ADD_M, context)
119101

120102
extent = QgsGeometry().fromRect(bbox)
121103

122104
fields = QgsFields()
123105
fields.append(QgsField('id', QVariant.Int, '', 10, 0))
124106

125-
wkbType = QgsWkbTypes.Point
126-
if addZ:
127-
wkbType = QgsWkbTypes.addZ(wkbType)
128-
if addM:
129-
wkbType = QgsWkbTypes.addM(wkbType)
130-
131107
(sink, dest_id) = self.parameterAsSink(parameters, self.OUTPUT, context,
132-
fields, wkbType, crs)
108+
fields, QgsWkbTypes.Point, crs)
133109

134110
nPoints = 0
135111
nIterations = 0
@@ -148,13 +124,8 @@ def processAlgorithm(self, parameters, context, feedback):
148124
rx = bbox.xMinimum() + bbox.width() * random.random()
149125
ry = bbox.yMinimum() + bbox.height() * random.random()
150126

151-
pnt = QgsPoint(rx, ry)
152127
p = QgsPointXY(rx, ry)
153-
if addZ:
154-
pnt.addZValue(0.0)
155-
if addM:
156-
pnt.addMValue(0.0)
157-
geom = QgsGeometry(pnt)
128+
geom = QgsGeometry.fromPoint(p)
158129
if geom.within(extent) and \
159130
vector.checkMinDistance(p, index, minDistance, points):
160131
f = QgsFeature(nPoints)

‎python/plugins/processing/algs/qgis/RandomPointsLayer.py

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,13 @@
3535
QgsFeature,
3636
QgsFields,
3737
QgsGeometry,
38-
QgsPoint,
3938
QgsPointXY,
4039
QgsWkbTypes,
4140
QgsSpatialIndex,
4241
QgsFeatureRequest,
4342
QgsProcessing,
4443
QgsProcessingException,
4544
QgsProcessingParameterNumber,
46-
QgsProcessingParameterBoolean,
4745
QgsProcessingParameterFeatureSource,
4846
QgsProcessingParameterFeatureSink,
4947
QgsProcessingParameterDefinition)
@@ -59,8 +57,6 @@ class RandomPointsLayer(QgisAlgorithm):
5957
INPUT = 'INPUT'
6058
POINTS_NUMBER = 'POINTS_NUMBER'
6159
MIN_DISTANCE = 'MIN_DISTANCE'
62-
ADD_Z = 'ADD_Z'
63-
ADD_M = 'ADD_M'
6460
OUTPUT = 'OUTPUT'
6561

6662
def icon(self):
@@ -84,17 +80,6 @@ def initAlgorithm(self, config=None):
8480
self.tr('Minimum distance between points'),
8581
QgsProcessingParameterNumber.Double,
8682
0, False, 0, 1000000000))
87-
params = []
88-
params.append(QgsProcessingParameterBoolean(self.ADD_Z,
89-
self.tr('Add Z coordinate'),
90-
False))
91-
params.append(QgsProcessingParameterBoolean(self.ADD_M,
92-
self.tr('Add M coordinate'),
93-
False))
94-
for p in params:
95-
p.setFlags(p.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
96-
self.addParameter(p)
97-
9883
self.addParameter(QgsProcessingParameterFeatureSink(self.OUTPUT,
9984
self.tr('Random points'),
10085
type=QgsProcessing.TypeVectorPoint))
@@ -109,23 +94,15 @@ def processAlgorithm(self, parameters, context, feedback):
10994
source = self.parameterAsSource(parameters, self.INPUT, context)
11095
pointCount = self.parameterAsDouble(parameters, self.POINTS_NUMBER, context)
11196
minDistance = self.parameterAsDouble(parameters, self.MIN_DISTANCE, context)
112-
addZ = self.parameterAsBool(parameters, self.ADD_Z, context)
113-
addM = self.parameterAsBool(parameters, self.ADD_M, context)
11497

11598
bbox = source.sourceExtent()
11699
sourceIndex = QgsSpatialIndex(source, feedback)
117100

118101
fields = QgsFields()
119102
fields.append(QgsField('id', QVariant.Int, '', 10, 0))
120103

121-
wkbType = QgsWkbTypes.Point
122-
if addZ:
123-
wkbType = QgsWkbTypes.addZ(wkbType)
124-
if addM:
125-
wkbType = QgsWkbTypes.addM(wkbType)
126-
127104
(sink, dest_id) = self.parameterAsSink(parameters, self.OUTPUT, context,
128-
fields, wkbType, source.sourceCrs())
105+
fields, QgsWkbTypes.Point, source.sourceCrs())
129106

130107
nPoints = 0
131108
nIterations = 0
@@ -144,13 +121,8 @@ def processAlgorithm(self, parameters, context, feedback):
144121
rx = bbox.xMinimum() + bbox.width() * random.random()
145122
ry = bbox.yMinimum() + bbox.height() * random.random()
146123

147-
pnt = QgsPoint(rx, ry)
148124
p = QgsPointXY(rx, ry)
149-
if addZ:
150-
pnt.addZValue(0.0)
151-
if addM:
152-
pnt.addMValue(0.0)
153-
geom = QgsGeometry(pnt)
125+
geom = QgsGeometry.fromPoint(p)
154126
ids = sourceIndex.intersects(geom.buffer(5, 5).boundingBox())
155127
if len(ids) > 0 and \
156128
vector.checkMinDistance(p, index, minDistance, points):

‎python/plugins/processing/algs/qgis/RandomPointsPolygons.py

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
QgsFeature,
3636
QgsFields,
3737
QgsGeometry,
38-
QgsPoint,
3938
QgsPointXY,
4039
QgsWkbTypes,
4140
QgsSpatialIndex,
@@ -46,7 +45,6 @@
4645
QgsProcessing,
4746
QgsProcessingException,
4847
QgsProcessingParameterNumber,
49-
QgsProcessingParameterBoolean,
5048
QgsProcessingParameterFeatureSource,
5149
QgsProcessingParameterFeatureSink,
5250
QgsProcessingParameterExpression,
@@ -65,8 +63,6 @@ class RandomPointsPolygons(QgisAlgorithm):
6563
EXPRESSION = 'EXPRESSION'
6664
MIN_DISTANCE = 'MIN_DISTANCE'
6765
STRATEGY = 'STRATEGY'
68-
ADD_Z = 'ADD_Z'
69-
ADD_M = 'ADD_M'
7066
OUTPUT = 'OUTPUT'
7167

7268
def icon(self):
@@ -97,17 +93,6 @@ def initAlgorithm(self, config=None):
9793
self.tr('Minimum distance between points'),
9894
QgsProcessingParameterNumber.Double,
9995
0, False, 0, 1000000000))
100-
params = []
101-
params.append(QgsProcessingParameterBoolean(self.ADD_Z,
102-
self.tr('Add Z coordinate'),
103-
False))
104-
params.append(QgsProcessingParameterBoolean(self.ADD_M,
105-
self.tr('Add M coordinate'),
106-
False))
107-
for p in params:
108-
p.setFlags(p.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
109-
self.addParameter(p)
110-
11196
self.addParameter(QgsProcessingParameterFeatureSink(self.OUTPUT,
11297
self.tr('Random points'),
11398
type=QgsProcessing.TypeVectorPoint))
@@ -122,8 +107,6 @@ def processAlgorithm(self, parameters, context, feedback):
122107
source = self.parameterAsSource(parameters, self.INPUT, context)
123108
strategy = self.parameterAsEnum(parameters, self.STRATEGY, context)
124109
minDistance = self.parameterAsDouble(parameters, self.MIN_DISTANCE, context)
125-
addZ = self.parameterAsBool(parameters, self.ADD_Z, context)
126-
addM = self.parameterAsBool(parameters, self.ADD_M, context)
127110

128111
expression = QgsExpression(self.parameterAsString(parameters, self.EXPRESSION, context))
129112
if expression.hasParserError():
@@ -137,14 +120,8 @@ def processAlgorithm(self, parameters, context, feedback):
137120
fields = QgsFields()
138121
fields.append(QgsField('id', QVariant.Int, '', 10, 0))
139122

140-
wkbType = QgsWkbTypes.Point
141-
if addZ:
142-
wkbType = QgsWkbTypes.addZ(wkbType)
143-
if addM:
144-
wkbType = QgsWkbTypes.addM(wkbType)
145-
146123
(sink, dest_id) = self.parameterAsSink(parameters, self.OUTPUT, context,
147-
fields, wkbType, source.sourceCrs())
124+
fields, QgsWkbTypes.Point, source.sourceCrs())
148125

149126
da = QgsDistanceArea()
150127
da.setSourceCrs(source.sourceCrs())
@@ -190,13 +167,8 @@ def processAlgorithm(self, parameters, context, feedback):
190167
rx = bbox.xMinimum() + bbox.width() * random.random()
191168
ry = bbox.yMinimum() + bbox.height() * random.random()
192169

193-
pnt = QgsPoint(rx, ry)
194170
p = QgsPointXY(rx, ry)
195-
if addZ:
196-
pnt.addZValue(0.0)
197-
if addM:
198-
pnt.addMValue(0.0)
199-
geom = QgsGeometry(pnt)
171+
geom = QgsGeometry.fromPoint(p)
200172
if geom.within(fGeom) and \
201173
vector.checkMinDistance(p, index, minDistance, points):
202174
f = QgsFeature(nPoints)

0 commit comments

Comments
 (0)
Please sign in to comment.