Универсальный валидатор (рутинг, адресация) на базе конвертации в СГ

Кирилл, а разве кроме тебя еще кто-нибудь сайтом занимался?

Наверно, кто-то прислал патч, и я его вставил.


одну проблему я починил, частично.

http://peirce.gis-lab.info/qa/RU-KR/routing-map (routing-map.php). Он уже был переписан на лифлет, там проблема сейчас в другом: php, который установлен на сайт гислаба, не находит функцию mb_strtolower, и падало на этой строчке (поэтому была пустая страница)

я пока эту строчку закомментировал, что [сообществу] дальше делать , не знаю. Может искать какой к php подключить модуль, или какую версию php инсталлировать.

Короче, кто-то должен сделать патч для addr-map.php и addr-map.js.
Весь код на гитхабе.

Почему “частично”? Я потыркался - все работает, и josm открывается, и изоляты показываются.

Спасибо!

Не совсем :frowning: Так и не работает Доля битых адресов Дома) “Ошибка выполнения: ReferenceError: CM is not defined”. Остальное заработало, спасибо.

Новичок не разобрался для чего нужен валидатор, вместо исправления данных просто удаляет изоляты.
https://www.openstreetmap.org/changeset/64439697

Соединять дороги ? Не, не умеем. Главное чтобы валидатор не ругался ))

Zkir, приветствую.
Почему валидатор ругается на “Города без населения”, в которых есть тег population?
Могу ещё предположить, что это может быть вызвано наличием тега population:date,
или из-за того, что на точке больше полсотни других тегов.

Elkim, мне приятно что вы меня приветствуете, но вообще-то спрашивать теперь нужно с KonTur’а, он теперь главный по тарелочкам)

Даже близко не знаю, как теперь устроен процесс))

А он эту ветку не читает?
PS мне собственно не ответ почему нужен, мне бы что бы исправить бы… :slight_smile:

Я все читаю. Только ответов у меня нету.
Тему с population уже поднимали не раз.
https://forum.openstreetmap.org/viewtopic.php?pid=685304#p685304
https://forum.openstreetmap.org/viewtopic.php?pid=690400#p690400

Точнее, ответ у меня есть - надо переписывать валидатор с учетом развития osm2mp.

Может быть я ошибаюсь, но мне кажется, что проблема здесь:

GitHub\osm2dcm\jmp2mp\src\ru\zkir\mp2mp\taskvalidator\clsAddrRegistryTest.java

//Типы НП
  final String otCity = "0x0700"; //'-city
  final String otTown = "0x0a00"; //   '-town
  final String otVillage = "0x0C00";// '-village
  final String otHamlet = "0x0F00"; //'-hamlet

  //Население и работа геокодера
      if((theCityInfo.origtype.equals(otCity)) || (theCityInfo.origtype.equals(otTown) ))
      {
        intNumberOfCities++;
        //Население
        if (theCityInfo.population==-1 )
        {
          theCityInfo.populationMissing=true;
        }
        else
        {
          theCityInfo.populationMissing=false;
        }

При том, что по информации из справочного файла “СЕМЬ ДОРОГ” РЕКОМЕНДАЦИИ ПО ПОДГОТОВКЕ КАРТ - Navikey

https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwiMoYXfz7DgAhUz4aYKHT4WCS4QFjAAegQIBxAC&url=http%3A%2F%2Fwww.navikey.ru%2Ffiles%2F7w%2F7w_MapsCooking_Manual.pdf&usg=AOvVaw1G7tY6xSHl-hMGyocswDMw

Типы объектов

Мегаполис (свыше 10 млн.) 0x0100
Мегаполис (5-10 млн.) 0x0200
Крупный город (2-5 млн.) 0x0300
Крупный город (1-2 млн.) 0x0400
Крупный город (0.5-1 млн.) 0x0500
Город (200-500 тыс.) 0x0600
Город (100-200 тыс.) 0x0700
Город (50-100 тыс.) 0x0800
Город (20-50 тыс.) 0x0900
Город (10-20 тыс.) 0x0A00
Населённый пункт (5-10 тыс.) 0x0B00
Населённый пункт (2-5 тыс.) 0x0C00
Населённый пункт (1-2 тыс.) 0x0D00
Поселок (500-1000) 0x0E00
Поселок (200-500) 0x0F00
Поселок (100-200) 0x1000
Поселок (менее 100) 0x1100

Таким, образом для городов с населением более 200 000 выдается ошибка.

Я пытался разбираться, в чем проблема с населением…
Если посмотреть тут osm2dcm/osm2dcm/osm2mp.config/cityguide-nodes.yml, то видно, что при конвертации из ОСМ в .МР все населенные пункты приводятся к значениям для валидатора:

- condition:
    - place = city
    - only_node
  action:
    - action: write_poi
      type: 0x0700
      level_h: 5
      city: yes
- condition:
    - place = town
    - only_node
  action:
    - action: write_poi
      type: 0x0a00
      level_h: 5
      city: yes
- condition:
    - place = village
    - only_node
  action:
    - action: write_poi
      type: 0x0C00
      level_h: 4
      city: yes
- condition:
    - place = hamlet
    - only_node
  action:
    - action: write_poi
      type: 0x0F00
      level_h: 2
      city: yes      

Кирилл использовал osm2mp v.0.90, который он еще и допиливал сам. Мне его вариант скрипта не удалось заставить работать, поэтому я использую более свежую версию в виде исполняемого файла, конфиги я максимально подогнал по те, что были у Кирилла.
Однако, ошибка определения населения у place=city все равно осталась. Возможно, он переносил population именно в osm2mp… Но в коде скрипта я разобраться не могу…
Кстати, пустые данные про дубликаты ребер тоже имеют такую же природу, эту инфу он вносил в .мр также своим модифицированным osm2mp.pl

В карте Узбекистана Ташкентская область дорога м39 неправильно вставлена скорость движения90 км.М39 максимальная скорость 70 км ч должен.Если можно исправте пожалуйста:)

ПСК Синара расположен в Челябинской области, но попадает в список http://peirce.gis-lab.info/qa/RU-SVE/addr/3 Свердловской области. Мичурино расположено в Тюменской области, но также попадает в список Свердловской. Можно ли поправить?

При конвертации данных ОСМ в карты учитываются следующие ограничения: maxspeed, если он не проставлен - то находится ли участок дороги в населенном пункте или нет, тогда ставится соответствующее ограничение скорости для этой страны.
Вы можете сами исправить неправильное ограничение скорости, например, проставив правильный maxspeed.

Я не нашел искомых населенных пунктов :), но постарался обрезать .poly Свердловской области так, чтобы не захватывалось лишнее. В следующий проход проверьте пожалуйста.

В какой программе показывает 90?
М39 где нет населнных пунктов - мксимальная скорость 90
Там где населенные пункты - надо из отразитть на карте, тогда появится ограничени 70

Добрый день! В валидаторе есть раздел “Сводка по городам”: http://peirce.gis-lab.info/qa/TJ-FULL#citiessummary
Если название города в теге name не совпадает с неким “названием по геокодеру”, то система считает это ошибкой при построении адресного поиска. По Узбекистану все города в порядке. По Туркменистану один город выпал. А по Таджикистану все города выходят невалидными.
Может кто-нибудь знает, что это за таинственный геокодер, который выдает странные названия городов и регионов, несовпадающие с официальными государственными справочниками стран? И почему автор валидатора решил сравнивать названия с этим таинственным геокодером, на который в описании к валидатору нет никаких ссылок?

Как работат с маxspeed

Здраствуйте. Я извиняюсь. Перепутал номер дороги.Не м39 макс скорость 90 км. а м34 мак скорость вне населенных пунктах должен 70 км

Карта NaviTel-9.7.2493.NAVITEL_G550_crk М 39 показывает макс скорость 70 км час.А в картах Ситигид 7.8 и 7 дорог дорогах М 34 показывает макс скорость 90 км в СГ , 100км в 7дорог.