RU: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:housenamber) - подсвечивает дома, которые имеют одинаковые номера в границах одной улицы

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 с неверным написанием. Исполизуя копипаст все можно быстро свести к единому виду.