Osmosis is a command-line Java application that's often called the "Swiss Army Knife" of OpenStreetMap. It can perform a number of tasks to manipulate OpenStreetMap data in some way, and thanks to its plugin-based architecture, can be extended to perform new tasks. For many large-scale uses of OpenStreetMap data, Osmosis is the first tool you'll use before trying to render a map or use the data in some other way. For some tasks, it's the only way of getting the job done.
Some examples of what Osmosis can do include:
Extracting data inside a bounding box or polygon
Filtering the data based on primitive type and tags
Splitting one large OpenStreetMap file into several smaller ones
Importing data into an OpenStreetMap server
Generating a list of changes between two OpenStreetMap files
Applying diff files to a planet file or database to keep it up-to-date
We'll cover a simple example of each of these tasks.
Osmosis itself is open source software, released into the public domain. This...