- 1 Introduction
- 2 Installation
- 3 Using the plugin
- 4 OpenStreetCam layer
- 4.1 Map View
- 4.2 Image selection
- 4.3 Track visualization
- 4.4 OpenStreetCam panel
- 5 OpenStreetCam preference settings
The OpenStreetCam plugin is a JOSM plugin that displays up to date street view images collected by the OpenStreetCam platform. Street view images are also available via the OpenStreetCam web and mobile applications. Having an extra source of free and open imagery ease the process of remote mapping and allows the users to reflect the reality also in the map. Street view images are helpful for editing map features that are not visible on satellite imagery like traffic signs, house numbers, bus stops, points of interests.
Since version 144, the plugin introduced a new feature that displays street sign detections and allows their manipulation.
Install the OpenStreetCam plugin the familiar way, through the JOSM plugin Preferences menu item.
Using the plugin
After installing the plugin and restarting JOSM, the layer and dialog windows associated with the OpenStreetCam plugin need to be enabled manually. The layer can be enabled from Imagery->OpenStreetCam menu item, while the panels from the left side OpenStreetCam ( ) menu item and OpenStreetCam detection ( ) menu item.
The plugin saves the open/closed state of the layer and panel. So if you delete the layer/panel then the next JOSM session the OpenStreetCam layer/panel will not be loaded by default. A previously deleted OpenStreetCam layer and panel needs to be activated manually.
The OpenStreetCam layer loads data automatically: in the case of the Imagery layers data is loaded as the map is moved, zoomed in or out. In the case of OSM data layers the data is loaded only for the downloaded area.
OpenStreetCam layer data is represented differently depending on the zoom level: in the case of small zoom levels OSM segments(ways) are displayed, while in the case of bigger zoom levels individual image locations. Starting with zoom level 10, the layer indicates areas that have street view coverage giving the user a hint where he/she can find an extra source of mapping support:
Ways are colored with purple and have different transparency based on the data coverage: segments that have many images are opaque, while segments that have only a few images are more transparent.
Starting with zoom level 18 the map view changes and individual photo locations, sign detections and aggregated detections are displayed:
Each photo location is illustrated by a blue icon with a white arrow that indicates the heading. Images that have no heading information are represented by a blue circle.
Sign detections are represented using self-describing icons. Sign detections might need to be enabled from Filter, by checking Detections under Data to display.
Manual data switch
By default the type of data that is displayed is changed automatically based on zoom level. This behaviour can be customized from JOSM -> Preferences -> OpenStreetCam plugin -> MapView settings section (see more at OpenStreetCam preference settings section).
When the manual data switch option is enabled a new button is visible in the OpenStreetCam panel. If the "data switch" button is clicked the map view changes from segment view to image location view and vice versa. The "data switch" button is enabled starting from zoom 16 and is represented with different icons based on the displayed data type. For segment map view a photo icon is displayed while for image location view a segment icon.
An image location can be selected by single mouse click action as long as the layer is visible. Images can be selected as long as the OpenStreetCam layer is visible. We allow image selection even if the OpenStreetCam layer is not the active layer.
A selected image is highlighted on the map (bigger icon) and its content is displayed in the right side OpenStreetCam panel (more information regarding the panel at OpenStreetCam panel section).
The tracks corresponding to a selected image is displayed if the "Load track on image selection" option is enabled from Preference settings. An OpenStreetCam track is illustrated with a blue directed line. Images belonging to the selected track are illustrated with opaque icons; while other images along the track are illustrated with transparent icons.
The displayed data can be filtered based on the creation time, logged in JOSM user and type (detection or image). Filters can be accessed from OpenStreetCam layer -> Filter data menu item.
You can filter the sign detections by the following criteria:
- Not older than — show only detections (or images) from that date or newer.
- Only mine — show only detections / images from my own OSM / OSC account.
- Mode — Show only automatic detections, manually tagged detections, or both.
- Edit status — show detections based on manually set status of the detection:
- Open — new detection, status not changed yet
- Mapped — manually marked as mapped
- Bad sign — manually marked as a bad detection
- Other — other status
- OSM Comparison — show detections based on comparison with OSM data:
- Same data — Only show signs that have corresponding tags / data already mapped in OSM
- New data — Only show signs that do not have corresponding data in OSM and need to be mapped
- Changed data — Only show signs that have existing tags in OSM but the value is different (for example a 50 km/h sign and the OSM way is mapped as 60 km/h)
- Unknown — No match could be made between the detected sign and OSM data
- Confidence level — The values between which the confidence level of the data should be found
- Region — Show detection types corresponding for a region
- Detection type — show only signs of the selected types
For the filters OSM Comparison, Edit status and Detection type, you can select multiple values by using shift-click and command/ctrl-click.
The Only mine filter is available for both views, while the rest of the filters are only available for the photo location view. In order to view only your uploaded images, you need to authenticate in JOSM using OAuth login. By default no filter is set, custom filters can be removed by clicking the Clear button.
The OpenStreetCam panel displays the currently selected image, along with basic information such as: date of upload, username of the user who uploaded the image and the number of detections found in it. In the majority of the cases the username represents the user's OSM username, but in some cases it might be also a Facebook or Google username ( since the OpenStreetCam platform allows the user to sign in also using a Facebook/Google account).
An OpenStreetCam image can be zoomed in and out using the mouse wheel. In an already zoomed in image details can be observed by moving the image left, right, up and down.
The panel also has a number of action buttons on the bottom. These are for previous image/next image/play track/nearby photo loading, download matched OSM way, centering the map to the selected image location and opening the image web page. These features are described in the next sections.
When selecting a detection, the corresponding photo is loaded and the sign metadata is displayed in the OpenStreetCam detection panel along with the option to set the status to Mapped, Bad Detection, or Other. By marking signs that are not detected correctly as Bad Detection, you hide them from other mappers, and the information will be used to improve the detection system.
When an aggregated detection is selected, all its detections are shown in the table and a photo with the first detection from the table is loaded.
All detections which belong to a selected aggregated detection are purple coloured. If you want to iterate throughout them you can do the following:
- use the up or down arrows from the keyboard
- use the left or right arrows from the table's panel
- click on the detection from the table by using the mouse
Next and previous image functionality
The next and previous image actions are available only if the track corresponding to the selected image is also displayed.
Next image can be loaded either by clicking on the "Next button ()" from the OpenStreetCam panel or by pressing Alt+Right arrow keys. Similarly the previous image can be loaded either by clicking on the "Previous button ( )" from the OpenStreetCam panel or by pressing Alt+Left arrow keys. If the next or previous image is not visible in the current view, then the map is moved automatically and images near the track are downloaded.
Clicking on starts the play track feature. This will continue to load the next photo on the selected track until is pressed or until the last photo is reached. The length of the played track can also be configured from Preferences, under Autoplay settings, by giving Track length in meters a value. After the given number of meters was reached, the auto play stops automatically.
This functionality loads images that are located near to the selected image. This functionality improves the mapping process especially if the selected photo does not contain all the information or if the selected photo has bad quality or has not the right angle.
If the "Load track on image selection" preference settings option is selected , than also the track corresponding to the nearby photo is loaded.
Display OSM Element
If the selected detection or aggregated detection has OSM Elements, the Matched Data button from the details panel will be enabled. By pressing the button, the corresponding OSM element(node, way or relation) will be drawn in the OpenStreetCam layer.
Download matched OSM way
The map can be re-centered to the selected image location by clicking on the "Location button ( )" from the OpenStreetCam panel. This feature is useful when the map was moved and the selected image location is not visible on the map.
Image web page
OpenStreetCam preference settings
The OpenStreetCam plugin can be customized from the plugin's preference settings. The preference settings can be accessed from JOSM->Preferences->OpenStreetCam plugin or from the OpenStreetCam panel by clicking on the preference icon.
The type of data displayed on the MapView can be customized by modifying the following settings:
- minimum zoom level for displaying individual image locations - by default image locations are displayed starting with zoom level 18.
- data type change method ("switch manually between segment and image view") - if this option is selected then the displayed data type is not changed automatically at zoom level 18 from segment view to image location view and vice versa.
Regarding image loading the user can customize the following settings:
- load high quality images - if this option is selected then the high quality images are loaded instead of a large thumbnail. By default this option is disabled
- load image on mouse hover event - if this option is enabled then the small thumbnail is loaded on mouse hover events. A better resolution image is loaded if the user clicks on the image location icon or if the OpenStreetCam panel is maximized. This option is not compatible with the other options and it is enabled only if the previous two image customization options are unselected.
Detection/Aggregated detections settings
- display detection locations when selecting an aggregated detection
- display tags when drawing selected detection/aggregated detection matched data - tags associated with the OSM element members are displayed on the map
- display aggregated detections based on confidence level
- load corresponding track - if this option is selected then also the track corresponding to the selected image is loaded and displayed on the map. By default this option is enabled.
- track length - for how many meters should the auto play function run
- slideshow speed - the wait time before the next photo is loaded during auto play
Individual images are loaded in the background and are cached. We had adopted caching in order to be able to display faster the image corresponding to a selected location.
When an image is selected the nevious, next and nearby images are loaded in the background and saved into the cache. If the user unselects the image then the irrelevant images are removed from the cache.
The following settings can be modified:
- maximum number of objects to keep in memory
- maximum objects to keep in disk
- previous and next images to cache
- nearby images to cache.
The OpenStreetCam plugin is under development. We are working on fixing bugs and also adding new functionality from time to time.
The source code of the currently released plugin can be found on GitHub .
Feedback and bug reporting
We take a look at all incoming ideas, so be sure your input is heard and very much appreciated!