Skip to content

qjw2bqn/Esri-Mosaic-Image-Selector

 
 

Repository files navigation

Mosaic Image Selector

Mosaic Image Selector is an add-in for Esri's ArcMap to explore imagery within a mosaic dataset or image service. The add-in supports mosaics stored locally in a geodatabase (or SDE connection) and mosaics published to ArcGIS Server as image services.

When a mosaic layer is dropped on to the Mosaic Image Finder window, thumbnails of mosaic images that overlap the current map extent are displayed in the three dimensional viewer as shown above. These images can be sorted vertically based on any existing numeric field.

The aim of this add-in was to provide an intuitive user interface for sorting and searching imagery in a mosaic. This add-in is particularly useful when mosaics contain good attribution and images are plentiful within an area of interest. When an image is selected, as indicated above with a red outline, it can be added to ArcMap as a new layer.

This repository does not include the compiled add-in. The source must be downloaded and build using Microsoft Visual Studio on a computer with ArcGIS Destkop 10.3+.

The project has the following dependancies:

The Mosaic Image Finder window is created using WPF 3D (.NET). One of the difficulties when developing this application was creating a threading model for background image requests. If images were downloaded in the UI thread then ArcMap would totally lock-up. Even though background threads can use ArcObjects, it is not recommended to parse ArcObject references between threads, doing so will cause cross-thread issues such as a severe performance hit. When possible I created proxy classes to assist with the exchange of simple data types like IEnvelope. However to parse a Layer I was forced to persist the layer to file and have it opened in the background thread, not the best but unavoidable.

About

An add-in for Esri's ArcMap to explore imagery within a mosaic dataset or service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%