[postgis-commits] svn - r3388 - trunk/doc/xsl

postgis-commits at postgis.refractions.net postgis-commits at postgis.refractions.net
Fri Dec 12 06:11:16 PST 2008


Author: robe
Date: 2008-12-12 06:11:16 -0800 (Fri, 12 Dec 2008)
New Revision: 3388

Modified:
   trunk/doc/xsl/postgis_gardentest.sql.xsl
Log:
Add relationship/ functions that act on 2 geometries tests to the mix

Modified: trunk/doc/xsl/postgis_gardentest.sql.xsl
===================================================================
--- trunk/doc/xsl/postgis_gardentest.sql.xsl	2008-12-12 13:40:50 UTC (rev 3387)
+++ trunk/doc/xsl/postgis_gardentest.sql.xsl	2008-12-12 14:11:16 UTC (rev 3388)
@@ -11,22 +11,24 @@
 	<xsl:output method="text" />
 	<pgis:gardens>
 		<pgis:gset ID='PointSet' GeometryType='POINT'>(SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom 
-		FROM generate_series(-60,50,10) As i 
+		FROM generate_series(-10,50,10) As i 
 			CROSS JOIN generate_series(40,70, 10) j)</pgis:gset>
 		<pgis:gset ID='LineSet' GeometryType='LINESTRING'>(SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326))  As the_geom 
-		FROM generate_series(-60,50,10) As i 
-			CROSS JOIN generate_series(40,70, 10) As j)</pgis:gset>
+		FROM generate_series(-10,50,10) As i 
+			CROSS JOIN generate_series(40,70, 10) As j
+			)</pgis:gset>
 		<pgis:gset ID='PolySet' GeometryType='POLYGON'>(SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j)  As the_geom 
-		FROM generate_series(-60,50,10) As i 
+		FROM generate_series(-10,50,10) As i 
 			CROSS JOIN generate_series(40,70, 10) As j)</pgis:gset>
 		<pgis:gset ID='PointMSet' GeometryType='POINTM'>(SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom 
-		FROM generate_series(-50,50,10) As i 
+		FROM generate_series(-10,50,10) As i 
 			CROSS JOIN generate_series(50,70, 20) AS j
 			CROSS JOIN generate_series(1,2) As m)</pgis:gset>
 		<pgis:gset ID='LineMSet' GeometryType='LINESTRINGM'>(SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326))  As the_geom 
-		FROM generate_series(-50,50,10) As i 
+		FROM generate_series(-10,50,10) As i 
 			CROSS JOIN generate_series(50,70, 20) As j
-			CROSS JOIN generate_series(1,2) As m)</pgis:gset>
+			CROSS JOIN generate_series(1,2) As m
+			)</pgis:gset>
 	</pgis:gardens>
 
 	<xsl:template match='/chapter'>
@@ -68,6 +70,33 @@
 	</xsl:text>
 	</xsl:for-each>
 </xsl:if>
+
+<!--Garden Relationship/geom2 output function tests  -->
+<xsl:if test="(count(paramdef/parameter) = 2 and contains(paramdef[1]/type, 'geometry ')  and contains(paramdef[2]/type, 'geometry '))">
+	<xsl:variable name='fnname'><xsl:value-of select="funcdef/function"/></xsl:variable>
+	<xsl:variable name='fndef'><xsl:value-of select="funcdef"/></xsl:variable>
+	<xsl:for-each select="document('')//pgis:gardens/pgis:gset">
+SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />: Start Testing Multi/<xsl:value-of select="@GeometryType" />'; 
+BEGIN; <!-- If output is geometry show ewkt rep -->
+		<xsl:choose>
+		  <xsl:when test="contains($fndef, 'geometry ')">
+SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(foo1.the_geom, foo2.the_geom)),
+	ST_AsEWKT(<xsl:value-of select="$fnname" />(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+		  </xsl:when>
+		  <xsl:otherwise>
+SELECT <xsl:value-of select="$fnname" />(foo1.the_geom, foo2.the_geom),
+			<xsl:value-of select="$fnname" />(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+		  </xsl:otherwise>
+		</xsl:choose>
+		FROM (<xsl:value-of select="." />) As foo1 CROSS JOIN (<xsl:value-of select="." />) As foo2
+		LIMIT 5;  
+COMMIT;
+SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text> <xsl:value-of select="@ID" />: End Testing Multi/<xsl:value-of select="@GeometryType" />';
+	<xsl:text>
+	
+	</xsl:text>
+	</xsl:for-each>
+</xsl:if>
 			</xsl:for-each>
 		</xsl:for-each>
 	</xsl:template>



More information about the postgis-commits mailing list