Страница 1 из 4

MpUtil от Alex_Pro - проверки для роутинга и адресной инфы

Добавлено: 29 авг 2008, 12:31
alex_pro
Писал утилитку для себя, но может будет полезно и другим:
MPUtil v.0.1.24.59.rar (386.21 KB)
http://travelgps.com.ua/soft/MPUtil_1_0_24_59.rar
Что умеет:
1. создавать файлик с установленными внешними нодами на карте в виде ПОИ указанного типа (удобно при согласовании карт)
2. анализировать список населенных пунктов на возможные ошибки поиска
3. Удалять не используемые на карте населенные пункты, регионы, страны, индексы. Оставшиеся сортирует по наименованию. Кроме эстетического значения, может быть полезно после вырезания из карты небольшого куска. Это уменьшает размер в конечном формате.
4. создает невидимую роутинговую карту "одним кликом"
5. создает файл со speedcam'ами на основе информации в комментарии к ПОИ
6. на основе файла со speedcam'ами создает файл в формате OziExplorer Waypoint (можно переносить/корректировать точки на карте или подгружать их в программу навигации (Russa, Навител 2, 3.1 и т.д.) для оповещения об опасности)
7. проверяет карту на несовпадение имени и номера дома для адресного поиска у полигонов группы Building и некоторых пои (проверку ПОИ можно отключить) и переносить номер дома из Label.
8. проверяет соответствие признака "has direction" ("Направление движения") в свойствах признаку "OneWay" ("Одностороннее движение") во вкладке "Routing" ("Дорожный граф").
9. удаляет ноды (признака роутинтогвого нода на узле) не участвующие в роутинге.
10. выделяет дублирующиеся участки (участвующие в роутинге) в log-файл.
11. возможность выделять из файла speedcam'ов входящие в заданную область ограниченную как прямоугольными координатами, так и произвольным полигоном
12. формирует список всех адресных данных (регион/населенный пункт/улица/координата/наличие дороги) из файла карты. Для работы функции необходимо, чтобы на компьютере был установлен MS Office (Excell и Access обязательно). Список выводится в Excell, предварительно сформировавшись в БД Access (продвинутые могут использовать для собственных форматов выборки). Нюанс: адресная информация должна находиться в блоке [CITIES] (Tools - Options - Load & Save - Settings for Polish Format... - Save postal address information)
13. проверяет соответствие координат внешних нодов координатам ПОИ заданного типа (например выгруженным 1-й функцией). В случае несовпадения внешний нод "притягивается" к ближайшей ПОИ в пределах заданного в метрах радиуса.
14. заполняет для дорог наименование (Label) на основе информации из адресного поиска.

15.01.2010
* Из-за особенностей используемой БД не учитывался регистр улиц в "Адресном списке" (спасибо OldMan)

19.03.2010
+ в адресном списке появилась колонка с признаком (*) наличия дороги с данным адресом (по просьбе Vadim_O)
* исправлена ошибка при выводе в лог информации об объектах в Проверке адресных данных (спасибо AGurov)
+ добавлено заполнение наименования улиц из адресных данных (просто перенос из StreetDesc в Label)

22.03.2010
* Адресный список теперь создается и в случае хранения атрибутов страны, региона и населенного пункта в теле объектов (по просьбе OldMan'а)

29.06.2010
* Ошибки поиска нас. пунктов теперь выявляются и в случае хранения атрибутов страны, региона и населенного пункта в теле объектов (по просьбе OldMan'а)

Более подробно в ReadMe.txt или ко мне

Может у кого есть идеи по расширению функционала...

Добавлено: 02 сен 2008, 14:07
AGurov
СПАСИБО!!! классная утилита.
вот только по пункту 2.
У меня ругнулась на точку города, а я специально делал несовпадение в Свойствах и Адресе, чтобы не искало город как населенный пункт. При атласе с Украиной получается 2 города (даже если координаты разные). и ругнулась на Заброшенное жилье, тоже нн индексируется как населенный пункт.
А так супер!!!!

Добавлено: 04 сен 2008, 08:50
alex_pro
AGurov писал(а):СПАСИБО!!! классная утилита.
вот только по пункту 2.
У меня ругнулась на точку города, а я специально делал несовпадение в Свойствах и Адресе, чтобы не искало город как населенный пункт. При атласе с Украиной получается 2 города (даже если координаты разные). и ругнулась на Заброшенное жилье, тоже нн индексируется как населенный пункт.
А так супер!!!!
Все нюансы реализации каждой карты участь сложно, но основные ошибки она указывает.
По заброшенному жилью не понял. (в РБ, кстати, так обозначены выселенные после аварии на ЧАЭС деревни).
Кстати, утилитка обновилась (см. пост выше)

Добавлено: 05 сен 2008, 11:44
AGurov
А можно ли сделать такой скрипт?
Проверку на соответствие нумерации домов, чтобы, напрмер HouseNumber=9 соответствовало Label=9
а то частенько когда дома рисуешь, делаешь копированием и забываешь нажать (Копировать в имя)
или наоборот если есть в Label=, присвоить тот же HouseNumber=
чего в ГМЕ вообще нет

Добавлено: 06 сен 2008, 09:43
alex_pro
AGurov писал(а):А можно ли сделать такой скрипт?
Проверку на соответствие нумерации домов, чтобы, напрмер HouseNumber=9 соответствовало Label=9
а то частенько когда дома рисуешь, делаешь копированием и забываешь нажать (Копировать в имя)
или наоборот если есть в Label=, присвоить тот же HouseNumber=
чего в ГМЕ вообще нет
Можно. только подробнее: для каких полигонов (ведь не всегда в названии номер дома) и в каких случаях копировать не нужно.

Добавлено: 06 сен 2008, 11:28
AGurov
Type=0x6c, 0x6d, 0x6e, 0x13, 0x6f, 0x0b,
может какие забыл :oops:
Только пожалуй действительно не нужно автоматическое копирование из поля HouseNumber= в поле Label=. Может, по дополнительной кнопке (Исправить в Названии).
А создавать лог, в котором будет указан полигон на несоответствие этих параметров. Например так
[POLYGON]
Type=0x6c
Label=19
HouseNumber=17
StreetDesc=Гагарина проспект
CityIdx=1
Data0=(47.****,(47.*****)
[END]
С другой стороны, может не нужно конкретно искать тип полигона. А проверять в любом полигоне наличие строк Label и HouseNumber и их значения на идентичность, и если они не одинаковы в лог записывать весь полигон, как я написал выше. Всё это ИМХО! Вам как автору виднее что правильнее.

Добавлено: 24 сен 2008, 16:00
alex_pro
AGurov писал(а):А можно ли сделать такой скрипт?
Проверку на соответствие нумерации домов...
Обновилась:
http://travelgps.com.ua/forum/viewtopic ... 4958#14958
скачиваем, тестируем, ругаем, советуем...
P.S. Кстати, AGurov, спасибо за идею. Пока реализовывал думал, что пользы от нее будет не много. И только когда проверил свою карту города осознал СКОЛЬКО она позволила мне увидеть :shock:

Добавлено: 01 апр 2009, 19:48
alex_pro
Обновилась MpUtil. Добавилась исправление не проставленного признака направления движения, интерфейс для выделения speedcam'ов. Смотреть тут: http://www.travelgps.com.ua/forum/viewt ... 4958#14958

или так:
http://travelgps.com.ua/forum/viewtopic ... c&start=14

Добавлено: 12 май 2009, 08:20
alex_pro
Обновилась MpUtil. Добавилось:
+ удаление не используемых на карте населенных пунктов, регионов, стран, индексов.
+ выделение дублирующихся участков полилиний (участвующих в роутинге) в log-файл.

http://travelgps.com.ua/forum/viewtopic ... c&start=14

Добавлено: 16 май 2009, 08:42
mvk
alex_pro, Спасибо за утилиту!
Было бы вообще классно, если бы при проверке соответствия нумерации домов, проводилась проверка наличия заполненых полей City и Street.

Добавлено: 16 май 2009, 19:44
Vadim_O
И еще пожелание !
Просьба когда идет проверка адресной информации, то при выдачи результата проверки, во второй части выдается список населенных пунктов к которым не приписано/присвоено ни одного объекта. Просьба в этом списке еще выводить дополнительные данные - область/район.
Кода и названия для принятия решения об удалении/оставлении такой информации на карте - мало.

Добавлено: 18 май 2009, 10:37
alex_pro
mvk писал(а): Было бы вообще классно, если бы при проверке соответствия нумерации домов, проводилась проверка наличия заполненых полей City и Street.
опишите подробнее что имеется в виду

Добавлено: 18 май 2009, 20:00
mvk
alex_pro писал(а):
mvk писал(а): Было бы вообще классно, если бы при проверке соответствия нумерации домов, проводилась проверка наличия заполненых полей City и Street.
опишите подробнее что имеется в виду
Для адресного поиска должны быть заполнены, номер дома, улица и город. Имеется в виду поиск "домов" с пропущенными атрибутами. Как вариант: на основании обработки создавался бы mp файл с точками (например "маяк"). Добавляешь к карте созданный файл, правишь атрибуты - удаляешь "маяк".

Добавлено: 19 май 2009, 09:22
alex_pro
mvk писал(а): Для адресного поиска должны быть заполнены, номер дома, улица и город. Имеется в виду поиск "домов" с пропущенными атрибутами. Как вариант: на основании обработки создавался бы mp файл с точками (например "маяк"). Добавляешь к карте созданный файл, правишь атрибуты - удаляешь "маяк".
ну, находить объекты с ошибками можно и пе перечню координат.
А вот какие именно считать ошибочными? Все без данных? На мой взгляд не совсем корректно - есть дома не имеющие адреса (трансформаторные будки, гаражи... ) и перебирать потом их всех...
Реализован поиск без номера дома (с улицей или без нее задается в ini-файле). Возможно, еще есть смысл определять отсутствие улицы при наличии номера дома...
или что-то еще?
Vadim_O писал(а):И еще пожелание !
...Просьба в этом списке еще выводить дополнительные данные - область/район....
проверяй.

Добавлено: 19 май 2009, 18:34
mvk
alex_pro,
(трансформаторные будки, гаражи... ) вот их перебирать не нужно. Достаточно 0x006c, 0x006d и 0x006e.