DarkDiver при всем уважении к тебе... опять за старое... и объясню почему...
Мне кажется, что концепция строгого соответствие Десятичный код-Идентификатор МПС изначально ошибочна... Почему?
А давайте вернемся в недалекое прошлое, где группа энтузиастов с участием небезызвестного Кости Галического решили сделать просмотрщик карт Гармина... Что они сделали... Правильно декомпилировали формат, а в последствии на результатах этой декомпиляции построили и польский формат и много навигационных программ так или иначе использующих десятичные коды (утрирую конечно, но смысл понятен). Однако после того как в массы ушел МПС выяснилось, что на входе десятичные коды не нужны (ну хоть с этим Вы согласитесь?) Т.е в редакторе польского можно любому типу присвоить любой десятичный код - что идентифицирует этот тип именно в польском формате, но при изготовлении шейпов этот код никаким боком МПС не воспринимается, ему подавай утвержденную ключевую фразу описывающую тип... С этим все согласны?
Продолжение следует...
Добавлено спустя 9 минут 51 секунду:А вот последнее обновление МПС вообще показало, что некоторые МПС идентификаторы возвращают один и тот же десятичный код... Как быть тогда с жестким соответствием? Раз оно (соответствие) не соблюдается самим Гармином?
Добавлено спустя 16 минут 29 секунд:Ну и дополнение к моей хотелке, озвученной выше... Я долго думал, и решил, что я не хочу тайпсет Универсальный... (так как я апсалютно согласен с Дарк Дайвером озвученной постом выше, если универсальный - то никаких ограничений вообще, и это правильно) Зачем нам новая шахматная столица Новые Васюки, и зачем осчастливливать любителей писать карты под СГ, которым вероятно и так комфортно под тайптетом ТОПО...
Я хочу тайпсет МПС и никак не иначе...
Разберем на примере одну ситуацию.
Изначальное условие, мой исходник используется одновременно для изготовления карт Гармина, СГ и 7Дорог...
Как любой юзер привык рисовать скажем больничный городок?
Обычно с гугла рисуются дома и им присваивается тип 0х006Е здание общественного назначения. Территория больницы обозначается полигоном 0х000В Территория больницы...
Таким образом это будет правильно и на карте СГ и на карте 7Дорог... Но что получится в Гармине? А вот что полигон больницы 0х000В там это здание имеющее высоту, а вот полигона 0х006Е не существует вообще, и надо переопределять его или в кастомный полигон (что хуже, т.к высоты не будет) или в полигон 0х000В, а соответственно территорию больницы переводить в кастомный полигон... И таких вариантов очень очень много... Группой наших Гуру предлагается вариант переопределить предварительно исходник внешней утилитой, а потом уже делать карту Гармина... Напрашивается вопрос - нафига? Не проще ли просто прописать, что у меня полигон 0х000В становится -CUSTOMIZABLE_AREA_ххх, полигон 0х006Е в HOSPITAL - И все... мир не рухнул... звезды не сошли со своих орбит... карта Гармина не стала кривая... но мы отказались от одной лишней операции перекодировки исходника...
Добавлено спустя 18 минут 13 секунд:Vovan_Alm писал(а):
1. Перекодировать из любого (польского) тайпсета в Универсальный согласно пользовательской таблицы (таблица создается самим пользователем по шаблону)
2. Ввести недостающие (или возможные новые типы, что появятся в будущем в МПС) типы при помощи typ файла
3. Присвоить любому типу - МПС идентификатор без каких-либо ограничений, согласно пользовательской таблицы перекодировки
4. Согласно присвоенному (ранее п3) типу МПС открыть в МГЕ на редактирование именно те поля, что поддерживаются МПС
5. Сделать шейпы согласно правилам МПС.
1. 99.9% всех юзеров сейчас делающие карты для Гармина используют Мапэдит, соответственно операция первичной перекодировки в 99,9% случаев не понадобиться... Но предусмотреть эту возможность все же нужно... На всякий случай... как раз 0,1% нестандартных исходников.
2. Заманчиво иметь изначально весь набор ТОПО (читай и Нафигтел), но нужно предусмотреть и кастомные типы, потому поддержка TYP файла обязательно... это уже реализовано и не представит сложности для авторов МГЕ
3. Внешняя таблица А-ля скрипт Василия... Именно это я хочу... Любому десятичному типу можно присвоить любой МПС идентификатор...
4. Крайне желательно, что бы те типы, которым по каким то причинам юзером не был присвоен МПС идентификатор - выделялись бы красным цветом, как напоминание, что этого типа в карте Гармина не будет...
5. В шейпы переводить уже реализовано не представляет сложности...
Вот примерно... пока так...