What are the options for searching imagery represented by Image Server image service definitions? In other words, how can clients find the imagery they need? I have a large set of imagery from our Photogrammetry Unit, presently served out by Intergraph's Terrashare, that I am trying to serve via Image Server. Not really sure how to proceed; there are hundreds of missions covering many different areas. Presumably I'd need to create one .ISDef per mission. What then? What are the metadata search options available to clients consuming Image Server imagery from:
* ArcMap * ArcGIS Explorer * Microstation
The Terrashare solution currently in place, and which shall remain in place, uses some sort of an Oracle database backend to store metadata. What is the equivalent set-up for Image Server? A metadata search "lite" capability may be all we need. But I'd like to know what all my options are.
I'm at a bit of a loss on how to even organize this imagery in Image Server. I'm more accustomed to managing a few statewide datasets rather than hundreds of individual pre-mosaicked Photogrammetry raster datasets.
Finally, just to confirm, creating, say, 300 .ISDef / Image Server services, served out through ArcGIS Server, shouldn't require the same amount of resources that serving 300 ArcGIS Server map services, should it? Each map service requires resources out of the gate, e.g. map server instances / ArcSOC.exe processes. What about Image Server? How does an Image Server service correlate to pre-allocated system resources like memory and CPU? This is all on Windows 2008 Server by the way.
I'd like to use this as an opportunity to answer a common question about best to handle multiple projects such that it is easily accessible.
Serving hundreds of different images services is certainly not recommended. Replacing hundreds of image files with hundreds of service end points is not what users want. Most users that connect to images service prefer to have a single endpoint to access all the imagery that is accessible to them and not have to unnecessarily search. As new imagery is added they get the new imagery without needing to change their applications. They prefer to open an image service, then directly zoom to any area of interest and see the most suitable imagery. �??No questions asked�??. The system should handle all the re-projection, mosaicking of the different sources, etc. �??What is most suitable?�??. In most cases it is the latest highest quality imagery, but some users will have other requirements. With image services the user can query for metadata about the displayed and hidden (overlapped) imagery. The order of the imagery can be changed either by defining a new mosaic rule (e.g. By Attribute closest to a date) or specifically locking the service using a query to a specific set of images. Accessing imagery this way is similar to how in a map you may access a set of overlapping polygons and making use of capabilities that are inherent in a complete GIS. Users can control the selection and ordering as required, similar to queries and views of a database.
The aim is to create as few image services as possible. The recommendation is to create image services that are application specific and not data specific. For example, you may create an image service that has all the imagery optimized for visualization and another optimized for image analysis, or an elevation image service with the best available elevations. The aim is to put all the imagery that is similar into a single ISDef (in V9.3) or Mosaic Dataset in (V10).
In theory you can put all your images into a single ISDef or mosaic dataset with associated metadata and then using attributes define the optimum ordering of the imagery. However,this can become impractical, so the optimum solution is to create separated ISDefs or mosaic datasets for each project that can be separately managed and then combine these into the few services to be published. I�??ll briefly describe this method first using mosaic datasets, which is what I recommend using and then how to do something similar using ISDefs for those that do not want to upgrade yet.
Mosaic datasets at V10 have replaced ISDefs (used at 9.2 and 9.3) and are the recommended method for image data management. They are more scalable and integrated better with ArcGIS using the geodatabase. They are also easier to query. The creation and editing of mosaic datasets are core to ArcGIS Desktop and no extension is required. (You need an ArcEditor or ArcInfo license to create and edit them but you can use ArcView to use or query them.)
You had mentioned �??pre-mosaicked�?? datasets so initially I�??ll assume you have many projects and each project has a potentially thousands of images. For each project you can create a mosaic dataset and add the imagery using the Raster Dataset raster type. Each of these mosaic datasets could be created using the projection suitable for the project or just use one that covers all your projects. You may want to create overviews of each mosaic dataset to enable fast access at small scales. Overviews may not be a requirement if lower resolution imagery for the area exists. I would also recommend you add some standardized attribute fields, such as Year (Integer), Date (Date), Project (Text), Source (Text), LeafOn (Yes/No) to each of the mosaic dataset. This can be done using geoprocessing tools and ModelBuilder . Each mosaic dataset can be individually QC checked. Only a small amount of additional data storage is required. Some of these mosaic datasets (or image services if served) could be pan, some 3-band (RGB) and some 4-band (including a near infrared band). You can manage your collections of imagery in each of these mosaic datasets and, as required, easily change things such as add or remove images, change the footprints to clip the imagery, or add different enhancements.
You can also create a �??BestVisualImagery�?? mosaic dataset. The projection for this should be suitable to cover all the imagery you will be using. For most users I recommend Web Mercator Auxiliary Sphere, as it covers the whole world and has some advantages for mashups later. Now use the Table raster type and point to each of the project-based mosaic datasets as the source. This will create a derived mosaic dataset that contains the records from each of the project-based mosaic datasets. For this mosaic dataset, set the default Mosaic Method to By Attribute with Field= Year and Base=3000. This will ensure that the latest imagery is displayed on top by default. This is only an example. You could create other fields that provide better default ordering based on your users�?? general requirements.
This workflow currently does have a know issue related computing the pixel sizes. If you have overlapping imagery it is often better to use the pixel visibility ranges of the original mosaic dataset. Currently when using a table based raster type the MinPS and MaxPS value are not transferred. If you re-compute them in the BestVisualImagery mosaic dataset then it is possible that with overlapping imagery that the system will exclude some images from different scales as they overlap sufficiently. The way to resolve this is to create two new fields in the project-based mosaic datasets called MinPS_Src, and MaxPS_Src that can calculated as being the same as MinPS and MaxPS within each. Then when adding the projects to the BestVisualImagery mosaic dataset uncheck �??Compute cell sizes�?? on the Add Rasters To Mosaic Dataset tool. Instead of running this calculation, set the MinPS=MinPS_Src and MaxPS=MaxPS_Src. (If you are using different coordinate system units for the different mosaic datasets some factors will need to be included; therefore, it is better to use the same units).
You can work with mosaic datasets directly in ArcMap, and serve them as image services to make it accessible to a wider audience. At any time you can update this with new data, properties, etc. A very large range of applications including ArcMap (V9.2 -10), ArcGIS Explorer, Web Apps, and WMS or WCS clients can access these image services. ArcMap, ArcGIS Explorer 1500 and Web Apps can make use of the more advanced capabilities to do things such as changing the compression for transmission, obtaining detailed metadata, and changing the default mosaic methods. For MicroStation users the best way is to use WMS�?? some properties can be controlled by this, but there are no query capabilities.
With ArcMap 10 and using Web Apps, users can also define extensive queries and selections to obtain only specific imagery. The advantage of this method is that you can manage each project individually, but easily create and publish a single image service. In a similar manner you can create other image services for analysis-type applications.
You had mentioned using TerraShare. I gather from this that you also have frame-based aerial imagery from a DMC camera. If this is the case, you can also use mosaic dataset to orthorectify imagery on-the-fly. The workflow for this is very similar to above, but instead of using the Raster Dataset raster type you would use the ISAT raster type. Terrashare can export ISAT project files that contain all the required parameters for OTF orthorectification. The beauty of this is that you can create such projects very quickly as soon as the imagery is available. Over time you can refine parameters such as orientation and color enhancement. As the parameters are updated you only need to synchronize the mosaic datasets to update them all. If you do create �??certified�?? orthos as part of your production process, these would be added as a project and the OTF projects could be either removed or the images could be marked with a lower priority.
So what about V9.3? The same thing can be done, by creating individual ISDefs for each of the projects and then creating a new ISDef in which you add the RPDef Raster type and point to the ISDef directories for each of the projects. The method works, but does not take advantage of the geodatabase capabilities available in V10 mosaic datasets. I would therefore recommend that you upgrade at least the machines that you use to manage and server your imagery to V10.