НА ГЛАВНУЮ СТРАНИЦУ
где купить книги детей www.nigmabook.ru .

НЕОБЫЧНЫЕ ШЕЙП-ФАЙЛЫ - МАРШРУТНЫЕ И ТРЕХМЕРНЫЕ

Попадаются шейп-файлы, которые непохожи на остальные хотя бы тем, что их нельзя редактировать. Не удивительно, если не включаются на редактирование растровые слои, слои AutoCAD, покрытия ArcINFO. Но шейп-файлы... Это уже слишком! Для начала проверьте в свойствах файлов Windows, не стоят ли у них галочки-атрибуты "Read-Only". Если да, снимите галочки и дальше можете не читать. А вот если нет, и файл упрямо не хочет открываться, значит, это особые шейп-файлы, так сказать, "специального назначения". Такие бывают.

Поглядите свойства темы - Theme/Properties. Тип файла там обычно указан в скобках, хотя и не в явном виде. Всем известно: обычные файлы помечены как Point, Arc или Polygon. Бывают также новомодные MultiPoint и т.д, но эти все-таки редактируются. А вот если после типа стоит буковка M или Z (ArcM, ArcZ), то такие шейпы редактированию не подлежат, во всяком случае средствами ArcView. Это так называемые маршрутные шейп-файлы. В их формате предусмотрены места, где для каждого узла линии (вертекса) могут храниться дополнительно какие-либо значения. Для чисто маршрутных шейп-файлов (ArcM) это обычно значения "километража" вдоль маршрута, или какого-либо другого нарастающего параметра. В файлах Z есть еще дополнительно место для хранения параметра Z, обычно высоты. Это "трехмерные" файлы. С первыми работают всякие хитрые маршрутные процедуры, частично они есть и в ArcView. Cо вторыми работают программы моделирования поверхностей Spatial Analyst и 3D Analyst.

Как же быть, если очень хочется подвинуть один узелок, немного подправить линию? Ее придется конвертировать. Возможно, вы уже попробовали это сделать... И безо всякого успеха: после привычной операции "Convert to Shape" маршрутная сущность файла не исчезает. Что же делать, как от нее избавиться? В ArcView, насколько нам известно, штатными средствами не удается сплющить, упростить шейп-файл. Выручит, как всегда в таких случаях, отдельная утилита. Например, довольно простой скрипт "Convert 3d to 2d" переписывает шейп-файл, лишая его маршрутности и трехмерности. Его и аналогичные инструменты можно скачать на сайте esri.com в знаменитой коллекции бесплатных скриптов.

Как использовать маршрутные свойства шейп-файла в мирных целях, рассказано в этом же разделе. Пока же намекнем, что события (Events) по теме бывают разные. Бывают чисто "координатные" (XY), а могут случиться и маршрутные (M)...

В ArcMap ситуация выглядит забавно: достаточно сложно установить тип шейп-файла, в окончании типа вы не увидите буквы M или Z. Угадывать приходится по другим признакам: у таких файлов имеются закладки Route в свойствах темы. Отличить Z от M еще сложнее. Если вам это принципиально, попробуйте поиграться раскрашиванием "аномалий" в маршрутной теме, есть там такие свойства. Правильная маршрутная тема не будет иметь аномалий, и не будет ничем краситься, ни зеленым, ни красным аномальным цветом. Z-тема, как правило, не имеет маршрутных значений вообще и вся зеленеет, если соответствующую аномалию включить. Уф! ArcCatalog, кстати, тоже никак не отличает такие файлы... Может, в девятке дело исправлено? В крайнем случае включите старый добрый ArcView - там-то уж все очевидно.

К чести ArcMap можно сказать, что он-то редактирует такие файлы запросто. То есть вы даже не заметите разницы, передвигая узелки и добавляя новые. Нет уверенности, что это хорошо: вряд ли такие шейпы были зазря закрыты в ArcView. Что происходит при этом со значениями M и Z в узлах, понятно - скорее всего они не меняются. Пригодна ли эта тема потом как маршрутная? Скорее всего, уже нет - значения M вряд ли будут отражать реальность, да и Z тоже. Не стоит увлекаться редактированием именно M и Z шейп-файлов: на это есть процедуры калибровки маршрутов и другие спецсредства. Вам вряд ли это нужно... Если уж вы хотите соблюсти ГИС-этикет, "не портить" маршрутные темы, просто сконвертируйте их в обычные. Как, скриптом ArcView? Нет, в ArcMap есть способ поинтереснее. Можно, как оказалось, "скрестить" маршрутный шейп с обычным - например, сложить их в один командой Merge - и обычный шейп "победит" маршрутность: итоговый файл будет тоже обычным. Разумно держать для таких дел "пустой" обычный файл, чтобы потом не приходилось удалять лишние элементы. К слову сказать, в ArcView такой фокус не работает - итоговый файл образуется, но он "кривой" и "обратно" не грузится.

Еще раз стоит напомнить, что и M и Z файлы маршрутные, поэтому средства их обработки могут быть, как это ни странно, одинаковыми в этом контексте. Z файлы - это потомки маршрутных, они как бы сложнее, хитрее устроены, но наследуют и все маршрутные свойства своих предков. Мы, однако, даже не знаем точно - а вдруг Z может быть несколько? Или появятся новые версии "трехмерности"... С ESRI надо быть готовым ко всему :)

Lalex.