Страница 1 из 1

ESRI Shape индексация: Заморочка для теоретиков

Добавлено: 29 май 2007, 14:34
Gonsalez
Утилитка ArcGIS MapEDIT при сохранении данных в формате ESRI Shape-файла в дополнение к задокументированным файлам добавляет для оптимизации поиска 2 файла *.SBN и *.SBX С физической структурой этих файлов я разобрался (http://www.mcbank.ru/GONZ/spatial_bin.htm), а вот с логикой мне не все понятно. SBN файл разбивает все объекты (точки, линии, полигоны) из Shape-файла на группы. В каждую группу входят объекты географически расположенные недалеко друг от друга. Но сами группы на карте расположены хаотично, вернее порядок, по которому они формируются, определить не удалось. Как определить, в какой группе искать объекты из конкретной географической области, непонятно.
Изображение
На картинке порядок и приблизительные центры групп объектов.
Еще в файле есть указатели на пустые группы (предположительно), на картинке их нет. Может быть появятся мысли по какому принципу формируются группы объектов? Пишите. Ж-)

P.S. Так же буду благодарен за ссылки на форумы где можно было бы обсудить эту проблемку (желательно на родном языке Ж-).

Добавлено: 30 май 2007, 16:15
geologic
Зная ESRI, порядок групп действительно может быть произвольный. "Физический": какую первую зацепило по порядку алгоритмом... :)

А можно поподробней, до чего вы дошли? Что именно изображено на рисунке: если точки это центры групп, то линии что изображают? И о каких исходных элементах речь идет, какой шейп вы изобразили этим "графом", точечный? Непонятно. К слову, эти индексы добавляет не только "утилитка", ArcView тоже. В геобазе данных ArcMap пространственные индексы формируются уже на базе Access, можете подсмотреть принцип.

Форумы есть разные , но боюсь, знатоки везде одни и те же. Обсуждать можно и здесь, раз начали, вопрос интересный если слегка изменить постановку - какой должен быть индекс вообще? Не мешало бы теорию на эту тему подсобрать, наверняка уже накоплены алгоритмы.

NB: родной - это испанский? :D

Добавлено: 31 май 2007, 11:05
Gonsalez
Шейп - точечный, линии показывают порядок следования групп.
Кстати, внимательно присмотрелся, оказывается, области некоторых (кажется только последовательных) групп могут пересекаться. На Quad-tree индекс вродебы не похоже.
В геобазе данных ArcMap пространственные индексы формируются уже на базе Access, можете подсмотреть принцип
Если не трудно поподробнее, пожалуйста. Необходимо установить Access на рабочую станцию и куда дальше смотреть хотябы в общих чертах?

P.S. Про "утилитку" это я конечно маханул Ж-)

Добавлено: 01 июн 2007, 14:37
geologic
Аксесс не нужен. Ставите ArcMap и преобразуете точечный шейп-файл в слой геобазыданных (Geodatabase). После этого глядите индексы...