Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dev:viewer:actions:add_view [2023/02/10 15:29] pieter [Find Best Photo] |
dev:viewer:actions:add_view [2023/02/14 14:21] jeroen removed |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Add View ====== | + | ====== Add, Move, Change |
- | Click on the ' | + | ===== View Modes ===== |
- | The available reality data will define the available Open View options.\\ | + | |
- | The different View modes are described [[dev: | + | |
- | ===== Find Best Photo ====== | + | The available View Modes depend on the loaded Resources: |
- | ==== Input Parameters ==== | + | * 3D View |
+ | * Streetlevel Spherical View | ||
+ | * Streetlevel Planar View | ||
+ | * Aerial Planar View | ||
+ | * Aerial Oblique Planar View | ||
- | FIXME Add find photo algorithm information | + | ===== Add View ====== |
+ | |||
+ | Click on the ' | ||
+ | The available reality data will define the available Open View options.\\ | ||
+ | The different View modes are described [[dev: | ||
- | Inputs: | + | ===== Move View ===== |
- | * resources | + | |
- | * focusPosition : The position we want to observe. | + | |
- | * viewPosition : The position we are observing the photo position from. | + | |
- | * minPhotos : The minimum amount of photos to find after applying the requireFocusVisible filter. Ignored if not positive. | + | |
- | * minDistance2D : The minimum 2D distance of photo' | + | |
- | * relevantPhotosMax : The maximum number of relevant photos to return. | + | |
- | * searchDistances2D : The array of search distances to use when finding a closest photo. | + | |
- | * findCloserPhotoAlgorithm : The algorithm to sort results and find a closest photo. | + | |
- | * PIXEL_DISTANCE : Identifies the technique to find a closest photo by projecting the search coordinate on the photo and then sorting by distance to the photo center. | + | |
- | * SPATIAL_DISTANCE : Identifies the technique to find a closest photo by taking the 3d distance to the view position (fall back on focus position). | + | |
- | * requireFocusVisible : For planars, only return photo' | + | |
- | * isStreetlevel : We are searching on streetlevel? | + | |
- | * If true the 'is focus visible?' | + | |
- | * for each photo by looking at the angular distance between the photo heading (pan) and the heading defined by the vector from photo position to focus position. | + | |
- | * This yields a better result for streetlevel planars (sphericals don't have a 'focus visible' | + | |
- | * searchCenter : Identifies searching around the view position. | + | |
- | * FOCUS : Identifies searching around the focus position and selecting the photo closest to the focus position. | + | |
- | * FOCUS_AND_VIEW : Identifies searching around the focus position and selecting the photo closest to the view position if provided (focus position as fallback). | + | |
- | * VIEW : Identifies searching around the view position and selecting the photo closest to the view position. | + | |
- | There are other input parameters, but they do not apply to how the algorithm functions. | + | Move an existing View to a new location |
- | Some constants : | + | Hover over the ID of the View on top, click ' |
- | * AerialDistances = '' | + | To move all views at once, hold Shift in move mode and choose a new location. While holding Shift, 'move' |
- | * StreetlevelDistances = '' | + | |
- | Default parameter values : | + | ===== Switch View Mode ===== |
- | ^ ^ Streetlevel Spherical ^ Streetlevel Planar ^ UAV Planar ^ Oblique Planar ^ | + | Change the View Mode of a View. |
- | | focusPosition | + | |
- | | viewPosition | + | |
- | | minPhotos | + | |
- | | minDistance2D | + | |
- | | relevantPhotosMax | + | |
- | | searchDistances2D | + | |
- | | findCloserPhotoAlgorithm | SPATIAL_DISTANCE | + | |
- | | requireFocusVisible | false | true | true | true | | + | |
- | | isStreetlevel | + | |
- | | searchCenter | + | |
- | < | + | Hover over the eye-icon on top of the view to open the ' |
- | < | + | |
- | ==== Algorithm | + | ===== Focus other Views ===== |
- | FindClosestPhoto | ||
- | distanceToProjectionCenter(): | + | ===== Search & Open best photo ===== |
+ | Add, Move and Focus Views trigger the request to Search and Open the " | ||
+ | Depending on the use case and data-type other methods or configurations can be used. \\ | ||
+ | Anyway, the action consists of 2 consecutive steps | ||
+ | - Get Candidates | ||
+ | - Sort Photos | ||
+ | ==== Get Candidates ==== | ||
- | Input: | + | Find relevant photos around the requested Focus Coordinate. \\ |
- | - Photo List | + | Any photo becomes a candidate if |
- | | + | |
- | | + | |
- | Iterate photo objects | + | Searching for candidates is done by incrementally increasing the search radius and ends when |
- | If findCloserPhotoAlgorithm = PIXEL_DISTANCE Then | + | |
- | | + | |
- | If findCloserPhotoAlgorithm = SPATIAL_DISTANCE Then | + | |
- | | + | |
- | distance = getDistanceToPosition(photo, | + | |
- | Else If viewPosition!=null) | + | |
- | + | ==== Sort Photos ==== | |
- | | + | |
+ | Sort candidates by relevance, to get the best image and order alternative images. \\ | ||
+ | The best image has the smallest value for the selected option | ||
+ | Options: | ||
+ | * By Direction offset \\ Offset between the Candidate Direction (Candidate to Focus Coordinate) and Request Direction (3D View Position to Focus Coordinate). | ||
+ | * By Pixel offset \\ Pixel offset of the Focus Coordinate projected on the Candidate Image to the Candidate Image Center. | ||
+ | * By Spatial distance \\ Spatial distance of the Focus Coordinate to the Candidate Coordinate. | ||