$B8EED$5$s!"(B<div>$B$=$&$J$s$G$9$h$M!#(BAT_Affine()$B$@$H!"?'!9@_Dj$rM}2r$9$k$N$KCf3X@8$+9b9;@8$N652J=q$r0z$C$Q$j=P$5$J$$$H%@%a$J$s$G$9$h$M!#$=$l$G;d$b0JA0$O6lO+$7$?$N$G$9$,!"(B2.0$B$+$i$O$9$C$-$j$H2sE>$7$F$/$l$k$h$&$G$9$M!#@N=q$$$?%3!<%I$,<!2s;H$&$H$-$O$9$C$-$j$7$=$&$G$9!#;d$bJY6/$K$J$j$^$7$?!#(B</div><div>$B:#LZ(B</div><div class="gmail_extra"><br><br><div class="gmail_quote">
2012/12/13 Takeshi FURUTA MQSOL LLC <span dir="ltr"><<a href="mailto:furuta@mq-sol.jp" target="_blank">furuta@mq-sol.jp</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
$B:#LZ$5$s$K(BDM$B$7$F$7$^$C$?$N$G!":FAw(B<br>
<br>
$B<B$O!"(BPosgreSQL$B$,(B8.3$B$J$N$G!":#LZ$5$s$N;XE&$NJ}K!$O;H$($^$;$s$G$7$?!#(B<br>
<br>
$B$7$+$7$J$,$i!"(BPostGIS$B$N(B2.0$B$N%=!<%9$r$_$?$H$3$m2<5-$NDL$j$=$N$^$^;H$($=$&(B<br>
$B$J$N$G!"<h$j9~$_$^$7$?!#(B<br>
<br>
-- Availability: 2.0.0<br>
CREATE OR REPLACE FUNCTION ST_Rotate(geometry,float8,float8,float8)<br>
        RETURNS geometry<br>
        AS 'SELECT ST_Affine($1,  cos($2), -sin($2), 0,  sin($2),  cos($2), 0, 0, 0, 1, $3 - cos($2) * $3 + sin($2) * $4, $4 - sin($2) * $3 - cos($2) * $4, 0)'<br>
        LANGUAGE 'SQL' IMMUTABLE STRICT;<br>
<br>
-- Availability: 2.0.0<br>
CREATE OR REPLACE FUNCTION ST_Rotate(geometry,float8,geometry)<br>
        RETURNS geometry<br>
        AS 'SELECT ST_Affine($1,  cos($2), -sin($2), 0,  sin($2),  cos($2), 0, 0, 0, 1, ST_X($3) - cos($2) * ST_X($3) + sin($2) * ST_Y($3), ST_Y($3) - sin($2) * ST_X($3) - cos($2) * ST_Y($3), 0)'<br>
        LANGUAGE 'sql' IMMUTABLE STRICT;<br>
<br>
$B<B:]$N$H$3$m!":#LZ$5$s$N;XE&DL$jFbItE*$K$O(BST_Affine$B$r;H$C$F$$$k$s$G$9$M!#(B<br>
<br>
# $B$3$N5!$K!"9TNs4X?t$d;03Q4X?t$r$d$jD>$7$,I,MW$+$J!#$7$+$7!"$@$$$VK:$l$F$k$J$!(B<br>
<br>
<br>
------<br>
<div class="im HOEnZb">$B:#LZ$5$s(B<br>
<br>
$B$42sEz$$$?$@$-$^$7$F!"$"$j$,$H$&$4$6$$$^$7$?!#(B<br>
<br>
$BKM$b:G=i$O!"86E@$G2sE>$5$;$FJ?9TF0$7$J$$$H9T$1$J$$$N$+$J$H;W$C$F$$$^$7$?!#(B<br>
<br>
$B$7$+$7!"2rK!$,$o$+$i$J$$$N$G!"3'$5$s$KJ9$$$?<!Bh$G$9!#(B<br>
<br>
$BAaB.!"<+J,$N(BPG$B$K<BAu$7$F$_$^$9!#(B<br>
<br>
<br>
On Thu, 13 Dec 2012 21:22:06 -0500<br>
Hiroo Imaki <<a href="mailto:hiroo@angeli.org">hiroo@angeli.org</a>> wrote:<br>
<br>
</div><div class="HOEnZb"><div class="h5">> $B8EED$5$^!"(B<br>
> $B$O$8$a$^$7$F!":#LZ$H?=$7$^$9!#(B<br>
> $B0JA0!"8EED$5$s$,$d$m$&$H$7$F$$$?$3$H$K;d$b?oJ,F,$rG:$^$7$?3P$($,$"$j$^$9!#;d$b:G=i$O(BST_Rotate()$B$@$H;W$C$?$N$G$9$,!"7k6I(BST_Affin()$B$r;H$$$^$7$?!#(B<br>
> <a href="http://postgis.refractions.net/documentation/manual-2.0/ST_Affine.html" target="_blank">http://postgis.refractions.net/documentation/manual-2.0/ST_Affine.html</a><br>
> $B$H$$$&$N$O!"@N$N(BRotate$B$O!"86E@$+$i$N2sE>$@$1$r07$C$?$N$G!"G$0U$N86E@$K$J$C$?;~$K>e<j$/F/$$$F$/$l$^$;$s$G$7$?!#$=$3$G;d$N>l9g!"2sE>$5$;$k<4$H$J$kE@$N0LCV$r%*%U%;%C%H$7$F2sE>$5$;$^$7$?(BAffine$B$O2sE>$H%*%U%;%C%H$r0l2s$G$d$C$F$/$l$^$9!#$7$+$7$3$l$OLLE]$G$9!#0l1~:#$G$b$G$-$^$9$,!#(B<br>
><br>
> $B$5$9$,$K2~A1$5$l$?$m$&$H;W$C$F(BRotate()$B$N$H$3$m$r$b$&0lEYFI$_$J$*$7$F$_$?$i!"0J2<$N$h$&$K86E@$r;XDj$7$F2sE>$5$;$i$l$k$H$N$3$H$G!"$3$l$G$$$$$N$G$O$J$$$G$7$g$&$+!)(B<br>
><br>
> --$B%;%s%H%m%$%I$r;H$C$F;~7W2s$j$K(B60$BEY2sE>(B<br>
> SELECT ST_AsEWKT(ST_Rotate(geom, -pi()/3, ST_Centroid(geom)))<br>
> FROM (SELECT 'LINESTRING (50 160, 50 50, 100 50)'::geometry AS geom) AS foo;<br>
>                            st_asewkt<br>
> --------------------------------------------------------------<br>
>  LINESTRING(116.4225 130.6721,21.1597 75.6721,46.1597 32.3708)<br>
> (1 row)<br>
><br>
> $B8EED$5$s$N>l9g$@$H!"(B<br>
> SELECT ST_AsEWKT(ST_Rotate(geom, -pi()/3, (select 'POINT (2 2)'::geometry<br>
> AS b)))<br>
> FROM (SELECT 'LINESTRING (1 1,3 1,2 3,1 1)'::geometry AS geom) AS foo;<br>
> $B$G$$$$$N$G$O$J$$$G$7$g$&$+!)(B<br>
><br>
> $B;29M$^$G$K!#(B<br>
><br>
> $B:#LZ(B<br>
><br>
><br>
><br>
> 2012/12/13 Takeshi FURUTA MQSOL LLC <<a href="mailto:furuta@mq-sol.jp">furuta@mq-sol.jp</a>><br>
><br>
> > $B8EED$G$9!#(B<br>
> ><br>
> > PostGIS$B$K$D$$$F$N<ALd$G$9!#(B<br>
> ><br>
> > $B?^7A$N2sE>$K$D$$$F65$($FM_$7$$$N$G$9$,!"?^7A$NCf?4!J$b$7$/$OG$0U$NE@!K$G(B<br>
> > $B2sE>$5$;$k$N$O$I$&$7$?$$$N$G$7$g$&$+!)(B<br>
> ><br>
> > RotateX,RotateY,RotateZ$B$r;H$($P$$$$$N$O$o$+$k$N$G$9$,$I$&AH$_9g$o$;$F$$(B<br>
> > $B$$$N$+$,$o$+$j$^$;$s!#(B<br>
> ><br>
> > $BNc$($P!"(BLINESTRING(1 1,3 1,2 3,1 1)$B$N;03Q7A$r(BPoint(2 2)$B$rCf?4$H$7$F&H(B<br>
> > $B!J%i%8%"%s!K2sE>$5$;$k$N$O$I$&$d$k$N$G$7$g$&$+!)(B<br>
> ><br>
> ><br>
> > $B$h$m$7$/$*4j$$$7$^$9!#(B<br>
> ><br>
> ><br>
> > ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ<br>
> > $B9gF12q<R(B $B%^%C%W%/%(%9%H%=%j%e!<%7%g%s%:(B<br>
> > $B!J(B <a href="http://mq-sol.jp/" target="_blank">http://mq-sol.jp/</a> $B!K(B<br>
> > $BBeI=(B $B8EED(B $BIp;N(B ( <a href="mailto:furuta@mq-sol.jp">furuta@mq-sol.jp</a> )<br>
> > $B=;=j!'")(B103-0028 $BEl5~ETCf1{6hH,=E='#1!]#9!]#1#3(B<br>
> > $BH,=E='1XA09gF1%S%k#63,(B<br>
> > $BEEOC!'(B <a href="tel:03-5843-5923" value="+49358435923">03-5843-5923</a> $B7HBS!'(B<a href="tel:090-8985-1587" value="+499089851587">090-8985-1587</a><br>
> ><br>
> > $B:k6L!'(B $B")(B331-0013 $B:k6L8)8MED;T4nBt#1!]#3#3!]#8(B<br>
> > $B%Y%k%F%i%9HD66#2#0#2(B<br>
> > $BEEOC!&(BFAX$B!'(B<a href="tel:%EF%BC%90%EF%BC%94%EF%BC%98%EF%BC%8D%EF%BC%92%EF%BC%92%EF%BC%99%EF%BC%8D%EF%BC%90%EF%BC%95%EF%BC%95%EF%BC%94" value="+49482290554">$B#0#4#8!]#2#2#9!]#0#5#5#4(B</a><br>
> > ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ<br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > OSGeoJapan-discuss mailing list<br>
> > <a href="mailto:OSGeoJapan-discuss@lists.osgeo.org">OSGeoJapan-discuss@lists.osgeo.org</a><br>
> > <a href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" target="_blank">http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss</a><br>
> ><br>
><br>
><br>
><br>
> --<br>
> Hiroo Imaki<br>
> <a href="mailto:hiroo@angeli.org">hiroo@angeli.org</a><br>
> <a href="http://www.geopacific.org" target="_blank">http://www.geopacific.org</a><br>
<br>
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ<br>
$B9gF12q<R!!%^%C%W%/%(%9%H%=%j%e!<%7%g%s%:(B<br>
$B!!!J(B <a href="http://mq-sol.jp/" target="_blank">http://mq-sol.jp/</a> $B!K(B<br>
$BBeI=!!8EED!!Ip;N(B ( <a href="mailto:furuta@mq-sol.jp">furuta@mq-sol.jp</a> )<br>
$B=;=j!'")(B103-0028$B!!El5~ETCf1{6hH,=E='#1!]#9!]#1#3(B<br>
$B!!!!!!!!!!!!!!!!!!!!H,=E='1XA09gF1%S%k#63,(B<br>
$BEEOC!'(B <a href="tel:03-5843-5923" value="+49358435923">03-5843-5923</a> $B7HBS!'(B<a href="tel:090-8985-1587" value="+499089851587">090-8985-1587</a><br>
<br>
$B:k6L!'(B $B")(B331-0013$B!!:k6L8)8MED;T4nBt#1!]#3#3!]#8(B<br>
$B!!!!!!!!!!!!!!!!!!!!%Y%k%F%i%9HD66#2#0#2(B<br>
$BEEOC!&(BFAX$B!'(B<a href="tel:%EF%BC%90%EF%BC%94%EF%BC%98%EF%BC%8D%EF%BC%92%EF%BC%92%EF%BC%99%EF%BC%8D%EF%BC%90%EF%BC%95%EF%BC%95%EF%BC%94" value="+49482290554">$B#0#4#8!]#2#2#9!]#0#5#5#4(B</a><br>
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ<br>
<br>
<br>
_______________________________________________<br>
OSGeoJapan-discuss mailing list<br>
<a href="mailto:OSGeoJapan-discuss@lists.osgeo.org">OSGeoJapan-discuss@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" target="_blank">http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Hiroo Imaki<br><a href="mailto:hiroo@angeli.org" target="_blank">hiroo@angeli.org</a><br><a href="http://www.geopacific.org" target="_blank">http://www.geopacific.org</a><br>
<br>
</div>