Сообщение
Игорь Белов » 22 фев 2013, 18:38
Да, вы правы. С WORLD я тоже не дождался. Мои картинки сделаны с более лёгкой карты, взятой из старого проекта на dataplus.ru. Вчера переписал программу PacWorld, реализовав запись объектов в новую таблицу вместо модификации выборки. Результат тот же.
PacWorld успешно разрезает слой на западную и восточную половину. Затыкается она на переносе объектов западного полушария. Возможно, MapBasic'у не хватает выделяемых ресурсов.
Надеюсь, с более простыми слоями, вроде городов, рек, голубенькой градусной нарезки и др., эта проблема не возникнет.
О решении, использующем MIF
Разрезать слой на восточную и западную половину можно вручную (ещё можно выкинуть из PacWorld'а операцию переноса и получить слайсер, который только режет). Для этого нужно создать режущий полигон, накрывающий какое-то из полушарий, одна из сторон которого образована нулевым меридианом. Этим полигоном вырезаются поочерёдно внутренние и внешние объекты. Восточная половина сохраняется как выходная таблица. Западная половина экспортируется в формат MIF.
Дальше нужно объекты западного полушария перенести на 360 градусов на восток. Такого вручную не сделать. В качестве упражнения я написал программу wrap. Она читает координаты объектов из входного MIF'а, прибавляет 360 к координатам X и пишет в выходной MIF.
Наконец, надо импортировать новый MIF и воссоединить его с таблицей восточных объектов.
В архиве вы найдёте подробное руководство HOWTO.html с картинками, а также утилиту wrap.
-
Вложения
-
wrap.zip
- Руководство + утилита
- (72.68 КБ) 456 скачиваний
The purpose of computing is insight, not numbers