天下之事,必先处之难,而后易之。

OpenStreetMap(OSM) for developers

This article from: http://wiki.openstreetmap.org/wiki/Develop

OpenStreetMap isn't just open data - it's also open source, and you can help!

There are two major areas where you can get involved:

  • Developing the OpenStreetMap Platform - this includes the OpenStreetMap.org website and related components and services.
  • Using OpenStreetMap - you can use OpenStreetMap data together with software and services from our community to build anything you want.

Get In Touch

If you have questions, ideas or just want to meet fellow developers, you can contact the OpenStreetMap development community by using channels listed below.

How the pieces fit together

The code that runs openstreetmap.org is composed of independent components that work together to provide an API, Slippy Map, and other bits of functionality.

You don't have to be a guru to get involved. We welcome all sorts of contributions, like documentation, design, testing, and more.

The Rails port is the Ruby on Rails application that powers openstreetmap.org; it's where OSM's pages and basic API originate. OpenStreetMap's data, "the planet", are stored in PostgreSQL with PostGIS, and rendered into pretty map tiles with Mapnik. The Slippy Map interface for those tiles — what lets you pan and zoom the map — is powered by Leaflet.

Internally, osm2pgsql and osmosis are essential infrastructure for converting OSM XML to PostGIS. They work with Planet.osm and other extracts, which let other sites use and distribute OSM data.

Users can add and modify OpenStreetMap data thanks to open-source editors. chief amongst them Potlatch 2 and JOSM.

Background

There's plenty to know about OpenStreetMap's style of storing & modifying geodata that will help you get how things work. Read up on the XML schema and Data Primitives if you want to work on data-related tasks.

Also, OpenStreetMap runs on a relatively small server deployment for its size - see our notes on server hardware for details. There are also API v0.6 mirrors and Dev and Test APIs which help with testing code that interacts with the OSM API.

How to Get Involved

Many of OpenStreetMap's projects use Git (mirror at GitHub), and so you can simply fork a repo and contribute changes.

For larger changes, you may want to get an account on a development server to do serious testing.

Main Projects

由此可知,OpenStreetMap提供开发者不同开发语言的支持则一目了然。

The OSM website Rails Port (Ruby)

This does the UI and API for the site. The Rails port page has plenty of useful information for getting started. Design help is needed here: read Rails_port/UI for a quickstart guide for designers. New users can also review pull requests as practice for getting the Rails Port set up. You can also help by contributing translations.

Desktop map data editor JOSM (Java)

JOSM is one of the most popular and powerful OpenStreetMap editors.

New online map data editor iD (Javascript)

iD is the newest editor for OpenStreetMap. Users can help by testing & reporting bugs, or tackling issues tagged get-started.

Online map data editor Potlatch 2 (Actionscript)

Potlatch 2 was the default editor for new OpenStreetMap users. You can also help by contributing translations.

Desktop map data editor Merkaartor (C++)

The Merkaator project, another great editor for OSM data, is also accepting donations to support development & travel.

OSM data processing swiss army knife Osmosis (Java)

Osmosis is our swiss army knife for processing OpenStreetMap data. Documentation and testing are especially welcome here.

OSM data importer for rendering or geocoding osm2pgsql (C)

osm2pgsql a powertool for importing OSM XML files into PostGIS databases. Documentation and testing are especially welcome here.

Slippy map library Leaflet (Javascript)

Provides the general slippy map interface. Javascript whizzes can help us make the home page's maps even faster.

Map rendering Mapnik (C++)

The main backend for the rendering of the maps that are produced from OSM data.

posted @ 2014-06-23 11:41  boonya  阅读(695)  评论(0编辑  收藏  举报
我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。