Revision 3578
Added by ben leinfelder about 17 years ago
spatial_option.html | ||
---|---|---|
137 | 137 |
<ul> |
138 | 138 |
<li style="margin-bottom:12pt"><span lang="en-US"> </span><span style="font-weight:bold" lang="en-US">SpatialDataset</span><span lang="en-US"> : Provides read/write access to the spatial cache.</span></li> |
139 | 139 |
<li style="margin-bottom:12pt"><span lang="en-US"> </span><span style="font-weight:bold" lang="en-US">SpatialDocument</span><span lang="en-US"> : Represents the geographic coverage of a document as a Geotools Feature. </span></li> |
140 |
<li style="margin-bottom:12pt"><span lang="en-US"> </span><span style="font-weight:bold" lang="en-US">SpatialFeatureSchema</span><span lang="en-US"> : A class of static memebers defining the properties of the spatial cache (location on the file system, attribute and geometry schemas, etc.)</span></li>
|
|
140 |
<li style="margin-bottom:12pt"><span lang="en-US"> </span><span style="font-weight:bold" lang="en-US">SpatialFeatureSchema</span><span lang="en-US"> : A class of static members defining the properties of the spatial cache (location on the file system, attribute and geometry schemas, etc.)</span></li> |
|
141 | 141 |
<li style="margin-bottom:12pt"><span lang="en-US"> </span><span style="font-weight:bold" lang="en-US">SpatialHarvester</span><span lang="en-US"> : The high-level interface for manipulating the spatial cache and initiating the harvesting process.</span> </li> |
142 | 142 |
</ul> |
143 | 143 |
<p style="margin-bottom:12pt;margin-left:0pt;text-indent:0in"></p> |
... | ... | |
183 | 183 |
<p style="margin-bottom:12pt;margin-left:0pt;text-indent:0in"><span lang="en-US"> Displaying the spatial cache as a map is important but users also need to query the spatial cache in order to answer the question "What documents lie in this geographic region?". The functionality is invoked through the metacat servlet itself; there is a </span><span style="font-style:italic" lang="en-US">spatial_query </span><span lang="en-US">action for this purpose. An example spatial query would be:</span></p> |
184 | 184 |
<p dir="ltr" style="text-align:left;margin-bottom:12pt;margin-left:0pt;text-indent:0in"><span style="font-size:8pt;font-family:'Courier New'" lang="en-US">http://localhost/knb/metacat?action=spatial_query&xmin=-117.5&xmax=-64&ymin=3&ymax=46&skin=default</span></p> |
185 | 185 |
<p style="margin-bottom:12pt;margin-left:0pt;text-indent:0in"><span lang="en-US">Where xmin, xmax, ymin and ymax represent the west, east, south and northern bounding coordinates respectively. This will return an html document listing (in the style of the specified skin) all documents whose geographic coverage intersect the given bounding box.</span></p> |
186 |
<p style="margin-bottom:12pt;margin-left:0pt;text-indent:0in"><span lang="en-US"> The core functionality of the spatial query mechanism is found in the </span><span style="font-style:italic" lang="en-US">edu.ucsb.nceas.metacat.spatial.SpatialQuery</span><span lang="en-US"> class and, like the spatial harvester, relies heavily on the Geotools library. This class has a single method,</span><span style="font-style:italic" lang="en-US"> filterByBbox()</span><span lang="en-US">, which compares the bounding box to both the point and polygon cache. For each shapefile, the process requires two steps: First, filter the spatial cache for features whose bounding box overlaps the specified bounding coordinates; Second, iterate through the remaining features and perform an an actual geometric intersection. The second step, though more costly than comparing the bbox, is necessary because the feature's geometry may be a multi-geometry whose bounding box is large but whose component primitive geometries are scattered over that area. The end result is a vector of docids matching the spatial query.</span></p>
|
|
186 |
<p style="margin-bottom:12pt;margin-left:0pt;text-indent:0in"><span lang="en-US"> The core functionality of the spatial query mechanism is found in the </span><span style="font-style:italic" lang="en-US">edu.ucsb.nceas.metacat.spatial.SpatialQuery</span><span lang="en-US"> class and, like the spatial harvester, relies heavily on the Geotools library. This class has a single method,</span><span style="font-style:italic" lang="en-US"> filterByBbox()</span><span lang="en-US">, which compares the bounding box to both the point and polygon cache. For each shapefile, the process requires two steps: First, filter the spatial cache for features whose bounding box overlaps the specified bounding coordinates; Second, iterate through the remaining features to find those that are fully contained by the bounding box. The second step, though more costly than comparing the bbox, is necessary because the feature's geometry may be a multi-geometry whose bounding box is large but whose component primitive geometries are scattered over that area. The end result is a vector of docids matching the spatial query.</span></p>
|
|
187 | 187 |
<p style="margin-bottom:12pt;margin-left:0pt;text-indent:0in"><span lang="en-US"> This docid list is then sent to DBQuery. Using a special constructor that takes a vector of docids, the DBQuery class is able to use the Docid override mechanism to perform an optimized query (for cases where the list of docids is already known).</span></p> |
188 | 188 |
|
189 | 189 |
|
... | ... | |
256 | 256 |
|
257 | 257 |
<h5>What versions of tomcat are supported?</h5> |
258 | 258 |
|
259 |
<p>The spatial functionality has only been tested on tomcat 5. The web.xml.tomcat4 distributed with metacat is no longer supported after Metacat 1.6.0 . If you <em>need</em> to use tomcat 4, you might be able to update this file to reflect the incorporation of geoserver (see web.xml.tomcat5) though we have no intention of supporting it's use.</p>
|
|
259 |
<p>The spatial functionality has only been tested on tomcat 5. The web.xml.tomcat4 distributed with metacat is no longer supported after Metacat 1.6.0 . If you <em>need</em> to use tomcat 4, you might be able to update this file to reflect the incorporation of geoserver (see web.xml.tomcat5) though we have no intention of supporting its use.</p> |
|
260 | 260 |
|
261 | 261 |
<h5>How do I add the map to another page or metacat skin?</h5> |
262 | 262 |
|
Also available in: Unified diff
reflect the change from 'intersection' to 'within' when performing spatial queries.
a couple persnickety typo corrections.