mapinfo to Arcinfo + topology

0 голосов
спросил 13 Дек, 04 от Elana (380 баллов) в категории Программные продукты Esri

здравствуйте, Помогите пожалуйста ,Проблема примерно такая:

Цель: создать покрытие с поправленной топологией в формате Е00

Исходные данные: mapinfo (гидрография)

ПО: Arcinfo 8,2 (desktop,Worcstation),mapinfo7

Ну вот, есть 2 файла линейный и полигональный.

Из mapinfo to Arcinfo перевожу универсальным транслятором в шейп.. потом из шейпа в покрытие получаю 2 покрытия линейное и полигональное. Топологию для линейного строю clean (при этом в покрытии появляються какието полигоны), для полигонального почему то при постройке clean выдаються ошибки, тополигия строиться, но пропадают многие полигоны. Приэтом видимых результатов исправления топологии нет.

Если ктото чтото знае подскажите пожалуйста. Может чтото я не так делаю.

На всякий случай: elana_@ukr.net

icq 308328653

Заранее благодарна, и прошу прошения за возможно некорректо поставленный вопрос

9 Ответы

0 голосов
ответил 13 Дек, 04 от answer42 (3,240 баллов)

Топологию для линейного строю clean (приэтом в покрытии появляються ккакиеть полигоны), для полигонального почемуто при постройке clean выдаються ошибки, тополигия строиться но пропадают многие полигоны. Приэтом видимых результатов исправления топологии нет.

Что значит поправленная топология?

Полигоны строятся потому, что это опция по умолчанию команды clean. Используя эту команду без опции LINE - всегда будет строиться полигональная топология.

0 голосов
ответил 13 Дек, 04 от Elana (380 баллов)

 

Что значит поправленная топология?

Я имела ввиду то, что нет недоводов линий и что на пересечениях линий поставлены узлы. (это в линейном покрытии) ну и надо еще както проставить эти узлы на пересечении линейных объектов с полигональными

Полигоны строятся потому, что это опция по умолчанию команды clean. Используя эту команду без опции LINE - всегда будет строиться полигональная топология.

Где именно надо указать эту опцию?

1. сначала При переводе в покрытие:

image

потом открываю покрытие и задаю строить топологию clean так как в этом покрытии топологии еще небыло... правильно ?

0 голосов
ответил 13 Дек, 04 от answer42 (3,240 баллов)

не все так просто, после clean'a в пересечениях линии разобьются в месте пересечения, для доводов линий надо играть с параметром fuzzy_tolerance (0.000000001 в примере ниже), или использовать MATCHNODE

что бы построить линейную топологию в Arcinfo Workstation
clean test # # 0.0000000000001 line

0 голосов
ответил 14 Дек, 04 от Elana (380 баллов)

 то Sim: Спасибо это вышло

теперь дальше :-))

Есть 2 покрытия линейное (с построенной и исправленной топологией)  и полигональное. Нужно все линейные объекты, которые попали в середину полигона  вырезать и создать с ними отдельное покрытие, причем на пересечении линейных объектов и полигонов нужно поставить узлы. Примерно так как на рисунке

image

Нужно ли их както вносить в одно покрытие (имееться ввиду линейное и полигональное) или есть функция которая это делает.

0 голосов
ответил 14 Дек, 04 от answer42 (3,240 баллов)

картинки ваши ни одна не показывается

честно говоря, я не понял, что вам нужно сделать, то ли разрезать полигональную тему линейной, то ли сделать select all features within...проясните

если разрезать полигональную линейной, естественно с появлением нужных узлов - то просто, полигоны отстроить линиями,объединить с другими линиями и сделать clean .....poly, вот и весь трюк

0 голосов
ответил 17 Дек, 04 от Elana (380 баллов)

Да жаль что картинки не отображаються... попробую объяснить без них :-) например есть озеро, его пересекает река,так вот та часть реки которая находиться "под" озером должна быть перенесена в другое покрытие, но точки впадения реки в озеро и выхода ее на поверхность должны быть во всех покрытиях.. (если непонятно объяснила в следующий раз попробую еще раз.... )

Насчет обрезания линий полигонами Вот: создала я 2 покрытия Первое было из линейного шейпфайла преобразовано вот так: Shapearc d:\shpfile d:\coverage  line В покрытие линейное, далее построена топология: clean D:\coverage # # 0.00001 line

Затем полигональный шейп файл тоже преобразован в линейное покрытие Shapearc d:\shpfile d:\coverage  poly (топология не построена, а надоли ее строить)

Проекция определена для обоих одинаковая

Так вот как мне их объединить?

После объединения если я правильно поняла к выходному линейному покрытию нужно применить clean D:\outpot_coverage # # # poly, правильно?

0 голосов
ответил 17 Дек, 04 от answer42 (3,240 баллов)

все правильно, соединить просто - append

только третий параметр, если не нужно сохранять атрибуты в команде shapearc не надо использовать

0 голосов
ответил 20 Дек, 04 от Elana (380 баллов)

Огромное спасибо!!!!

0 голосов
ответил 10 Фев, 05 от Гость (210,080 баллов)

А у меня еще 1 вопрос..

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

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...