Uk:Nadoloni Editor

From OpenStreetMap Wiki
Jump to navigation Jump to search
nadoloni Editor
Nadoloni editor.png
Автор: Oleh Zamkovyi
Ліцензія: WTFPL
Платформа: Web
Версія: 1.0 (2014-12-16)
Мова: англійська
Веб-сайт: http://nadoloni.com/editor
Мова програмування: PHP

Web-based OSM data editor

nadoloni Editor - це браузерний редактор тегів OpenStreetMap на основі ExtJS, що працює з закешованими даними OSM.

Суть роботи полягає в наступному: з деяким інтервалом часу (раз в годину/день) сервіс підвантажує актуальні дані OSM для деякої області (Україна та сусідні країни) і піддає їх обробці (Наприклад: сегменти доріг і будинки об'єднуються у вулиці, POI прив'язуються до будинків, в наслідок чого отримують адреси і т. п.). У підсумку користувачі отримують можливість працювати з більш складними об'єктами, використовуючи інтерфейс електронних таблиць:

  • Перегляд об'єктів з їх атрибутами в табличній формі та їхня візуалізація на карті.
  • Фільтрація, сортування, групування, валідація та пошук об'єктів за їх властивостями
  • Можливість редагування тегів при роботі з цими таблицями
  • Підсвічування помилок та об'єктів на мапі

Використовуючи функціонал сервісу користувач не може редагувати геометрію, проте отримує можливість правити певні теги багатьох однотипних об'єктів, розкиданих географічно на великі відстані. Наприклад виконання операції "знайти усі АЗС області і вказати для кожної контактний телефон" класичним методом (використовуючи JOSM або його аналоги) потребуватиме на порядки більше часу за редагування одного стовпця електронної таблиці.

На поточний момент реалізовано 4 модулі:

GUI кожного з них складається з 4-ох основних елемнтів:

  • Ліва панель - Дерево фільтрації за адмінкордонами (ієрархія будується на основі значень subarea з відношень boundary)
  • Права панель - Карта (Mapnik + валідаційні оверлеї)
  • Центральна панель - Таблиця/Grid (посторінковий перегляд, сортування, пошук, можливість приховувати/показувати окремі стовпці або міняти їх порядок перетягуванням)
  • Кнопки центральної панелі (фільтрація, групування, переклад на інші мови, зберігання через OSM API)

Валідаційні оверлеї

  • Помилки (Розриви) - підсвічує вулиці, що мають підозріло довгі розриви між сегментами
  • Помилки (Перетин) - підсвічує вулиці і полігональні кордони НП, якщо їх геометрія перетинається
  • Помилки (Вкладеність) - підсвічує НП, що лежать всередині полігональних кордонів іншого НП
  • Помилки (addr:housenumber) - підсвічує будинки, що мають однакові номери в межах однієї вулиці

Streets

Є зручним для перекладу name:lang, а також для виправлення помилок в написанні та нестиковок у відношенні "місто-вулиця-будинки". Є можливість автоматизованого перекладу, що використовує вже перекладені дані з інших міст.

Перевіряється чи name/name:lang відповідають правилам найменування і не містять неприпустимих символів. Наприклад, для України назви вулиць мають відповідати наступному шаблону:

^([АаБбВвГ㥴ДдЕеЄєЖжЗзиІіїЇЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщьЮюЯя0-9XVI’\- \.\,\«\»\№]+) (вулиця|провулок|площа|проспект| ... |кільце|заїзд)$

Якщо name/name:lang не відповідають цьому правилу, відповідна комірка в таблиці буде підсвічена.

В різних країнах діють різні угоди про найменування вулиць. Їх повна підтримка не реалізована на поточний момент.


Кнопки фільтрації:

  • Empty - не вказано name:lang
  • addr:housenumber - містять кілька будинків з однаковою адресою (Під панеллю з картою можна бачити номери будинків. Продубльовані номери підсвічуються.)
  • Intersection/Place Boundary - геометрія сегментів частково виходить за кордони міста
  • Intersection/Segments Gaps - геометрія розірвана на частини, відстань між якими підозріло велика (В деяких великих містах є вулиці з однаковим name. Тому для них слід заповнити addr:suburb аби їх можна було відрізняти)
  • Group By - мають однаковий name + addr:suburb, але різні name:lang, old_name або alt_name.
  • words - кількість слів розділених пробілами відрізняється для name / name:lang
  • upper/lower - слова основної частини назви починаються не з великої літери. (Назви складаються зі статусної і основної частин. З маленької вказується лише статусна частина. Наприклад: Тараса Шевченка вулиця)
  • apostrophe - недопустимий символ в якості апострофа, замість якого слід використовувати символ "’"


Places

Кнопки фільтрації:

  • Empty - не вказано name:lang, wikipedia, population, koatuu
  • With Streets - містять хоча б одну вулицю
  • Boundary - вказано / не вказано полігональний кордон, або вказано кілька кордонів
  • place - фільтрація за тегом place
  • Group By - містять один і той самий тег wikipedia чи koatuu
  • KOATUU - перші 8 цифр КОАТУУ не співпадають с першими 8-ма цифрами адміністративної одиниці з admin_level=8 (міська/сільська рада) всередині якої знаходиться точка НП


Admin

Кнопки фільтрації:

  • Empty - не вказано name:lang, wikipedia, koatuu
  • admin_centre - кількість членів відношення з роллю admin_centre
  • place - фільтрація за тегом place
  • Group By - містять один і той самий тег wikipedia чи koatuu

POI

Є зручним для редагування мереж POI. Наприклад відділення Правекс-Банку можна знайти вибравши категорію Фінанси/Банк і в полі Пошук внизу таблиці написати "правекс". Відсортувавши таблицю по імені бачимо, що існує декілька написань ПРАВЕКС-БАНК, ПРАВЕКСБАНК, Правекс, Правекс Банк, Правекс-банк, ПравексБанк і правильне написання Правекс-Банк. В name:ru, name:en також можливі помилки. Додатковий пошук "правэкс" знаходить ще кілька POI з невірним написанням. Копіпейстом все можна швидко звести до єдиного вигляду.