1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
project.
Copyright (C) 1998-2018 OpenLink Software
This project is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; only version 2 of the License, dated June 1991.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
$
-->
<refentry id="fn_ST_TransScale">
<refmeta>
<refentrytitle>ST_TransScale</refentrytitle>
<refmiscinfo>geo</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ST_TransScale</refname>
<refpurpose>returns a copy of a shape with all coordinates shifted by the provided dX, dY and then
multiplied by Xfactor and Yfactor.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_ST_TransScale">
<funcprototype id="fproto_ST_TransScale">
<funcdef><function>ST_TransScale</function></funcdef>
<paramdef>in <parameter>shape</parameter> any</paramdef>
<paramdef>in <parameter>dX</parameter> any</paramdef>
<paramdef>in <parameter>dY</parameter> any</paramdef>
<paramdef>in <parameter>Xfactor</parameter> any</paramdef>
<paramdef>in <parameter>Yfactor</parameter> any</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_ST_TransScale">
<title>Description</title>
<para>returns a copy of a shape with all coordinates shifted by the provided dX, dY and then multiplied by Xfactor and Yfactor.
Different values for Xfactor and Yfactor will result in distorted arcs.</para>
</refsect1>
<refsect1 id="params_ST_TransScale">
<title>Parameters</title>
<refsect2><title>shape</title><para>Geometry.</para></refsect2>
<refsect2><title>dX</title><para>X coordinate.</para></refsect2>
<refsect2><title>dY</title><para>Y coordinate.</para></refsect2>
<refsect2><title>Xfactor</title><para>X value to multiple by.</para></refsect2>
<refsect2><title>Yfactor</title><para>Y value to multiple by.</para></refsect2>
</refsect1>
<refsect1 id="ret_ST_TransScale"><title>Return Types</title>
<para>Returns any.</para>
</refsect1>
<refsect1 id="examples_ST_TransScale">
<title>Examples</title>
<example id="ex_ST_TransScale"><title>Simple Use</title>
<screen><![CDATA[
SQL> DB.DBA.TTLP ('
<point2d> <shape> "POINT(1 3)"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<point4d> <shape> "POINTZM(0 1 2 3)"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<box1> <shape> "BOX(0 0, 2 3)"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<linestring> <shape> "LINESTRING(10 21, 12 23, 10 25)"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<polygon1> <shape> "POLYGON((1 3,2 4,1 5,0 4,1 3))"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<polygon2> <shape> "POLYGON((1.5 3.5,2.5 4.5,1.5 5.5,0.5 4.5,1.5 3.5))"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<polygon3> <shape> "POLYGON((1 3,2 4,1 5,0 4,1 3),(1 3.5,1.5 4,1 4.5,0.5 4,1 3.5))"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<multipolygon> <shape> "MULTIPOLYGON(((1 3,2 4,1 5,0 4,1 3)),((1 2,2 1,1 0,0 1,1 2)))"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
<collection> <shape> "GEOMETRYCOLLECTION(POINT(0 0),MULTILINESTRING((1 5,0 1,4 0,5 4),(1 5,1 0,4 0,4 5)),MULTIPOLYGON(((1 3,2 4,1 5,0 4,1 3)),((1 2,2 1,1 0,0 1,1 2))))"^^<http://www.openlinksw.com/schemas/virtrdf#Geometry> .
', 'http://geo-api-demo/', 'http://geo-api-demo/', 0)
SQL> SPARQL
SELECT ?s, bif:ST_TransScale(?o, 0.1, 0.2, 0.1, 0.1)
FROM <http://geo-api-demo/>
WHERE
{
?s ?p ?o
}
ORDER BY ASC(str(?s))
s callret-1
VARCHAR VARCHAR
_______________________________________________________________________________
http://geo-api-demo/box1 BOX2D(0.010 0.020,0.210 0.320)
http://geo-api-demo/collection GEOMETRYCOLLECTION(POINT(0.010 0.020),MULTILINESTRING((0.110 0.520,0.010 0.120,0.410 0.020,0.510 0.420),(0.110 0.520,0.110 0.020,0.410 0.020,0.410 0.520)),MULTIPOLYGON(((0.110 0.320,0.010 0.420,0.110 0.520,0.210 0.420,0.110 0.320)),((0.110 0.220,0.010 0.120,0.110 0.020,0.210 0.120,0.110 0.220))))
http://geo-api-demo/linestring LINESTRING(1.010 2.120,1.210 2.320,1.010 2.520)
http://geo-api-demo/multipolygon MULTIPOLYGON(((0.110 0.320,0.010 0.420,0.110 0.520,0.210 0.420,0.110 0.320)),((0.110 0.220,0.010 0.120,0.110 0.020,0.210 0.120,0.110 0.220)))
http://geo-api-demo/point2d POINT(0.11 0.32)
http://geo-api-demo/point4d POINTZM(0.010 0.120 2.0 3.0)
http://geo-api-demo/polygon1 POLYGON((0.110 0.320,0.010 0.420,0.110 0.520,0.210 0.420,0.110 0.320))
http://geo-api-demo/polygon2 POLYGON((0.160 0.370,0.060 0.470,0.160 0.570,0.260 0.470,0.160 0.370))
http://geo-api-demo/polygon3 POLYGON((0.110 0.320,0.010 0.420,0.110 0.520,0.210 0.420,0.110 0.320),(0.110 0.370,0.060 0.420,0.110 0.470,0.160 0.420,0.110 0.370))
]]>
</screen>
</example>
</refsect1>
<refsect1 id="seealso_ST_TransScale">
<title>See Also</title>
<para><link linkend="fn_st_x"><function>ST_X()</function></link></para>
<para><link linkend="fn_st_y"><function>ST_Y()</function></link></para>
<para><link linkend="fn_ST_Z"><function>ST_Z()</function></link></para>
<para><link linkend="fn_ST_M"><function>ST_M()</function></link></para>
<para><link linkend="fn_ST_XMin"><function>ST_XMin()</function></link></para>
<para><link linkend="fn_ST_XMax"><function>ST_XMax()</function></link></para>
<para><link linkend="fn_ST_YMin"><function>ST_YMin()</function></link></para>
<para><link linkend="fn_ST_YMax"><function>ST_YMax()</function></link></para>
<para><link linkend="fn_ST_ZMin"><function>ST_ZMin()</function></link></para>
<para><link linkend="fn_ST_ZMax"><function>ST_ZMax()</function></link></para>
<para><link linkend="fn_ST_MMin"><function>ST_MMin()</function></link></para>
<para><link linkend="fn_ST_MMax"><function>ST_MMax()</function></link></para>
</refsect1>
</refentry>
|