обновление карты
-на данный момент "убиение домов" компенсирует уточнение лесов( минусуя точки полигонов домов плюсуются точки полигонов лесов и озер)
-как не странно но существуют не только безразмерные модели нафигаторов но и (о ужас!) еще живые нафигаторы с 16-40 мегабайтами памяти!
перегнать полигон в точку можно - есть программы, но интеллектуально - увы - только ручками.
или накатать макрос на текстовый файл но это уже не мой уровень :)
Если тут кто-то умеет скрипты на перле писать, я думаю поставленную задачу нетрудно решить. Я сам не умею, но думаю ради такого дела могу и научиться, если никто раньше не сделает.
Подробности напишу чуть позже, а пока главное. Делал программой mp2mp (превращение полигонов в точки -- одна из её основных функций) v-dorogu.narod.ru/article/mp2mp.htm
Но другое (и видимо основное) её назначение -- автоматически раскидывать объекты по уровням видимости. При этом она поддерживает не только максимальный, но и минимальный уровень видимости. Говорят, это для чего-то необходимо. А поскольку формат MP штатно имеет только ключ EndLevel (максимальный уровень видимости), то для раскидки по уровням используется вообще другой подход, а именно, размножаются (клонируются) поля Data (Data0, Data1, ...). Например, если в исходнике мы имели поле Data0 и EndLevel=2, и мы вообще не хотим изменять уровни видимости в процессе преобразования, то на выходе мы получим одинаковые поля Data0, Data1, Data2. Мне это было не нужно, но по-другому (хотя бы оставить как есть) она просто не умеет. В результате объём MP файла увеличивается. Но говорят, что от этого не изменяется объём скомпилированной карты!
Поэтому проверь мой файл -- если результирующий объём соответствует ожиданиям, и всё остальное в норме, то метод можно использовать. А именно, в основной карте сохранить дома в виде полигонов, и попутно путём автоматической конверсии выпускать урезанную для желающих.
компилированная карта и есть набор по каждому уровню. НО иметь 3 обьекта в трех уровнях и соответственно корректировать ТРИ ОБЬЕКТА вместо одного ( который сидит в "0"м и развидивается на "1" "2" "3" по значимости) геморррой еще тот.
так что пользуюсь этой прогой только для текстовых преобразований - "все названия в капслок!" или " все транслитом!"
насчет полигон в точку - попробую - зима длиииииная.
В процессе работы с mp-файлом в нём нашлись кое-какие глюки.
В одном месте было EndLeval вместо EndLevel, ещё в одном Typa вместо Type. Это явные ошибки, поправь у себя текстовым редактором.
Ещё программа споткнулась о неизвестное её поле Label2. Там было
Label=щебень
Label2=( УКК )
-- не знаю, какая была в этом задумка, но для того чтобы программа скушала, я объединил обе метки в
Label=щебень ( УКК )
Т.е. в работе у тебя всё время исходный файл, где дома не сплющены и объекты не размножены. А когда выпускаешь очередную версию, делаешь с помощью mp2mp временный MP файл со сплющенными домами (и размноженными объектами как побочный эффект), после чего компилируешь и выкладываешь оба варианта. А временный удаляешь. Годится такой подход?
Прилагаю свой конфиг для mp2mp. Командная строка:
E:\download>E:\software\gps\mp2mp\mp2mp.exe -h header_Striy.txt -m . collapse_buildings.cfg collapsed.mp
Вся заголовочная часть исходника (до объектов) была вынесена в отдельный заголовочный файл header_Striy.txt, а в исходнике заменена на пустой заголовок
[IMG ID]
[END-IMG ID]
дабы mp2mp не ругался на неизвестные ему поля.
ИМГ файл это( в моем случае) 4 карты разных уровней. при обработке в приборе на экран "разархивируется" тот слой который задан установками прибора и те обьекты что хоть одной точкой попадают на экран( для быстрейшего "перемещения" по карте типа) можно уменьшить размер карты и она будет жутко тормозной по причине что все обьекты уровня одновременно будут в памяти прибора,, или наоборот - ОГРОМНЫЙ файл и быстрая работа - а разница в том что в огромном файле один обьект( дорога/лес/болото) "рубятся" на мелкие кусочки, и за "пределами экрана" получится минимум точек для обработки.
в моем случае - опытным путем подобрана цифра "разрезки" для боль мень нормальной работы старых гарминов.
насчет"ошибок" - пороюсь, но компиляция обычно вывешивает ошибки , а я их не видел, так что это может быть тот случай когда большой текстовый файл просто скачался с ошибками, было такое когда таскал карту с работы-домой-на работу в незипуненном виде на флешке.