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.

OpenStreetMap(OSM) for developers的更多相关文章

  1. OpenStreetMap(OSM) JMap Viewer(Java swing map)

    This article from:http://wiki.openstreetmap.org/wiki/JMapViewer JMapViewer is a java component which ...

  2. OpenLayers 添加OpenStreetMap(OSM)瓦片层示例

    This article from:http://wiki.openstreetmap.org/wiki/OpenLayers_Simple_Example Deploy an OpenStreetM ...

  3. OpenStreetMap(OSM) features

    目录 1 Primary features 1.1 Aerialway 1.2 Aeroway 1.3 Amenity 1.3.1 Sustenance 1.3.2 Education 1.3.3 T ...

  4. OpenStreetMap架构

    OpenStreetMap框架简介 1.OSM平台开发 OpenStreetMap(缩写OSM)地图是一个合作项目,我们的目标是创建一个免费的内容,让所有的人都可以编辑的世界地图. OSM在地图上由一 ...

  5. 使用随机森林实现OSM路网城市多车道信息提取

    Multilane roads extracted from the OpenStreetMap urban road network using random forests.,DOI:10.111 ...

  6. DotNet 资源大全中文版(Awesome最新版)

    Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...

  7. 【资源大全】.NET资源大全中文版(Awesome最新版)

    算法与数据结构(Algorithms and Data structures) 应用程序接口(API) 应用程序框架(Application Frameworks) 模板引擎(Application ...

  8. Solr笔记--转载

    Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll ...

  9. JOSM学习下载地址

    JOSM is an extensible editor for ​OpenStreetMap (OSM) written in ​Java 7. Currently it supports load ...

随机推荐

  1. 使用SelectClipRgn注意事项

    SelectClipRgn 函数功能:该函数选择一个区域作为指定设备环境的当前剪切区域. 函数原型:int SelectClipRgn(HDc hdc, HRGN hrgn): 参数: hdc:设备环 ...

  2. c++中在一个类中定义另一个只有带参数构造函数的类的对象

    c++中在一个类中定义另一个只有带参数构造函数的类的对象,编译通不过 #include<iostream> using namespace std; class A { public:  ...

  3. Nginx Upload Module 上传模块

    传统站点在处理文件上传请求时,普遍使用后端编程语言处理,如:Java.PHP.Python.Ruby等.今天给大家介绍Nginx的一个模块,Upload Module上传模块,此模块的原理是先把用户上 ...

  4. Linux脚本练习

    例1:写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和 运行结果: 例2: 写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和 运行结果: 例 ...

  5. poj 2425 A Chess Game_sg函数

    题意:给你一个有向无环图,再给你图上的棋子,每人每次只能移动一个棋子,当轮到你不能移动棋子是就输了,棋子可以同时在一个点 比赛时就差这题没ak,做了几天博弈终于搞懂了. #include <io ...

  6. java/struts/Servlet文件下载与ftp文件上传下载

    1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...

  7. 依赖注入及AOP简述(三)——依赖注入的原理

    3.     “依赖注入”登场 于是诸多优秀的IT工程师开始想出了更加轻量便利.更加具有可测试性和可维护性的设计模式——IoC模式.IoC,即Inversion of Control的缩写,中文里被称 ...

  8. &lt;转&gt;凯文&#183;凯利斯坦福演讲-预言未来20年科技潮流

    Note:未来全部的生意都是关于数据的生意,近场通信.自组网介入网络.人工智能...,如今的IT科技界是否仅仅是冰山一角.斑斓舞台帷幕的一丝缝隙? 原文出处: 中欧管理工商学院   欢迎分享原创到伯乐 ...

  9. 每日必读(2) --Base64

    一. base64是什么? 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式.(The Base64 Conten ...

  10. Iframe和父窗口互调方法的集合

    1.子iframe里调用父级的方法:window.parent.document.   2.父级里调用子集iframe:window.frames["iframe_text"].d ...