Сущность разбиения больших объектов на части

В программе GPSMapEdit, в случае выбора набора для Garmin, есть раздел настроек, специально предназначенный для настройки компилятора cGPSMapper. Среди этих настроек есть один очень интересный пункт. Он называется TRE size. Сейчас, при работе с данными в формате Руса, этот пункт настройки убран. Основной причиной принятия этого решения было то, что в процессе преобразования данных в формат RUS, этот компилятор напрямую не используется. Вместо него теперь можно использовать команду "Slice all objects..." или Разрезать объекты на части. Для чего это нужно?

Чтобы понять ответ на этот вопрос, следует понять всего одну вещь - если в окно карты на КПК попадает хоть один узел какого либо объекта или наше текущее положение находится внутри этого объекта так, что границ его не видно, то положение всего этого объекта просчитывается полностью. Даже если кроме этого единственного узла, больше ничего от этого объекта на карте нет.

Для простоты, представим, что у нас есть объект, обозначающий море с достаточно длинной и подробной береговой линией. Весь этот объект полностью виден на дисплее в масштабе 20км. В этом случае расчёт и отрисовка всего объекта с учётом генерализации при таком масштабе полностью оправдана. Но давайте представим себе, что мы находимся в море и текущий масштаб равен 200м. Берегов в таком масштабе может быть не видно или виден небольшой участок. Но в случае если этот объект представлен одним полигоном, он будет просчитан полностью со всем множеством узлов, большинство из которых не присутствуют на карте в данный момент. При этом их количество значительно превысит то, которое было в предыдущем масштабе из за увеличения детальности более крупномасштабного слоя. Это очень сильно замедляет отрисовку объектов и, как следствие, карты в целом. Чтобы этого избежать и было введёно ограничение на размер объекта. В этом случае один большой объект режется на множество маленьких блоков, в сумме точно повторяющих исходный полигон. Причём на каждом слое размер этих блоков может быть разным. Это происходит потому, что размер блока определяется при выполнении операции разрезки больших объектов.

Если взять предыдущий пример, то получится, что в масштабе 20км будет рассчитано положение всего объекта, состоящего, например, из шести частей. К тому же не забываем про различную генерализацию для каждого слоя. А в масштабе 200м будут отрисованы всего четыре прямоугольника, часть которых действительно попала на дисплей. Это в том случае, если не видно береговой черты. А общее количество блоков для этого полигона в масштабе 200м будет около 40. Представьте, что проще - рассчитать положение каждого узла для одного объекта, состоящего из 1000 узлов, 98% которых просто нет в данное время на дисплее, или четырёх, содержащих в сумме 16 узлов или чуть больше, если видно часть береговой линии?

Таким образом нарезка больших объектов на более мелкие составляющие является очень важной для скорости отрисовки электронной карты. На практике разница в скорости может достигать сотен раз. Правда, как Вы уже наверно догадались, при резке одного большого объекта на несколько меньших, образуются дополнительные узлы, что, в свою очередь, несколько увеличивает размер файла карты. Но это, несомненно, меньшее из двух зол.

Остальные вкладки являются в большей степени информационными. Вкратце рассмотрим их назначение.

Bounds.

В данном окне отображаются координаты прямоугольника, в который попадают все объекты на нашей карте. Объектами в данном случае считаются как все созданные нами объекты, так и присоединённые объекты - точки, треки.

Сущность разбиения больших объектов на части - student2.ru

Statistics.

Окно статистики содержит информацию по всем имеющимся в данный момент объектах включая точки, линии и полигоны. Для просмотра статистики можно выбрать конкретный слой. В целом данное окно не представляет большого интереса и является достаточно простым для восприятия.

Сущность разбиения больших объектов на части - student2.ru

Attachments.

Все типы вспомогательных файлов, которые были загружены нами в процессе создания векторной карты, могут быть просмотрены в окне присоединённых файлов. Присоединёнными файлами в данном случае считаются файлы, содержащие данные, помогающие нам в точном создании своей карты. К ним относятся растровые карты, треки и точки пользователя. Две кнопки позволяют нам оперативно найти на карте интересующий нас объект (Locate on map) и удалить ненужные данные (Remove).

В самом информационном окне находятся данные о типе файла данных (Type), пути к файлу (File path), количестве треков (Tracks) и точек пользователя (Waypoints) в каждом файле.

Сущность разбиения больших объектов на части - student2.ru

Наши рекомендации