Здравствуйте.
Как правильно работать с SXF?
Сталкивался с двумя вариантами -
Во втором варианте номенклатура SXF листа совпадает с именем файла, то есть это Sit (однолистовая безрамочная карта), и из неё можно получить только такую карту.
И как быть если хочется из SXF файла который по факту должен импортироваться в Sit сделать многолистовую векторную карту?
Вот, допустим, если взять с сайта SXF файл Рязанской области, то в нём будет 200+ тысяч объектов (или 20+ тысяч, не помню) и указан масштаб 1:25000.
В многолистовой векторной карте (топографическая СК42 на элипсоиде Красовского) в масштабе 1:25000 получается 858 листов (недавно задавал вопрос про номенклатуры, это всё та же история).
Как я пытался делать - брал габариты SXF файла, пересчитывал их в СК42, вычислял зоны, в которых находится данные габариты (для Рязанской области - 7-ая и 8-ая зоны),
создавал пустую векторную Sit карту без рамки вроде (в СК42 на эллипсоиде красовского), указывал для неё одну из рассчитанных зон,
создавал на ней объект с замкнутой метрикой, вычислял список номенклатур для листов в таком масштабе,
создавал новую векторную MAP карту с одним из вычисленных листов, потом добавлял в неё все оставшиеся листы, и после этого пытался вызвать UpdateFromAnySxf, в надежде что все объекты будут перенесены
на MAP карту в требуемые зоны.
У функции UpdateFromAnySxf три режима работы (mode) - в одном из них функция отработала, но она, как я понял, просто работала с MAP файлом как с SIT файлом, судя по результату (в папке с картой была куча пустых листов и огромный MAP файл)
В двух других функция UpdateFromAnySxf не отрабатывала корректно, а в папке LOG я видел сообщение о не соответствии СК - что в принципе правильно, если я правильно понял как работать с Import/UpdateFromAnySxf.
Собственно, чтобы сделать MAP карту с требуемой мне математической основой, мне нужно сначала импортировать большой SXF в SIT карту,
потом создать MAP карту с набором листов и каким-то образом копировать объекты ?
Или это как-то по другому делается или вообще не возможно ?
Ещё я знаю про SetDocProjection, который позволит конвертировать на лету координаты в требуемую проекцию, но это не много не то. Мне бы хотелось именно MAP карту получить в требуемой мне проекции на требуемом мне эллипсоиде.
Как правильно работать с SXF?
Сталкивался с двумя вариантами -
- SXF представляет из себя один лист карты, и при импортировании по первому SXF карта создаётся (ImportFromAnySxf), по всем другим карта обновляется с добавлением новых листов (UpdateFromAnySxf).
- SXF - большая карта, возможно без рамки, по типа примеров карт областей РФ, полученных из OpenStreetMap (примеры в смысле на сайте), и после импорта получается один sit файл
Во втором варианте номенклатура SXF листа совпадает с именем файла, то есть это Sit (однолистовая безрамочная карта), и из неё можно получить только такую карту.
И как быть если хочется из SXF файла который по факту должен импортироваться в Sit сделать многолистовую векторную карту?
Вот, допустим, если взять с сайта SXF файл Рязанской области, то в нём будет 200+ тысяч объектов (или 20+ тысяч, не помню) и указан масштаб 1:25000.
В многолистовой векторной карте (топографическая СК42 на элипсоиде Красовского) в масштабе 1:25000 получается 858 листов (недавно задавал вопрос про номенклатуры, это всё та же история).
Как я пытался делать - брал габариты SXF файла, пересчитывал их в СК42, вычислял зоны, в которых находится данные габариты (для Рязанской области - 7-ая и 8-ая зоны),
создавал пустую векторную Sit карту без рамки вроде (в СК42 на эллипсоиде красовского), указывал для неё одну из рассчитанных зон,
создавал на ней объект с замкнутой метрикой, вычислял список номенклатур для листов в таком масштабе,
создавал новую векторную MAP карту с одним из вычисленных листов, потом добавлял в неё все оставшиеся листы, и после этого пытался вызвать UpdateFromAnySxf, в надежде что все объекты будут перенесены
на MAP карту в требуемые зоны.
У функции UpdateFromAnySxf три режима работы (mode) - в одном из них функция отработала, но она, как я понял, просто работала с MAP файлом как с SIT файлом, судя по результату (в папке с картой была куча пустых листов и огромный MAP файл)
В двух других функция UpdateFromAnySxf не отрабатывала корректно, а в папке LOG я видел сообщение о не соответствии СК - что в принципе правильно, если я правильно понял как работать с Import/UpdateFromAnySxf.
Собственно, чтобы сделать MAP карту с требуемой мне математической основой, мне нужно сначала импортировать большой SXF в SIT карту,
потом создать MAP карту с набором листов и каким-то образом копировать объекты ?
Или это как-то по другому делается или вообще не возможно ?
Ещё я знаю про SetDocProjection, который позволит конвертировать на лету координаты в требуемую проекцию, но это не много не то. Мне бы хотелось именно MAP карту получить в требуемой мне проекции на требуемом мне эллипсоиде.