<br clear="all">I am trying to develop a "proof of concept" apps that read some points position (lat,lon) from a DB and plot it over a map (vector or raster or something other) at 1 time per second rate.<br><br>To do that I make a QGIS python plugin that add a Point Vector Layer to the mapcanvas,<br>
add a Feature (1 point) using the following code:<br><br> vl = QgsVectorLayer("Point", "provaLayer", "memory")<br><br>#Create Layer <br> QgsMapLayerRegistry.instance().addMapLayer(vl)<br>
pr = vl.dataProvider()<br><br># add a feature<br> x=12.108<br> y=42.066<br> point = QgsPoint()<br> point.setX(x)<br> point.setY(y) <br> geom = QgsGeometry()<br> <br> fet = QgsFeature()<br> fet.setGeometry(geom.fromPoint(point))<br>
pr.addFeatures( [ fet ] )<br> vl.updateExtents()<br><br>It works.<br><br>After that I want to wait 1 second (for example) and replot the same Feature on an update coordinate (x1,y1)= (x,y+something).<br><br>I have tried vl.changeGeometry(.....) but don't works. Any suggestions ?<br>
<br><br>Moreover I need that only the Point Vector Layer being refreshed and not also the underlying map. Otherway while refresh has done I'll see a white screen without any map.<br><br><br><br>Please Help me...<br>Tanks<br>
<br><br><br><br>