He:Component overview

From OpenStreetMap Wiki
Jump to navigation Jump to search

This page is to give Developers a technical overview of logical system/components of OpenStreetMap.

דיאגרמה

OSM Components.png

בסיס נתונים

בסיס הנתונים מחזיק את כל נתוני המפה בצורת נקודות, קטעים ודרכים

ראה: סכמת בסיס הנתונים

פרוטוקול

The OSM Protocol (AKA "the API") is a REST web service interface for reading and writing to the database. Other OSM components access the database via this interface. It is also available to the outside internet.

OSM Front End

The front-end website is written in Ruby on Rails (see The Rails Port). It presents user log-in options, using a direct connection to a user database (not shown on the diagram above). The website's main function though is to display the Slippy Map ("view" tab), and, for logged-in users, the online editor Potlatch ("edit" tab)

מפת סליפי

See Slippy Map. This is the what displays the maps! It's a AJAX interface letting you zoom and pan ("slippy" draggable panning).

Potlatch

Potlatch is the online editor appearing on the 'edit' tab. It's a flash object embedded on the web page.

Java יישומון

The java applet has been retired. Replaced by Potlatch. See Java Applet Development.

Tiles and tile rendering

There is an ongoing process of fetching map data via the API, and rendering maps as raster images known as tiles. Many new tiles need to be rendered to achieve full (global) coverage, but also updates to the underlying map data will mean that existing tiles need to be re-rendered.

Mapnik

Mapnik is a rendering system which powers the display which is currently the Slippy Map default. The rendering process runs on the 'tile' server, and Mapnik tile images are served from that machine. This renderer takes its data from the weekly Planet.osm dump.

Tiles@home

Tiles@home is a distributed tile rendering system. It uses the Osmarender rendering system (XSLTs) running on many different client machines. It takes live data over the protocol, and rendered images are uploaded back to the dev server.

Renderers

As mentioned above, we use rendering software called Mapnik and Osmarender to create raster images for the slippy map tiles. Renderers can also be used on an ad-hoc basis for creating map images from our data. There's limitless potential to develop new ways of rendering our data.

עורכים

Along with the edit tab on the website (Potlatch) there are other tools, both offline apps and other websites, which allow you to edit the OSM data via the API.