Fa:Develop
OpenStreetMap فقط دادهباز نیست؛ بلکه متنباز نیز است و شما میتوانید کمک کنید!
به این دو روش اصلی میتوانید درگیر OpenStreetMap شوید:
- با توسعهٔ خودِ سکوی OpenStreetMap، که شامل وبسایت OpenStreetMap.org و اجزا و خدمات وابسته به آن میشود.
- با استفادهکردن از OpenStreetMap. شما میتوانید داده و خدمات OpenStreetMap را بههمراه نرمافزار و خدمات جامعهٔ ما «بهکار ببندید» تا هر آنچه را که میخواهید بسازید.
OpenStreetMap Platform
|
Using OpenStreetMap for Development
|
تماس بگیرید
اگر سوالی یا ایدهای دارید یا فقط میخواهید توسعهدهندگان همکار را ملاقات کنید، از طریق راههای ارتباطی زیر با جامعهٔ توسعهدهندگان اوپناستریتمپ تماس بگیرید.
- IRC
- کانال #osm-dev در شبکهٔ OFTC
- فهرستهای پستی
اجزای مختلف چگونه با هم کار میکنند
کدی که OpenStreetMap.org را راه انداخته از اجزای مختلفی تشکیل میشود. برآیند همکاری آنها با هم API، نقشهٔ لغزان و سایر قابلیتها را میسازد.
Rails port همان چارچوب نرمافزاری Ruby on Rails است که openstreetmap.org از آن نیرو میگیرد؛ جایی که صفحات OSM و API پایه، از آن سرچشمه میگیرد. دادههای اوپناستریتمپ، سیاره یا planet، با کمک PostGIS در PostgreSQL ذخیره شده و با استفاده از Mapnik بهشکل کاشیهای زیبا پرداخت یا render میشود. رابط کاربری نقشهٔ لغزان برای این کاشیها — چیزی که امکان تکاندادن نقشه یا زومکردن به شما میدهد — از Leaflet نیرو میگیرد.
در این میان، osm2pgsql و osmosis زیرساختهای ضروری برای تبدیل OSM XML به PostGIS هستند. این دو با Planet.osm و سایر گُزیدهها (extracts) تعامل دارند و در نتیجه سایر سایتها میتوانند دادههای OSM را بهکار ببرند یا توزیع کنند.
بهلطف ویرایشگرهای متنبازی مانند iD، Potlatch 2 و JOSM، کاربران میتوانند دادههای OpenStreetMap را ویرایش کنند یا به آن بیفزایند.
پشتهٔ اوپناستریتمپ را بهطور خودکار با استفاده از ماشین مجازی بهکار بیندازید
Tile serving
مطالب خُرد و ایدههای ناآزموده
پیشزمینه
درمورد شیوهٔ ذخیرهسازی و ویرایش geodata در اوپناستریتمپ، دانستنیهای زیادی وجود دارد که کمک میکند چگونگی کار آن را بفهمید. اگر میخواهید روی موضوعات مربوط به داده کار کنید، نگاهی به اینها بیندازید: XML schema، Fa:Data Primitives و Downloading data.
همچنین OpenStreetMap بهخاطر اندازهای که دارد، روی یک سرور بهکارانداز نسبتاً کوچک اجرا میشود. برای اطلاع از جزئیات، یادداشتهایمان در سختافزار سرور را ببینید. همچنین آینههای API v0.6 و APIهای Dev و Test را داریم که برای تست کد کنشگر با OSM API سودمند است.
چگونه درگیر شویم
بسیاری از پروژههای اوپناستریتمپ از Git (آینهاش در GitHub) استفاده میکنند و درنتیجه بهآسانی میتوانید fork a repo and contribute changes.
برای تغییرات بزرگتر، شاید لازم باشد در یک سرور توسعه، حساب کاربری بگیرید تا تستهای جدی انجام دهید.
پروژههای اصلی
The OSM website Rails Port (Ruby)
این همان چیزی است که UI و API سایت را ایجاد میکند. صفحهٔ Rails port مطالب مفید بسیاری برای شروع دارد. راهنمای طراحی لازمتان میشود: Rails_port/UI را بخوانید؛ یک راهنمای سریع برای طراحان. کاربران جدید همچنین میتوانند بهعنوان تمرینِ آمادهسازی Rails Port، pull requestها را مرور کنند. با مشارکت در ترجمه نیز میتوانید کمک کنید.
- Code
- مسئلهای را در github یا trac گزارش کنید. برای مسئلههای مربوط به سرور و مسئلههای عملیاتی، Contact#Systems administrators را ببینید.
Search و geocoding با Nominatim
- صفحهٔ خانگی
- Code
- گزارش مسئله: در گیتهاب نگهدارندگان
JOSM، ویرایشگر رومیزی نقشه (Java)
JOSM یکی از محبوبترین و قدرتمندترین ویرایشگرهای OpenStreetMap است.
iD، ویرایشگر آنلاین نقشه (Javascript)
iD جدیدترین ویرایشگر OpenStreetMap است. کاربران میتوانند با تست و گزارش مشکلات کمک کنند، یا به استقبال این مسائل بروند: good-first-issue.
سبک پیشفرض در OSM.org
- مقالهٔ اصلی: Standard tile layer
سایر سبکها جدا هستند. لطفا صفحهٔ ویکی آنها را ببینید یا در هنگام نمایش نقشه به قسمت تماس یا پانوشت مجوز نگاهی بیندازید.
Potlatch 2، ویرایشگر آنلاین نقشه (Actionscript)
Potlatch 2 در گذشته ویرایشگر پیشفرض برای کاربران جدید بود. شما میتوانید با مشارکت در ترجمه به آن کمک کنید.
چاقوی سوئیسی Osmosis برای پردازش دادهٔ اوپناستریتمپ (Java)
Osmosis در پردازش دادههای اوپناستریتمپ در حکم چاقوی سوئیسی است.
OSM data importer for rendering or geocoding osm2pgsql (C)
osm2pgsql یک ابزار قدرت برای درونبرد فایلهای OSM XML به پایگاهدادههای PostGIS است.
Leaflet، کتابخانهٔ نقشهٔ لغزان (Javascript)
رابط کاربری نقشهٔ لغزان را فراهم میکند. خورههای جاوااسکریپت میتوانند کمک کنند تا نقشههای صفحهٔ اصلی را خیلی چابکتر کنیم.
پرداخت (render) نقشه با Mapnik (C++)
backend اصلی برای پرداخت نقشهها از روی دادههای OSM.
سیستم پرداخت کاشیها با Tirex (C++ و Perl)
- کد اولیه از Geofabrik
- فورک OSM
- گزارش مسئله در GitHub یا track
همچنین ببینید: Tirex/Development و Tirex/Internals