Здесь расположен наш офис
Внимание!
Наш сайт переехал по адресу:
http://urgc.info
Просьба перейти по данной ссылке. Информация, представленная на нижележащей странице, устарела и более не актуальна.
Г Р У П П А   К О М П А Н И Й
ГРАДОСТРОИТЕЛЬНЫЙ  ЦЕНТР
344000, Ростовская обл., г.Ростов-на-Дону, пер.Газетный, 121/262А, офис 4
Тел./факс (863) 242-9970, 242-9968
Идёт загрузка страницы ...
  

 

Информационное агентство СА «Архитектор»

Рейтинг@Mail.ru
Rambler's Top100

© ООО «НПО «ЮРГЦ»,
2008-2012
При перепечатке материалов ссылка на сайт обязательна

Страница оптимизирована
для Internet Explorer

Исправление ошибок геометрии
в площадных SHP-файлах

В площадных геометриях, хранящихся в формате SHP, могут встречаться ошибки типа самопересечения границ, взаимного пересечения границ и другие. В таких случаях при импорте в ObjectLand в файле отчёта сохраняется информация о координатах вершин границы, где произошла ошибка, а также номер сбойной записи SHP-файла. При помощи описываемой в данной статье программы ShpConvert возможно выделить из SHP-файла отдельные геометрии по их номерам, при необходимости преобразовать их из площадного типа в линейный и сохранить в той же папке каждую запись в виде небольшого SHP-файла. После такого преобразования импорт в ObjectLand становится возможным, ведь для линейных геометрий допускаются многие ситуации, приводящие к ошибке у площадных геометрий. При выделении отдельных геометрий из SHP-файла и преобразовании SHP-файла из площадного в линейный тип соответствующая геометриям атрибутивная (табличная) информация не теряется и при импорте может быть размещена в таблице ObjectLand, связанной с соответствующим типом геометрии. В программе ShpConvert возможно задание сразу нескольких геометрий для копирования из исходного файла, в этом случае их номера следует отделять запятыми (допустимы пробелы), например так: «23,67, 119, 203» – будет создано четыре небольших SHP-файла с соответствующими именами, расположенных в той же папке, что исходный SHP-файл. А если установить флажок «слить все конвертированные записи в один файл», то вместо четырёх файлов по одной геометрии каждый будет создан один файл с четырьмя геометриями. Как уже упоминалось выше, табличная информация, связанная с геометриями, не теряется и это значит, что при каждом SHP-файле создаются файлы формата DBF (табличный) и SHX (индексный) с тем же именем.

Рассмотрим теперь подробно процесс исправления ошибок геометрии площадного SHP-файла.

1) Скопировать с помощью программы ShpConvert сбойные геометрии в отдельные SHP-файлы (номера записей можно посмотреть в файле отчёта об импорте ObjectLand).

2) Для первой из сбойных геометрий: создать в слое, содержащем площадной тип, куда требуется доимпортировать сбойные геометрии, ещё один линейный тип геометрии и связать его с теми же таблицами и теми же характеристиками связи (уникальная либо множественная), что и площадной тип. Далее в этот линейный тип геометрии следует импортировать по очереди полученные на шаге 1) SHP-файлы (то есть шаги 2-5 надо последовательно пройти для каждого файла, полученного на шаге 1). Следует проследить за числом появившихся после импорта линейных геометрий, потому что иногда встречаются сбойные площадные геометрии с одной или несколькими «дырами». Каждая такая «дыра» при конвертации программой ShpConvert превращается в отдельную линейную геометрию.

3) Найти на плоскости место ошибки (координаты можно посмотреть в файле отчёта об импорте ObjectLand) и исправить её, редактируя вершины мышью.

4) Запомнить номер записи в таблице, связанной со сбойной геометрией и преобразовать геометрию из полилинии в полигон, сменив тип геометрии с линейного на соответствующий площадной в том же слое. Если редактирование на шаге 3 было корректным, преобразование пройдёт успешно. При этом потеряется связь геометрии с записью в таблице. Надо будет восстановить эту связь по запомненному номеру записи в таблице.

5) В случае площадной геометрии с «дырами» (см. шаг 2) следует преобразовать все границы в площадные объекты и в правильном порядке собрать составную площадную геометрию.

6) После прохождения шагов 2-5 для всех сбойных геометрий можно удалить из ГБД ненужный теперь линейный тип геометрии, созданный на шаге 2.

Программа ShpConvert требует наличия на компьютере исполняемой среды NET Framework 2.0, в настоящее время её дистрибутив предоставляется бесплатно по адресу http://www.microsoft.com/ru-ru/download/details.aspx?id=1639 . Программа запускается только из локального (не сетевого) каталога.

12 марта 2009 г.

Трухачёв М.Ю.

Программа для выделения отдельных
записей из SHP-файлов

Скачать на диск