<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Gabriel,<div><br></div><div>You need to add a layer with your query in it - you can use variable substitution etc.</div><div><br></div><div>an example (may or may not be a good one!) :</div><div><br></div><div><div>    LAYER</div><div>        DEBUG 3</div><div>        NAME "buffalo"</div><div>        GROUP "Movement"</div><div>        METADATA</div><div>            layer_title "Buffalo"</div><div>            layer_order "2"</div><div>        END</div><div>        CONNECTIONTYPE postgis</div><div>        CONNECTION "host=localhost port=5432 dbname=prices"</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>PROCESSING "CLOSE_CONNECTION=DEFER"</div><div>        DATA "route FROM (</div><div>                SELECT s.id, s.commodity, s.shortname, s.amount, s.purpose, s.origprov, s.destprov, ST_MakeLine(s.startpoint, s.endpoint) as route, to_char(s.origindate,'DD/MM/YYYY') as date</div><div>                FROM (</div><div>                    SELECT m.id, c.commodity, sp.shortname, c.amount, r.name AS purpose, </div><div>                    <span class="Apple-tab-span" style="white-space:pre">              </span>initcap(o.name) as origprov, initcap(d.name) as destprov,</div><div>                    <span class="Apple-tab-span" style="white-space:pre">         </span>ST_Centroid(o.geom) as startpoint, ST_Centroid(d.geom) as endpoint, origindate</div><div>                    FROM movements m</div><div>                    LEFT OUTER JOIN locations o</div><div>                    ON m.originprovince = o.hiercode</div><div>    <span class="Apple-tab-span" style="white-space:pre">   </span>                AND o.del = 0</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>                    AND o.level = 2</div><div>                    LEFT OUTER JOIN locations d</div><div>                    ON m.destinationprovince = d.hiercode</div><div>                    <span class="Apple-tab-span" style="white-space:pre"> </span>AND d.del = 0</div><div>                    <span class="Apple-tab-span" style="white-space:pre">     </span>AND d.level = 2</div><div>                    JOIN commodities c</div><div>                    ON m.id = c.movementid</div><div>                    <span class="Apple-tab-span" style="white-space:pre">       </span>AND c.del = 0</div><div>      <span class="Apple-tab-span" style="white-space:pre">      </span>              AND c.commodity = 2</div><div>        <span class="Apple-tab-span" style="white-space:pre">                        </span>LEFT OUTER JOIN species sp</div><div>        <span class="Apple-tab-span" style="white-space:pre">                  </span>ON c.commodity = sp.id</div><div>        <span class="Apple-tab-span" style="white-space:pre">                              </span>AND sp.del = 0</div><div>        <span class="Apple-tab-span" style="white-space:pre">                      </span>LEFT OUTER JOIN reasons r</div><div>        <span class="Apple-tab-span" style="white-space:pre">                   </span>ON c.purpose::int = r.id</div><div>        <span class="Apple-tab-span" style="white-space:pre">                            </span>AND r.del = 0</div><div>                    WHERE m.del = 0</div><div><span class="Apple-tab-span" style="white-space:pre">                                               </span>AND originprovince is not null</div><div><span class="Apple-tab-span" style="white-space:pre">                                               </span>AND originprovince not like '0'</div><div><span class="Apple-tab-span" style="white-space:pre">                                              </span>AND destinationprovince is not null</div><div><span class="Apple-tab-span" style="white-space:pre">                                          </span>AND destinationprovince not like '0'</div><div>                ) AS s</div><div>                WHERE s.origindate > '%start%'</div><div>        <span class="Apple-tab-span" style="white-space:pre"> </span>        AND s.origindate < '%end%'</div><div>                ORDER BY s.origindate</div><div>        ) AS foo USING UNIQUE id USING srid=4326"</div><div>        TYPE LINE</div><div>        STATUS ON</div><div>        HEADER 'templates/trade_header.html'</div><div>        FOOTER 'templates/trade_footer.html'</div><div>        CLASSITEM commodity</div><div>        CLASS</div><div>            NAME "Buffalo"</div><div>            EXPRESSION "2"</div><div>            STYLE</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>            SYMBOL "arrow1"</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>            OFFSET 0 0 </div><div>    <span class="Apple-tab-span" style="white-space:pre">        </span>        SIZE 12</div><div>        <span class="Apple-tab-span" style="white-space:pre"> </span>    COLOR 0 0 255</div><div>        <span class="Apple-tab-span" style="white-space:pre"> </span>END</div><div>            TEMPLATE 'templates/trade_query.html'</div><div>        END</div><div>    END</div><div><br></div><div><br></div><div>Actually, I don't think it's a great example, but it shows you how to create a line on the fly using the centroid (probably should have been point on surface) showing the direction the animals moved, within a user specified time frame.</div><div><br></div><div>I'm open to any feedback on this - it's a modification of one I modified from one Regina Obe posted somewhere.</div><div><br></div><div>I should say, note the use of debug. the error messages are invaluable when it doesn't work.</div><div><br></div><div>good luck</div><div><br></div><div>cheers</div><div><br></div><div>Ben</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><div>On 26/06/2009, at 2:47 PM, <a href="mailto:mapserver-users-request@lists.osgeo.org">mapserver-users-request@lists.osgeo.org</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><span style="font-family: Helvetica; font-size: medium; color: rgba(0, 0, 0, 0.496094); "><b>Subject:<span class="Apple-converted-space"> </span></b></span><span style="font-family: Helvetica; font-size: medium; "><b>[mapserver-users] Spatial queries to Mapserver</b><br></span></div><br><br>Hi all,<br><br>Any one know of examples about how to call spatial queries using Postis functions from Mapserver?<br></blockquote></div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">-- </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Ben Madin</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">REMOTE INFORMATION</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">t : +61 8 9192 5455</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">f : +61 8 9192 5535</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">m : 0448 887 220</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Broome   WA   6725</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><a href="mailto:ben@remoteinformation.com.au">ben@remoteinformation.com.au</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="white-space: pre; ">                                                    </span></span>Out here, it pays to know...</div></div><br class="Apple-interchange-newline"></span> </div><br></div></body></html>