Решение технологических проблем

Когда определение концепции системы завершено и определены базовые функции системы, коллектив разработчиков может приступить к началу проектирования и разработки программ. И тут же встают первые проблемы технологического характера.

Решение технологических проблем Хранение пространственных данных. Одним из первых встает вопрос об организации хранения и внесения изменений в пространственные данные. Сложность данной проблемы заключается в объемах данных, с которыми придется оперировать; ведь речь идет не о сотне или тысяче пространственных объектов, а о сотнях тысяч и миллионах. Естественно, что нельзя подойди к решению этой проблемы упрощенно: завести линейный список объектов, при запуске программ загружать весь этот список в ОЗУ, а при сохранении записывать список из памяти компьютера на жесткий диск. При недостатке вычислительных ресурсов (производительность процессора, объём оперативной памяти), что всегда имеет место в ГИС, необходимо применить весьма изощрённые структуры данных и реализовать эффективные способы манипулирования большими объёмами данных с учётом их размещения на всех уровнях иерархии компьютерной памяти. Напомним, что реляционная модель плохо подходит для эффективного манипулирования пространственными данными.

Рассмотрим несколько вариантов организации хранения пространственных данных.

Все пространство картографируемой территории равномерно разбивается на одинаковые прямоугольные сектора.

С каждым сектором связывается блок данных, описывающий границы сектора и хранящий две таблицы объектов.

Решение технологических проблем

Описанная организация хранения данных позволит быстро определить список секторов, для которых необходимо загрузить блоки данных. Недостатком этого подхода является невозможность определения эффективной разбивки территории на сектора при отсутствии информации о том, сколько пространственных объектов будет на карте и где они будут располагаться. Кроме того, предложенная схема снижает свою эффективность при неравномерном распределении (скученности) пространственных объектов.

Для устранения указанных недостатков можно использовать другую организацию хранения данных.

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

Универсальная система решения проблем (новая версия) с Дмитрием Троцким


Читать еще…

Понравилась статья? Поделиться с друзьями: