Zh-hant:Develop
如果你懂得英語、你可以幫助我們完成此中文(繁體) 翻譯。閱讀有關說明「幫助我們翻譯此wiki頁」。
似乎沒有人主持此條的翻譯工作、歡迎您自願跳坑。
OpenStreetMap并不仅仅是开放数据源,同时它也是开源的,你可以自由地开发它的功能!
有两个使用OSM的主要方法:
這是簡體中文版本,請幫助簡繁轉換,謝謝!!
初步了解
如果你有問題,想法或者只是想見見幾個開發者,你可以通過下面的幾個方式聯繫OSM開發社區。
OSM是如何運行的
運行openstreetmap.org的代碼是由相互獨立但一起工作的組件組成的,以提供API,地圖瀏覽以及其他功能。
The Rails port是驱动openstreetmap.org的软件框架,它是OSM的页面和基础API的来源。OpenStreetMap的数据(“the planet”)以PostGIS的形式存储在PostgreSQL中,并且被渲染成好看(?)的Mapnik地图瓦片。那些地图瓦片地图浏览界面是由Leaflet驱动的。
从内部角度来说,osm2pgsql和osmosics都是转换OSM XML为PostGIS形式的必要的基础设施。它们与Planet.osm以及其他程序一起工作,让其他站点使用并分发OSM数据。
用户可以使用像iD,Potlatch 2和JOSM的编辑器,添加以及更改OpenStreetMap数据。
背景
有大量的关于OpenStreetMap储存更改地理数据的风格的知识需要你来了解,这会帮助你更了解运行原理。如果你想要做数据联系工作的话,可以再复习一下XML Schema,要素以及下载数据。
同时,OpenStreetMap在a relatively small server deployment for its size上运行(查看我们在服务器硬件上的笔记了解更多细节。同时我们也有API v0.6的镜像网站以及用于开发与测试的API,这些可以帮助测试与OSM API交互的代码。
如何参与
许多OpenStreetMap的项目使用Git(GitHub上的镜像),你可以简单地为我们的库贡献更改。
如果是大更改,你可能需要在开发服务器上注册一个账号来做认真的测试。
主要项目
OSM网站The Rails port(Ruby)
这里制作了站点的UI以及API。The Rails port页面有大量的有用的初学者信息。这里需要设计上的帮助:阅读Rails port UI,这是一个设计者的快速指南。新用户也可以查看推送请求, 作为装备好the Rails Port的练习。你也可以通过贡献翻译来帮助我们。
搜索并且进行地理编码Nominatim
桌面地图数据编辑器JOSM(Java)
JOSM是最受欢迎以及最好用的编辑器之一。
线上数据编辑器iD(Javascript)
iD是OpenStreetMap的最新编辑器。用户通过测试以及回报问题来帮助编辑器,或者解决标记了good-first-issue的问题。
OSM的默认风格
其他地图风格是与网站分离的。请在它们的wiki页面上了解更多或者查看地图风格图块底部的信息。
线上数据编辑器Potlatch 2(ActionScript)
Potlatch 2曾是新OpenStreetMap用户的默认编辑器。你可以通过贡献翻译帮助编辑器。
OSM数据处理方面的瑞士军刀Osmium(C++)
Osmium(又称Libosmium)是处理OpenStreetMap数据方面的瑞士军刀。它是一个读写OpenStreetMap数据的库并且可以为其他项目(例如Osm2pgsql)服务。
Osmium工具是一个在不同文件样式之间转换OSM数据的命令行程序。它同时还能检查文件,申请文件的更新以及操作限定空间或主题的摘取。
Pyosmium提供了由Python为语言运行的Osmium以及一个简单的保留附近的OSM planet dumps(取决于时间)的方法。
用於渲染或地理編碼的OSM数据導入器osm2pgsql(C++)
osm2pgsql是一個好用的導入OSM XML文件為PostGIS數據庫的工具。這裡很歡迎文档和测试相關工作。
電子地圖庫Leaflet(JavaScript)
提供普通的地圖瀏覽界面。Javascript whizzes可以幫助我們更快的製作地圖圖層。
使用Mapnik的地圖渲染(C++)
主要的後端OSM數據渲染引擎。