Quick Search
Browse
Pages
Blog
Labels
Attachments
Mail
Advanced
What’s New
Space Directory
Feed Builder
Keyboard Shortcuts
Confluence Gadgets
Log In
Sign Up
Dashboard
GeoTools
Copy Page
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account. You can also
Sign Up
for a new account.
This page is being edited by
.
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
More colours
Strikethrough
Subscript
Superscript
Monospace
Clear Formatting
Bullet list
Numbered list
Outdent
Indent
Align left
Align center
Align right
Link
Table
Insert
Insert Content
Image
Link
Attachment
Symbol
Emoticon
Wiki Markup
Horizontal rule
tinymce.confluence.insert_menu.macro_desc
Info
JIRA Issue
Status
Gallery
Tasklist
Table of Contents
Other Macros
Page Layout
No Layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Undo
Redo
Find/Replace
Keyboard Shortcuts Help
<table class="confluenceTable"><tbody> <tr> <td class="confluenceTd"><p> Module: </p></td> <td class="confluenceTd"><p> gt-imagecollection </p></td> </tr> <tr> <td class="confluenceTd"><p> Module Maintainer: </p></td> <td class="confluenceTd"><p> <a class="confluence-link confluence-userlink" data-username="dany111" href="/display/~dany111" data-linked-resource-id="50192" data-linked-resource-type="userinfo" username="dany111" data-linked-resource-default-alias="Daniele Romagnoli" data-base-url="http://docs.codehaus.org">Daniele Romagnoli</a> </p></td> </tr> <tr> <td class="confluenceTd"><p> Status: </p></td> <td class="confluenceTd"><p> <table class="wysiwyg-macro" data-macro-name="excerpt" data-macro-parameters="atlassian-macro-output-type=INLINE" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2V4Y2VycHQ6YXRsYXNzaWFuLW1hY3JvLW91dHB1dC10eXBlPUlOTElORX0&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="RICH_TEXT"><tr><td class="wysiwyg-macro-body"><p><img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /><img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /><img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /><img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /><img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /></p></td></tr></table> </p></td> </tr> <tr> <td class="confluenceTd"><p> Email Help: </p></td> <td class="confluenceTd"><p> Geotools-gt2-users@lists.sourceforge.net </p></td> </tr> <tr> <td class="confluenceTd"><p> Volunteer: </p></td> <td class="confluenceTd"><p> geotools-devel@lists.sourceforge.net </p></td> </tr> <tr> <td class="confluenceTd"><p> IP Review: </p></td> <td class="confluenceTd"><p> <a href="http://svn.osgeo.org/geotools/trunk/modules/unsupported/imagecollection/src/site/apt/review.apt">review.apt</a> </p></td> </tr> </tbody></table> <p>Allows setting up a coverage store on top of a main folder containing several datasets (which can also be organized in subfolders) such as simple images, not georeferenced maps, ...</p> <img class="editor-inline-macro" src="/plugins/servlet/confluence/placeholder/macro?definition=e3RvY30&locale=en_GB&version=2" data-macro-name="toc"> <h1>Background info</h1> <p>The GridCoverageReader will allow to provide access to a main folder containing several simple images (even organized in subfolders) without CRS.<br /> The input of the reader will be that main directory. Since that folder can contain thousands of images, there isn't any preliminar "deep check"/"scan" when initializing the reader. Moreover, files could be added/removed on that folder, even once the reader has been created.</p> <p>Note that the Coverage reader will not provide any information (such as metadata, properties) about the available images and/or image's properties. The user should know in advance which image he needs to access as well as the image's extent.</p> <p>Reading an image will be achieved by specifying a "path" by means of a CQL Filter (such as, as an instance PATH='subfolder1/draft3/image2.tif')<br /> The CQL_FILTER will be useful when propagating requests from GeoServer to the reader, as already happens for the ImageMosaic plugin.</p> <p>Checks on the path should be performed in order to prevent requests to move outside to the input folder.</p> <p>The Coverage reader could cache image properties (width, height, URL, spi, ...) in a soft value hash map in order to know in advance (for repeated requests) the BBOX of the image, the SPI to be used in order to instantiate an ImageReader... and so on. When asked to take access to a specific image, the reader can check if the image is still available or if it has been changed. This could be achieved by taking note of the lastModified time as well as the last check time.</p> <h1>Development and instructions</h1> <h2>Adding dependency to GeoServer</h2> <p>The module lives in unsupported at <a href="http://svn.osgeo.org/geotools/trunk/modules/unsupported/imagecollection">this</a> location.<br /> It behaves like other plugins (geotiff, arcgrid, imagemosaic, ...). Therefore, in order to add it on GeoServer, you simply needs to add the gt-imagecollectionXXX.jar into GeoServer/WEB-INF/lib.<br /> If you need to include it in the GeoServer build (as an instance for debugging purposes with eclipse), you should add the following entry to the parent's pom, within the <code>dependencyManagement</code> section:</p> <table class="wysiwyg-macro" data-macro-name="code" data-macro-default-parameter="xml" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGU6eG1sfQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-imagecollection</artifactId> <version>${gt.version}</version> </dependency> </pre></td></tr></table> <p>Then, edit the following poms:</p> <ul> <li>wcs/pom.xml</li> <li>wms/pom.xml</li> <li>web/core/pom.xml</li> <li>web/app/pom.xml</li> </ul> <p>by adding this dependecy:</p> <table class="wysiwyg-macro" data-macro-name="code" data-macro-default-parameter="xml" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGU6eG1sfQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-imagecollection</artifactId> </dependency> </pre></td></tr></table> <h2>Sample usage</h2> <h3>Configuring a new store on GeoServer</h3> <h4>Setting up a config properties</h4> <p>In case you need to specify a minimal preliminar configuration before setting up a new raster store, you can add a <code>config.properties</code> file into the folder you will use as root for the store.<br /> In that properties file you can configure the following parameters:</p> <table class="wysiwyg-macro" data-macro-name="code" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGV9&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> coverageName=nameToBeAssignedToYourCoverageStore defaultPath=relativePathToAFileToBeUsedAsDefault expand=true timeBetweenChecks=600 maxWidth=20000 maxHeight=10000 </pre></td></tr></table> <p>By default, the plugin will use the folder name as coverage name.</p> <ul> <li><code>coverageName</code> property allows you to specify a different one to be used to configure the coverage.</li> <li><code>defaultPath</code> can be used to specify a file to be used as reference to setup basic coverage properties (envelope, size, ...)</li> <li><code>expand</code> is a boolean which allows to specify whether to apply RGB expansion to paletted images. (DEFAULT is TRUE)</li> <li><code>timeBetweenChecks</code> is the time interval between two consecutive checks on a file. Being the imageCollection a dynamic collection (files can be modified, deleted, ...) there is a periodic check on file existence and file "last modified time" flag. This property represents the time between two checks, in seconds. (DEFAULT is 10 minutes = 600 seconds)</li> <li><code>maxWidth</code> and <code>maxHeight</code> allow to specify reference values which will be used to represent the maximum extent of the configured coverage. (DEFAULT is 65536 for both values)</li> </ul> <h4>Configure the store</h4> <p>In order to configure a new store on top of a folder containing an image collection, you simply needs to navigate to the GeoServer's gui "add store" page and then select the ImageCollection raster data source. Then, select the folder you want to use as root of your image Collection and continue configuring the store as a standard raster store.</p> <h3>Specifying WMS requests</h3> <p>Once you have configured your coverage, you can start sending WMS GetMap requests to access an image available on the collection.</p> <p>Suppose you have configured an imageCollection store on top of a <code>myCollection</code> folder containing the following datasets.</p> <table class="wysiwyg-macro" data-macro-name="code" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGV9&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> myCollection +-- folder1 | +-- folderA | | \-- A.TIF | +-- B.TIF | \-- C.TIF \-- folder2 +-- subfolderA | \-- D.TIF +-- subfolderB | \-- E.TIF \-- F.TIF </pre></td></tr></table> <p>In order to send a getMap request to access the E.TIF image contained on myCollection/folder2/subfolderB you simply need to append a CQL_FILTER to the getMap request, like this:<br /> <code>&CQL_FILTER=PATH='folder2/subfolderB/E.TIF</code></p> <p><strong>Make sure to always specify a</strong> <code><strong>CQL_FILTER=PATH='pathToRequestedImage'</strong></code> since geoserver actually has no way to send a default path to the request (This will require some hardcoding).</p> <p>Finally, if your image is 1000x1000 pixels and you want to get the area of the image contained within a rectangle (x0,y0 x1,y1) (As an instance, x0=400,y0=400 x1=700,y1=700), make sur to specify a BBOX parameter where Yi are specified with negative coordinates. As instance, for the same example, you need to specify <code>BBOX=400,-700,700,-400</code>. Make sure to respect minX,minY,maxX,maxY syntax.</p> <p>Moreover, the width and height getMap parameters allow to force the requested image area to fit into the specified size.</p> <h1>Module Status</h1> <h2>Gold Star Quality Assurance Check</h2> <p><img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /> IP Check: Need to be achieved.<br /> <img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /> Releasable: currently in beginning stages<br /> <img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /> Quality Assurance: currently in beginning stages<br /> <img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /> Stability: No planned API changes<br /> <img class="emoticon emoticon-red-star" data-emoticon-name="red-star" border="0" src="/s/en_GB/3278/15/_/images/icons/emoticons/star_red.png" alt="(red star)" title="(red star)" /> Supported: currently in beginning stages</p> <h2>IP Review</h2> <p>IP review is underway - known issue:<a href="http://svn.osgeo.org/geotools/trunk/modules/unsupported/imagecollection/src/site/apt/review.apt">http://svn.osgeo.org/geotools/trunk/modules/unsupported/imagecollection/src/site/apt/review.apt</a></p> <h2>Outstanding Issues</h2> <p>Remember that the module maintainer is a volunteer, and if you can help test this module please jump on the developers list and help out. Patches may be attached to the above issues for review by the module maintainer.</p>
Please type the word appearing in the picture.
Attachments
Labels
Location
Watch this page
< Edit
Preview >
Loading…
Save
Cancel
Next hint
search
attachments
weblink
advanced