= Photo Selection and Adjustments = This page lists the current JOSM behavior regarding image/photo selection, placement, and other adjustments and potential enhancements listed in ticket:11905 (''Option to move multiple images at once''). Everything marked with ''new'' is in planning phase and not yet decided. == Use Cases == * Sort and/or select photos based on different attributes. Next/previous based on that criteria, i.e. not by file name as it is now. E.g. a list/table view with sortable columns. The list would reflect the select state. * Select one or multiple photos to delete them (e.g. they are not needed for mapping). * Select one photo on the map to move it. * Select multiple photos on the map to move them, e.g. to adjust an offset. * Should there be an option to select all images of an image layer? * Set direction for one or multiple photos. E.g. all photos that show the same object. * Select one or multiple photos to create a new geo image layer with them. E.g. to create different sets of photos. Not sure if that is a real use case. * Place (untagged) photos one by one by stepping through the image panel (next, place, next, ...). * Change a property like speed or altitude for one or multiple photos (in the photoadjust property dialog). Either set all to same value or add an offset. * Geometrical operations. There are some operations I can think of: * Distribute between first and last with equal distance between photos. * Distribute between first and last with distance proportional to photo capture time difference (i.e. assuming constant speed while taking photos). * Move to selected line (perpendicular), e.g. to move to a street. == Limitations and Restrictions == * Alt+click is used to move the window in KDE, i.e. it can not be used to position photos. * It is not possible to combine regular keys (a-z, 0-9) with clicks, e.g. p+click to place an image on the map. Currently single keys are used for operation on the data layer, no matter what layer or map mode is active. However, there might be some unassigned keys left. == JOSM Core Functionality == * current: * Select single image * View selected image in image viewer * new: * Select multiple images * Image list view * Image display TBD === Ways to Select Images === * In image viewer * current: * First/previous/next/last buttons * new (in addition to current): * List view, selection the usual way * On map * current: * Click on image, deselects currently selected photo, works in any map mode * new: * Click: Select single image, deselects currently selected photos * Add/remove image to/from selection * Add clicked image to selection or remove it if it was selected before * If no photo was selected then select current photo * If photo of other image layer is clicked: * Option a: Select single image, deselects currently selected photos * Option b: All image layers are treated like one combined layer * Select multiple * Select all photos from the last selected to the current photo * If no photo was selected then select current photo * Photo sequence depends on image layer sort order * A line to indicate the image order could be displayed * If photo of other image layer is clicked: * Option a: Select single image, deselects currently selected photos * Option b: All image layers are treated like one combined layer === Image Viewer Panel === * current: Show selected photo, on-screen display (OSD) with image information, first/previous/next/last buttons, delete from layer button, delete physically button * new: * Option 1: * Same as current if no or only one image is selected * Image overlay if multiple images are selected, no OSD * Option 2: * Same as current if no or only one image is selected * List view if multiple photos are selected or if that mode was switched on * List view toggle button to enable list view even if no/one image is selected (also toggle option in image layer context menu) === List View === Photo list view with different sort options (name, time, speed, ...). This is either a new panel or it is displayed in the image viewer panel if multiple photos are selected or if that mode was switched on. If it is a separate panel the image is displayed in the image viewer. If this is the image viewer then we need a way to display the images, e.g. with an image preview zoom like in a file manager. == Photoadjust Plugin Functionality == * Place image that is currently selected in image viewer on map * current: Shift+click * new (see below for select keys): * One image selected in image viewer: Place at clicked position * Multiple images selected in image viewer: * Option A: Get the center of selected photos, then translate them with the new center at the mouse position. I.e. click position is center of selected images. * Option B: Place all at clicked position. This does not make much sense, but a small offset could be added to each image to place them at different locations to be able to select individual photos in high zoom levels. The offset could depend on the number of selected images, or it could be configurable. E.g. all images in a circle around the clicked position. * Set direction of currently selected image (if it has a position) * current: Control+click * new (see below for select keys): * One image selected: Set direction to clicked position * Multiple images selected: Set direction to clicked position * Edit photo properties in property editor * current: Edit selected image * new: Edit selected images * If a value is the same for all photos: Display the value as is, editing the value changes it for all images * If value differs: Display something like "", editing the value changes it for all images (the value is displayed after the edit) * Image preview is replaced with image overlay (same image as in image viewer option 1) * The external coordinate editor might get the middle position as initial value == Select Keys and Clicks == Select function to hotkey or mouse click mapping. * Select multiple (new) * Shift+click * Add/remove single (new) * Control+click * Place image on map (if map mode or image layer active) * current: Shift+click * new: ??? (Shift+alt+click?) * Set direction (if map mode or image layer active) * current: Control+click * new: ??? (Control+alt+click?) * Move images * Click+drag == Open Issues == * What shall happen if multiple image layers are present? Do they act as individual layers or as one combined layer? E.g. if images are to be added to the selection, does adding an image from an other layer add that image too or does it clear the current selection? * Implement "add multiple"? * How to place an image on the map and set the direction (photoadjust plugin). * Decide how multiple images are displayed in the image viewer.