OpenStreetView (openstreetview.org) is a project talked about at State Of The Map 2009 by John McKerrell and launched in September 2009. The aims of the project are to create a large open licensed database of street level photography. Geo-tagged photos can be uploaded into the system by anyone who signs up for an account. All photos must then be moderated by a number of people (currently 3) to ensure that they are appropriate for the project. Once a photo has been moderated it will then show up in API queries and appear on the site to anyone, whether signed in or not.
Using the site
If you simply want to browse the photos that are available then just visit the site and drag the map around. The interface is severely lacking at the moment as it will show photos in the order that they were uploaded with an arbitrary limit of 100. If you zoom into areas around the world though you should find there's more image than appears at first glance. Try zooming into your country first and see what shows up. Unlocated photos show up on the left hand side. In the future it will be possible for signed in users to add tags to photos and to modify properties of the photos including the orientation, the direction and location.
To upload photos you will need to create an account on the site. It has been mentioned that it would be useful if could use your OSM details rather than creating a new account. While this is understandable it was easier to launch this way and meant the site actually got launched.
Once you have an account you should go to /upload where you can choose between uploading an individual photo through a web form or creating an FTP account to allow easier uploading of many images. Only geo-tagged photos will show up on the map and there is not currently any way to georeference them later. When you have created an FTP account you can use any standard FTP client to connect, e.g. FileZilla. The best option is to upload photos as directories of files, each directory will be grouped into a "batch". These batches currently have no purpose but in the future could be used with geotagging or for other purposes later.
When you have uploaded photos via FTP you will need to go to the site and visit /upload/ftp - you can review the files you have uploaded and tell the system to start processing them. This page is known to take a long time to run so you'll need to be patient. Once you've got past this page a background process will push your photos through from the "pending" status via "processing" to "unavailable". At this stage the photos are not available for anyone to see. You get a chance to review them and can either push them to moderation or delete them if you've accidentally uploaded something you didn't intend to.
Every photo must be moderated before it is visible to everyone. Moderation is intended to catch a number of problems. We do not want people using OpenStreetView as a mechanism to distribute photos or images that are not street-level imagery. It is not a general photo hosting site. Also to safeguard the project against problems in the future we are manually masking any parts of the photo that could cause privacy problems or any problems for the project in the future, for instance faces of people or car license plates.
When moderating you are able to specify whether a photo is "Safe" or "Unsafe" (these terms are not really correct, "Appropriate" and "Inappropriate" would be better). "Unsafe" photos are photos that really have no place on the site, including photos or images that might have copyright issues. When a photo has been marked "Unsafe" by 3 more people than have marked it "Safe" it will be removed from view. "Safe" photos are any photos that are appropriate for the site, they can include photos that show people or cars or other objects so long as faces, license plates, etc. have all been masked out.
To moderate go to /moderate. The page will load in a number of photos. The current preferred workflow is as follows:
- Review the small previews, any photos that appear to have things that need masking in are selected (by clicking on the photo).
- If any photos need masking click on "Mask sections".
- A dialog window will pop up showing a larger version of the photo. You can now review it to confirm whether it has any areas that need masking.
- To mask an area simply drag a rectangle over the area on the photo. If you get it wrong just start again.
- After you select an area the "Value" box on the bottom right will be focussed. When masking images the "Key" box will always contain "mask". Enter a value that you feel appropriate. There is no enforced list of tag values though de facto standards will appear as time goes by.
- Once you have entered a value either hit enter or click the "Save Tag" button.
- If there are more areas to be masked then repeat these steps, otherwise you can either press enter while the "Value" box is focussed or click "Next" to move onto the next photo.
- If you are on the last photo, attempting to get to the next photo will close the dialog and show the previews again.
- Once you have masked all of the photos select all of the photos that are now safe and click "Mark as.. Safe".
- If any photos are inappropriate select these and click "Mark as.. Un-safe".
- Click on "Save Changes" to save your changes. As the changes for each photo are saved each photo will disappear. When all photos are saved the page will automatically load in a new set of photos to moderate. If there are no photos left to moderate in the system, a box will pop up to tell you.
When you get bored of moderating or find something else to do you can simply close the page.
The code is open source and can be found on github. The use of github allows anyone to branch the code, make as many changes as they want and to share those changes with the community. To put the changes live a push request should be made to the main repository where it will be reviewed and, hopefully, applied.
The code is written in Ruby using the Rails framework, similar to OpenStreetMap.
You can also find a simple script which will download (and re-geotag due to bug) all pictures in KML region for use in for example JOSM's AgPifoJ plugin. It requires perl, wget and exiftool, but no additional perl modules (see the script for info).
This list is not meant to be a definitive list of plans for the project but is intended to give an idea of what we're hoping to do in the future and show areas that people can get involved in if they'd like to try working with the code.
- Browsing photos on the map - currently the /api/photos/locate query which gets photos within a bounding box returns them in the order they were uploaded up to a maximum of 100. This means that the homepage of the site doesn't show a good spread of photos around the world when the map is zoomed out. It shouldn't be too hard to make a request that could be used at the lower zoom levels that would get a broader geographic range of photos.
- Currently photos can't be tagged or metadata added once they have been moderated, adding this would be handy.
- Make use of OSM user accounts rather than requiring new accounts to be created. Best way to do this would be Open ID but OSM doesn't offer that. OAuth could probably work but isn't intended for this sort of thing. It would even be possible to just accept OSM usernames and passwords directly on OSV and use the OSM API to authenticate though again this would not be ideal.
- Support more ways to upload images.
- ... various UI fixes and bugs and feature requests that appear on the mailing list and listed as issues on github.
Attention: possible privacy law issues
In some countries, it might not be allowed to publish pictures taken even in public spaces if the owner of the property objects to that, or even take such pictures. In such cases, uploading such pictures to OpenStreetView or similar services (like google maps, panoramio etc.) might (or might not) be illegal. Check the local law of the country in which you intend to take pictures before doing so, and also see talk page.