[GRASS-dev] v.transform: what is zrot supposed to do ?

I have the feeling I'm missing something, here, and I prefer asking the question here before posting a possible bug report.

What is the exact meaning of zrot in v.transform ? I would have thought that with no scaling and no shift, zrot would create a simple rotation.

I create a square as such:

v.in.lines in=- out=testline sep=, --o << EOF
610000,200000
680000,200000
Nan,Nan
680000,200000
680000,270000
Nan,Nan
680000,270000
610000,270000
Nan,Nan
610000,270000
610000,200000
EOF

I then try to rotate that squate by 45 degrees:

v.transform input=testline output=testline45 zrotation=45

The result is shown the attached image: The rotation works, but I get a shift of about 445km NW. Is this expected ?

Moritz

(attachments)

v_transform_rotation.png

On Fri, Jun 19, 2015 at 7:48 AM, Moritz Lennert <
mlennert@club.worldonline.be> wrote:

I have the feeling I'm missing something, here, and I prefer asking the
question here before posting a possible bug report.

What is the exact meaning of zrot in v.transform ? I would have thought
that with no scaling and no shift, zrot would create a simple rotation.

I create a square as such:

v.in.lines in=- out=testline sep=, --o << EOF
610000,200000
680000,200000
Nan,Nan
680000,200000
680000,270000
Nan,Nan
680000,270000
610000,270000
Nan,Nan
610000,270000
610000,200000
EOF

I then try to rotate that squate by 45 degrees:

v.transform input=testline output=testline45 zrotation=45

The result is shown the attached image: The rotation works, but I get a
shift of about 445km NW. Is this expected ?

I think the rotation axis is in (0, 0), I would say that is expected
behavior, although should be better documented.

Anna

Moritz

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

On Fri, 19 Jun 2015 08:28:56 -0400, Anna Petrášová <kratochanna@gmail.com>
wrote:

On Fri, Jun 19, 2015 at 7:48 AM, Moritz Lennert <
mlennert@club.worldonline.be> wrote:

I have the feeling I'm missing something, here, and I prefer asking the
question here before posting a possible bug report.

What is the exact meaning of zrot in v.transform ? I would have thought
that with no scaling and no shift, zrot would create a simple rotation.

I create a square as such:

v.in.lines in=- out=testline sep=, --o << EOF
610000,200000
680000,200000
Nan,Nan
680000,200000
680000,270000
Nan,Nan
680000,270000
610000,270000
Nan,Nan
610000,270000
610000,200000
EOF

I then try to rotate that squate by 45 degrees:

v.transform input=testline output=testline45 zrotation=45

The result is shown the attached image: The rotation works, but I get a
shift of about 445km NW. Is this expected ?

I think the rotation axis is in (0, 0), I would say that is expected
behavior, although should be better documented.

Yes, that does make sense. So if I want to rotate a specific feature, I
have us translation to center it on (0,0), then rotate it and then
translate it back ? Would probably be nice to have 'rotate' as a tool in
v.edit...

Thanks for the quick response !

Moritz