1010from .FunctionBase import FunctionBase
1111
1212class Function (FunctionBase ):
13-
13+
1414 @classmethod
1515 def getName (self ):
1616 ''' returns Function name. '''
1717 return 'trsp(edge)'
18-
18+
1919 @classmethod
2020 def getControlNames (self , version ):
2121 ''' returns control names. '''
@@ -24,17 +24,17 @@ def getControlNames(self, version):
2424 'labelSourcePos' , 'lineEditSourcePos' ,
2525 'labelTargetId' , 'lineEditTargetId' , 'buttonSelectTargetId' ,
2626 'labelTargetPos' , 'lineEditTargetPos' ,
27- 'labelTurnRestrictSql' , 'plainTextEditTurnRestrictSql' ]
27+ 'labelTurnRestrictSql' , 'plainTextEditTurnRestrictSql' ]
28+
2829
29-
3030 @classmethod
3131 def isEdgeBase (self ):
3232 return True
33-
33+
3434 def prepare (self , canvasItemList ):
3535 resultPathRubberBand = canvasItemList ['path' ]
3636 resultPathRubberBand .reset (Utils .getRubberBandType (False ))
37-
37+
3838 def getQuery (self , args ):
3939 ''' returns the sql query in required signature format of pgr_trsp_edge '''
4040 args ['where_clause' ] = self .whereClause (args ['edge_table' ], args ['geometry' ], args ['BBOX' ])
@@ -46,22 +46,22 @@ def getQuery(self, args):
4646 FROM %(edge_table)s
4747 %(where_clause)s',
4848 %(source_id)s, %(source_pos)s, %(target_id)s, %(target_pos)s, %(directed)s, %(has_reverse_cost)s, %(turn_restrict_sql)s)""" % args
49-
49+
5050 def getExportQuery (self , args ):
5151 args ['result_query' ] = 'result AS (' + self .getQuery (args ) + ')'
5252
5353 args ['max_seq_query' ] = 'max_seq AS (SELECT max(seq), min(seq) FROM result) '
5454
5555 args ['with_geom' ] = """ with_geom AS (
5656 SELECT
57- lead(_node) over(), result.*, %(edge_table)s.*
57+ lead(_node) over(), result.*, %(edge_table)s.*
5858 FROM %(edge_table)s JOIN result
59- ON edge_table.id = result._edge ORDER BY result.seq)""" % args
59+ ON %( edge_table)s.%(id)s = result._edge ORDER BY result.seq)""" % args
6060
6161 args ['first_row_split' ] = self .getRowSplit (args , 'first' )
6262 args ['last_row_split' ] = self .getRowSplit (args , 'last' )
6363
64- args ['intermediate_rows' ] = """ intermediate_rows AS (SELECT
64+ args ['intermediate_rows' ] = """ intermediate_rows AS (SELECT
6565 CASE
6666 WHEN result._node = %(edge_table)s.%(source)s
6767 THEN %(edge_table)s.%(geometry)s
@@ -92,14 +92,14 @@ def getExportMergeQuery(self, args):
9292
9393 args ['with_geom' ] = """ with_geom AS (
9494 SELECT
95- lead(_node) over(), result.*, %(edge_table)s.*
95+ lead(_node) over(), result.*, %(edge_table)s.*
9696 FROM %(edge_table)s JOIN result
97- ON edge_table.id = result._edge ORDER BY result.seq)""" % args
97+ ON %( edge_table)s.%(id)s = result._edge ORDER BY result.seq)""" % args
9898
9999 args ['first_row_split' ] = self .getRowSplit (args , 'first' )
100100 args ['last_row_split' ] = self .getRowSplit (args , 'last' )
101101
102- args ['intermediate_rows' ] = """ intermediate_rows AS (SELECT
102+ args ['intermediate_rows' ] = """ intermediate_rows AS (SELECT
103103 CASE
104104 WHEN result._node = %(edge_table)s.%(source)s
105105 THEN %(edge_table)s.%(geometry)s
@@ -141,7 +141,7 @@ def draw(self, rows, con, args, geomType, canvasItemList, mapCanvas):
141141 args ['result_node_id' ] = row [1 ]
142142 args ['result_edge_id' ] = row [2 ]
143143 args ['result_cost' ] = row [3 ]
144-
144+
145145 if i == 0 and args ['result_node_id' ] == - 1 :
146146 args ['result_next_node_id' ] = rows [i + 1 ][1 ]
147147 query2 = """
@@ -170,13 +170,13 @@ def draw(self, rows, con, args, geomType, canvasItemList, mapCanvas):
170170 SELECT ST_AsText(%(transform_s)sST_Reverse(%(geometry)s)%(transform_e)s) FROM %(edge_table)s
171171 WHERE %(target)s = %(result_node_id)d AND %(id)s = %(result_edge_id)d;
172172 """ % args
173-
173+
174174 ##Utils.logMessage(query2)
175175 cur2 .execute (query2 )
176176 row2 = cur2 .fetchone ()
177177 ##Utils.logMessage(str(row2[0]))
178178 assert row2 , "Invalid result geometry. (node_id:%(result_node_id)d, edge_id:%(result_edge_id)d)" % args
179-
179+
180180 geom = QgsGeometry ().fromWkt (str (row2 [0 ]))
181181 if geom .wkbType () == QgsWkbTypes .MultiLineString :
182182 for line in geom .asMultiPolyline ():
@@ -185,9 +185,9 @@ def draw(self, rows, con, args, geomType, canvasItemList, mapCanvas):
185185 elif geom .wkbType () == QgsWkbTypes .LineString :
186186 for pt in geom .asPolyline ():
187187 resultPathRubberBand .addPoint (pt )
188-
188+
189189 i = i + 1
190-
190+
191191 def getRowSplit (self , args , which ):
192192 # PRIVATE method
193193 # upper case for localy defined string values
@@ -214,7 +214,7 @@ def getRowSplit(self, args, which):
214214 ST_LineInterpolatePoint(%(geometry)s, %(POSITION)s))
215215 ELSE
216216 ST_reverse( ST_split( ST_Snap( %(geometry)s, ST_LineInterpolatePoint(%(geometry)s, %(POSITION)s), 0.00001),
217- ST_LineInterpolatePoint(%(geometry)s, %(POSITION)s)))
217+ ST_LineInterpolatePoint(%(geometry)s, %(POSITION)s)))
218218 END AS line_geom,
219219 st_length(%(geometry)s) AS length,
220220 _cost
0 commit comments