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. Ubuntu 14.04卸载安装失败的Mysql数据库,以及重新安装配置

    一.删除原来Mysql 1.删除mysql的数据文件 sudo rm /var/lib/mysql/ -R 2.删除mqsql的配置文件 sudo rm /etc/mysql/ -R 3.自动卸载my ...

  2. WeUI

    从WeUI学习到的知识点   WeUI是微信Web服务开发的UI套件, 目前包含12个模块 (Button, Cell, Toast, Dialog, Progress, Msg, Article, ...

  3. 修改IE8搜索框为指定搜索引擎,如CSDN、百度知道等

    1.运行regedit打开注册表编辑器2.找到\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\3.添加新搜索项 ...

  4. 类加载器子系统——JVM之四

    一.类加载器基本概念 顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中.一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java ...

  5. View, Activity, Window

    View, Activity, Window 2010-03-02 10:42:56|  分类: android|举报|字号 订阅     对于屏幕显示而言,整个是window,这个window里显示 ...

  6. window.opener方法的使用 js跨域

    原文:window.opener方法的使用 js跨域 最近公司网站登陆加入了第三方登陆.可以用QQ直接登陆到我们网站,在login页面A中点QQ登陆时,调用了一个window.open文件打开一个lo ...

  7. TCP的那些事(转载)

    (转载本站文章请注明作者和出处 酷 壳 – CoolShell.cn ,请勿用于任何商业用途) TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身 ...

  8. linux学习方法之六

    相信不少想学习linux的新手们正愁不知道看什么linux学习教程好,下面小编给大家收集和整理了几点比较重要的教程,供大家学习,如需想学习更多的话,可到wdlinux学堂寻找更多教程. 1.linux ...

  9. OC基础6:多态、动态类型和动态绑定

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.关于SEL类型的数据: (1).SEL ...

  10. ios5和ios6横竖屏支持及ipad和iphone设备的判断

    ios5和ios6横竖屏支持及ipad和iphone设备的判断 判断是ipad还是iphone设备.此定义在PayViewControllerDemo-Prefix.pch 定义如下: #define ...