<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Bodoni SvtyTwo ITC TT" size="3" style="font: 12.0px Bodoni SvtyTwo ITC TT">Alistair,</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Bodoni SvtyTwo ITC TT; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Bodoni SvtyTwo ITC TT" size="3" style="font: 12.0px Bodoni SvtyTwo ITC TT">We're using kaMap for several projects and have run ourselves into a couple of peculiar query situations that we <i>think</i> we have solutions for. First, the simplest and nearest-to-completion is at <a href="http://gis.lib.purdue.edu/WabashRiver">http://gis.lib.purdue.edu/WabashRiver</a>. If you query the County layer you're querying a shapefile served up by Mapserver (mapfile extract below). Pretty standard. But the individual images of the old river are scans of giant pages of an old atlas, both photo and topo maps, so they're raster files. Well, in order to query those out and allow people to download them, read about them individually, etc., we started by generating a shapefile index of those images using an ArcGIS 'envelope' tool. I didn't really like that, so instead we worked on getting kaMap to query FGDC (xml) metadata, stored in the same PostgreSQL/PostGIS database that we're storing most of our stuff in (the counties shapefile being an exception).</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">So now, the query in kaMap reaches into a PostGIS column and checks the user's bounding box against the extent of the image as written in the metadata for that image and returns results as such. It's fast, but we're only serving up 30-some scans (and therefore 30-some metadata records). In other words, <i>technically</i> you don't need to be serving data from Mapserver to be able to query it, which was the first part of your question.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">And for what it's worth, we're also working on using kaMap queries of data to subquery, I guess you could say, and bring in content from other places based on what kaMap finds beneath the user's rectangle. We have an alpha up at <a href="http://gis.lib.purdue.edu/Soil">http://gis.lib.purdue.edu/Soil</a> where the user can query a vector shapefile (Soil Extract) and based on what it finds we fire off another query to a CONTENTdm-hosted object that holds the textual piece of the map we're serving. That doesn't need to make sense, but I mention it because you said "return attributes...for further manipulation" and we've been able to bolt some stuff together that makes that happen (in very specific, project-specific ways).</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Let me know if you want to see our hacked-up, bloody code behind these procedures. They work, but there are no doubt a lot of improvements you could make.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Chris</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><div>C.C. Miller</div><div><div>Assistant Professor of Library Science</div><div>GIS Librarian</div></div><div>Purdue University Libraries</div><div><br class="webkit-block-placeholder"></div><div><a href="feed://www4.lib.purdue.edu/gis/rss.php">feed://www4.lib.purdue.edu/gis/rss.php</a></div><div><br class="khtml-block-placeholder"></div><div><a href="mailto:ccmiller@purdue.edu">ccmiller@purdue.edu</a></div><div>765.496.9474</div><div>IM=<a href="mailto:ccmiller@meebo.org">ccmiller@meebo.org</a></div><div>AIM=cecmcgee</div><div>Skype=cecmcgee</div><div>Jabber=<a href="mailto:ccmiller@purdue.edu">ccmiller@purdue.edu</a></div><div><br class="khtml-block-placeholder"></div><div>2215E EAS (CIVL)</div><div>Earth &amp; Atmospheric Sciences Library (EAS)</div><div>Civil Engineering Building (CIVL)</div><div>550 Stadium Mall Drive</div><div>West Lafayette, IN 47907-2051</div></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><div>#################################### LAYER: Counties #########################</div><div>LAYER ###</div><div> GROUP 'Indiana Counties'</div><div> NAME 'Indiana Counties'</div><div> TEMPLATE 'County_query.html'</div><div> DATA 'path_to_shapefile_without_.shp_extension'</div><div> STATUS on</div><div> TYPE Polygon</div><div> #MAXSCALE 5000002</div><div> MINSCALE 150000</div><div> TRANSPARENCY ALPHA</div><div> TOLERANCE 5</div><div> TOLERANCEUNITS pixels</div><div> LABELITEM 'county'</div><div><br class="webkit-block-placeholder"></div><div>CLASS ###</div><div>NAME 'Indiana Counties'</div><div>STYLE ###</div><div> #COLOR 255 255 255</div><div> OUTLINECOLOR 153 204 204</div><div> ANTIALIAS TRUE</div><div> WIDTH 2</div><div>END ###style</div><div><br class="webkit-block-placeholder"></div><div>LABEL ###</div><div> FORCE FALSE</div><div> PARTIALS FALSE</div><div> TYPE TRUETYPE</div><div> FONT CarbonatedGoth</div><div> SIZE 14</div><div> MINFEATURESIZE 70</div><div> COLOR 51 102 153</div><div> OUTLINECOLOR 51 102 153</div><div> POSITION CC</div><div> #ANGLE AUTO</div><div> OFFSET 0 0</div><div>END ###label</div><div>END ###class</div><div><br class="webkit-block-placeholder"></div><div>METADATA ###</div><div>   </div><div>  "queryable" "false"</div><div>  "searchfield" "COUNTY" </div><div>  "fields" "COUNTY:County"</div><div><br class="webkit-block-placeholder"></div><div>END ###metadata</div><div><br class="webkit-block-placeholder"></div><div>END ###layer</div></div> <div><div><br class="webkit-block-placeholder"></div><div>On Sep 18, 2007, at 9:08 PM, Fox, Alistair D ((SKM)) wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"> <div dir="ltr" align="left"><span class="726580301-19092007"><font face="Arial" color="#0000ff" size="2">Thanks Sam,</font></span></div> <div dir="ltr" align="left"><span class="726580301-19092007"><font face="Arial" color="#0000ff" size="2"></font></span> </div> <div dir="ltr" align="left"><span class="726580301-19092007"><font face="Arial" color="#0000ff" size="2">I would assume if you can do a query on point data then line and polygon data would be the same. Just a few techy questions. I gather to be able to do this the source data would need to be served out from a mapserver instance. Are there any examples of this out on the web. I'm yet to see any. On a scale of 1-10 how difficult would it be to develop what my client is after. Eg: draw rectangle and select spatial objects (point/ line / poly) and then return attributes of selection for further manipulation.</font></span></div> <div dir="ltr" align="left"><span class="726580301-19092007"><font face="Arial" color="#0000ff" size="2"></font></span> </div> <div dir="ltr" align="left"><span class="726580301-19092007"><font face="Arial" color="#0000ff" size="2">Alistair</font></span></div><br> <div class="OutlookMessageHeader" lang="en-us" dir="ltr" align="left"> <hr tabindex="-1"> <font face="Tahoma" size="2"><b>From:</b> Samuel Hiatt [<a href="mailto:samhiatt@gmail.com">mailto:samhiatt@gmail.com</a>] <br><b>Sent:</b> Tuesday, 18 September 2007 12:50 AM<br><b>To:</b> Fox, Alistair D (SKM)<br><b>Cc:</b> <a href="mailto:ka-map-users@lists.maptools.org">ka-map-users@lists.maptools.org</a><br><b>Subject:</b> Re: [ka-Map-users] selection sets<br></font><br></div> <div></div>Hi there Alistair!<br><br>Yes!  ka-map is the answer to all your problems!  :p  You can definitely do a query on point data with a rectangle bounding box.  I couldn't help you too much with the details of it as I work mainly with raster data at this point, but there are plenty of us around here who would be happy to help you get kamap set up and running! <br><br>Sam<br><br><br><br><br> <div><span class="gmail_quote">On 9/16/07, <b class="gmail_sendername">Fox, Alistair D (SKM)</b> &lt;<a href="mailto:AFox@skm.com.au">AFox@skm.com.au</a>&gt; wrote:</span> <blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">  <div>  <div><font face="Arial" color="#000000" size="2">Hi. I'm a newbie to Ka-map and are   looking to confirm potential functionality for a client. From what i have seen   so far this is an execellent project. </font></div>  <div><font face="Arial" size="2"></font> </div>  <div><font face="Arial" size="2">One of the requirements my client has is the   ability to do the normal GIS function of dragging a rectangle over the   map and be able to select the features that are within that area. Then the   ability to working with this selection set. e.g: display attributes about the   features.</font></div>  <div><font face="Arial" size="2"></font> </div>  <div><font face="Arial" size="2">What i need to know is can you do this at the   moment, (i havn't seen any examples) and if not is it possible with some   customisation. </font></div>  <div><font face="Arial" size="2"></font> </div>  <div><font face="Arial" size="2">Hope someone out there can help.</font></div>  <div><font face="Arial" size="2"></font> </div>  <div><font face="Arial" size="2">Alistair</font></div><br>SKM is committed to   working with its clients to deliver a sustainable future for all. Please   consider the environment before printing this e-mail.<br>Notice - This message   contains confidential information intended only for the exclusive use of the   addressee named above. No confidentiality is waived or lost by any mistaken   transmission to you. If you have received this message in error please delete   the document and notify us immediately. <br>Any opinion, text, documentation   or attachment received is valid as at the date of issue only. The recipient is   responsible for reviewing the status of the transferred information and should   advise us immediately upon receipt of any discrepancy. <br>All email sent to   SKM will be intercepted, screened and filtered by SKM or its approved Service   Providers.<br></div><br>_______________________________________________<br>ka-Map-users   mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:ka-Map-users@lists.maptools.org">ka-Map-users@lists.maptools.org   </a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.maptools.org/mailman/listinfo/ka-map-users" target="_blank">http://lists.maptools.org/mailman/listinfo/ka-map-users</a><br><br></blockquote></div><br> <br> SKM is committed to working with its clients to deliver a sustainable future for all. Please consider the environment before printing this e-mail.<br> Notice - This message contains confidential information intended only for the exclusive use of the addressee named above. No confidentiality is waived or lost by any mistaken transmission to you. If you have received this message in error please delete the document and notify us immediately. <br> Any opinion, text, documentation or attachment received is valid as at the date of issue only. The recipient is responsible for reviewing the status of the transferred information and should advise us immediately upon receipt of any discrepancy.  <br> All email sent to SKM will be intercepted, screened and filtered by SKM or its approved Service Providers.<br><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; ">ka-Map-users mailing list</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="mailto:ka-Map-users@lists.maptools.org">ka-Map-users@lists.maptools.org</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://lists.maptools.org/mailman/listinfo/ka-map-users">http://lists.maptools.org/mailman/listinfo/ka-map-users</a></div> </blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Bodoni SvtyTwo ITC TT'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Bodoni SvtyTwo ITC TT'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Bodoni SvtyTwo ITC TT'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Bodoni SvtyTwo ITC TT; 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; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Bodoni SvtyTwo ITC TT; 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; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Bodoni SvtyTwo ITC TT; 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; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Bodoni SvtyTwo ITC TT; 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; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Bodoni SvtyTwo ITC TT; 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; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Bodoni SvtyTwo ITC TT; 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><br></div><br class="Apple-interchange-newline"></span></span></span></span></span></span></span></span></span> </div><br></body></html>