{"id":293,"date":"2007-10-05T08:00:58","date_gmt":"2007-10-05T11:00:58","guid":{"rendered":"http:\/\/www.fernandoquadro.com.br\/html\/2007\/10\/05\/rotacao-no-postgis\/"},"modified":"2018-04-20T02:35:50","modified_gmt":"2018-04-20T05:35:50","slug":"rotacao-no-postgis","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2007\/10\/05\/rotacao-no-postgis\/","title":{"rendered":"Rota\u00e7\u00e3o no PostGIS"},"content":{"rendered":"<p>Parece que a fun\u00e7\u00e3o rotate no PostGIS gira a geometria somente sobre o centro do sistema de coordenada. Havia um truque que foi mencionado na lista do PostGIS por Bruce Rindhal para girar um pol\u00edgono sobre seu centro:<\/p>\n<pre>\r\nCREATE TABLE shapes (gid serial PRIMARY KEY,  name varchar);\r\nSELECT AddGeometryColumn('', 'shapes', 'the_geom', -1, 'POLYGON', 2);   \r\ninsert into &quot;shapes&quot; (&quot;the_geom&quot;, &quot;name&quot;) values (   \r\n'POLYGON((2 2, 2 7, 12 7, 12 2, 2 2))', 'laying down'); \r\n<\/pre>\n<p>Em seguida fazemos um translate no centr\u00f3ide do polygon para (0.0), o giramos 45 graus e movemos para baixo (para o centr\u00f3ide original).<\/p>\n<pre>\r\nSELECT  \r\ntranslate(   \r\n  rotate(   \r\n    translate( the_geom, -x(centroid(the_geom)), -y(centroid(the_geom)) ),    \r\n    radians(45)   \r\n  ),    \r\n  x(centroid(the_geom)), y(centroid(the_geom))    \r\n)   \r\nfrom shapes where name = 'laying down'; \r\n<\/pre>\n<p>Veja como ficou: <\/p>\n<table width=\"100%\" border=\"0\" cellspacing=\"10\">\n<tr>\n<td>Antes<\/td>\n<td>Depois<\/td>\n<\/tr>\n<tr>\n<td><img src='http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2007\/10\/posgis_rotate_no_transf.png' alt='Pol\u00edgono Antes' \/><\/td>\n<td><img src='http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2007\/10\/postgis_rotation.png' alt='Pol\u00edgono Depois' \/><\/td>\n<\/tr>\n<\/table>\n<p>Fonte: <a href=\"http:\/\/geospatial.nomad-labs.com\/\" target=\"_blank\">GeoLabs<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Parece que a fun\u00e7\u00e3o rotate no PostGIS gira a geometria somente sobre o centro do sistema de coordenada. Havia um truque que foi mencionado na lista do PostGIS por Bruce Rindhal para girar um pol\u00edgono sobre seu centro: CREATE TABLE&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2007\/10\/05\/rotacao-no-postgis\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":7157,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,11],"tags":[223,212],"class_list":["post-293","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","category-postgis","tag-gis","tag-postgis"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=293"}],"version-history":[{"count":3,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/293\/revisions"}],"predecessor-version":[{"id":7156,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/293\/revisions\/7156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/7157"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}