mercoledì 23 settembre 2009

QGis: Aggiungere il layer selezionato nella finestra Overview

Codice che permette, dato un layer, di aggiungerlo alla finestra Overview
layer = iface.activeLayer()
mapCanvasLayer = QgsMapCanvasLayer( layer )
mapCanvasLayer.setInOverview( True )
iface.mapCanvas().setLayerSet( [ mapCanvasLayer ] )
Se si vogliono aggiungere più layer alla finestra Overview è sufficiente inserire le variabili di tipo QgsMapCanvasLayer alla lista di setLayerSet:
mapCanvasLayer1 = QgsMapCanvasLayer( layer1 )
mapCanvasLayer1.setInOverview( True )
mapCanvasLayer2 = QgsMapCanvasLayer( layer2 )
mapCanvasLayer2.setInOverview( True )
iface.mapCanvas().setLayerSet( [ mapCanvasLayer1, mapCanvasLayer2 ] )
Questo codice può essere eseguito all'interno della console Python di QGis o può essere incluso in un plugin.

martedì 22 settembre 2009

PostGIS: Determinare la distanza di un campo geometrico

In PostGis è possibile determinare la distanza che intercorre tra due o più punti di un campo geometrico di tipo LINESTRING utlizzando la funzione ST_Lenght(GeometryFieldName).

La seguente SELECT mostra un esempio di utlizzo di tale funzione:
SELECT ST_Length(GeometryFieldName) FROM TableName;

QGis: Recuperare il nome del layer corrente

Il codice python che permette di recuperare il nome del layer corrente è il seguente:
mp = iface.mapCanvas()
currLayer = mp.currentLayer()
nameLayer = currLayer.name()
print nameLayer
queste 4 righe di codice possono essere eseguite all'interno della finestra Python Console di QGis che inserite all'interno di un plugin.

Tale codice funziona sulla versione 1.0.2-Kore di Quantum GIS (QGis)