ruotare un poligono

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

ruotare un poligono

Maurizio Marrese
salve,
ho una griglia, poligono, su qgis 
e la vorrei ruotare di qualche grado su se stessa.

Posso farlo in qualche modo?

Vi ringrazio (e scusate se non uso i termini giusti)

Maurizio Marrese



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

Luca Sigfrido Percich
Ciao Maurizio,

non l'ho provato ma c'è questo script basato su OGR:

http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/vec_tr.py

devi codificare la logica della tua trasformazione (una rototraslazione
o trasformazione affine) nella funzione TransformPoint( xyz ).

Buon lavoro

Sig

Il giorno ven, 25/05/2012 alle 12.42 +0200, Maurizio Marrese ha scritto:

> salve,
> ho una griglia, poligono, su qgis
> e la vorrei ruotare di qualche grado su se stessa.
>
>
> Posso farlo in qualche modo?
>
>
> Vi ringrazio (e scusate se non uso i termini giusti)
>
> Maurizio Marrese
>
>
>
>
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> Non inviate messaggi commerciali.
> I messaggi di questa lista non rispecchiano necessariamente
> le posizioni dell'Associazione GFOSS.it.
> 584 iscritti al 7.4.2012


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

a.furieri
On Fri, 25 May 2012 16:31:57 +0200, Luca Sigfrido Percich wrote:
> non l'ho provato ma c'è questo script basato su OGR:
>
> http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/vec_tr.py
>
> devi codificare la logica della tua trasformazione (una
> rototraslazione
> o trasformazione affine) nella funzione TransformPoint( xyz ).
>

lo puoi fare anche con SpatiaLite:

RotateCoordinates( geom Geometry , angleInDegrees Double precision ) :
Geometry

"return a geometric object obtained by rotating coordinates
according to angleInDegrees value"

ciao Sandro

--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

Luca Sigfrido Percich
Grazie delle info, Sandro.

Rispetto a quale punto viene applicata la rotazione?

Sig

Il giorno ven, 25/05/2012 alle 16.38 +0200, [hidden email] ha scritto:

> RotateCoordinates( geom Geometry , angleInDegrees Double precision ) :
> Geometry
>
> "return a geometric object obtained by rotating coordinates
> according to angleInDegrees value"


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

a.furieri
On Fri, 25 May 2012 17:36:43 +0200, Luca Sigfrido Percich wrote:
> Grazie delle info, Sandro.
>
> Rispetto a quale punto viene applicata la rotazione?
>

quello piu' scemo ed ovvio ... (0,0) :-)
insomma, ti fa semplicemente ruotare tutto il piano

ma esiste anche questa qua:
ShiftCoordinates( geom Geometry , shiftX Double precision , shiftY
Double precision ) : Geometry
"return a geometric object obtained by translating coordinates
according
to shiftX and shiftY values"

quindi innestando a catena uno shift, un rotate ed un ultimo shift
esattamente simmetrico al primo ti puoi posizionare l'asse di rotazione
dove meglio credi ((p.es. sul centroide del poligono).

ciao Sandro

--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

giohappy
In pausa caffè ho creato uno script che potrebbe tornarti comodo:


Copialo e incollalo dentro la console di Python di Qgis.
e poi scrivi:

> rotalyer('griglia',45)

ovvero, nome del layer contenente la griglia di poligoni e l'angolo in gradi.

E' molto rudimentale, e funziona solo per griglie con poligoni e non multipolygons. Ci vuole poco a sistemarlo, ma la pausa caffè è già finita :)

giovanni

Il giorno 25 maggio 2012 17:53, <[hidden email]> ha scritto:
On Fri, 25 May 2012 17:36:43 +0200, Luca Sigfrido Percich wrote:
Grazie delle info, Sandro.

Rispetto a quale punto viene applicata la rotazione?


quello piu' scemo ed ovvio ... (0,0) :-)
insomma, ti fa semplicemente ruotare tutto il piano

ma esiste anche questa qua:
ShiftCoordinates( geom Geometry , shiftX Double precision , shiftY Double precision ) : Geometry
"return a geometric object obtained by translating coordinates according
to shiftX and shiftY values"

quindi innestando a catena uno shift, un rotate ed un ultimo shift
esattamente simmetrico al primo ti puoi posizionare l'asse di rotazione
dove meglio credi ((p.es. sul centroide del poligono).


ciao Sandro

--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012


_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

giohappy
PS: visto che chiedevi la rotazione su se stessa della griglia, ho posto come centro di rotazione il centro dell'estensione della grigila.

Il giorno 25 maggio 2012 18:15, G. Allegri <[hidden email]> ha scritto:
In pausa caffè ho creato uno script che potrebbe tornarti comodo:


Copialo e incollalo dentro la console di Python di Qgis.
e poi scrivi:

> rotalyer('griglia',45)

ovvero, nome del layer contenente la griglia di poligoni e l'angolo in gradi.

E' molto rudimentale, e funziona solo per griglie con poligoni e non multipolygons. Ci vuole poco a sistemarlo, ma la pausa caffè è già finita :)

giovanni

Il giorno 25 maggio 2012 17:53, <[hidden email]> ha scritto:

On Fri, 25 May 2012 17:36:43 +0200, Luca Sigfrido Percich wrote:
Grazie delle info, Sandro.

Rispetto a quale punto viene applicata la rotazione?


quello piu' scemo ed ovvio ... (0,0) :-)
insomma, ti fa semplicemente ruotare tutto il piano

ma esiste anche questa qua:
ShiftCoordinates( geom Geometry , shiftX Double precision , shiftY Double precision ) : Geometry
"return a geometric object obtained by translating coordinates according
to shiftX and shiftY values"

quindi innestando a catena uno shift, un rotate ed un ultimo shift
esattamente simmetrico al primo ti puoi posizionare l'asse di rotazione
dove meglio credi ((p.es. sul centroide del poligono).


ciao Sandro

--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

Luca Sigfrido Percich
In reply to this post by a.furieri

Infatti temevo potesse essere rispetto al centroide, ma ora che vedo la
rototraslazione implementata con due funzioni piccole e specializzate -
questo si che è programmare - non dubito più :))))

Grazie ancora

Sig

Il giorno ven, 25/05/2012 alle 17.53 +0200, [hidden email] ha scritto:

> On Fri, 25 May 2012 17:36:43 +0200, Luca Sigfrido Percich wrote:
> > Grazie delle info, Sandro.
> >
> > Rispetto a quale punto viene applicata la rotazione?
> >
>
> quello piu' scemo ed ovvio ... (0,0) :-)
> insomma, ti fa semplicemente ruotare tutto il piano
>
> ma esiste anche questa qua:
> ShiftCoordinates( geom Geometry , shiftX Double precision , shiftY
> Double precision ) : Geometry
> "return a geometric object obtained by translating coordinates
> according
> to shiftX and shiftY values"
>
> quindi innestando a catena uno shift, un rotate ed un ultimo shift
> esattamente simmetrico al primo ti puoi posizionare l'asse di rotazione
> dove meglio credi ((p.es. sul centroide del poligono).
>
> ciao Sandro
>


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

giohappy
Il giorno 25 maggio 2012 18:23, Luca Sigfrido Percich <[hidden email]> ha scritto:

Infatti temevo potesse essere rispetto al centroide, ma ora che vedo la
rototraslazione implementata con due funzioni piccole e specializzate -
questo si che è programmare - non dubito più :))))

Se ti riferisci allo script, per cambiare il centro di rotazione basta che setti bboxcx e bboxcy diversamente.

Ciao,
giovanni 

 
Grazie ancora

Sig

Il giorno ven, 25/05/2012 alle 17.53 +0200, [hidden email] ha scritto:
> On Fri, 25 May 2012 17:36:43 +0200, Luca Sigfrido Percich wrote:
> > Grazie delle info, Sandro.
> >
> > Rispetto a quale punto viene applicata la rotazione?
> >
>
> quello piu' scemo ed ovvio ... (0,0) :-)
> insomma, ti fa semplicemente ruotare tutto il piano
>
> ma esiste anche questa qua:
> ShiftCoordinates( geom Geometry , shiftX Double precision , shiftY
> Double precision ) : Geometry
> "return a geometric object obtained by translating coordinates
> according
> to shiftX and shiftY values"
>
> quindi innestando a catena uno shift, un rotate ed un ultimo shift
> esattamente simmetrico al primo ti puoi posizionare l'asse di rotazione
> dove meglio credi ((p.es. sul centroide del poligono).
>
> ciao Sandro
>


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012


_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

Luca Sigfrido Percich
No, mi riferivo alle due funzioni disponibili in spatialite di cui
parlava Sandro.

Grazie per lo script, molto illuminante!

Se il modello di accesso alle geometrie di QGIS è (lo stesso di /
compatibile con) OGR, si può modificare direttamente vertice per vertice
la geometria trattandola come Geometry, vedi la funzione
WalkAndTransform( geom ) da [1] che va sia con le (multi) che con le
geometrie semplici indipendentemente dal tipo. Che dici?

Sig

[1] http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/vec_tr.py

Il giorno ven, 25/05/2012 alle 18.27 +0200, G. Allegri ha scritto:

> Il giorno 25 maggio 2012 18:23, Luca Sigfrido Percich
> <[hidden email]> ha scritto:
>        
>         Infatti temevo potesse essere rispetto al centroide, ma ora
>         che vedo la
>         rototraslazione implementata con due funzioni piccole e
>         specializzate -
>         questo si che è programmare - non dubito più :))))
>
>
> Se ti riferisci allo script, per cambiare il centro di rotazione basta
> che setti bboxcx e bboxcy diversamente.
>
>
> Ciao,
> giovanni
>
>
>  
>         Grazie ancora
>        
>         Sig
>        
>         Il giorno ven, 25/05/2012 alle 17.53 +0200, [hidden email]
>         ha scritto:
>         > On Fri, 25 May 2012 17:36:43 +0200, Luca Sigfrido Percich
>         wrote:
>         > > Grazie delle info, Sandro.
>         > >
>         > > Rispetto a quale punto viene applicata la rotazione?
>         > >
>         >
>         > quello piu' scemo ed ovvio ... (0,0) :-)
>         > insomma, ti fa semplicemente ruotare tutto il piano
>         >
>         > ma esiste anche questa qua:
>         > ShiftCoordinates( geom Geometry , shiftX Double precision ,
>         shiftY
>         > Double precision ) : Geometry
>         > "return a geometric object obtained by translating
>         coordinates
>         > according
>         > to shiftX and shiftY values"
>         >
>         > quindi innestando a catena uno shift, un rotate ed un ultimo
>         shift
>         > esattamente simmetrico al primo ti puoi posizionare l'asse
>         di rotazione
>         > dove meglio credi ((p.es. sul centroide del poligono).
>         >
>         > ciao Sandro
>         >
>        
>        
>        
>         _____________
>         PRIVACY
>         Le informazioni contenute in questo messaggio sono riservate e
>         confidenziali. Il loro utilizzo e' consentito esclusivamente
>         al destinatario del messaggio, per le finalità indicate nel
>         messaggio stesso. Qualora Lei non fosse la persona a cui il
>         presente messaggio è destinato, La invitiamo ad eliminarlo dal
>         Suo Sistema e a distruggere le varie copie o stampe, dandone
>         gentilmente comunicazione all’indirizzo mail del mittente.
>         Ogni utilizzo improprio e' contrario ai principi del D.lgs
>         196/03 e alla legislazione europea (Direttiva 2002/58/CE).
>        
>         PRIVACY
>         Le informazioni contenute in questo messaggio sono riservate e
>         confidenziali. Il loro utilizzo e' consentito esclusivamente
>         al destinatario del messaggio, per le finalità indicate nel
>         messaggio stesso. Qualora Lei non fosse la persona a cui il
>         presente messaggio è destinato, La invitiamo ad eliminarlo dal
>         Suo Sistema e a distruggere le varie copie o stampe, dandone
>         gentilmente comunicazione all’indirizzo mail del mittente.
>         Ogni utilizzo improprio e' contrario ai principi del D.lgs
>         196/03 e alla legislazione europea (Direttiva 2002/58/CE).
>        
>         _______________________________________________
>         [hidden email]
>         http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>         Questa e' una lista di discussione pubblica aperta a tutti.
>         Non inviate messaggi commerciali.
>         I messaggi di questa lista non rispecchiano necessariamente
>         le posizioni dell'Associazione GFOSS.it.
>         584 iscritti al 7.4.2012
>


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012
Reply | Threaded
Open this post in threaded view
|

Re: ruotare un poligono

giohappy
Bhè, certo che si può generalizzare. La funzioncina era solo per rispondere alla richiesta specifica di Murizio (che ne frattempo avrà sicuramente risolto in altro modo!).

ciao

Il giorno 25 maggio 2012 18:33, Luca Sigfrido Percich <[hidden email]> ha scritto:
No, mi riferivo alle due funzioni disponibili in spatialite di cui
parlava Sandro.

Grazie per lo script, molto illuminante!

Se il modello di accesso alle geometrie di QGIS è (lo stesso di /
compatibile con) OGR, si può modificare direttamente vertice per vertice
la geometria trattandola come Geometry, vedi la funzione
WalkAndTransform( geom ) da [1] che va sia con le (multi) che con le
geometrie semplici indipendentemente dal tipo. Che dici?

Sig

[1] http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/vec_tr.py

Il giorno ven, 25/05/2012 alle 18.27 +0200, G. Allegri ha scritto:
> Il giorno 25 maggio 2012 18:23, Luca Sigfrido Percich
> <[hidden email]> ha scritto:
>
>         Infatti temevo potesse essere rispetto al centroide, ma ora
>         che vedo la
>         rototraslazione implementata con due funzioni piccole e
>         specializzate -
>         questo si che è programmare - non dubito più :))))
>
>
> Se ti riferisci allo script, per cambiare il centro di rotazione basta
> che setti bboxcx e bboxcy diversamente.
>
>
> Ciao,
> giovanni
>
>
>
>         Grazie ancora
>
>         Sig
>
>         Il giorno ven, 25/05/2012 alle 17.53 +0200, [hidden email]
>         ha scritto:
>         > On Fri, 25 May 2012 17:36:43 +0200, Luca Sigfrido Percich
>         wrote:
>         > > Grazie delle info, Sandro.
>         > >
>         > > Rispetto a quale punto viene applicata la rotazione?
>         > >
>         >
>         > quello piu' scemo ed ovvio ... (0,0) :-)
>         > insomma, ti fa semplicemente ruotare tutto il piano
>         >
>         > ma esiste anche questa qua:
>         > ShiftCoordinates( geom Geometry , shiftX Double precision ,
>         shiftY
>         > Double precision ) : Geometry
>         > "return a geometric object obtained by translating
>         coordinates
>         > according
>         > to shiftX and shiftY values"
>         >
>         > quindi innestando a catena uno shift, un rotate ed un ultimo
>         shift
>         > esattamente simmetrico al primo ti puoi posizionare l'asse
>         di rotazione
>         > dove meglio credi ((p.es. sul centroide del poligono).
>         >
>         > ciao Sandro
>         >
>
>
>
>         _____________
>         PRIVACY
>         Le informazioni contenute in questo messaggio sono riservate e
>         confidenziali. Il loro utilizzo e' consentito esclusivamente
>         al destinatario del messaggio, per le finalità indicate nel
>         messaggio stesso. Qualora Lei non fosse la persona a cui il
>         presente messaggio è destinato, La invitiamo ad eliminarlo dal
>         Suo Sistema e a distruggere le varie copie o stampe, dandone
>         gentilmente comunicazione all’indirizzo mail del mittente.
>         Ogni utilizzo improprio e' contrario ai principi del D.lgs
>         196/03 e alla legislazione europea (Direttiva 2002/58/CE).
>
>         PRIVACY
>         Le informazioni contenute in questo messaggio sono riservate e
>         confidenziali. Il loro utilizzo e' consentito esclusivamente
>         al destinatario del messaggio, per le finalità indicate nel
>         messaggio stesso. Qualora Lei non fosse la persona a cui il
>         presente messaggio è destinato, La invitiamo ad eliminarlo dal
>         Suo Sistema e a distruggere le varie copie o stampe, dandone
>         gentilmente comunicazione all’indirizzo mail del mittente.
>         Ogni utilizzo improprio e' contrario ai principi del D.lgs
>         196/03 e alla legislazione europea (Direttiva 2002/58/CE).
>
>         _______________________________________________
>         [hidden email]
>         http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>         Questa e' una lista di discussione pubblica aperta a tutti.
>         Non inviate messaggi commerciali.
>         I messaggi di questa lista non rispecchiano necessariamente
>         le posizioni dell'Associazione GFOSS.it.
>         584 iscritti al 7.4.2012
>


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).


_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012