Uk:Develop
OpenStreetMap – це не тільки вільні та відкриті дані, а й вільне програмне забезпечення, і ви можете допомогти з ним також!
Існує два основних способи участі в OpenStreetMap:
- Вдосконалюючи платформу OpenStreetMap. Це стосується вебсайту OpenStreetMap.org та пов’язаних з ним компонентів та сервісів.
- Використовуючи OpenStreetMap. Ви можете "використовувати" дані та сервіси OpenStreetMap разом із програмним забезпеченням та сервісами, створеними нашою спільнотою, для розробки власних продуктів та рішень.
Дані | Елементи • XML схема • Дампи • Формати файлів • Конвертація даних • GPS треки |
---|---|
API | Документація • Альтернативні API |
Вебсайт | Серверна частина • Веб фротненд • База даних • Огляд компонентів |
Плани | Нагальні завдання |
Адміністування | Сервери • Сервер тестування розробки • Тестові API |
Вбудовування | Додавання мапи у власний проєкт • Експорт |
---|---|
Рендер | Власні тайли • 3D • Друк • WMS • TMS |
Послуги | Маршрути/Навігація • Пошук/Геокодування |
Програмування | Фреймворки • Використання баз даних |
Інше | Наукові дослідження • Книжки • Компанії • Пов'язані проєкти |
Підтримуйте зв’язок
Якщо у вас є запитання, ідеї або ви просто хочете познайомитися з іншими розробниками, ви можете зв’язатися зі спільнотою розробників OpenStreetMap за допомогою перелічених нижче каналів.
- IRC
- канал #osm-dev в мережі OFTC
- Mailing Lists
Як все складається до купи
Код в основі openstreetmap.org складається з окремих компонентів, які працюють разом щоб підтримувати роботу API, Рухомої мапи, та інших функцій.
Rails port – застосунок Ruby on Rails, який лежить в основі openstreetmap.org; з нього походить базовий API та сторінки OSM. Дані OpenStreetMap, "планета", зберігаються в базі даних PostgreSQL з розширенням PostGIS, які потім перетворюються на тайли мапи за допомогою Mapnik. Інтерфейс Рухомої мапи, те що дозволяє наближати, віддаляти та пересувати мапу, використовує бібліотеку Leaflet.
Перенесення, перетворення даних в середині між OSM XML та PostGIS відбувається з допомогою osm2pgsql та osmosis. Вони працюють з Planet.osm та іншими вибірками, які дозволяють іншим сайтам використовувати та поширювати дані OSM.
Користувачі додають та змінюють дані OpenStreetMap з допомогою редакторів з відкритими сирцями на кшталт iD, Potlatch 2 та JOSM.
За лаштунками
Для того, щоб зрозуміти про стиль збереження та модифікації геоданих в OpenStreetMap, вам доведеться багато дізнатись та навчитись. Ознайомтесь з XML схемою, Елементами даних та Завантаженням даних, якщо вам цікаво, як працюють процеси пов’язані з обробкою даних.
Крім цього, OpenStreetMap працює на невеличкому сервері, якщо порівнювати з обсягом даних – ознайомтесь з інформацією про серверне обладнання.
В наявності дзеркала API v0.6 – для розробки та тестування (Dev APIs).
Як долучитись
Багато проєктів, пов’язаних з OpenStreetMap використовують Git (дзеркало на GitHub openstreetmap GitHub), тож ви можете як звичайно зробити форк репозиторію та працювати з ним
Для великих змін, вам доведеться отримати обліковий запис розробника на тестовому сервері для проведення тестів.
Основні проєкти
Сайт OSM, Rails Port (Ruby)
Охоплює інтерфейс користувача та API. Сторінка Rails Port містить багато корисної інформації, яка допоможе вам долучитись до розробки. Настанови щодо розробки Дизайну читайте у Rails_port/UI – короткий посібник для дизайнерів. Нові користувачі також можуть ознайомитись з pull requests, щоб попрактикуватись з Rails Port. Ви також можете допомогти докладаючи зусиль до перекладу інтерфейсу.
- Сирці GitHub
- Повідомляйте про проблеми на GitHub. Для повідомлення про проблеми з серверами – Contact#Systems administrators.
Пошук та геокодинг, Nominatim
- Головна сторінка
- Сирці GitHub
- Повідомлення про проблеми: супроводжувачам в репозиторії GitHub GitHub
Редактор даних для комп’ютерів JOSM (Java)
JOSM є одним із популярних та потужних редакторів даних OpenStreetMap.
Онлайн редактор даних iD (Javascript)
iD – редактор, який вбудовано безпосередньо до головної сторінки OpenStreetMap. Можна допомогти в тестуванні та повідомляти про негаразди, або спробувати розв’язати вашу першу проблему з переліку good-first-issue GitHub.
- Сирці GitHub
- Повідомлення про помилки GitHub
Стандартний стиль на OSM.org
- Основна стаття: Standard tile layer
- Сирці GitHub
- Повідомлення про помилки GitHub
Інші стилі мап є окремими проєктами, ознайомтесь з відповідними сторінками з їх описом у вікі, а також з контактами, інформацією про ліцензування в підпису мапи.
Онлайн редактор даних Potlatch 3 (ActionScript)
Potlatch був типовим редактор на сайті OpenStreetMap до переходу на iD. Ви також можете допомогти з перекладом
- Сирці GitHub
Універсальний інструмент обробки даних OSM Osmium (C++)
Osmium (також відомий як Libosmium) – універсальний інструмент обробки даних OpenStreetMap. Це бібліотека для читання та запису даних OpenStreetMap, що також використовується в інших проєктах, таких як Osm2pgsql
Osmium Tool – програма для запуску в командному рядку, перетворює дані OSM у різні формати, робить перевірку файлів, та застосовує оновлення до файлів, генерує просторові або тематичні вибірки даних.
Pyosmium надає прив’язки Python для Osmium та пропонує прості методи з підтримання локального дампа OSM в актуальному стані.
Універсальний інструмент обробки даних OSM Osmosis (Java)
Osmosis – універсальний інструмент обробки даних OpenStreetMap. Запрошуємо взяти участь у покращенні Документації та тестів.
- Сирці GitHub
- Повідомлення про помилки
Інструмент імпорту даних OSM для імпорту та геокодування osm2pgsql (C++)
osm2pgsql – потужний інструмент імпорту файлів OSM XML в базу даних PostGIS. Запрошуємо взяти участь у покращенні Документації та тестів.
Бібліотека для показу рухомої мапи Leaflet (JavaScript)
Надає можливість показувати рухому мапу (slippy map). Специ Javascript, ви можете допомогти зробити нашу головну сторінку швидшою.
- Вебсайт
- Сирці GitHub
- Повідомлення про проблеми GitHub
Рендеринг мап з допомогою Mapnik (C++)
Основний інструмент створення тайлів мапи, що створюється з даних OSM.
- Вебсайт
- Сирці GitHub
- Повідомлення про проблеми GitHub
Система рендеригу Tirex (C++ and Perl)
Дивіться також Tirex/Development та Tirex/Internals