ВВЕДЕНИЕ 3
1 СИСТЕМА ХРАНЕНИЯ ДАННЫХ В ARCHGIS 6
1.1 О системе ArcGIS 6
1.2 Модель данных ArchGIS 8
1.3 Neo4j 10
1.4 Ограничения системы хранения в ArchGIS 12
2 ОПТИМИЗАЦИЯ ПОИСКА ПРОСТРАНСТВЕННЫХ ДАННЫХ 13
2.1 Пространственный индекс 13
2.1 Типы структур для индексирования пространственных данных 14
2.3 R-tree 18
2.4 Построение пространственного индекса на основе R-tree 20
3 РЕАЛИЗАЦИЯ 21
3.1 Настройка работы Neo4j 21
3.2 Реализация с Neo4jSpatial 24
3.2.1 Настройка работы Neo4jSpatial 24
3.2.2 Создание слоя геометрических данных 25
3.2.3 Добавление узлов к слою геометрических данных 26
3.3 Результаты оптимизации 28
ЗАКЛЮЧЕНИЕ 31
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 34
ПРИЛОЖЕНИЕ
Системы, предоставляющие доступ к пространственным данным и возможность работать с ними,пользуются большой популярностью сегодня. Это, например, поиск объектов по расположению [1]. Такие сервисы находят применение как рядовыми пользователями в быту, так и учеными, инженерами при автоматизации решения задач науки, работах на местности др.
Объекты реального мира в таких системах хранятся и управляются в пространственных базах данных (БД).Они оптимизированы для обработки информации о расположении и свойствах естественных или искусственно созданных объектов, представленных в виде абстракций: точка, линия, полигон. Например, фонарь или дерево можно представить в форме точки, а очертания леса, страны -как полигон. Такие БД способны работать с большими объемами информации со сложными, многоуровневыми отношениями и позволяют использовать разные структуры данных. Пространственные БД упрощают выполнение таких операций, как, например, поиск всех интересующих точек в ограниченной области, нахождение пересечения объектов.Для быстрого и эффективного доступа и извлечения информации в таких БД применяется пространственный индекс [2].
Система учета результатов археологических исследований ArchGIS хранит данные о пространственных объектах. Сервис осуществляет поиск по расположению среди памятников, исследований, вскрытий, артефактов и объектов культурного наследия (ОКН) по их географическим координатам. Все хранящиеся в системе объекты - цифровые представления реального объекта - имеют пространственную привязку с указанием степени точности: точная субметровая, точная метровая, по крупномасштабной карте или снимку, по мелкомасштабной карте или абрису, по словесному описанию.
ЛгеИОТЗ является инновационной системой для хранения и обработки результатов археологических исследований. Система используется для решения задач археологии как науки.Сервис предлагает уникальные возможности для пространственного анализа с хронологическим исследованием, построенным на основании различных видов источников: типологии артефактов, радиоуглеродного датирования, стратиграфических наблюдений.Например, с помощью анализа расположения одного типа клинка, обнаруженного на разных участках земли и имеющих разный возраст, можно проследить, в каком направлении кочевали народы и т. д.
ArchGIS оперирует большими объемами данных. Сегодня БД системы насчитывает порядка 40 тыс. объектов. Эта цифра растет с добавлением новых сущностей и их атрибутов:данных обОКН и археологических комплексах (сооружениях, погребениях и иных объектах), артефактах, радиоуглеродных датах, данных о раскопках, отчетов и результатов исследований.
Проблема
Для дальнейшего развития и использования системы необходима оптимизация возможностей для пространственного анализа, а именно оптимизация алгоритма поиска среди объектов с пространственной привязкой.
В данный момент поиск по расположению в системе реализуется на основе алгоритма прямого перебора - это метод так называемой «грубой силы». Данный способ требует больших временных затрат, так как подразумевает рассмотрение всех объектов в базе данных с целью выявления подходящих посредством независимого анализа каждого.Использование алгоритма содержит в себе ряд проблем:
• Большое количество обращений к базе данных при выполнении запроса;
• Превышение возможных объемов кэша при обработке данных;
• Долгий отклик сервера;
• Так называемые «подвисания» сервера и многочисленные ошибки;
• Неудовлетворительная скорость выполнения запроса пользователя в целом.
Сервис, имеющий такие проблемы в работе, неприемлем для последующего решения своих задач учеными: в данном случае
о неприемлем для выполнения запросов о расположении пространственных объектов.
Целью дипломной работы является оптимизация поиска объектов с пространственной привязкой на исходном наборе данных.
Задачи
Ставятся следующие задачи по решению проблемы:
• Проанализировать особенности системы хранения данных в ArchGIS и выявить их «узкие» места;
• Исследовать методы оптимизации поиска пространственных
данных и выбрать наиболее оптимальное и эффективное решение для внедрения в исходную систему;
• Внедрить решение.
В процессе выполнения дипломной работы было внедрено решение по оптимизации поиска пространственных данных в систему учета результатов археологических исследований ArchGIS. Для этого были решены все поставленные задачи.
Во-первых, были проанализированы база данных ArchGIS, модель данных, используемая в ArchGIS, а также система управления базой данных Neo4j. В результате были выявлены проблемные места исходной системы хранения.
• Запросы к пространственным данным осуществляются путем перебора и пространственных, и непространственных данных, что ухудшает показатели производительности запросов на большом наборе данных;
• Текущая система управления базой данных Neo4j в том виде, в котором она используется на проекте, не оптимизирована для хранения и обработки пространственных данных.
Во-вторых, были исследованы способы оптимизации пространственных данных и был выбран оптимальный метод.
• Для оптимального анализа объектов с пространственной привязкой применяется пространственный индекс. Он способен оптимизировать эффективность извлечения данных использованием различных структур;
• Предпочитаемой структурой при построении пространственного индекса является древовидная структура данных. Дерево основано на делении пространства на вложенные ячейки, позволяющие проводить поиск только в области интереса;
• Древовидной структурой, способной структурировать двумерные данные, является R-tree. Обработка дерева имеет логарифмическую сложность.
Результаты оптимизации указаны в таблице 1, где сравнивается эффективность запросов для нахождения всех объектов в пределах некоторого расстояния от указанной точки с использованием метода перебора ис применением пространственного индекса. При сравнении используются следующие показатели: количество обращений к БД и время выполнения запроса в мс.
1. Pant, N. Performance comparison of spatial indexing structures for different query types: dis. ... MS / N. Pant; The university of Texas at Arlington, 2015. - 70p.
2. Balasubramanian, L. A State-of-Art in R-Tree Variants for Spatial Indexing [Текст] / L. Balasubramanian, M. Sugumaran // International Journal of Computer Applications - 2012 - V. 42, N20 - P. 35-36.
3. Samet, H. Spatial Data Structures[TeKCT] / H. Samet // ACM Press - 2013 - V. 20, N7 - P. 13-15.
4. Бочкарёв, П.В. Графовые модели данных [Текст] / П.В. Бочкарёв, М.В. Кононова // ТЕОРИЯ. ПРАКТИКА. ИННОВАЦИИ - 2016 - №12 - С. 2-5.
5. Neo4j [Электронный ресурс]. / Режим доступа: https://neo4j.com/- свободный.GoelA. Neo4jCookbook / A. Goel - Birmingham, UK: PacktPublishingLtd., 2015. - 226 p.
6. Balaji, J. DistributedGraphStorageAndQueryingSystem: dis. ... PhD /
J. Balaji ; GeorgiaStateUniversity, 2016. - 106 p.
7. WhyGraphDatabases? [Электронныйресурс]. / Режимдоступа: https: //neo4j. com/why- graph-databases/ - свободный.
8. El-Sayed, L. S.Performance Analysis of Spatial Indexing in the Cloud [Текст] / L. S. El-Sayed, H. M. Abdul-Kader, S. M. El-Sayed S // International Journal of Computer Applications - 2015 - V. 118, N4 - P. 1417.
9. Пространственная база данных [Электронный ресурс]. / Режим доступа: https://ru■wikipedia■org/wiki/Пространственная база данных - свободный.
10. Built in Spatial Indexes [Электронный ресурс]. / Режим доступа: https://github.com/aseldawy/spatialhadoop2/wiki/Built-in-Spatial-Indexes- свободный.
11. Oosterom, P.Geographical Information Systems Principles, Technical Issues, Management Issues, and Applications / P. Oosterom - Apeldoorn, The Netherlands: Goodchild, 2012. - 156p.
12. R-дерево (структура данных) [Электронный ресурс]. / Режим
доступа: https://ru.wikipedia.org/wiki/R-дерево (структура данных) -
свободный.
13. Neo4j Spatial v0.24-neo4j-3.1.4 [Электронный ресурс]. / Режим доступа: http ://neo4j-contrib. github. io/spatial- свободный.
14. The Neo4j Java Developer Reference v3.2 [Электронный ресурс]. /
Режим доступа: https://neo4i.com/docs/iava-reference/3.2/#procedures-
свободный.
15. Формула гаверсинуса [Электронный ресурс]. / Режим доступа: https://wikipedia■org/Формvла гаверсинуса- свободный.
16. Arge, L. The Priority R-Tree: A Practically Efficient and Worst-Case Optimal R-Tree [Текст] / L. Agre, M. Berg // International Journal of Computer Applications - 2004 - V. 50, N5 - P. 23-35.
17. Beckmann, N The R*-tree: an efficient and robust access method for points and rectangles [Текст] / N. Beckmann, H. Kriegel, R. Schneider, B. Seeger // ACM - 1990 - V. 19, N2 - P. 322-331.