Zh-hans:JOSM

From OpenStreetMap Wiki
Revision as of 07:47, 21 February 2008 by Boyamyxia (talk | contribs) (New page: {{Language-JOSM}} {{helpMenu}} <!-- This page is part of the help pages set --> 400px|thumb|JOSM Screenshot, showing the geo-tagged images feature. [[image:Josm-s...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Language-JOSM

JOSM Screenshot, showing the geo-tagged images feature.
JOSM Screenshot with (outdated) landsat.jar and mappaint.jar plugin.

JOSM is the "Java Open Street Map Editor" developed by Immanuel Scholz and currently maintained by Frederik Ramm. Its homepage is located at http://josm.openstreetmap.de/, where you can download the latest version (the nightly build, about 1MB). At least Java 1.5 is required.

Which editor to use

There are other editors for OpenStreetMap data, like the Potlatch online editor or Merkaartor. So when should you use JOSM and when another editor? Well, JOSM is a feature-rich editor for the experienced OSM mapper. It requires some installation and configuration efforts. But if you intend to become a great OSM mapper, it's worth the time you need to get used to it. And if this sounds complicated: it's not if you are a bit familiar with computers.

You should use this offline editor if:

  • You are going to change a large set of data
  • You want to change data without having any immediate effect (try something out).
  • You have taken photos during your track and want to display them on the position they were taken.
  • You want to use an offline editor and going to edit an area, which you believe other people are currently changing. JOSM supports merging changes and conflict resolving from changed areas (remember to do a download prior every upload).


You probably don't want to use JOSM if:

  • You just want to name this one street. Use the online editor.
  • You don't want to install an application.
  • You edit the map from behind a firewall that prevents JOSM working properly (e.g. from your place of work).
  • Your machine doesn't match the Requirements below.

Requirements

In order to run JOSM on your computer you'll need:

  • Java 1.5 or higher (unfortunately Java 1.5 is not available for Mac OS X 10.3, JOSM works fine on OS X 10.4 though)
  • 256 MB RAM or more
  • a display resolution of 1024*768 or higher (800*600 won't be much fun)
  • a graphic adapter with 2D acceleration turned on is recommended. If you have only OpenGL available, try passing
    -Dsun.java2d.opengl=true
    If you have problem with this settings (false icon and background, dialog. tested on WinXP + nVidia FX1500 + dual monitor) use:
    -Dsun.java2d.opengl=true -Dsun.java2d.opengl.fbobject=false

although note that the opengl option can cause problems with window managers on Linux.

Download & installation

You need to have Java 1.5 installed on your computer in order to run JOSM. Unfortunately Java 1.5 is not available for Mac OS 10.3.x.

Then you simply need to download the JOSM jar file, which can be found on the Main site.

Various people started hacking on JOSM, so there are different flavours and plugins available. While the main JOSM trunk is at http://josm.openstreetmap.de/, you can download modified versions of JOSM, plugins or external tools that enhance JOSM.

Install Java

First of all you have to have Java installed on your system to be able to run JOSM:

Linux

  • Install Java Runtime from here Java SE
Ubuntu
  • enter:
    $ sudo aptitude install sun-java6-jre
Debian "pure"
  • enter (as root):
    $ apt-get install sun-java6-jre

Note: If you have another JVM installed, either select the sun java vm by specifing its executeable (/usr/lib/jvm/java-6-sun/java) or update the system configuration by invoking "update-java-alternatives -s java-6-sun"

Gentoo

Standard installation:

emerge josm

If you are interested in latest josm-development and plugins use the OpenStreetMap Gentoo Overlay. By using the "x86"-keyword you get a stable release, the "~x86"-keyword installs the svn-version.

There are many plugins already available as ebuilds. Look at http://svn.openstreetmap.org/applications/utils/gentoo/ for a complete list.

openSUSE

JOSM packages are available in the openSUSE's build service, in the home:rodrigomoya repository:

zypper ar http://download.opensuse.org/repositories/home:/rodrigomoya/openSUSE_10.3
zypper ref
zypper in josm

Windows

  • Install Java Runtime from here: Java SE

Mac OS X

  • Java 1.5 is already installed with OS X 10.4 or later.

JOSM plugins

A list of plugins is on the JOSM/Plugins page in this Wiki, and also in the JOSM Wiki. Plugins are installed as described below:

Linux & Mac OS X

  • Install Java Runtime, if not already installed
  • To install plugins, save them in ~/.josm/plugins (e.g. /home/$USER/.josm/plugins/wmsplugin.jar)

Windows

  • Install Java Runtime, if not already installed.
  • On the latest version of JOSM (April 2007), put the plugins in the directory is C:\Documents and Settings\your user name\Application Data\JOSM\plugins

How to start JOSM

The jar file needs to be passed to the Java 1.5 runtime. This step is different to the various platforms:

Linux

Just type java -jar josm.jar in a shell. There are also some tutorial videos. One describes the steps to set up KDE for starting JOSM by clicking on the JAR file. Get the tutorials from one of the mirrors listed at openstreetmap.de.

Ubuntu users have a good tutorial at UbuntuForums.

If you need to use it from behind a proxy, you can tell it to the java runtime like java -Dhttp.proxyHost=192.168.1.1 -Dhttp.proxyPort=3128 -jar josm.jar, with the IP and port of your proxy.


If you need ipv6, you can tell it to the java runtime with -Djava.net.preferIPv6Addresses=true

e.g. java -Djava.net.preferIPv6Addresses=true -Dhttp.proxyHost=proxy.ipv6.uni-leipzig.de -Dhttp.proxyPort=3128 -jar josm/josm-snapshot-xxx.jar

The proxy here is only mentioned because the openstreetmap-server doesn't support ipv6 yet.

Windows

Usually you can just double click on the josm.jar file to start JOSM.

In the rare case that this doesn't work, create a text file named start_JOSM.bat with a simple text editor, for example Notepad. Write the following line in the file:

java -jar josm.jar

Save this .bat file into the same directory where josm.jar is located. Now you can just double-click on the .bat file and JOSM will start up.

You can also set up a shortcut to the JOSM.jar file which allows the inclusion of additional parameters. I have the following as the short cut "Target" in my Start Menu which starts a control prompt window (useful to see progress of uploads/downloads), loads JOSM in its separate window, and assigns 512mb of memory for the process which dramatically speeds up operation when editing dense data. Change "path" to the full path of your josm-latest.jar file.

C:\WINDOWS\system32\java.exe -jar -Xmx512M "C:\path\josm-latest.jar"

Mac OS X systems

You need Mac OS 10.4 or better. 10.3 will not do the job. In 10.4.x, simply double click on the jar file and Java 1.5 should load the JOSM jar file. If you need to allocate more memory to JOSM (in order to edit larger files), the following script will help:

java -jar -Xmx256M -XX:MaxPermSize=256M josm-latest.jar

Getting started

  • If you have a GPX tracklog file of the ways you want to map, start JOSM. Choose File → Open to select and load your track. JOSM will automatically fit the workspace to the bounding box of your track.
  • If you don't have a GPX tracklog file then you may want to use data collected from other users. See Korea Mapping Guide
  • If you want to play around while learning how to use JOSM without changing the data on the server then just don't upload (downloading is OK), delete the layers you changed, and then start over.
  • Always download before editing even if you are using data stored on your own computer.
  • To exchange data with the server ensure you have entered your username and passphrase in the preferences of JOSM. Your username is not your wiki username but the email address you used for registering.
  • Now choose File → Download from OSM. In the following dialog ensure that the checkbox to get OSM data is enabled and press the OK button. Always download before uploading.
  • If the track is too long, the server will refuse to send you the OSM data for that area. Zoom in a bit to restrict the request to a reasonable size.
  • Wait a bit until all the data has been received. If there are existing ways of your area in the database, you will now see them in JOSM.
  • Now start your editing session. Be careful when changing existing data, as streets and nodes can have lots of tags assigned.
  • The JOSM manual is available online here, and these pages can also be accessed by pressing F1 from within JOSM. If you really mess things up simply delete the layers that have been changed before you do an upload and then start over.
  • See here for a list of default shortcuts.

Hints and tricks

See also JOSM/Advanced Tricks (more tips for more experienced users)

  • After installing a plugin, you have to visit the preferences where you can enable and disable each plugin individually
  • For users new to OSM, it is recommended to use a presets file for easier tagging. Ask for one in the mailing list or User:SlowRider
  • To see the ways in different colours and thicknesses, install the mappaint plugin
  • After you have committed your changes to the openstreetmap.org database, it will take a while (sometimes even a week) until the new ways will appear in the slippy map. If you want to shorten this process, you want to get familiar with the Tiles@home project
  • If you do not have a wheelmouse, you can zoom in and out using the key combo Ctrl-. (period) and Ctrl-, (comma).
  • If you mapped one lane of a motorway, find here a tool which creates the opposite lane for you.


Automatically Matching Photos to GPS traces

One of the problems when out mapping with a GPS is trying to keep accurate notes about the street names as you pass each junction. If you have a digital camera to take out with you, JOSM can help.

  • take a photo of your GPS screen/display showing the time (on the GPS) when you start

As you are travelling around, take a picture at appropriate places/junctions/road signs. Then, when you get home with your completed GPS track uploaded into JOSM:

  • In the "Layers" box, top right
  • Right click on the GPS track layer, for the layer you have just uploaded. Note: you must do it from a layer you have just uploaded, and not from data that was downloaded from OSM, as that apparently no longer has a timestamp.
  • Select "Import Images" (or possibly "import photos")
  • Right click the photos layer,
  • Sync the clocks using the (camera's timestamp on the) photo you took at the start (of the GPS screen/display clock)
    • If you do not have a picture of the GPS for some reason, turn on the camera and GPS now. Work out the time difference between them. Now, subtract or add this to the time shown in the 'sync clocks' photo dialog.

Automatically Matching Sound Recordings to GPS traces

As of build 549 there is a similar facility for applying and synchronising sound recordings.

  • Dictate details of the streets names and points of interest as you pass them. If you are conveniently able to, just before you dictate a description of each feature, put a named/numbered waypoint into your GPS. If you can see the display, ideally also note the waypoint name/number in you audio description. Make sure you put a waypoint at the beginning at the same time as saying "NOW" or some such so you can align the two in JOSM. If you aren't making waypoints, put yourself at a location such as a junction that you'll be able to identify from the GPS track.
Then you get home with your completed GPS track uploaded into JOSM, if you have explicit waypoints:
  • Load your waypoints from the GPX file in a Marker layer. Usually this is an automatic side effect of opening the GPX file, but if your GPS stores these as named trackpoints, you can convert these to waypoints by right clicking on the GPX layer and selecting Markers from Named Points. You should see the names of the markers on the map display.
  • In the "Layers" box (top right) right click on the Marker Layer that got created and select Apply Audio, and choose the WAV file for the audio commentary. (JAVA doesn't support all audio formats so you may have to convert the file, e.g. using Audacity: 8,000 samples per second at 16 bit samples will work).
  • You should now see audio icons for each waypoint, which you can click to play the audio. You can also use the Audio menu.
If you don't have explicit waypoints (n.b. applies from build 551 only):
  • In the "Layers" box (top right) right click on the GPX layer and select Make Sampled Audio Layer, and choose the WAV file for the audio commentary. Limitations as above.
  • You should now see audio icons spaced out at reasonable intervals along your track, which you can play by clicking them. These will be spaced a minimum of 15 seconds and 75m apart. (These defaults are suitable for a cyclist at 5m/s - 11mph or 18km/h; they can be altered in Advanced Preferences with the values for "marker.audiosampleminsecs" and "marker.audiosampleminmetres" respectively. In a car in an urban environment you might want 7 seconds, on the open road maybe only 3 seconds, and if walking, perhaps 75 seconds; and for higher or lower density overall, obviously adjust both).
In both cases:
  • You can play, pause, resume, jump forward and back, and go to the next or previous waypoint, from the Audio menu. Using the button bar controls in the Preferences pane you can also put these bttons on the button bar in a familiar arrangement. Full stop (period) is a keyboard equivalent for play/pause/resume.
  • Synchronize the audio with the waypoints or identified location by clicking the marker for which you synchronised until you hear your cue ("NOW") and pause. Then select Sychronize Audio by right clicking on the Marker Layer. Synchronization only applies to that and later points, so if you did pause part way through, you can also resync on a later point.

JOSM error messages

Error while parsing. An error has occurred

The most likely cause of the above error is that the server is slow and has not sent the required response back to JOSM. If this occurs just try uploading the data again, and JOSM will resume from where it left off.

If you get error 412 precondition failed, it means that something changed on server in unexpected way. Try deleting affected objects.

JOSM seems to start okay, but the window is blank

If you have the fancy, compiz/beryl graphics stuff enabled, then this may happen. The solution is simple, add the following line to the user profile:

export AWT_TOOLKIT="MToolkit"

Newbie Notes

Here's a few notes from a beginner's (Parsingphase) first couple of days working on OSM, using the JOSM editor (on Mac OS X).

Mac-specific points

  • "Installing" JOSM on OS X is a cinch — just download and double-click the .jar file.
  • Use a two-button mouse with a scroll wheel — it makes life much easier. Right-dragging moves the map, the scrollwheel zooms.
  • Otherwise, command-click (aka "Apple-click") does a right click, ctrl-arrows to move the map, and ctrl-, and ctrl-. to zoom.
  • Because it starts with a dot, your ~/.josm directory will be invisible to the Finder. You either have to move the plugins into it from the command line, or open the folder using "Go to Folder..." ("Go" menu in the Finder).
  • There's a Mac OS X look and feel under the Edit → Preferences menu; it doesn't actually change any functionality but it fits in ;)

Points for all platforms

  • Get the "mappaint" rendering mode. It makes it far easier to see what's going on in your maps (and even work out where on earth you are), at the expense of slightly higher processor load on your machine (my PowerBook 12" copes fine).
  • Upload and download small areas, frequently. The less time you've got unstored or unchecked changes, the lower the risk of conflict with other users.
  • Always download an area before you start work on it, even if you have your own GPX data.
  • Always download the area you are going to upload before doing so, to get any modifications made by other users and avoid overwriting data.
  • When downloading an area you get all the data within the rectangular bounding box you choose, and also, where any way within that bounding box extends outside the box it is completely downloaded. It therefore becomes difficult to precisely know which areas you have downloaded full data for. If you check the "Draw boundaries of downloaded data" box (found in Display Preferences), a yellow rectangle is drawn around all the areas for which full data has been downloaded. Caution should be exercised when adding new data to areas outside these rectangles as it may duplicate already existing data, which you have not downloaded.
  • A "small area" to start with might either be that from a short GPX track you've taken, or about a 1-km square around a known location. This equates to about 0.06° of latitude/longitude (give or take polar distortion), so enter an area about that size into the File → Download from OSM → Bounding Box.
  • Rural areas with less detail might work better with larger areas — the 1-km recommendation is about right for a suburb of London.
  • Once you're viewing an area in JOSM, at whatever zoom level, the JOSM download dialog box will default to the currently viewed area.
  • It's very easy to select more than you expect to, particularly when making "ways". Open the "Current Selection" panel (Alt-e, fifth button up on the left) to keep an eye on what you've selected.
  • Switch back to "select" mode regularly and click on nothing or type Ctrl-Shift-A to clear your select list.

Why don't my changes appear?

  • See Map Features for how to specify that your way is a road/railway etc, and what type. If you're not sure of the type (e.g. primary/secondary) be conservative and choose the lesser (e.g. secondary).
  • The slippy maps are only rebuilt fairly infrequently anyway. Join tiles@home to be able to rebuild your own in the osmarender layer.

See also

Related

External links